1

我想知道两者之间是否有区别:

MOV [BX] + 20, AX

MOV [BX + 20], AX

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

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

谢谢。

4

2 回答 2

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
于 2011-04-27T18:27:52.893 回答
1

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

于 2011-04-27T13:15:44.913 回答