NASM“忽略了寄存器大小规范”

时间:2014-01-26 02:56:43

标签: nasm

我尝试用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都很生气。有人可以帮我吗?

1 个答案:

答案 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除了常规方式之外都不会。