<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM中鏈接寄存器LR和指令寄存器IR的關(guān)系

          ARM中鏈接寄存器LR和指令寄存器IR的關(guān)系

          作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
          ARMLR存儲的是執(zhí)行BL或者BLX指令后,PC的值,用于保存函數(shù)調(diào)用的返回地址。IR存儲的是下一條將要執(zhí)行的指令,有什么區(qū)別?

          先看定義:

          本文引用地址:http://www.ex-cimer.com/article/201611/317867.htm

          (1)PC是程序計數(shù)器,存儲將要執(zhí)行的指令地址

          (2)LR是鏈接寄存器,是ARM處理器中一個有特殊用途的寄存器,當(dāng)調(diào)用函數(shù)時,返回地址即PC的值被保存到LR中(mov lr,pc)。

          (3)IR是指令寄存器,用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時,先把它從內(nèi)存取到數(shù)據(jù)寄存器(DR)中,然后再傳送至IR。

          區(qū)別:

          (1)IR是微體系結(jié)構(gòu)概念(什么是微體系結(jié)構(gòu)?就是程序員看不到,但硬件中確實存在的硬件邏輯,只有系統(tǒng)設(shè)計者知道其存在。),而LR是程序員可見的寄存器。比如用gdb調(diào)試程序時,如果打印LR寄存器內(nèi)容是可以看到其值的,但是打印IR是不可能的。

          (2)LR是PC的備份,PC寄存器存的是將要執(zhí)行的指令的地址;IR存的是將要送到ALU等部件執(zhí)行的指令內(nèi)容。

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



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();