Flags Register

The flags register contains various bits that control and record the
state of the microprocessor, as defined below.

Bit:    15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
Flags register:                OF DF IF TF SF ZF    AF    PF    CF 


Overflow            Set when an arithmetic overflow occurred.  An
arithmetic overflow occurs when the size of a
computation exceeds the size of the

Direction           Set for auto-decrement with string
instructions, clear for auto-increment.

Interrupt Enable    Interrupts are enabled as long as this flag is
set.  When this flag is cleared, interrupts
except for nonmaskable interrupts are disabled.

Trap                This flag is used by debuggers to single step
through programs.  When this flag is set, an
INT 3 is generated after every instruction.

Sign                Set when the high-order bit of the result is 1.
In other words, S = 0 for positive numbers and
S = 1 for negative numbers.

Zero                Set whenever the result is 0.

Auxiliary Carry     Set when the is a carry out of the lower half
of an 8 or 16 bit number, or when there is a
borrow from the upper to the lower half.  This
flag is used mainly by the decimal-arithmetic

Parity Flag         Set if there is an even number of 1-bits in the
result.  Cleared if there is an odd number of
1-bits.  Often used by communications programs

Carry Flag          Set if there was a carry out of, or a borrow
into the high-order bit of the result.  This
flag is useful for propagating carries and
borrows for multi-word numbers.

Assembly - Flags register