我在Debian 9.这些是错误:
andrea@debian:~/Assembly/sandbox$ nasm -f elf -g -F stabs sandbox.asm
sandbox.asm:8: error: comma, colon, decorator or end of line expected after operand
sandbox.asm:9: error: comma, colon, decorator or end of line expected after operand
sandbox.asm:11: error: comma, colon, decorator or end of line expected after operand
sandbox.asm:12: error: comma, colon, decorator or end of line expected after operand
这是代码:
section .data
section .text
global _start
_start:
nop
mov eax 10
mov ebx 12
mov eax 1
mov ebx 0
int 80H
nop
section .bss
导致这些错误的问题是什么?如何解决?
如果我使用以下代码修复操作数之间的逗号,我会得到一个不同的错误:
section .data
section .text
global_start
_start:
nop
mov eax,10
mov ebx,12
mov eax,1
mov ebx,0
int 80H
nop
section .bss
我得到的错误是:
sandbox.asm:4: warning: label alone on a line without a colon might be in error
为什么我会收到此错误以及如何解决?
答案 0 :(得分:2)
我想有一个空格缺失,应该是:
global _start
第4行。
我还怀疑十六进制常量可能格式不正确,因为缺少0
前缀,但只要数字以数字开头就可以正常,如 Michael Petch 在评论中提到(并根据此处提供的NASM文档:http://www.nasm.us/doc/nasmdoc3.html)。