在ARM架構單片機中,程序狀態(tài)寄存器(Program Status Register,PSR)主要包含了當前處理器的狀態(tài)信息。英銳恩單片機開發(fā)工程師介紹,在ARM7TDMI內核中,有一個CPSR(Current Program Status Register)和五個供異常處理程序使用的SPSR(Saved Program Status Register)。以下是CPSR中包含的內容:
(1)條件代碼標志:CPSR 中包含四個條件代碼標志,用于反映當前指令執(zhí)行的結果。
1.N(Negative):表示結果為負數。
2.Z(Zero):表示結果為零。
3.C(Carry):表示進位標志。
4.V(Overflow):表示溢出標志。
(2)中斷禁止位:CPSR 中包含兩個中斷禁止位,用于控制中斷的開啟和關閉。
(3)處理器模式編碼位:CPSR 中包含五個位,用于對當前處理器模式進行編碼,指示當前處于的處理器模式。
(4)指令執(zhí)行位:CPSR 中包含一個位,用于指示當前執(zhí)行指令的模式是ARM指令集還是Thumb指令集。
這些信息對于ARM架構單片機的正常操作和異常處理非常重要。通過檢查和設置這些標志位,處理器可以根據不同的條件執(zhí)行不同的操作,例如條件跳轉、中斷處理等。異常處理程序可以使用SPSR來保存先前的程序狀態(tài),以便在異常處理完成后能夠恢復到正確的執(zhí)行狀態(tài)。 PSR的內容對ARM處理器的正常運行和系統(tǒng)的穩(wěn)定性起著關鍵作用。