注册间接寻址

时间:2011-04-27 09:19:17

标签: assembly masm x86-16

我想知道:

之间是否存在差异
MOV [BX] + 20, AX

MOV [BX + 20], AX

我的理由是,对于第一种情况,我们将AX + 20的值移到地址BX

对于第二种情况,我们将AX的值移到地址BX+ 20

感谢。

2 个答案:

答案 0 :(得分:2)

某些汇编程序编译器允许这两种组合。 但是,调试器应该给你正确的答案!

Test.asm.5: MOV [BX] + 20, AX
004552B4 894314           mov [bx+$14],ax
Test.asm.6: MOV [BX + 20], AX
004552B7 894314           mov [bx+$14],ax

答案 1 :(得分:1)

你对第一个案子的推理是错误的。这不是一个有效的构造(除非您定义了宏将其转换为2个指令)。您不能在MOV中间粘贴ADD值。您只能使用地址的立即偏移量(第二种情况)。

相关问题