当R15做源寄存器时,它的值是现在指令地址加12,这个谁能解释一下
时间:10-02
整理:3721RD
点击:
各位同学,最近在看从51到ARM这本书,里面讲到ARM指令集的时候,在指令LDR/STR这一部分时,提到两点说明:
1. 使用R15作为基址寻址时,它的指是目前执行的指令地址加8;
2.当R15做源寄存器时,它的值是现在指令地址加12.
====================
对于第一点,我可以理解,因为这本书是针对ARM7TDMI来讲的,它是3级流水结构,在执行ARM指令(4字节)时,当前指令执行 时刻,取指步骤对应的是第三条指令,所以PC的值是 当前指令地址加8.
但是,重点来了。
对于第二点,当R15做源寄存器时,它的值是现在指令地址加12. 确实不知道他说的是什么。
求教了。新手没什么积分,各位见谅。感谢。