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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 協(xié)處理器及其他指令之:狀態(tài)寄存器訪問指令

          協(xié)處理器及其他指令之:狀態(tài)寄存器訪問指令

          作者: 時間:2013-09-13 來源:網(wǎng)絡(luò) 收藏

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

          4.指令的使用

          詳見MRS指令。

          5.指令舉例

          (1)使用“讀-修改-寫”模式更新CPSR寄存器。

          MRSr0,CPSR ;讀CPSR寄存器的值

          BICr0,r0,#0xf0000000 ;清除N、Z、C、V位

          MSRCPSR_f,r0 ;更新CPSR中的標(biāo)志位

          注意

          因為PSR狀態(tài)寄存器中存在目前沒有定義的保留位,所以在使用時,最好加上“_fsxc”后綴,如上例中的“CPSR_f”。這樣做的目的是使指令只修改程序狀態(tài)寄存器的某個域,防止程序向高版本指令集移植時發(fā)生意外。

          (2)禁止IRQ中斷。

          MRSr0,CPSR;讀CPSR狀態(tài)寄存器

          ORRr0,r0,#0x80;設(shè)置IRQ中斷禁止位

          MSRCPSR_c,r0;更新CPSR狀態(tài)寄存器

          (3)堆棧初始化。

          INITSTACK

          MOVr0,LR;保存返回地址

          ;設(shè)置管理模式堆棧

          MSRCPSR_c,#0xd3;

          LDRSP,StackSvc;

          ;設(shè)置中斷模式堆棧

          MSRCPSR_c,#0xd2;

          LDRSP,StackIrq;


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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