【问题标题】:How does this x86 addressing mode work?这种 x86 寻址模式如何工作?
【发布时间】:2012-04-01 02:01:51
【问题描述】:

像 al 这样的东西会包含 esi + ecx + 1 的地址?

movb (%esi, %ecx, 1), %al

【问题讨论】:

  • 你从哪里得到这个的?当我查看 x86 参考时,我看不到任何 MOVB,只有 MOVBE 和 CMOVBE。 siyobik.info.gf/main/reference
  • 这是mov 的 GAS 语法(在字节参数上)。

标签: assembly x86 gnu-assembler addressing-mode


【解决方案1】:

它将内存地址esi + ecx处的字节加载到al中。

一般来说,在 AT&T 语法中,

(base, offset, multiplier)

指位于内存地址base + offset*multiplier的数据。

【讨论】:

  • 如果你用它来写代码,你应该知道乘数只能是1(在这种情况下它是可选的)、2、4或8。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 2015-05-09
  • 2011-02-09
相关资源
最近更新 更多