Note: This is the June 17, 2006 capture of from the Wayback Machine. This was uploaded to the reloaded ISLESV.NET on June 22, 2023.

The status register is also called the flag(s) register. Nine of the 16 bits of the flags register is implemented. Six of these are called status flags: they indicate the status of the last operation performed. The other three flags are control flags in that they control the function of the 8088.

The Status Flags

1. CF, the Carry Flag.
1 if there is a carry out or borrow in for the most significant bit
during the execution of an arithmetic instruction.
0 if there is no carry out or borrow in.

2. PF, the Parity Flag.
1 if the result has even parity (there are even number of bits with
value 1).
0 if the result do not have an even number of set bits.
Example: 00000011B would set the PF because there are two 1’s.
00000001B would reset the PF because there is only 1.

3. AF, the Auxiliary Flag.
The operation of this flag is very similar to the CF except that the
carry is out of bit 3 (the MSB of the lower nibble) instead of bit 7
or 15.

4. ZF, the Zero Flag.
1 if the result is a zero.
0 otherwise.

5. SF, the Sign Flag.
1 if the MSB (leftmost bit) is 1.
0 if the MSB is 0.

6. OF, the Overflow Flag.
1 if the operation caused an overflow.
0 if the result is within range.

The Control Flags

1. TF, the Trap Flag. If this is set (logic level 1), the 8088 enters into
single-step mode. Everytime the 8088 finishes an operation, it
it issues an INT 3H.

2. IF, the Interrupt Flag. If this is set, interrupts are recognized.

3. DF, the Direction Flag. If this is set, the string instruction auto-
cally decrements the address. The string data transfers from high
address to low address.