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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM中關(guān)于CPSR_cxsf

          ARM中關(guān)于CPSR_cxsf

          作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          msr cpsr_cxsf,r1;這里的cxsf表示從低到高分別占用的4個8bit的數(shù)據(jù)域

          指令中有時還有出現(xiàn)cpsr_cf, cpsr_all, cpsr_c等,這里:

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

          c 指CPSR中的control field ( PSR[7:0])

          f 指flag field (PSR[31:24])

          x 指extend field (PSR[15:8])

          s 指status field ( PSR[23:16])

          其中cpsr的位表示為:

          31 30 29 28---76-43210

          NZCVIFM4M3M2M1M0

          000 00User26 模式

          000 01FIQ26 模式

          000 10IRQ26 模式

          000 11SVC26 模式

          10000User 模式

          10001FIQ 模式

          10010IRQ 模式

          10011SVC 模式

          10111ABT 模式

          1101 1UND 模式

          深入分析:

          對于MSR(寄存器到狀態(tài)寄存器)的指令,

          MSR CPSR,r0

          MSR CPSR_all,r0

          MSR CPSR_flg,r0

          都是已經(jīng)過時的表示方法。

          對于MRS(狀態(tài)寄存器到寄存器)的指令,

          MRS R0,CPSR等同于MRS R0, CPSR_cxsf

          MRS R0,CPSR_all 會有waring

          MRS R0,CPSR_flg會有錯誤

          在ADS中使用c,f,x,s表示cpsr的各個部分是推薦的。從指令來說:

          MSR CPSR_f,r0機(jī)器碼為0xe128f000

          MSR CPSR_c,r0機(jī)器碼為0xe121f000

          MSR CPSR_x,r0機(jī)器碼為0xe122f000

          MSR CPSR_s,r0機(jī)器碼為0xe124f000

          可見機(jī)器碼中用bit[29:16]4bit表示是f,c,x,s的。所以能夠在機(jī)器執(zhí)行的時候,

          給予不同的執(zhí)行結(jié)果。為了代碼向后兼容性,建議使用f,c,x,s尾綴



          關(guān)鍵詞: ARMCPSR_cxs

          評論


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