Assembly 什么是';添加0x804a460(,%ecx,4),%edx';做
我需要帮助解释这行代码:Assembly 什么是';添加0x804a460(,%ecx,4),%edx';做,assembly,x86,Assembly,X86,我需要帮助解释这行代码: 0x08048e26 <+43>: add 0x804a460(,%ecx,4),%edx 0x08048e26:添加0x804a460(,%ecx,4),%edx 我不确定这到底是什么意思。我将其解释为%edx=4*%ecx+0x804a460。但这似乎并不正确,因为在运行指令后,%edx从来没有包含我希望它包含的值。C中的等效值是 edx += *((int*)0x804a460 + ecx) 看起来它正在索引到一个静态表中以获取
0x08048e26 <+43>: add 0x804a460(,%ecx,4),%edx
0x08048e26:添加0x804a460(,%ecx,4),%edx
我不确定这到底是什么意思。我将其解释为%edx=4*%ecx+0x804a460
。但这似乎并不正确,因为在运行指令后,%edx从来没有包含我希望它包含的值。C中的等效值是
edx += *((int*)0x804a460 + ecx)
看起来它正在索引到一个静态表中以获取条目的值,然后将该值添加到edx。它是一个add
,而不是mov
,因此应该是%edx+=[4*%ecx+0x804a460]