我很遗憾地提出这样一个愚蠢的基本问题,但是在测验前一天晚上我觉得我收到了一些关于x86的错误信息。我希望得到一些确认。
我的教授要求我们“从记忆中间接地移动一个字到一个寄存器”。 她给出了以下命令:
mov bx, 01
mov [bx], ax
现在,对我而言,这似乎并没有将一个字从存储器移动到寄存器,而是将一个字从寄存器(ax
)移到存储器([bx]
)。这是正确的还是我误解了?
答案 0 :(得分:3)
你是对的。第二条mov
指令应该是mov ax, [bx]
,它会将bx
中存储器地址中存储的字移动到ax
寄存器中。
答案 1 :(得分:1)
您需要知道您正在使用哪种语法,其中有两种语法:
AT& T是:
mov source, destination
而英特尔则是另一种方式。
您的代码看起来像英特尔语法,在这种情况下操作数似乎被翻转。