这两个指令在做什么?

时间:2019-07-11 02:38:35

标签: assembly x86

我必须对一些汇编​​代码进行反向工程,但是我不确定这些指令在做什么。

我知道al应该是eax的低字节。但是我将edx中的值放入其中,并且edx是一个四字节寄存器。那么当我移动它时会变成什么?

mov     al, [edx]
mov     [ebp+var_19], al

1 个答案:

答案 0 :(得分:5)

这些指令都移动一个字节。首先将edx寄存器中32位内存地址的内容加载到al中。第二个将相同的值从al移到ebp中包含的内存地址中,加上一个恒定的偏移量。常量偏移量可能是第19个本地堆栈插槽或第19个参数字。但这取决于您的反汇编程序创建的语法。