久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > ARM中鏈接寄存器LR和指令寄存器IR的關系

ARM中鏈接寄存器LR和指令寄存器IR的關系

作者: 時間:2016-11-09 來源:網絡 收藏
ARMLR存儲的是執行BL或者BLX指令后,PC的值,用于保存函數調用的返回地址。IR存儲的是下一條將要執行的指令,有什么區別?

先看定義:

本文引用地址:http://cqxgywz.com/article/201611/317867.htm

(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等部件執行的指令內容。

暫時只想到這些,歡迎補充。



評論


技術專區

關閉