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

狀態標誌

鎖定
狀態標誌是16位標誌寄存器PSW用來存放運算結果的特徵,常用作後續條件轉移指令的轉移控制條件。其中7位沒用,9位標誌位分成兩類:一類為狀態標誌,表示運算後結果的狀態特徵,它影響後面的操作。狀態標誌有CF PF AF ZF SF和OF等6個。另一類為控制標誌,用來控制CPU操作,控制標誌有TF IF和DF3個。 狀態標誌位記錄了算術和邏輯運算的一些特徵。如:結果是否為0,是否有進位,借位,結果是否溢出等。不同指令對標誌位具有不同的影響。
中文名
狀態標誌
概    述
16位標誌寄存器PSW用來存放運算
進位標誌位
最高位向前有進(借)位
輔助進位
加(減)法操作中bit3向bit4進位
簡    介
不同指令對標誌位具有不同的影響

狀態標誌進位標誌位

當進行加(減)法運算時,若最高位向前有進(借)位,則CF=1,否則CF=0。
應當注意的是,減法的CF被規定為小數減大數(無符號數)就置為1,所以不應當考慮減法最終是否轉化為補碼加法的問題。

狀態標誌奇偶標誌位

當運算結果中低8位的“1”的個數為偶數時PF=1,為奇數時,PF=0。

狀態標誌輔助進位

在加(減)法操作中,bit3向bit4有進位(借位)發生時,AF=1,否則AF=0。DAA和DAS指令測試這個標誌位,以便在BCD加法或減法之後調整AL中的值。
1字節為8bit 對應為 bit7|bit6|bit5|bit4 bit3|bit2|bit1|bit0 前四個為高4位,後四個為低4位
簡單來説,AF就是用來判斷 中間進位沒有。即8位二進制操作數 第四位有無進位給第五位

狀態標誌零標誌位

當運算結果為零時ZF=1,否則ZF=0。

狀態標誌符號標誌位

當運算結果的最高位為1時SF=1,否則SF=0。

狀態標誌溢出標誌位

當算術運算結果超出了帶符號數的範圍,即溢出時,OF=1,否則OF=0.