Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- iAPx86 - <b>aaa ascii adjust after addition flags: o d i t s z a p c</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
AAA             ASCII Adjust after Addition          Flags: O D I T S Z A P C
                                                            ? - - - ? ? * ? *
AAA

        Logic   if ((AL AND 0Fh) > 9) OR (AF = 1)
                   AL . AL + 6                  ; See note
                   AH . AH + 1
                   AF . 1;  CF . 1
                else
                   AF . 0;  CF . 0
                endif
                AL . AL AND 0Fh

    Execute AAA following an ADD or ADC operation on two unpacked BCD
    digits that leaves a byte result in the AL register. AAA converts
    the number in the lower 4 bits (nibble) of AL to an unpacked BCD
    number (high-order nibble of AL is zeroed). If the addition
    produced a decimal carry, the AH register is incremented, and the
    carry and auxiliary carry flags are set to 1. If the addition
    produced no decimal carry, the carry and auxiliary carry flags are
    set to 0 and AH is unchanged.

    Note
    The 8086/88 processors will not add a carry out of AL into AH if
    an invalid operand is in AL. The newer processors will, yielding
    different results for the same _invalid_ operand (AX = AX + 6 in
    2nd line of description). Execution is the same when valid
    operands are loaded.


    Opcode      Format
    37          AAA


    Length and timing
    Operands    Bytes   8088    186     286     386     486     Pentium
    -            1       8       8       3       4       3       3   NP

See Also: AAS AAD AAM ADC Flags

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson