程序状态字寄存器查看源代码讨论查看历史
程序状态字寄存器 | |
---|---|
程序状态字寄存器,是计算机系统的核心部件--运算器的一部分,PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,如有无进位(CY位),有无溢出(OV位),结果正负(SF位),结果是否为零(ZF位),奇偶标志位(P位)等;另一类是存放控制信息,如允许中断(IF位),跟踪标志(TF位)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。[1]
基本信息
中文名称 程序状态字寄存器 [2]
来源 运算器
作用 存放信息
标志 根据用户需要来确定
组成原件
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。