機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
ARM基礎知識(二)
ARM基礎知識(二)
 更新時間:2008-7-27 16:55:07  點擊數(shù):3
【字體: 字體顏色


***************************************************************
程序狀態(tài)寄存器
***************************************************************
CPSR(當前程序狀態(tài)寄存器)在任何處理器模式下被訪問。它包含了條件標志位、中斷禁止位、當前處理器模式標志以及其他的一些控制和狀態(tài)位。每一種處理器
模式下都有一個專用的物理狀態(tài)寄存器,稱為SPSR(備份程序狀態(tài)寄存器)
。當特定的異常中斷發(fā)生時,這個寄存器用于存放當前程序狀態(tài)寄存器的內容。在異常中斷退出時,可以用SPSR來恢復CPSR。由于用戶模式和系統(tǒng)模式不是異常
中斷模式,所以他沒有SPSR。當用戶在用戶模式或系統(tǒng)模式訪問SPSR,將產生不可預知的后果。
CPSR格式如下所示。SPSR和CPSR格式相同。
31  30  29  28  27   26   7  6  5  4  3  2  1  0
N   Z   C   V   Q  DNM(RAZ)       I  F  T  M4 M3 M2 M1 M0

***條件標志位***
N——本位設置成當前指令運算結果的bit[31]的值。當兩個表示的有符號整數(shù)運算時,n=1表示運算結果為負數(shù),n=0表示結果為正書或零。
z——z=1表示運算的結果為零;z=0表示運算的結果不為零。對于CMP指令,Z=1表示進行比較的兩個數(shù)大小相等。
C——下面分四種情況討論C的設置方法:
在加法指令中(包括比較指令CMP),當結果產生了進位,則C=1,表示無符號運算發(fā)生上溢出;其他情況C=0。
在減法指令中(包括減法指令CMP),當運算中發(fā)生錯位,則C=0,表示無符號運算數(shù)發(fā)生下溢出;其他情況下C=1。
對于包含移位操作的非加堿運算指令,C中包含最后一次溢出的的位的數(shù)值
對于其他非加減運算指令,C位的值通常不受影響
V——對于加減運算指令,當操作數(shù)和運算結果為二進制的補碼表示的帶符號數(shù)時,V=1表示符號為溢出;通常其他指令不影響V位。
***Q標識位***
在ARM V5的E系列處理器中,CPSR的bit[27]稱為q標識位,主要用于指示增強的dsp指令是否發(fā)生了溢出。同樣的spsr的bit[27]位也稱為q標識位,用于在異常中
斷發(fā)生時保存和恢復CPSR中的Q標識位。
在ARM V5以前的版本及ARM V5的非E系列的處理器中,Q標識位沒有被定義。

***CPSR中的控制位***
CPSR的低八位I、F、T、M[4:0]統(tǒng)稱為控制位。當異常中斷發(fā)生時這些位發(fā)生變化。在特權級的處理器模式下,軟件可以修改這些控制位。
**中斷禁止位:當I=1時禁止IRQ中斷,當F=1時禁止FIQ中斷
**T控制位:T控制位用于控制指令執(zhí)行的狀態(tài),即說明本指令是ARM指令還是Thumb指令。對于ARM V4以更高版本的T系列ARM處理器,T控制位含義如下:
T=0表示執(zhí)行ARM指令
T=1表示執(zhí)行Thumb指令
對于ARM V5以及更高版本的非T系列處理器,T控制位的含義如下
T=0表示執(zhí)行ARM指令
T=1表示強制下一條執(zhí)行的指令產生未定指令中斷
***M控制位***
M控制位控制處理器模式,具體含義如下:
M[4:0]       處理器模式      可訪問的寄存器
ob10000  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  UNDEFINEED     PC,R14_UND-R8_UND,R12~R0,CPSR,SPSR_UND
0b11111  SYSTEM   PC,R14-R0,CPSR(ARM V4以及更高版本)
***CPSR中的其他位***
這些位用于將來擴展。應用軟件不要操作這些位。

  • 上一篇: ARM基礎知識(一)
  • 下一篇: ARM ads ARM 集成開發(fā)工具簡介
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網站

    網站經營許可證:浙B2-20080178-1