我试图在8086汇编语言中使用指令MOV [SI],00H
。但masm汇编程序给了我一个错误说:Operand must have size
。我无法理解背后的原因。
此外,语法是否允许?因为在将内存位置的内容与常量值进行比较时,我再次得到了相同的错误。我是8086编程的新手,所以很难弄清楚。
答案 0 :(得分:3)
MASM抱怨是因为它无法知道SI寄存器指向的地址是什么类型的数据。是字节还是单词?
这就是你必须提供尺码标签的原因。
mov byte ptr [si], 0
或
mov word ptr [si], 0