Pages describing basic instructions have a "Flags Affected" section the contains a flags information table similar to the following:
┌──┬──┬──┬──┬──┬──┬──┬──┐ │OF│DF│IF│SF│ZF│AF│PF│CF│ ├──┼──┼──┼──┼──┼──┼──┼──┤ │0 │ │ │* │* │? │* │0 │ └──┴──┴──┴──┴──┴──┴──┴──┘
The first row of the table lists the mnemonic identifiers for the various flags. The entries in the second row are filled in according to how the flag is affected by the instruction:
┌────────┬────────────────────────────────┐ │VALUE │MEANING │ ├────────┼────────────────────────────────┤ │<blank> │Instruction does not affect flag│ ├────────┼────────────────────────────────┤ │0 │Instruction clears the flag │ ├────────┼────────────────────────────────┤ │1 │Instruction sets the flag │ ├────────┼────────────────────────────────┤ │? │Instruction's effect on the flag│ │ │is undefined │ ├────────┼────────────────────────────────┤ │* │Instruction modifies the flag │ │ │(either sets or clears depending│ │ │on operands) │ └────────┴────────────────────────────────┘
The following table lists the mnemonic identifier, full name, and purpose of the flags that are applicable to all processor families and that are are most commonly used from within application-level programs. Not all flags are included in this table; see the Intel documentation for a more complete description of flag usage from within systems-level programs.
┌────────┬────────────────┬──────────────────────────────────────────────────────┐ │MNEMONIC│FLAG NAME │PURPOSE │ ├────────┼────────────────┼──────────────────────────────────────────────────────┤ │OF │Overflow │Result exceeds positive or negative limit of number │ │ │ │range │ ├────────┼────────────────┼──────────────────────────────────────────────────────┤ │DF │Direction │Setting the DF flag causes string instructions to │ │ │ │auto-decrement, that is, to process strings from high │ │ │ │addresses. Clearing the DF flag causes string │ │ │ │instructions to auto-increment, or to process strings │ │ │ │from low addresses to high addresses. │ ├────────┼────────────────┼──────────────────────────────────────────────────────┤ │IF │Interrupt Enable│Controls the acceptance of external interrupts │ │ │ │signalled via the INTR pin. │ ├────────┼────────────────┼──────────────────────────────────────────────────────┤ │SF │Sign │Result is negative (less than zero) │ ├────────┼────────────────┼──────────────────────────────────────────────────────┤ │ZF │Zero │Result is zero │ ├────────┼────────────────┼──────────────────────────────────────────────────────┤ │AF │Auxiliary carry │Carry out of bit position 3 (used for BCD) │ ├────────┼────────────────┼──────────────────────────────────────────────────────┤ │PF │Parity │Low byte of result has even parity (even number of set│ │ │ │bits) │ ├────────┼────────────────┼──────────────────────────────────────────────────────┤ │CF │Carry │Carry out of most significant bit of result │ └────────┴────────────────┴──────────────────────────────────────────────────────┘
The flags information table is usually followed by a paragraph description of how the flags are affected:
All flags not listed are unchanged by the instruction.