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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM微處理器的編程模型之:ARM寄存器組織

          ARM微處理器的編程模型之:ARM寄存器組織

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

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

          【例3.2】

          使用SUBS指令從寄存器r1中減去常量1,然后把結(jié)果寫回到r1,其中CPSR的Z位將受到影響。

          指令執(zhí)行前:

          CPSR中Z=0

          r1=0x00000001

          SUBS r1,r1,#1

          SUB指令執(zhí)行結(jié)束后:

          r1=0x0

          CPSR中Z=1

          目的寄存器是r15的帶“位設(shè)置”的算術(shù)和邏輯運算指令,也可以將SPSR的值復(fù)制到CPSR中,這種操作主要用于從異常中斷程序中返回。

          用MSR指令向CPSR/SPSR寫進新值。

          目的寄存器位r15的MRC協(xié)處理器指令通過這條指令可以將協(xié)處理器產(chǎn)生的條件標志位的值傳送到處理器。

          在中斷返回時,使用LDR指令的變種指令可以將SPSR的值復(fù)制到CPSR中。

          2.Q標志位

          在帶DSP指令擴展的 v5及更高版本中,bit[27]被指定用于指示增強的DAP指令是否發(fā)生了溢出,因此也就被稱為Q標志位。同樣,在SPSR中bit[27]也被稱為Q標志位,用于在異常中斷發(fā)生時保存和恢復(fù)CPSR中的Q標志位。

          v5以前的版本及ARM v5的非E系列處理器中,Q標志位沒有被定義。屬于待擴展的位。

          3.控制位

          CPSR的低8位(I、F、T及M[4∶0])統(tǒng)稱為控制位。當異常發(fā)生時,這些位的值將發(fā)生相應(yīng)的變化。另外,如果在特權(quán)模式下,也可以通過軟件編程來修改這些位的值。

          ① 中斷禁止位

          I=1,IRQ被禁止。

          F=1,F(xiàn)IQ被禁止。

          ② 狀態(tài)控制位

          T位是處理器的狀態(tài)控制位。

          T=0,處理器處于ARM狀態(tài)(即正在執(zhí)行32位的ARM指令)。

          T=1,處理器處于Thumb狀態(tài)(即正在執(zhí)行16位的Thumb指令)。

          當然,T位只有在T系列的ARM處理器上才有效,在非T系列的ARM版本中,T位將始終為0。

          ③ 模式控制位

          M[4∶0]作為位模式控制位,這些位的組合確定了處理器處于哪種狀態(tài)。表3.3列出了其具體含義。

          只有表中列出的組合是有效的,其他組合無效。

          表3.3 狀態(tài)控制位M[4∶0]

          M[4∶0]

          處理器模式

          可以訪問的寄存器

          0b10000

          User

          PC,r14~r0,CPSR

          0b10001

          FIQ

          PC,r14_fiq~r8_fiq,r7~r0,CPSR,SPSR_fiq

          0b10010

          IRQ

          PC,r14_irq~r13_irq,r12~r0,CPSR,SPSR_irq

          0b10011

          Supervisor

          PC,r14_svc~r13_svc,r12~r0,CPSR,SPSR_svc

          0b10111

          Abort

          PC,r14_abt~r13_abt,r12~r0,CPSR,SPSR_abt

          0b11011

          Undefined

          PC,r14_und~r13_und,r12~r0,CPSR,SPSR_und

          0b11111

          System

          PC,r14~r0,CPSR(ARM v4及更高版本)

          注意

          由于用戶模式(User)和系統(tǒng)模式(System)是非異常模式,所以沒有單獨的SPSR保存程序狀態(tài)字。在用戶模式或系統(tǒng)模式下,讀SPSR將返回一個不可預(yù)知的值,而寫SPSR將被忽略。

          塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理

          上一頁 1 2 3 4 下一頁

          評論


          相關(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); })();