间接/索引寻址模式

时间:2014-04-21 05:24:12

标签: instruction-set

Addressing modes example

当输入LOAD 800指令时,我理解其他值是如何加载到累加器中的,但我不知道如何得到索引和间接寻址的结果。

1 个答案:

答案 0 :(得分:3)

不确定您正在讨论哪种架构,所以我只能尽力解释(基于更具体的架构经验,以及对您发布的图形中显示的内容的调查分析)。 / p>

  1. 立即模式意味着使用立即值,因此像load r2, #800这样的东西会将立即值800放入寄存器2中。

  2. Direct表示直接内存访问,因此类似load r2, 800的内容从内存地址800加载,该值为900.

  3. 间接意味着间接内存访问,因此类似load r2, (800)的内容从内存地址800的内存地址加载。内存地址为800是900,900的值是1000。

  4. 这是一个注册/基地址组合,如load r2, (r1,#800)。那样做的是添加寄存器1和立即值800(得到1600)然后从该内存位置获取值,得到700.