'add 0x804a460(,%ecx,4),%edx' 是做什么的?

What does 'add 0x804a460(,%ecx,4),%edx' do?

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

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

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

C 中的等价物是

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

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