ARM中鏈接寄存器LR和指令寄存器IR的關(guān)系
先看定義:
本文引用地址:http://m.butianyuan.cn/article/201611/317867.htm(1)PC是程序計(jì)數(shù)器,存儲(chǔ)將要執(zhí)行的指令地址
(2)LR是鏈接寄存器,是ARM處理器中一個(gè)有特殊用途的寄存器,當(dāng)調(diào)用函數(shù)時(shí),返回地址即PC的值被保存到LR中(mov lr,pc)。
(3)IR是指令寄存器,用來(lái)保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時(shí),先把它從內(nèi)存取到數(shù)據(jù)寄存器(DR)中,然后再傳送至IR。
區(qū)別:
(1)IR是微體系結(jié)構(gòu)概念(什么是微體系結(jié)構(gòu)?就是程序員看不到,但硬件中確實(shí)存在的硬件邏輯,只有系統(tǒng)設(shè)計(jì)者知道其存在。),而LR是程序員可見的寄存器。比如用gdb調(diào)試程序時(shí),如果打印LR寄存器內(nèi)容是可以看到其值的,但是打印IR是不可能的。
(2)LR是PC的備份,PC寄存器存的是將要執(zhí)行的指令的地址;IR存的是將要送到ALU等部件執(zhí)行的指令內(nèi)容。
暫時(shí)只想到這些,歡迎補(bǔ)充。
評(píng)論