
2-10
PRELIMINARY
Register Sets
Advanci ng the S tandar ds
Table 2-3.
EFLAGS Bit Definitions
BIT
POSITION
NAME
FUNCTION
0
CF
Carry Flag: Set when a carry out of (addition) or borrow into (subtraction) the most
significant bit of the result occurs; cleared otherwise.
2
PF
Parity Flag: Set when the low-order 8 bits of the result contain an even number of ones;
cleared otherwise.
4
AF
Auxiliary Carry Flag: Set when a carry out of (addition) or borrow into (subtraction) bit
position 3 of the result occurs; cleared otherwise.
6
ZF
Zero Flag: Set if result is zero; cleared otherwise.
7
SF
Sign Flag: Set equal to high-order bit of result (0 indicates positive, 1 indicates negative).
8
TF
Trap Enable Flag: Once set, a single-step interrupt occurs after the next instruction
completes execution. TF is cleared by the single-step interrupt.
9
IF
Interrupt Enable Flag: When set, maskable interrupts (INTR input pin) are acknowledged
and serviced by the CPU.
10
DF
Direction Flag: If DF=0, string instructions auto-increment (default) the appropriate index
registers (ESI and/or EDI). If DF=1, string instructions auto-decrement the appropriate
index registers.
11
OF
Overflow Flag: Set if the operation resulted in a carry or borrow into the sign bit of the
result but did not result in a carry or borrow out of the high-order bit. Also set if the
operation resulted in a carry or borrow out of the high-order bit but did not result in a
carry or borrow into the sign bit of the result.
12, 13
IOPL
I/O Privilege Level: While executing in protected mode, IOPL indicates the maximum
current privilege level (CPL) permitted to execute I/O instructions without generating an
exception 13 fault or consulting the I/O permission bit map. IOPL also indicates the
maximum CPL allowing alteration of the IF bit when new values are popped into the
EFLAGS register.
14
NT
Nested Task: While executing in protected mode, NT indicates that the execution of the
current task is nested within another task.
16
RF
Resume Flag: Used in conjunction with debug register breakpoints. RF is checked at
instruction boundaries before breakpoint exception processing. If set, any debug fault is
ignored on the next instruction.
17
VM
Virtual 8086 Mode: If set while in protected mode, the microprocessor switches to virtual
8086 operation handling segment loads as the 8086 does, but generating exception 13
faults on privileged opcodes. The VM bit can be set by the IRET instruction (if current
privilege level=0) or by task switches at any privilege level.
18
AC
Alignment Check Enable: In conjunction with the AM flag in CR0, the AC flag determines
whether or not misaligned accesses to memory cause a fault. If AC is set, alignment faults
are enabled.
21
ID
Identification Bit: The ability to set and clear this bit indicates that the CPUID instruction
is supported. The ID can be modified only if the CPUID bit in CCR4 is set.