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]