Intel 80C186XL Computer Hardware User Manual


 
INSTRUCTION SET DESCRIPTIONS
C-4
Table C-4. Instruction Set
Name Description Operation
Flags
Affected
AAA ASCII Adjust for Addition:
AAA
Changes the contents of register AL to
a valid unpacked decimal number; the
high-order half-byte is zeroed.
Instruction Operands:
none
if
((AL) and 0FH) > 9 or (AF) = 1
then
(AL) (AL) + 6
(AH) (AH) + 1
(AF) 1
(CF) (AF)
(AL) (AL) and 0FH
AF
CF
DF
IF
OF ?
PF ?
SF ?
TF
ZF ?
AAD ASCII Adjust for Division:
AAD
Modifies the numerator in AL before
dividing two valid unpacked decimal
operands so that the quotient
produced by the division will be a valid
unpacked decimal number. AH must
be zero for the subsequent DIV to
produce the correct result. The
quotient is returned in AL, and the
remainder is returned in AH; both high-
order half-bytes are zeroed.
Instruction Operands:
none
(AL) (AH) × 0AH + (AL)
(AH) 0
AF ?
CF ?
DF
IF
OF ?
PF
SF
TF
ZF
AAM ASCII Adjust for Multiply:
AAM
Corrects the result of a previous multi-
plication of two valid unpacked
decimal operands. A valid 2-digit
unpacked decimal number is derived
from the content of AH and AL and is
returned to AH and AL. The high-order
half-bytes of the multiplied operands
must have been 0H for AAM to
produce a correct result.
Instruction Operands:
none
(AH) (AL) / 0AH
(AL) (AL) % 0AH
AF ?
CF ?
DF
IF
OF ?
PF
SF
TF
ZF
NOTE: The three symbols used in the Flags Affected column are defined as follows:
– the contents of the flag remain unchanged after the instruction is executed
? the contents of the flag is undefined after the instruction is executed
the flag is updated after the instruction is executed