问题描述
搜索 Intel Volume 2A 文档仅显示 [--][--]
的 4 种用法,并且仅说出其含义的一个简短句子:
[--][--] 命名法意味着 SIB 跟在 ModR/M 字节之后。
SIB 字节参考此:
那么,这是什么意思?你是怎么用的,在它出现的表格中:
我开始了解如何使用此表格来理解此表格的左下角框,以及它与顶部列标题的关系,但尚未理解此表格的其余部分。我想我可以弄清楚这个计算地址是如何工作的,但是 [--][--]
是什么意思?你是否用寄存器填充 --
,所以它会像 [eax][eax]
?或者,我没有任何想法。请帮忙。
解决方法
--
是占位符/通配符。该表条目告诉您使用该 r/m 编码为任何索引寻址模式发送 SIB 信号。
他们似乎使用了一种奇怪的 asm 级语法,其中 2 寄存器寻址模式看起来像 [edi][eax]
或其他什么,而不是更现代的标准 [edi+eax]
。虽然我认为 MASM 确实允许 [edi][eax]
。
如果您的寻址模式匹配该 [*][*]
模式(即有 2 个寄存器),则您使用该条目(从而表示存在 SIB 字节)。