Intel 210200-002 manual Addition

Models: 210200-002

1 354
Download 354 pages 14.88 Kb
Page 47
Image 47

ARCHITECTURE AND INSTRUCTIONS

PF is set if the modulo 2 sum of the low- order eight bits of the operation is 0 (even parity); otherwise PF is cleared (odd parity).

OF is set if the operation results in a carry into the high-order bit of the result but not a carry out of the high-order bit, or vice versa; otherwise OF is cleared.

Addition

CMP (compare) performs a subtraction of the two source operands causing the flags to be affected but does not return the result.

AAS (unpacked BCD [ASCII] adjust for subtraction) performs a correction of the result in AL of subtracting two unpacked decimal operands, yielding an unpacked decimal difference.

Five addition operations are provided:

ADD performs an addition of the two source operands and returns the result to one of the operands.

ADC (add with carry) performs an addition of the two source operands, adds one if the CF flag is found previously set, and returns the result to one of the operands.

INC (increment) performs an addition of the source operand and returns the result to the operand.

AAA(unpacked BCD [ASCII] adjust for addition) performs a correction of the result in AL of adding two unpacked decimal ope- rands, yielding an unpacked decimal sum.

DAA (decimal adjust for addition) performs a correction of the result in AL of adding two packed decimal operands, yielding a packed decimal sum.

Subtraction

Seven subtraction operations are provided:

SUB performs a subtraction of the two source operands and returns the result to one of the operands.

SBB (subtract with borrow) performs a sub- traction of the two source operands, subtracts pne if the CF flag is found previously set, and returns the result to one of the operands.

DEC (decrement) performs a subtraction of one from the source operand and returns the result to the operand.

NEG (negate) performs a subtraction of the source operand from zero and returns the result to the operand.

DAS (decimal adjust for subtraction) per- forms a correction of the result in AL of subtracting two packed decimal operands, yielding a packed decimal difference.

Multiplication

Three multiplication operations are provided:

MUL performs an unsigned multiplication of the accumulator (AL or AX) and the source operand, returning a double length result to the accumulator and its extension (AL and AH for 8-bit operation, AX and DX for 16-bit operation). CF and OF are set if the top half of the result is non-zero.

IMUL (integer multiply) is similar to MUL except that it performs a signed multiplica- tion. CF and OF are set if the top half of the result is not the sign-extension of the low half of the result.

AAM (unpacked BCD [ASCII] adjust for multiply) performs a correction of the result in AX of mUltiplying two unpacked decimal operands, yielding an unpacked decimal product.

Division

Three division operations are provided and two sign-extension operations to support signed division:

DIV performs an unsigned division of the accumulator and its extension (AL and AH for 8-bit operation, AX and DX for 16-bit operation) by the source operand and returns the single length quotient to the accumulator (AL or AX), and returns the single length remainder to the accumulator extension (AH

2-12

Page 47
Image 47
Intel 210200-002 manual Addition