- N: N=1, 為負數。N=0, 為正數。
- Z: 結果為0時,Z=1(通常表示結果相等)。否則為0。
- C: 若加法產生進位(C=1),否則C=0。減法產生借位(C=0),否則C=1。對於移位的指令,C位元是最後一個移出值。非加減法C位元通常不變。
- V: 當加法或減法運算時,發生溢位時(V=1)。若運算元和結果是補數形式的帶符號整數,對於非加減法指令,V位元通常不變。
- 控制位元
(1) 中斷禁止位元
I位元 = 1, 除能IRQ中斷。
F位元 = 1, 除能FIQ中斷。
T位元,在ARM v3腋下之版本T位元為0。
在ARM v4以上的T位元:
T = 1,表示ARM模式
T = 0,表示Thumb模式
在ARM v5以上的T位元:
T = 1,表示ARM模式
T = 0,表示執行下一到指令,引起位定義指令異常。
(2) 模式位元
M0、M1、M2、M3與M4(M[4:0])是模式位元,決定處理器的工作模式。
M[4:0] | 模式 | 可存取的暫存器 |
0x10(0b10000) | User | PC, R14~R0, CPSR |
0x11(0b10001) | FIQ | PC, R14_fiq~R8_fiq, R7~R0, CPSR, SPSR_fiq |
0x12(0b10010) | IRQ | PC, R14_irq, R13_irq, R12~R0, CPSR, SPSR_irq |
0x13(0b10011) | 管理 | PC, R14_svc, R13_svc, R12~R0, CPSR, SPSR_svc |
0x17(0b10111) | 中止 | PC, R14_abt, R13_abt, R12~R0, CPSR, SPSR_abt |
0x1B(0b11011) | 未定義 | PC, R14_und, R13_und, R12~R0, CPSR, SPSR_und |
0x1F(0b11111) | 系統 | PC, R14~R0, CPSR(ARM v4以上的版本) |
沒有留言:
張貼留言