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|
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
---------------------------------- Flags ----------------------------------
Overflow Set when an arithmetic overflow occurred. An
arithmetic overflow occurs when the size of a
computation exceeds the size of the
destination.
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
instructions.
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.
This page last updated on Fri Nov 30 10:49:50 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster