在 Windows 下,使用 NASM 编写的程序通常需要使用 Microsoft Linker 来生成可执行文件。
以下是一个使用 NASM 在 Windows 下输出 "Hello, World!" 的示例代码:
; 这是汇编代码的注释
section .data
msg db 'Hello, World!',0 ; 定义一个字符串常量
section .text
extern _printf ; 声明 printf 函数
global main ; 声明 main 函数
main:
push dword msg ; 将字符串地址压入堆栈
call _printf ; 调用 printf 函数
add esp, 4 ; 清空堆栈
ret ; 返回
要生成可执行文件,您需要使用 NASM 将代码编译成二进制文件,然后使用 Microsoft Linker 将二进制文件链接为可执行文件。
编译命令:
nasm -f win32 hello.asm
链接命令:
link hello.obj
执行命令:
hello
希望这些信息能帮到你!