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

狀態寄存器

鎖定
狀態寄存器又名條件碼寄存器,它是計算機系統的核心部件——運算器的一部分,狀態寄存器用來存放兩類信息:一類是體現當前指令執行結果的各種狀態信息條件碼),如有無進位(CF位)、有無溢出(OV位)、結果正負(SF位)、結果是否為零(ZF位)、奇偶標誌位(P位)等;另一類是存放控制信息PSW:程序狀態字寄存器),如允許中斷(IF位)、跟蹤標誌(TF位)等。有些機器中將PSW稱為標誌寄存器FR(Flag Register)。
中文名
狀態寄存器
外文名
status register
別    名
條件碼寄存器
性    質
寄存器
有些機器中
將PSW稱為標誌寄存器
定義
PSW標誌位定義:
PSW是一個8位二進制寄存器,用來存放指令招待後的有關CPU的狀態,通常由CPU來填寫,但是用户也可以改變各狀態位的值。各標誌位定義如下所示:
Bit7 Cy
Bit6 AC
Bit5 F0
Bit4 RS1
Bit3 RS0
Bit2 OV
Bit1 -
Bit0 P
ARM中的程序狀態寄存器
在ARM中有6個狀態寄存器,ARM7TDMI內核包含1個CPSR和5個供異常處理程序使用的SPSR。CPSR反映了當前處理器的狀態,其包含:
4個條件代碼標誌(負(N)、零(Z)、進位(C)和溢出(V) );
2箇中斷禁止位,分別控制一種類型的中斷;
5個對當前處理器模式進行編碼的位;
1個用於指示當前執行指令(ARM還是Thumb)的位。
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=0,則累加器A中1的個數為偶數;若P=1,則累加器A中1的個數為奇數。