程序状态字寄存器
保存各种状态条件标志的寄存器
程序状态字寄存器PSW(Program State Word Registor),是一个保存各种状态条件标志的寄存器。
程序状态字寄存器用来保存由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容,如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等,这些标志位通常用1位触发器来保存。
除此之外,程序状态字寄存器还用来保存中断和系统工作状态等信息,以便CPU和系统及时了解机器运行状态和程序运行状态。
组成原件
51单片机的PSW是一个8位寄存器,用来存放指令执行后的一些的状态,通常由CPU来填写,但是用户也可以改变各状态位的值。各标志位定义如下所示:
Bit7 Cy
Bit6 AC
Bit5 F0
Bit4 RS1
Bit3 RS0
Bit2 OV
Bit1 -
Bit0 P
主要内容
1. CY(Carry):
CY表示加法运算中的进位和减法运算中的借位,加法运算中有进位或减法运算中有借位则CY位置1,否则为0。
2. AC(Auxiliary Carry):
与CY基本相同,不同的是AC表示的是低4位向高4位的进、借位。
3.F0:
该位是用户自己管理的标志位,用户可以根据自己的需要来设定。
4. RS1、RS0:
这两位用于选择当前工作寄存器区。8051有8个8位寄存器R0~R7,它们在RAM中的地址可以根据用户需要来确定。
RS1 RS0:R0~R7的地址
0 0: 00H~07H
0 1: 08H~0FH
1 0: 10H~17H
1 1: 18H~1FH
5.OV:
该位表示运算是否发生了溢出。若运算结果超过了8位有符号数所能表示的范围,即-128 ~ +127,则 OV = 1。
6.P:
P是奇偶标志位。若累加器A中1的个数为奇数,则P = 1;若累加器A中1的个数为偶数,则P = 0。
参考资料
目录
概述
组成原件
主要内容
参考资料