05_ARM汇编自学笔记模型之程序状态寄存器
程序状态寄存器:
ARM体系结构包含一个当前程序状态寄存器(CPSR)和五个备份的程序状态寄存器(SPSRs)。
备份的程序状态寄存器用来进行异常处理,其功能包括:
─ 保存ALU中的当前操作信息
─ 控制允许和禁止中断
─ 设置处理器的运行模式
在ARM状态下,绝大多数的指令都是有条件执行的。
在Thumb状态下,仅有分支指令是有条件执行的。
控制位
PSR的低8位(包括I 、F、T和M[ 4:0] )称为控制位,当发生异常时这些位可以被改变。如果处
理器运行特权模式,这些位也可以由程序修改。
─ 中断禁止位I 、F:
I =1 禁止I RQ中断;
F=1 禁止FI Q中断。
─ T标志位:该位反映处理器的运行状态。
对于ARM体系结构v5及以上的版本的T系列处理器,当该位为1时,程序运行于Thumb状态,
否则运行于ARM状态。
对于ARM体系结构v5及以上的版本的非T系列处理器,当该位为1时,执行下一条指令以引起
为定义的指令异常;当该位为0时,表示运行于ARM状态。
─ 运行模式位M[ 4:0] :M0、M1、M2、M3、M4是模式位。这些位决定了处理器的运行模式。
具体含义如表2-2所示:
保留位将用于ARM版本的扩展。