FLAGS register (computing)
From Wikipedia, the free encyclopedia
- This article discusses the flag register specific to the x86 architecture. For a general discussion about flag registers, see status register.
The FLAGS register is a special register in Intel x86 microprocessors that contains the current state of the processor. This register is 16 bits wide. Its successors, the EFLAGS and RFLAGS registers are 32 bits and 64 bits wide, respectively. The wider registers retain compatibility with their smaller predecessors.
Intel x86 FLAGS Register | |||
---|---|---|---|
Bit # | Abbreviation | Description | Category* |
FLAGS | |||
0 | CF | Carry flag | S |
1 | 1 | Reserved | |
2 | PF | Parity flag | S |
3 | 0 | Reserved | |
4 | AF | Adjust flag | S |
5 | 0 | Reserved | |
6 | ZF | Zero flag | S |
7 | SF | Sign flag | S |
8 | TP | Trap flag (single step) | X |
9 | IF | Interrupt enable flag | X |
10 | DF | Direction flag | C |
11 | OF | Overflow flag | S |
12, 13 | IOPL | I/O privilege level (286+ only) | X |
14 | NT | Nested task flag (286+ only) | X |
15 | 0 | Reserved | |
EFLAGS | |||
16 | RF | Resume flag (386+ only) | X |
17 | VM | Virtual-8086 mode flag (386+ only) | X |
18 | AC | Alignment check (486SX+ only) | X |
19 | VIF | Virtual interrupt flag (Pentium+) | X |
20 | VIP | Virtual interrupt pending (Pentium+) | X |
21 | ID | Identification (Pentium+) | X |
22 | 0 | Reserved | |
23 | 0 | Reserved | |
24 | 0 | Reserved | |
25 | 0 | Reserved | |
26 | 0 | Reserved | |
27 | 0 | Reserved | |
28 | 0 | Reserved | |
29 | 0 | Reserved | |
30 | 0 | Reserved | |
31 | 0 | Reserved | |
RFLAGS | |||
32-63 | 0 | Reserved |
S: Status flag
C: Control flag
X: System flag