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