Table c4. instruction set (continued) – Intel 80C188XL User Manual
Page 327

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