mov ss:ebp+FFFFFBE0,edx : TRG+30
ss是堆栈段 ebp是堆栈的基指针
FFFFFBE0是跳转地址 ebp + FFFFFBE0指向堆栈的内存位置
edx : TRG+30
;困惑
我认为它将数据(edx:TRG + 30)移动到位置(ebp + FFFFFBE0)
答案 0 :(得分:0)
代码将寄存器edx
中的4字节整数加载到名为TRG
的数组/结构中。
确切地说,它是从该结构写入字节0x30..0x33。
你的调试器错误地说明了指令。它应该是:
mov [ss:ebp-0x420],edx
edx
只是一个寄存器,其内容来自显示的语句之前的一些代码
ebp
是基指针,通常指向例程中局部变量的存储
: TRG+30
是调试器插入的注释;它不是指令的一部分。
在解释汇编时,您永远不能孤立地查看指令,您必须将其视为一系列指令的一部分。