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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM架構(gòu)與體系學(xué)習(xí)(三)——ARM處理器狀態(tài)

          ARM架構(gòu)與體系學(xué)習(xí)(三)——ARM處理器狀態(tài)

          作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
          ARM7有兩套指令系統(tǒng),分別為ARM指令集和Thumb指令集。

          ARM指令集為32位長(zhǎng),具有最完整的功能;Thumb指令集為16位長(zhǎng)度,能實(shí)現(xiàn)ARM指令集的大部分功能。

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

          Thumb指令集具有極高的代碼密度(平均縮減30%的代碼量)。

          ARM處理器有兩個(gè)處理器狀態(tài)與這2套指令集分別對(duì)應(yīng)。

          以“當(dāng)前程序狀態(tài)寄存器CPSR”中的控制位T反映處理器正在操作的狀態(tài),即哪種指令集正在執(zhí)行。T=0時(shí),處理器處于ARM狀態(tài),執(zhí)行ARM指令。T=1時(shí),處理器處于Thumb狀態(tài),執(zhí)行Thumb指令。其中處理器在系統(tǒng)上電時(shí)默認(rèn)為ARM狀態(tài)。

          無(wú)論處理器處于何種狀態(tài),ARM指令集與Thumb指令集不同同時(shí)混合使用。

          BX指令可以實(shí)現(xiàn)將ARM內(nèi)核的操作狀態(tài)在ARM和Thumb之間進(jìn)行切換。

          PS:BX用法。

          BX:帶狀態(tài)切換的跳轉(zhuǎn)指令,跳轉(zhuǎn)到Rm指定的地址執(zhí)行程序,若Rm的位[0]為1,則跳轉(zhuǎn)時(shí)自動(dòng)將CPSR的標(biāo)志T置位,即把目標(biāo)地址的代碼解釋為T(mén)humb狀態(tài)代碼;若Rm的位[0]為0,則跳轉(zhuǎn)時(shí)自動(dòng)將CPSR中的標(biāo)志T復(fù)位,即把目標(biāo)地址的代碼解釋為ARM代碼,指令格式如下,

          BX{cond} Rm

          為了讓用戶更好地控制代碼量,才會(huì)設(shè)計(jì)了這兩套指令系統(tǒng)。



          評(píng)論


          技術(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); })();