如下:
(1) ?6個狀態標誌位的功能分別敘述如下:
CF(Carry Flag)——進位標誌位。當執行壹個加法(或減法)運算,使最高位產生進位(或借位)時,CF為1;否則為0。
PF(Parity Flag)——奇偶標誌位。該標誌位反映運算結果中1的個數是偶數還是奇數。當指令執行結果的低8位中含有偶數個1時,PF=1;否則PF=0。
AF(Auxiliary carry Flag)——輔助進位標誌位。當執行壹個加法(或減法)運算,使結果的低4位向高4位有進位(或借位)時,AF=1;否則AF=0。
ZF(Zero Flag)——零標誌位。若當前的運算結果為零,ZF=1;否則ZF=0。
SF(Sign Flag)——符號標誌位。它和運算結果的最高位相同。
OF(Overflow Flag)——溢出標誌位。當補碼運算有溢出時,OF=1;否則OF=0。
(2) ?3個控制標誌位用來控制CPU的操作,由指令進行置位和復位。
DF(Direction Flag)——方向標誌位。它用以指定字符串處理時的方向,當該位置“1”時,字符串以遞減順序處理,即地址以從高到低順序遞減。反之,則以遞增順序處理。
IF(Interrupt enable Flag)——中斷允許標誌位。它用來控制8086是否允許接收外部中斷請求。若IF=1,8086能響應外部中斷,反之則不響應外部中斷。
註意:IF的狀態不影響非屏蔽中斷請求(NMI)和CPU內部中斷請求。
TF(Trap Flag)——跟蹤標誌位。它是為調試程序而設定的陷阱控制位。當該位置“1”時,8086 CPU處於單步狀態,此時CPU每執行完壹條指令就自動產生壹次內部中斷。當該位復位後,CPU恢復正常工作。