5

http://en.wikipedia.org/wiki/Addressing_mode

索引绝对值

   +------+-----+-----+--------------------------------+
   | load | reg |index|         address                |
   +------+-----+-----+--------------------------------+

(有效地址=地址+指定变址寄存器的内容)

请注意,这或多或少与基数加偏移量寻址模式相同,只是这种情况下的偏移量大到足以寻址任何内存位置。

我仍然不明白偏移量和索引之间有什么区别?基数加偏移寻址模式和索引绝对寻址模式之间的区别?

谢谢。

4

1 回答 1

7

偏移量是绝对字节数。因此,如果地址 = 0x1000 且偏移量 = 0x100,则有效地址 = 0x1000 + 0x100 = 0x1100。

索引是乘以常数的偏移量。所以如果地址 = 0x1000 并且索引 = 0x100 并且元素的大小 = 4 那么地址 = 0x1000 + 0x100*4 = 0x1400。当索引到 32 位值的数组时,您将使用它。

对我来说,地址+索引示例听起来像 x86 LEA 指令: http ://www.cs.virginia.edu/~evans/cs216/guides/x86.html#instructions

话虽如此,当我阅读 Wikipedia 文章时,我看不出“Indexed absolute”“Base plus index”和“Scaled”之间的区别。它看起来完全一样,除了术语“地址”和“基地”互换了。在我看来,这就像太多的作者在重复写同样的东西。如果这个回复得到足够多的支持,我正在编辑这篇文章。:-)

于 2015-02-11T04:11:24.793 回答