在 http://en.wikipedia.org/wiki/Addressing_mode
Indexed absolute
+------+-----+-----+--------------------------------+ | load | reg |index| address | +------+-----+-----+--------------------------------+
(Effective address = address + contents of specified index register)
Note that this is more or less the same as base-plus-offset addressing mode, except that the offset in this case is large enough to address any memory location.
我还是不明白偏移量和索引之间有什么区别?以及基址加偏移寻址模式和索引绝对寻址模式之间的区别?
谢谢。
最佳答案
偏移量是绝对字节数。因此,如果地址 = 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
话虽如此,当我阅读维基百科文章时,我看不出“绝对索引”、“基本加索引”和“缩放”之间的区别。它看起来完全一样,只是术语“地址”和“基址”互换了。在我看来,这就像太多作者重新写同样的东西一样。如果此回复获得足够的赞成票,我正在编辑这篇文章。 :-)
关于computer-architecture - 寻址模式中偏移量和索引之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28445708/