我试图使用指令MOV [SI],00H
在8086汇编语言。但是汇编器给了我一个错误:Operand must have size
。我无法理解这背后的原因。
还有,这种语法是允许的吗?因为在比较内存位置的内容与恒定值时,我又得到了同样的错误。我刚接触8086编程,所以很难弄清楚。
MASM报错,因为它不知道SI寄存器所指向的地址上有什么数据。它是字节还是字?
这就是为什么你必须提供一个大小标签。
mov byte ptr [si], 0
或
mov word ptr [si], 0