状态
寄存器又名条件码寄存器,它是
计算机系统的核心部件——
运算器的一部分,状态寄存器用来存放两类信息:一类是体现当前指令执行结果的各种
状态信息(
条件码),如有无进位(CF位)、有无溢出(
OV位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等;另一类是存放
控制信息(
PSW:
程序状态字寄存器),如
允许中断(IF位)、跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag
Register)。
PSW是一个8位
二进制寄存器,用来存放指令招待后的有关
CPU的状态,通常由CPU来填写,但是用户也可以改变各状态位的值。各标志位定义如下所示:
在ARM中有6个状态寄存器,ARM7
TDMI内核包含1个CPSR和5个供异常处理程序使用的SPSR。CPSR反映了当前处理器的状态,其包含:
1.
CY(Carry): 用于表示
加法运算中的进位和减法运算中的
借位,加法运算中有进位或减法运算中有借位则CY位置为1,否则为0
2. AC(Auxiliary Carry): 与CY基本相同,不同的是低4位与高4位间的运算。
4. RS1,RS0: 8051有8个8位工作寄存器R0~R7,它在
RAM中的实际物理地理可以根据需要来选择确定。 00:00H~07H
5.OV: 表示运算过程中是否发生了溢出,若结果超过了8位
二进制数所能表示数据的范围即
有符号数-128~+127,则标志位置1。
6.OP: 奇偶标志位用来指示运算结果中1的个数的
奇偶性,若P=0,则
累加器A中1的个数为偶数;若P=1,则累加器A中1的个数为奇数。