複製鏈接
請複製以下鏈接發送給好友

PSW

(單片機術語)

鎖定
PSW是Program Status Word的縮寫,即程序狀態字(也叫程序狀態寄存器),可用於OS在管態(系統態)和目態(用户態)之間的轉換。
中文名
程序狀態字
外文名
PSW
別    稱
狀態寄存器
用    途
系統態和用户態之間轉換
英文全稱
Program Status Word
性    質
計算機系統的核心部件運算器的一部分

PSW簡介

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

PSW作用

程序狀態字用來指示處理器狀態、控制指令的執行順序並且保留和指示與運行程序有關的各種信息,其主要作用是方便地實現程序狀態的保護和恢復。每個正在執行的程序都有一個與其執行相關的PSW,而每個處理器都設置一個程序狀態字寄存器。一個程序佔有處理器執行,它的PSW將佔有程序狀態字寄存器。一般來説,程序狀態字寄存器包括以下幾類內容:
程序基本狀態。包括:(1)程序計數器:指明下一條執行的指令地址;(2)條件碼:表示指令執行的結果狀態:(3)處理器狀態位:指明當前的處理器狀態,如目態或管態、運行或等待。
  • 中斷碼。保存程序執行時當前發生的中斷事件。
  • 中斷屏蔽位。指明程序執行中發生中斷事件時,是否響應出現的中斷事件。
由於不同處理器中的控制寄存器組織方式不同,所以在大多數計算機的處理器現場中可能找不到一個稱為程序狀態字寄存器的具體寄存器,但總是有一組控制與狀態寄存器實際上起到這一作用。 [2] 

PSW各狀態字定義

P——奇偶標誌位:該位反映累加器ACC內容的奇偶性。如果有奇數個“1”,則P為“1”,否則為“0”。在80C51指令中,凡是改變ACC中內容的指令均影響P。 [3] 
0 V——溢出標誌位:對於單字節的有符號數,若用最高位(b7)表示正、負號,則只有7位有效數位(b6~b0),能表示-128~+127之間的數。運算結果超出了這個數值範圍,就會發生溢出,此時OV=1,否則OV=0。
此外,在執行乘法指令時,OV=1表示乘積超過255;在執行除法指令時,OV=1表示除數為0。 [3] 
RSl、RSO——工作寄存器選擇控制位:該兩位用以選擇指令當前使用的工作寄存器組。由用户用軟件可以設置RSl、RSO的組合,以切換到當前選用的工作寄存器組。 [3] 
單片機復位後,RSl-RS0-0,CPU自動選中第0組為當前工作寄存器。用户可通過指令改變RSl、RS0的狀態,實現工作寄存器組的切換。這為調用子程序和中斷服務程序中保護現場提供了方便。 [3] 
F0——用户標誌位:該位可由用户置1或清0,用於實現某些測控功能。 [3] 
AC——半進位標誌位:當CPU進行加法(或減法)運算時,如果低半字節(b3~b0)向高半字節(b7~b4)有進位(或借位),即b3向b4進位(或借位)時,AC置1,否則清0。AC可用於BCD碼加法時的調整判別位。 [3] 
CY——進位標誌位: 當CPU進行加法(或減法)運算時,如果運算結果的最高位(b7)有進位(或借位),CY則置1,否則清0。 [3] 

PSW用法示例

在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。
參考資料
  • 1.    王先水,吳蓓,章玲主編.彙編語言程序設計:武漢大學出版社,2012.01:第11頁
  • 2.    孫鍾秀主編 費翔林 駱斌 謝立編.操作系統教程 (第3版):高等教育出版社,2003年08月第1版:第81頁
  • 3.    王雷,王幸之,陳志軍等編著.單片機系統設計基礎:北京航空航天大學出版社,2012.05:第22頁