0

我正在学习英特尔 x86 架构的 AT&T 语法,但我对以下语法的含义有点不知所措:

  1. Shrb $1, 2(%esp)
  2. 增量 2(%esp)

我最初的解释是:

  1. esp = (esp + 2) >> 1
  2. esp = esp + 2

我找不到以这种方式使用增加的任何参考,这使我相信我在这里存在更多根本性的缺陷。

我的解释是正确的,还是我完全偏离了基础?感谢您的时间。

4

1 回答 1

2

两者都不。正如(%esp)指的是内存位置%esp(例如,%esp视为指针),2(%esp)指的是内存位置%esp + 2

于 2012-02-25T00:15:44.337 回答