Assembly 这两个指令在做什么?

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

我必须对一些汇编代码进行逆向工程,我不确定这些指令集在做什么

我知道al应该是eax的低位字节。但我把edx中的值放进去,edx是一个四字节寄存器。那么当我移动它时,艾尔会变成什么

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

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

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

这是使用edx中的值作为地址,并将该地址的内存中的一个字节加载到al中。这是使用edx中的值作为地址,并将该地址的内存中的一个字节加载到al中。
ebp+var_19
是经典的IDA语法,它意味着
[ebp-19h]
。遗憾的是,IDA从未使用过这种令人困惑的语法。
ebp+var_19
是IDA的经典语法,它的意思是
[ebp-19h]
。遗憾的是,艾达从未使用过这种令人困惑的语法。