Intel 80286, 80287 manual Arithmetic Instructions

Models: 80287 80286

1 515
Download 515 pages 45.04 Kb
Page 397
Image 397

 

PROGRAMMING NUMERIC APPLICATIONS

 

Table 2-2. Arithmetic Instructions

 

Addition

FADD

Add real

FADDP

Add real and pop

FIADD

Integer add

 

Subtraction

FSUB

Subtract real

FSUBP

Subtract real and pop

FISUB

Integer subtract

FSUBR

Subtract real reversed

FSUBRP

Subtract real reversed and pop

FISUBR

Integer subtract reversed

 

Multiplication

FMUL

Multiply real

FMULP

Multiply real and pop

FIMUL

Integer multiply

 

Division

FDIV

Divide real

FDIVP

Divide real and pop

FIDIV

Integer divide

FDIVR

Divide real reversed

FDIVRP

Divide real reversed and pop

FIDIVR

Integer divide reversed

 

Other Operations

FSQRT

Square root

FSCALE

Scale

FPREM

Partial remainder

FRNDINT

Round to integer

FXTRACT

Extract exponent and significand

FABS

Absolute value

FCHS

Change sign

Five basic instruction forms may be used across all six operations, as shown in table 2-3. The classicial stack form may be used to make the 80287 operate like a classical stack machine. No operands are coded in this form, only the instruction mnemonic. The NPX picks the source operand from the stack top and the destination from the next stack element. It then pops the stack, performs the operation, and returns the result to the new stack top, effectively replacing the operands by the result.

The register form is a generalization of the classical stack form; the programmer specifies the stack top as one operand and any register on the stack as the other operand. Coding the stack top as the destination provides a convenient way to access a constant, held elsewhere in the stack, from the stack top. The converse coding (ST is the source operand) allows, for example, adding the top into a register used as an accumulator.

2-5

Page 397
Image 397
Intel 80286, 80287 manual Arithmetic Instructions