您的位置 首页 ADAS

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

ARM中LR存储的是执行BL或者BLX指令后,PC的值,用于保存函数调用的返回地址。IR存储的是下一条将要执行的指令,有什么区别?先看定义:(1…

ARMLR存储的是履行BL或许BLX指令后,PC的值,用于保存函数调用的回来地址。IR存储的是下一条即将履行的指令,有什么差异?

先看界说:

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

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

(3)IR是指令寄存器,用来保存当时正在履行的一条指令。当履行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。

差异:

(1)IR是微体系结构概念(什么是微体系结构?便是程序员看不到,但硬件中的确存在的硬件逻辑,只要体系设计者知道其存在。),而LR是程序员可见的寄存器。比如用gdb调试程序时,假如打印LR寄存器内容是能够看到其值的,可是打印IR是不可能的。

(2)LR是PC的备份,PC寄存器存的是即将履行的指令的地址;IR存的是即将送到ALU等部件履行的指令内容。

暂时只想到这些,欢迎弥补。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/277041.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部