内存到内存MOV - 正确的语法

时间:2012-04-20 15:38:32

标签: assembly x86 mov

我正在尝试使用ASM完成以下操作:

mov [00A30020], [ebx+50]

所以,我希望mov ebx+50的值为00A30020,但是编译器说这是一个无效的声明。

1 个答案:

答案 0 :(得分:7)

没有内存内存移动(使用mov,还有移动字符串)。请参阅this table

您可以加载到临时寄存器然后存储它:

mov   eax, [ebx+50]
mov   [00A30020], eax

或避免以低效率为代价使用任何额外的寄存器:

push  dword [ebx+50]
pop   dword [00A30020]