DAA Decimal Adjust after Addition Flags: O D I T S Z A P C

Logic: If (AL & 0Fh) > 9 or (AF = 1) then

If (AL > 9Fh) or (CF = 1) then

DAA corrects the result of a previous addition of two valid packed

decimal operands (note that this result must be in AL). This

instruction changes the content of AL so that it will contain a pair

of valid packed decimal digits.

Operands Clocks Transfers Bytes Example

Note: Packed BCD stores one digit per nibble (4 bits); the

least significant digit is in the lower nibble.

It is not possible to apply an adjustment after

division or multiplication of packed BCD numbers.

If you need to use multiplication or division, it is

better to use unpacked BCD numbers. See, for

example, the description of AAM (ASCII Adjust after