normalized number is returned, depending on the rounding mode in effect. For details on
overflow refer to 6.1.4 Overflow.
Two important exceptions to the above description are: the execution of the FSGLDIV
instruction and of the FSGLMUL instruction. For these two instructions, the rounding pre-
cision programmed in the mode control byte is ignored (although the selected rounding
mode is used). The input operands to these instructions are assumed to be single-precision
values, but no checking is performed to verify the inputs (each mantissa is truncated to
23 bits, and the exponent is accepted as an extended-precision value).
These two instructions first check the intermediate result for undeflow as previously de-
scribed, but use the underflow threshold of extended precision regardless of the selected
rounding precision. If no underflow occurs, the mantissa is rounded to the single-precision
boundary and is denormalized if necessary. Finally, the exponent is checked for overflow,
again using the overflow threshold of extended precision. Thus, the final result generated
has the range of an extended-precision number with a mantissa accurate to only 23 bits.
If an underflow or overflow occurs, the correctly signed number returned (largest nor-
malized number, infinity, zero, or smallest denormalized number) is an extended precision-
number with an extended-precision mantissa value.
4.6 INDIVIDUAL INSTRUCTION DESCRIPTIONS
The following notation is used in the detailed instruction definitions that follow:
(operand) Contents of the referenced location or register.
<fmt> Operand data format: Byte, word, long, single, double, extended, or packed
(denoted in the assembler syntax as an extension to the instruction mne-
monic of .B, .W, .L, .S, .D, .X, or .P, respectively).
<ea> Any valid MC68020/MC68030 addressing mode.
<label> A relative label used by an assembler to calculate a displacement.
<list> A list of the floating-point data registers or control registers.
0 The left operand is moved to the location specified by the right operand.
FPcr One of the three floating-point system control registers (FPCR, FPSR, or FPIAR).
FPn One of eight floating-point data registers (always specifies the destination
register).
FPm One of eight floating-point data registers (always specifies the source register).
FPc: FPs Two of eight floating-point
data
registers. This notation is used only with the
FSINCOS instruction and specifies the register pair where the cosine and
sine values are stored.
+ inf Postive infinity
-
inf Negative infinity
NAN Not-A-Number
d Displacement
k An integer (-64 to + 17) that specifies the format of a number to be stored
in the packed BCD format.
ccc An index into the FPCP constant ROM.
MC68881/MC68882 USER'S MANUAL FREESCALE
4-17