AAA - Ascii Adjust for Addition
Usage: AAA
Modifies Flags: AF CF (OF,PF,SF,ZF undefined)
Changes contents of AL to valid unpacked decimal. The high order nibble is zeroed.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
none | 3 | 4 | 3 | 1 |
AAD - Ascii Adjust for Division
Usage: AAD
Modifies Flags: SF ZF PF (AF,CF,OF undefined)
Used before dividing unpacked decimal numbers. Multiplies AH by 10 and the adds result into AL. Sets AH to zero. This instruction is also known to have an undocumented behavior.
AL := 10*AH+AL
AH := 0
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
none | 14 | 19 | 14 | 2 |
AAM - Ascii Adjust for Multiplication
Usage: AAM
Modifies Flags: PF SF ZF (AF,CF,OF undefined)
Used after multiplication of two unpacked decimal numbers, this instruction adjusts an unpacked decimal number. The high order nibble of each byte must be zeroed before using this instruction. This instruction is also known to have an undocumented behavior.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
none | 16 | 17 | 15 | 2 |
AAS - Ascii Adjust for Subtraction
Usage: AAS
Modifies Flags: AF CF (OF,PF,SF,ZF undefined)
Corrects result of a previous unpacked decimal subtraction in AL. High order nibble is zeroed.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
none | 3 | 4 | 3 | 1 |
ADC - Add With Carry
Usage: ADC dest,src
Modifies Flags: AF CF OF SF PF ZF
Sums two binary operands placing the result in the destination. If CF is set, a 1 is added to the destination.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,reg | 2 | 2 | 1 | 2 |
mem,reg | 7 | 7 | 3 | 2-4 |
reg,mem | 7 | 6 | 2 | 2-4 |
reg,immed | 3 | 2 | 1 | 3-4 |
mem,immed | 7 | 7 | 3 | 3-6 |
accum,immed | 3 | 2 | 1 | 2-3 |
ADD - Arithmetic Addition
Usage: ADD dest,src
Modifies Flags: AF CF OF PF SF ZF
Adds "src" to "dest" and replacing the original contents of "dest". Both operands are binary.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,reg | 2 | 2 | 1 | 2 |
mem,reg | 7 | 7 | 3 | 2-4 |
reg,mem | 7 | 6 | 2 | 2-4 |
reg,immed | 3 | 2 | 1 | 3-4 |
mem,immed | 7 | 7 | 3 | 3-6 |
accum,immed | 3 | 2 | 1 | 2-3 |
AND - Logical And
Usage: AND dest,src
Modifies Flags: CF OF PF SF ZF (AF undefined)
Performs a logical AND of the two operands replacing the destination with the result.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,reg | 2 | 2 | 1 | 2 |
mem,reg | 7 | 7 | 3 | 2-4 |
reg,mem | 7 | 6 | 1 | 2-4 |
reg,immed | 3 | 2 | 1 | 3-4 |
mem,immed | 7 | 7 | 3 | 3-6 |
accum,immed | 3 | 2 | 1 | 2-3 |
ARPL - Adjusted Requested Privilege Level of Selector (286+ PM)
Usage: ARPL dest,src
Modifies Flags: ZF
Compares the RPL bits of "dest" against "src". If the RPL bits of "dest" are less than "src", the destination RPL bits are set equal to the source RPL bits and the Zero Flag is set. Otherwise the Zero Flag is cleared.
Clocks | ||||
---|---|---|---|---|
operands | 286 | 386 | 486 | Size Bytes |
reg,reg | 10 | 20 | 9 | 2 |
mem,reg | 11 | 21 | 9 | 4 |
[ TOC | Previous | NeXt | Winston's page ]