【问题标题】:8086 MOV instruction error while using a constant value and memory location as operands,8086 MOV 指令错误,同时使用常量值和内存位置作为操作数,
【发布时间】:2015-06-02 21:18:43
【问题描述】:

我试图在 8086 汇编语言中使用指令 MOV [SI],00H。但是 masm 汇编器给了我一个错误说:Operand must have size。我无法理解其背后的原因。

另外,语法是否允许?因为在将内存位置的内容与常量值进行比较时,我又遇到了同样的错误。我是 8086 编程的新手,所以很难弄清楚。

【问题讨论】:

标签: x86-16 mov


【解决方案1】:

MASM 报错是因为它不知道 SI 寄存器指向的地址是什么类型的数据。是一个字节还是一个字?
这就是为什么您必须提供尺寸标签的原因。

mov byte ptr [si], 0

mov word ptr [si], 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多