ZF标志
- 零标志位,它記錄相關指令執行後,其結果是否為0.如果結果為0,那麼zf=1,反之,則zf=0.
- 影響zf标志的大都是運算指令。
PF标志
- 奇偶标志位,它記錄相關指令執行後,其結果的所有bit位中1的個數是否位偶數。如果1的個數為偶數,pf=1,如果為奇數,那麼pf=0.
SF标志
- 符号标志位,它記錄相關指令執行後 ,其結果是否為負。如果結果為負,sf=1;如果非負,sf=0.
CF标志
- 進位标志位,一般情況下,在進行無符号數運算的時候,它記錄了運算結果的最高有效位向更高位的進位值,或從更高位的借位值。
OF标志
- 在進行有符号數運算的時候,如果超過了機器所能表示的範圍稱為溢出。
adc指令
- adc是帶進位加法指令,它利用了CF位上記錄的進位值。
指令格式:adc 操作對象1,操作對象2:
功能:操作對象1 = 操作對象1 + 操作對象2 + CF
sbb指令
- sbb是帶借位減法指令,它利用了CF位上記錄的借位值。
指令格式:sbb 操作對象1,操作對象2:
功能:操作對象1 = 操作對象1 - 操作對象2 - CF
cmp指令
- cmp是比較指令,cmp的功能相當于減法指令,隻是不儲存結果。cmp指令執行後,将對标志寄存器産生影響。
cmp指令格式:cmp 操作對象1,操作對象2:
功能:計算 操作對象1 - 操作對象2 但并不儲存結果
DF标志和串傳送指令
- 方向标志位,在串處理指令中,控制每次操作後si、di的增減。
- df=0–每次操作後si、di遞增;
- df=1–每次操作後si、di遞減。
串傳送指令:movsb
功能:1、((es)*16+(di)) = ((ds)*16+(si))
2、如果df=0則:(si)=(si)+1 (di) = (di)+1
3、如果df=0則:(si)=(si)-1 (di) = (di)-1
pushf 和 popf
- pushf的功能是将标志寄存器的值壓棧;popf的功能是從棧中彈出資料,送入标志寄存器中。