MATH COPROCESSING

11.3.1.1Data 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.

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

 

 

 

11.3.1.2Arithmetic 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

11-3

Page 288
Image 288
Intel 80C188XL, 80C186XL C187 Data Transfer Instructions, Real Transfers, Integer Transfers, Packed Decimal Transfers