- ZF (Zero Flag): 零標誌位。它記錄相關指令執行後,其結果是否為0。
- PF (Parity Flag): 奇偶標誌位。它記錄相關指令執行後,其結果的所有二進位位中1的個數是否為偶數。
- SF (Sign Flag): 符號標誌位。它記錄相關指令執行後,其結果是否為負。
- CF (Carry Flag): 進位標誌位。它記錄了無符號數運算結果的最高位向更高位的進位值,或從更高位的借位值。
- OF (Overflow Flag): 溢出標誌位。它記錄了有符號數運算的結果是否發生了溢出。
- CF和OF的區別: CF對無符號數運算有意義,而OF對有符號數運算有意義。
- adc (c - carry) 帶進位加法指令。它利用了CF位上記錄的進位值。
- sbb (b - borrow) 帶借位減法指令。它利用了CF位上記錄的借位值。
- cmp (compare) 比較指令。它的功能相當於減法指令,只是不儲存結果。
- je (e - equal) ZF=1則轉移
jne (ne - not equal) ZF=0則轉移
jb (b - below) CF=1則轉移
jnb (nb - not below) CF=0則轉移
ja (a - above) CF=0且ZF=0則轉移
jna (na - not above) CF=1或ZF=1則轉移
- 將cmp指令和je等條件轉移指令配合使用,可以實現根據比較結果進行轉移的功能。
- DF (Direction Flag) 方向標誌位。在串處理指示中,控制每次操作後si,di的增減,0增1減。
- movesb (b - byte) 傳送一個位元組。
movesw (w - word) 傳送一個字。
rep movesb (rep - repeat) 迴圈執行位元組串傳送指令。
rep movesw (rep - repeat) 迴圈執行字串傳送指令。
- cld (clear DF) 將DF置0。
std (set DF) 將DF置1。
- pushf (push flag) 將標誌寄存器的值壓棧。
- popf (pop flag) 從棧中彈出資料送入標誌寄存器。
- Debug中標誌位的表示:
標誌位 值為1 值為0
OF OV NV
SF NG PL
ZF ZR NZ
PF PE PO
CF CY NC
DF DN UP