2006.11.1
00:31
| 閱讀:8379 31
3029
2827~8
7654
3210
nzcv
保留ift
m4m3
m2m1m0n
negative/less than
iirq disable
zzero
ffiq disable
ccarry/borrow/extend
tstate bit
voverflow
m0~4
mode bits
1、條件碼標誌
n、z、c、v均為條件碼標誌位。它們的內容可被算術或邏輯運算的結果所改變,並且可以決定某條指令是否被執行。條件碼標誌各位的具體含義如下表所示:
標誌位含 義
n當用兩個補碼表示的帶符號數進行運算時,n=1表示運算的結果為負數;n=0表示運算的結果為正數或零
zz=1表示運算的結果為零,z=0表示運算的結果非零。
c可以有4種方法設定c的值:
-加法運算(包括cmp):當運算結果產生了進製時(無符號數溢位),c=1,否則c=0。
-減法運算(包括cmp):當運算時產生了借位時(無符號數溢位),c=0,否則c=1。
-對於包含移位操作的非加/減運算指令,c為移出值的最後一位。
-對於其它的非加/減運算指令,c的值通常不會改變。
v可以有2種方法設定v的值:
-對於加減法運算指令,當運算元和運算結果為二進位制的補碼表示的帶符號數時,v=1表示符號位溢位
-對於其它的非加/減運算指令,v的值通常不會改變。
q在arm v5及以上版本的e系列處理器中,用q標誌位指示增強的dsp運算指令是否發生了溢位。在其它版本的處理器中,q標誌位無定義
在arm狀態下,絕大多數的指令都是有條件執行的;在thumb狀態下,僅有分支指令是條件執行的。
2 控制位
cpsr的低8位(包括i、f、t和m[4:0])稱為控制位,當發生異常時這些位可以被改變。如果處理器執行於特權模式時,這些位也可以由程式修改。
·中斷禁止位i、f:置1時,禁止irq中斷和fiq中斷。
·t標誌位:該位反映處理器的執行狀態。當該位為1時,程式執行於thumb狀態,否則執行於arm狀態。該訊號反映在外部引腳tbit上。在程式中不得修改cpsr中的tbit位,否則處理器工作狀態不能確定。
·執行模式位m[4:0]:這幾位是模式位,這些位決定了處理器的執行模式。具體含義如下表所示:
·保留位:cpsr中的其餘位為保留位,當改變cpsr中的條件碼標誌位或者控制位時,保留位不要改變,在程式中也不要用保留位儲存資料。保留位將用於arm版本的擴充套件。
m[4:0]
處理器模式
arm模式可訪問的暫存器
thumb模式可訪問的暫存器
0b10000
使用者模式
pc,cpsr,r0~r14
pc,cpsr,r0~r7,lr,sp
0b10001
fiq模式
pc,cpsr,spsr_fiq,r14_fiq~r8_fiq,r0~r7
pc,cpsr,spsr_fiq,lr_fiq,sp_fiq,r0~r7
0b10010
irq模式
pc,cpsr,spsr_irq,r14_irq~r13_irq,r0~r12
pc,cpsr,spsr_irq,lr_irq,sp_irq,r0~r7
0b10011
管理模式
pc,cpsr,spsr_svc,r14_svc~r13_svc,r0~r12
pc,cpsr,spsr_svc,lr_svc,sp_svc,r0~r7
0b10111
中止模式
pc,cpsr,spsr_abt,r14_abt~r13_abt,r0~r12
pc,cpsr,spsr_abt,lr_abt,sp_abt,r0~r7
0b11011
未定義模式
pc,cpsr,spsr_und,r14_und~r13_und,r0~r12
pc,cpsr,spsr_und,lr_und,sp_und,r0~r7
0b11111
系統模式
pc,cpsr,r0~r14
pc,cpsr,lr,sp,r0~r74
ARM程式狀態暫存器
分類 linux arm體系結構包含1個當前程式狀態暫存器 cpsr 和5個各份的程式狀態暫存器 spsrs 使用msr和mrs指令來設定和讀取這些暫存器。當前程式狀態暫存器 cpsr 持有關於當預處理器狀態的資訊。其他5個各份的程式狀態暫存器 spsr 每個特權模式都有乙個,持有完成在這個模式下的...
ARM中的程式狀態暫存器(CPSR)
arm中的程式狀態暫存器 cpsr 2006.11.1 hokepoly 閱讀 8379 3130 292827 8765 4321 0nzc v保留if tm4m3m2 m1m0 nnegative less than iirq disable zzero ffiq disable ccarry ...
基於ARM9程式狀態暫存器CPSR
定義 程式狀態暫存器 功能 反映資料運算狀態,控制系統模式等 特點 程式狀態暫存器不屬於通用暫存器 關於cpsr的訪問,arm專門為其設立了兩條指令 mrs cpsr到通用暫存器傳遞資料指令 msr 通用暫存器到cprs傳遞資料指令 1 msr 通用暫存器 cpsr 格式 msr 條件 cpsr s...