当输入LOAD 800指令时,我理解其他值是如何加载到累加器中的,但我不知道如何得到索引和间接寻址的结果。
答案 0 :(得分:3)
不确定您正在讨论哪种架构,所以我只能尽力解释(基于更具体的架构经验,以及对您发布的图形中显示的内容的调查分析)。 / p>
立即模式意味着使用立即值,因此像load r2, #800
这样的东西会将立即值800放入寄存器2中。
Direct表示直接内存访问,因此类似load r2, 800
的内容从内存地址800加载值,该值为900.
间接意味着间接内存访问,因此类似load r2, (800)
的内容从内存地址800的内存地址加载值。内存地址为800是900,900的值是1000。
这是一个注册/基地址组合,如load r2, (r1,#800)
。那样做的是添加寄存器1和立即值800(得到1600)然后从该内存位置获取值,得到700.