我必须对一些汇编代码进行反向工程,但是我不确定这些指令在做什么。
我知道al应该是eax的低字节。但是我将edx中的值放入其中,并且edx是一个四字节寄存器。那么当我移动它时会变成什么?
mov al, [edx]
mov [ebp+var_19], al
答案 0 :(得分:5)
这些指令都移动一个字节。首先将edx
寄存器中32位内存地址的内容加载到al
中。第二个将相同的值从al
移到ebp
中包含的内存地址中,加上一个恒定的偏移量。常量偏移量可能是第19个本地堆栈插槽或第19个参数字。但这取决于您的反汇编程序创建的语法。