[--][--] 在 Intel x86 Assembly 文档中是什么意思?

问题描述

搜索 Intel Volume 2A 文档仅显示 [--][--] 的 4 种用法,并且仅说出其含义的一个简短句子:

[--][--] 命名法意味着 SIB 跟在 ModR/M 字节之后。

SIB 字节参考此:


enter image description here


那么,这是什么意思?你是怎么用的,在它出现的表格中:

enter image description here

我开始了解如何使用此表格来理解此表格的左下角框,以及它与顶部列标题的关系,但尚未理解此表格的其余部分。我想我可以弄清楚这个计算地址是如何工作的,但是 [--][--] 是什么意思?你是否用寄存器填充 --,所以它会像 [eax][eax]?或者,我没有任何想法。请帮忙。

有哪些指令调用示例可以说明其用法

解决方法

-- 是占位符/通配符。该表条目告诉您使用该 r/m 编码为任何索引寻址模式发送 SIB 信号。

他们似乎使用了一种奇怪的 asm 级语法,其中 2 寄存器寻址模式看起来像 [edi][eax] 或其他什么,而不是更现代的标准 [edi+eax]。虽然我认为 MASM 确实允许 [edi][eax]

如果您的寻址模式匹配该 [*][*] 模式(即有 2 个寄存器),则您使用该条目(从而表示存在 SIB 字节)。