我尝试用NASM组装一个文件,但它在文件中指出了这一行:
mov al, byte ptr es:[bx]
话说:
error: comma, colon or end of line expected
我发现page on this site说NASM不喜欢“ptr”这个词,如果我写的话会很高兴:
mov al, byte es:[bx]
代替。所以我拿出了“ptr”这个词,NASM仍然不高兴。当我忽略“ptr”这个词时,NASM给了我这个:
warning: register size specification ignored
和
error: invalid combination of opcode and operands
这是一个捕获22!无论我是否加入“ptr”这个词,NASM都很生气。有人可以帮我吗?
答案 0 :(得分:4)
我明白了! 如果我写信,NASM很高兴:
mov al,byte [es:bx]
像Guy Sirton说的那样。如果我遗漏单词" byte"从指示,这将是会发生什么。如果指令是这样的:
mov al, [es:bx]
NASM可以看到我想移动一个字节,因为我将它存储在al中,它不会抱怨。但是,如果指令是这样的:
mov [es:bx],0xff
NASM无法查看我想要存储多少内存0xff,它会给你这样的错误:
error: operation size not specified
重要的是要知道,特别是如果你使用的是this教程,NASM除了常规方式之外都不会。