什么'添加0x804a460(,%ecx,4),%edx'做?

时间:2015-02-23 21:37:38

标签: assembly x86

我需要帮助来解释这行代码:

   0x08048e26 <+43>:    add    0x804a460(,%ecx,4),%edx

我不确定这究竟是什么意思。我将其解释为%edx = 4*%ecx + 0x804a460。这似乎不正确,因为%edx在运行指令后从不包含我期望的值。

1 个答案:

答案 0 :(得分:1)

C中的等价物是

edx += *((int*)0x804a460 + ecx)

看起来它正在索引到静态表中以获取条目的值,然后将该值添加到edx。