cpu的內部暫存器中,有一種特殊的暫存器(標誌暫存器)
1.用來儲存相關指令的某些執行結果;
2.用來為 cpu執行相關指令提供行為一句
3.用來控制cpu的相關工作方式
flag(標誌)暫存器與其他暫存器不一樣,其他暫存器用來存放資料。
flag暫存器是 按位起作用的,每一位都有專門的含義
在計算機中1代表邏輯真。0代表邏輯假。
zf (zero flag)零標誌位 — 結果為0,zf=1 不為0,zf =0。
mov al,1
add al,10 // pf=0
mov al,1
add al,10 // pf=1
sf (sign flag) f=符號標誌位 — 結果為負,sf=1,結果非負數。 sf =0
mov al,10000001b
add al,1 //sf=1
mov al.10000001b
add al, 01111111b ..sf = 0
cf (carry flag)進製識別符號。一般情況下,無符號數運算,記錄了運算結果的最高有效位向更高位的進製值,或從更高位的借位值, 借位 cf =1,否則cf=0
sub 則是借位 add則是加位
sub al,98h //執行後:(al)=ffh, cf = 1,cf記錄了向更高位的借位值
sub al,al //執行後(al) = 0,cf=0,cf記錄了向更高位的借位值
of (overflow flag)資料溢位,對於有符號數運算,超出了所能表達的範圍,即為溢位
8位暫存器的範圍是 2的8次方 (-128·127)
16位暫存器的範圍是 2的16次方 (-132768·32767)
溢位則of=1,否則of=0
mov al,98
ad al,99 //結果溢位
cf——進製標誌(carry flag)。若cf=1,表示算術運算時產生進製或借位,否則cf=0。移位指令會影響cf。
pf——奇偶標誌(parity flag)。若pf=1,表示操作結果中「1」的個數為偶數,否則pf=0。這個標誌位主要用於檢查資料傳送過程中的錯誤。
af——輔助進製標誌(auxiliary carry flag)。若af=1表示位元組運算產生低半位元組向高半位元組的進製或借位,否則af=0。輔助進製也稱半進製標誌,主要用於bcd碼運算的十進位制調整。
zf——全零標誌(zero flag)。若zf=1,表示操作結果全為零,否則zf=0。
sf——符號標誌(sign flag)。若sf=1,表示符號數運算後的結果為負數,否則sf=0。
of——溢位標誌(overflow flag)。若of=1,表示當進行算術運算時,結果超過了最大範圍,否則of=0。
if——中斷允許標誌(interrupt enable flag)。若if=1,則cpu可以響應外部可遮蔽中斷請求;若if=0,則cpu不允許響應中斷請求。if的狀態可由中斷指令設定。
df——方向標誌(direction flag)。若df=1,表示執行字串操作時按著從高位址向低位址方向進行;否則df=0。df位可由指令控制。
tf——單步標誌(trace flag)。又稱跟蹤標誌。該標誌位在除錯程式時可直接控制cpu的工作狀態。當tf=1時為單步操作,cpu每執行一條指令就進入內部的單步中斷處理,以便對指令的執**況進行檢查;若tf=0,則cpu繼續執行程式。
標誌暫存器df 標誌暫存器
cpu內部的暫存器中,有一種特殊的暫存器具有以下三種作用。用來儲存相關指令的某些執行結果 用來為cpu執行相關指令提供行為依據 用來控制cpu的相關工作方式 這種特殊的暫存器在8086cpu種,被稱為標誌暫存器 flag 8086cpu的標誌暫存器有16位,其中儲存的資訊通常被稱為程式狀態字 psw...
暫存器,標誌暫存器
涉及硬體傳輸資料的,往往包含以下內容 1.資料傳輸引腳 資料放 2.控制引腳 怎麼控制 3.狀態引腳 結果如何 暫存器相當於cpu內部的儲存單元,可能是連續排列,相當於 c語言中的陣列。一 8個通用暫存器 16 bit accumulate axah alr0 count cxch clr1 dat...
標誌暫存器
標誌暫存器 標誌暫存器 flags register,fr 又稱程式狀態字 program status word,psw 這是乙個存放條件標誌 控制標誌暫存器,主要用於反映處理器的狀態和運算結果的某些特徵及控制指令的執行 各標誌在標誌暫存器中的位置 條件標誌 cf carry flag 進製標誌 ...