【发布时间】:2014-05-06 17:07:31
【问题描述】:
您好,我正在查看可执行文件,但无权访问源代码。我以前没有真正遇到过这个,我在网上找到的和我得到的数据不匹配。代码:
0x08048d4c <+45>: movsbl (%ebx,%eax,1),%esi
0x08048d50 <+49>: and $0xf,%esi
0x08048d53 <+52>: add (%ecx,%esi,4),%edx
我的困惑在于 +52 行。 "x/d $ecx" 产生 2,在调用该行之前 %esi 的值是 7。在该行执行之后 %edx 设置为等于 3(之前是零)。
我以为是 2 + (7*4),但事实并非如此。有人可以启发我。我相信这是 AT&T 语法。
【问题讨论】:
-
这也是一个循环结构,我不知道这是否会改变什么。