PSW是51单片机(继承X86血统的微处理器)中的一个8位二进制寄存器,用来存放指令执行后的有关CPU状态,通常由CPU来填写,但是用户也可以改变各状态位的值。各标志位定义如下所示:
Bit7―Cy
Bit6―AC
Bit5―F0
Bit4―RS1
Bit3―RS0
Bit2―OV
Bit1―F1
Bit0―P
PSW各标志位有何意义
(1)CY(Carry):用于表示加法计算中的进位和减法运算中的借位,若加法运算中有进位或减法运算中有借位,则CY位置1,否则置0。
(2)AC(Auxiliary Carry):与CY基本相同,不同的是低4位与高4位间的运算。
(3)F0(Flag Zero用户标志位):该位是用户根据自己的需要而设定的标志位,用户可以通过设置该位来决定程序的流向和分支。
(4)RS1,RS0:8051有8个8位工作寄存器R0~R7,它在RAM中的实际物理地址可以根据需要来选择确定。
00:00H~07H
01:08H~0FH
10:10H~17H
11:18H~1FH
(5)OV:表示运算过程中是否发生了溢出,若结果超过了8位二进制数所能表示数据的范围即有符号数-128~+127,则标志位置1。
(6)OP:奇偶标志位用来指示运算结果中1的个数的奇偶性,若P=1,则累加器A中1的个数为奇数;若P=0,则累加器A中1的个数为偶数。