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

          新聞中心

          ARM9 匯編指令總結(jié)1

          作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
          ARM體系結(jié)構(gòu)支持7種處理器模式:
          用戶(hù)模式:正常程序工作模式,不能直接切換到其它模式。
          快中斷模式:支持高速數(shù)據(jù)傳輸及通道處理。FIR異常響應(yīng)時(shí),進(jìn)入此模式
          中斷模式:通用中斷處理。IRQ異常響應(yīng)時(shí),進(jìn)入此模式。
          管理模式:操作系統(tǒng)保護(hù)代碼,系統(tǒng)復(fù)位和軟件中斷時(shí),進(jìn)入此模式。
          中止模式:支持虛擬內(nèi)存,存儲(chǔ)器保護(hù)。
          未定義模式:支持硬件協(xié)處理器和軟件仿真。未定義指令異常響應(yīng)時(shí),進(jìn)入此模式。
          系統(tǒng)模式:用于支持OS的特權(quán)任務(wù)。與用戶(hù)模式類(lèi)似,但可以直接切換到其它模式。
          除用戶(hù)模式外,其它都為特權(quán)模式。某些ARM內(nèi)部寄存器和一些片內(nèi)外設(shè)在硬件設(shè)計(jì)上只允許特權(quán)模式下訪問(wèn)。特權(quán)模式可以自由切換處理器模式。但用戶(hù)模式不能直接切換到別的模式。


          ARM7TDMI內(nèi)核包含1個(gè)CPSR和5個(gè)供異常處理程序使用的SPSR.
          ARM7TDMI內(nèi)核所有處理器狀態(tài)都保存在CPSR中。
          CPSR包含:
          4個(gè)條件代碼標(biāo)志。
          2個(gè)中斷禁止位。
          5個(gè)隊(duì)當(dāng)前處理器模式進(jìn)行編碼的位。
          1個(gè)用于只是當(dāng)前執(zhí)行指令(ARM還是Thumb)的位。

          每個(gè)異常模式(快中斷模式,中斷模式,管理模式,中止模式,未定義模式)還帶有一個(gè)程序狀態(tài)保存寄存器 SPSR。用于保存任務(wù)在異常發(fā)生之前的CPSR.

          4個(gè)條件代碼標(biāo)志:
          N:運(yùn)算結(jié)果的B31值。
          Z:指令結(jié)果為0時(shí),Z=1(通常表示比較結(jié)果相等) . 否則Z=0.
          C: 使用加法運(yùn)算時(shí),B31位產(chǎn)生進(jìn)位,C=1.否則C=0. 使用減法運(yùn)算時(shí),b31借位時(shí),C=0,否則C=1。
          V: 加減運(yùn)算時(shí),有符號(hào)溢出,V=1,否則V=0。

          2個(gè)中斷禁止位:
          I: 置位,IRQ 中斷被禁止。
          F:置位,F(xiàn)IQ中斷被禁止。

          1個(gè)用于只是當(dāng)前執(zhí)行指令(ARM還是Thumb)的位:
          置位:表示處理器在Thumb.
          清零:處理器在ARM。

          5個(gè)隊(duì)當(dāng)前處理器模式進(jìn)行編碼的位:
          10000:用戶(hù)。
          10001:快中斷。
          10010:中斷
          10011:管理
          10111:中止
          11011:未定義
          11111:系統(tǒng)。
          注意,在不同模式下,可見(jiàn)的寄存器不同。


          使用MRS指令可以讀取狀態(tài)寄存器指令。
          MRS R1, CPSR
          MRS R2,SPSR

          使用MSR指令,可以寫(xiě)狀態(tài)寄存器。

          例1:使能IRQ中斷:
          MRS R0, CPSR //把cpsr內(nèi)容放到Ro中
          BIC R0, R0, #0x80 //將I 位清除。IRQ Enable
          MSR CPSR_c ,R0
          MOV PC, LR

          注意:AXD中的Processor Registers項(xiàng)中,CPSR,SPSR顯示模式如下:

          nzCvqIFt_SVC
          nzcv:分別表示4個(gè)標(biāo)志位。小寫(xiě)字母表示0 , 大寫(xiě)字母表示1
          IFt分別表示IRQ,FIQ,和執(zhí)行指令標(biāo)志位。
          SVC表示工作模式為:管理模式。


          關(guān)鍵詞: ARM9匯編指

          評(píng)論


          技術(shù)專(zhuān)區(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); })();