ARM中链接寄存器LR和指令寄存器IR的关系


ARM中LR存储的是PC的值,IR存储的是下一条将要执行的指令,有什么区别?

先看定义:

(1)PC是程序计数器,存储将要执行的指令地址

(2)LR是链接寄存器,是ARM处理器中一个有特殊用途的寄存器,当调用函数时,返回地址即PC的值被保存到LR中(mov lr,pc)。

(3)IR是指令寄存器,用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中(有的书上叫做缓冲寄存器,BR),然后再传送至IR。

说白了,LR存的是指令地址,IR存的是指令内容。

相关内容