×
单片机 > 单片机程序设计 > 详情

ARM程序状态寄存器

发布时间:2020-06-01 发布时间:
|

ARM体系结构包含一个当前程序状态寄存器(CPSR)和五个备份的程序状态寄存器(SPSRs)。备份的程序状态寄存器用来进行异常处理,其功能包括:

─ 保存ALU中的当前操作信息

─ 控制允许和禁止中断

─ 设置处理器的运行模式

条件码标志(Condition Code Flags)

N、Z、C、V均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行。

在ARM状态下,绝大多数的指令都是有条件执行的。

在Thumb状态下,仅有分支指令是有条件执行的。

控制位

PSR的低8位(包括I、F、T和M[4:0])称为控制位,当发生异常时这些位可以被改变。如果处理器运行特权模式,这些位也可以由程序修改。

─ 中断禁止位I、F:

I=1 禁止IRQ中断;

F=1 禁止FIQ中断。

─ T标志位:该位反映处理器的运行状态。

对于ARM体系结构v5及以上的版本的T系列处理器,当该位为1时,程序运行于Thumb状态,否则运行于ARM状态。

对于ARM体系结构v5及以上的版本的非T系列处理器,当该位为1时,执行下一条指令以引起为定义的指令异常;当该位为0时,表示运行于ARM状态。

─ 运行模式位M[4:0]:M0、M1、M2、M3、M4是模式位。这些位决定了处理器的运行模式。

并不是所有的运行模式位的组合都是有效地,其他的组合结果会导致处理器进入一个不可恢复的状态。

保留位

PSR中的其余位为保留位,当改变PSR中的条件码标志位或者控制位时,保留位不要被改变,在程序中也不要使用保留位来存储数据。保留位将用于ARM版本的扩展。


关键字:ARM  程序状态寄存器 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
TQ210天嵌开发板S5PV210 LED闪烁程序C语言代码记录