【发布时间】:2015-02-20 09:14:44
【问题描述】:
我正在用 c 编程,我将 c 代码编译为汇编代码,但是当我使用 NASM 汇编器重新编译代码时,它给了我一个错误
操作数后应为逗号、冒号、装饰符或行尾。这发生在 第 6 行,第 7 行和第 8 行。请帮我解决这个问题。
push ebp
mov ebp, esp
and esp, -16
sub esp, 16
call ___main ;
mov DWORD PTR [esp+12], 753664
mov eax, DWORD PTR [esp+12]
mov BYTE PTR [eax], 65
leave
ret
谢谢,
【问题讨论】:
-
如果在调用 main 的语句后删除分号,会出现错误吗?语句中是否也允许使用空格,例如 move byte ptr[eax], 65?尝试删除 65 之前的空格。
-
你是如何用
gcc编译这个的?gcc -S -masm=intel -o your.asm your.c? -
是的,我就像 David C.Rankin 所展示的那样编译!