Intel 80C186XL Computer Hardware User Manual


 
11-3
MATH COPROCESSING
11.3.1.1 Data Transfer Instructions
Data transfer instructions move operands between elements of the 80C187 register stack or be-
tween stack top and memory. Instructions can convert any data type to temporary real and load it
onto the stack in a single operation. Conversely, instructions can convert a temporary real oper-
and on the stack to any data type and store it to memory in a single operation. Table 11-1 sum-
marizes the data transfer instructions.
11.3.1.2 Arithmetic Instructions
The 80C187’s arithmetic instruction set includes many variations of add, subtract, multiply, and
divide operations and several other useful functions. Examples include a simple absolute value
and a square root instruction that executes faster than ordinary division. Other arithmetic instruc-
tions perform exact modulo division, round real numbers to integers and scale values by powers
of two.
Table 11-2 summarizes the available operation and operand forms for basic arithmetic. In addi-
tion to the four normal operations, “reversed” instructions make subtraction and division “sym-
metrical” like addition and multiplication. In summary, the arithmetic instructions are highly
flexible for these reasons:
the 80C187 uses register or memory operands
the 80C187 can save results in a choice of registers
Table 11-1. 80C187 Data Transfer Instructions
Real Transfers
FLD Load real
FST Store real
FSTP Store real and pop
FXCH Exchange registers
Integer Transfers
FILD Integer load
FIST Integer store
FISTP Integer store and pop
Packed Decimal Transfers
FBLD Packed decimal (BCD) load
FBSTP Packed decimal (BCD) store and pop