我正在使用Windows XP(32位)学习NASM和DEBUG用于学术目的。我正在努力让我的第一个简单的HelloWorld
程序工作。它被称为prog1.asm
。
以下是我的prog1.asm
文件的代码:
bits 16
org 0x100 ; Start program at offset 100h
jmp main ; Jump to main program
message: db 'Hello world',0ah, 0dh,'$'
main: mov dx,message ; Start address of message
mov ah,09 ; Prepare for screen display
int 21h ; DOS interrupt 21h
int 20h ; Terminate program
上面这段代码刚刚从我用来学习的书中写出来,因为你可能知道我对此很陌生。我在这里使用的目录中有nasm.exe
。
当我在我的目录中时,我运行nasm -f prog1.asm -o progm1.com -l prog1.lst
试图使用prog1.asm
文件来创建由NASM创建的可执行文件prog1.com
和输出列表文件prog1.lst
也是由NASM制作的。
运行此命令会出现以下错误:
nasm: fatal: unrecognized output format 'prog1.asm' - use -hf for a list
type 'nasm -h'for help
如果有人对此问题很熟悉并且可以提供帮助,我们非常感谢,如果需要更多详细信息,请与我们联系。
答案 0 :(得分:1)
-f
选项选择输出格式。试试这个:
nasm prog1.asm -f bin -o progm1.com -l prog1.lst