程序狀態字寄存器

程序狀態字寄存器

程序狀態寄存器PSW是計算機系統的核心部件——運算器的一部分,PSW用來存放兩類信息:一類是體現當前指令執行結果的各種狀態信息,如有無進位(CY位),有無溢出(OV位),結果正負(SF位),結果是否為零(ZF位),奇偶標誌位(P位)等;另一類是存放控制信息,如允許中斷(IF位),跟蹤標誌(TF位)等。有些機器中將PSW稱為標誌寄存器FR(Flag Register)。

組成原件


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。