PSW即程式狀態字(有些教材也叫程式狀態暫存器),Program Status Word。
可用於OS在管態(系統態)和目態(用戶態)之間的轉換。
程式狀態暫存器PSW是計算機系統的核心部件——運算器的一部分,PSW用來存放兩類信息:一類是體現當前指令執行結果的各種狀態信息,稱為狀態標誌,如有無借位進位(CY位)、有無溢出(OF位)、結果正負(SF位)、結果是否為零(ZF位)、奇偶標誌位(PF位)等;另一類是存放控制信息,稱為控制狀態,如允許中斷(IF位),跟蹤標誌(TF位),方向標誌(DF)等。有些機器中將PSW稱為標誌暫存器FR(Flag Register)。
在8086/8088CPU中,PSW是一個16位暫存器,用於暫存單簽指令執行後的某些狀態,即反映指令執行結果的一些特徵信息。在debug程式中,可以使用R命令來查看PSW的值,除了TF沒有顯示之外,其它8個標誌的值顯示方式如下:
標誌名
設定 nv(清除) ov(溢出)
方向 dn(減) up(增)
中斷 ei(啟用) di(禁用)
正負 ng(負) pl(正)
零 zr(0) nz(非0)
輔助進位 ac(進位) na(不進位)
奇偶校驗 pe(偶校驗) po(奇校驗)
進位 cy(進位) nc(不進位)
如:
OV DN EI NG ZR AC PE CY依次表示OF DF IF SF ZF AF PF CF都為1;
NV UP DI PL NZ NA PO NC依次表示OF DF IF SF ZF AF PF CF都為0.
PSW各位的定義如下:
Cy(PSW.7):即PSW的D7位,進位、借位標誌。進位、借位CY=1;否則CY=0.
AC(PSW.6):即PSW的D6位,輔助進位、借位標誌。當D3向D4有借位或進位時,AC=1;否則AC=0.
F0(PSW.5及PSW.1):即PSW的D5位,用戶標誌位;
RS1及RS0(PSW.4及PSW.3):即PSW的D4、D3位,暫存器組選擇控制位;
OV(PSW.2):溢出標誌。有溢出OV=1,否則OV=0;
F1(PSW·1):保留位,無定義;
P(PSW·0):奇偶校驗標誌位,由硬體置位或清0;存在ACC中的運算結果有奇數個1時P=1,否則P=0。