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

Dra*_*cir 1 x86 assembly mov

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

mov [00A30020], [ebx+50]

所以,我想要00A30020 mov的值ebx+50,但编译器说这是一个无效的声明.

cop*_*opy 7

没有内存内存移动(有mov,也有移动字符串).见这个表.

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

mov   eax, [ebx+50]
mov   [00A30020], eax
Run Code Online (Sandbox Code Playgroud)

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

push  dword [ebx+50]
pop   dword [00A30020]
Run Code Online (Sandbox Code Playgroud)