【发布时间】:2013-09-17 05:27:11
【问题描述】:
我想创建一个有效的 Win32 可执行文件,它可以作为独立应用程序运行。
例如这个简单的程序:
bits 32
mov eax,1
ret
我使用 NASM 编译它
nasm test.asm -o test.exe
然后我运行了那个程序。 它启动了 NTVDM,并告诉我“NTVDM CPU 遇到非法指令” 以及一些技术细节,可能是转储和寄存器。
所以,我想用汇编语言创建一个独立的 Win32 应用程序。我不想像在 DOS 中那样创建 COM 文件。
【问题讨论】:
-
您可能需要阅读Iczelion's Win32 Assembly 教程。要解决您的特定问题,您需要一个能够生成 PE 图像的链接器。
-
您是否尝试过选择适合您操作系统的输出格式?例如。
-f win32用于为 Windows 创建可链接对象文件。