狀態暫存器中的各個狀態標誌位元是依據「ALU上一次的運算結果」來設定標誌位的;狀態暫存器又稱為條件碼暫存器,是電腦核心部件運算器的一部分,主要用來存放體現目前指令執行結果的各種狀態資訊和控制資訊。
本教學操作環境:windows10系統、DELL G3電腦。
#狀態暫存器中的各個狀態標誌位元是依據「ALU上一次的運算結果」來設定標誌位元的
狀態暫存器又稱為條件碼暫存器,它是電腦系統的核心元件-運算器的一部分,狀態暫存器用來存放兩類資訊:
#一類是體現目前指令執行結果的各種狀態資訊(條件碼),如有無進位(CF位)、有無溢位(OV位元)、結果正負(SF位元)、結果是否為零(ZF位)、奇偶標誌位元(P位元)等;
另一類是存放控制資訊(PSW:程式狀態字暫存器),如允許中斷(IF位元)、追蹤標誌(TF位元)等。有些機器中將PSW稱為標誌暫存器FR(Flag Register)
在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的個數為奇數。
更多相關知識,請造訪常見問題欄位!
以上是狀態暫存器中的各個狀態標誌位元是依據什麼來設定標誌位的的詳細內容。更多資訊請關注PHP中文網其他相關文章!