4
4.2.1 Data Movement Operations
This group of instructions includes those that load or store the user-visible configuration
of the FPCP and that move operands into, between, or out of the floating-point data reg-
isters. Data format conversion functions are also implicitly supported since all external
data formats are converted to extended precision for internal storage, and vice versa.
Operations to move the system control registers into and out of the FPCP are also provided.
The move constant ROM (FMOVECR) instruction allows floating-point data registers to be
loaded quickly with commonly used constants such as ~, e, 0.0, 1.0, etc. Table 4-1 sum-
marizes the data movement instructions that are available and the operand data formats
supported.
Table 4-1. Data Movement Operations
Instruction Operand Syntax Operand Format Operation
FMOVE FPm,FPn
(ea>,FPn
FPm,<ea)
FPm,<ea){#k}
' FPm,(ea){Dn}
i (ea),FPcr
i FPcr,(ea)
X
B,W,L,S,D,X,P
B,W,L,S,D,X
P
P
L
L
source 0 destination
FMOVECR i #ccc,FPn X ROM constant 0 FPn
FMOVEM (ea),(list) 1 L,X Listed register 0 destination
(ea>,Dn X
(list>l,(ea) L,X source I~ listed registers
Dn,<ea) X
NOTE:
I, The register list may include any combination of the eight floating-point data registers, or it may
contain any combination of the three control register FPCR, FPSR, and FPIAR. If the register list
mask resides in a main processor data register, only floating-point data registers may be specified.
4.2.2 Dyadic Operations
The dyadic floating-point instructions provide several arithmetic functions that require two
input operands such as add, subtract, multiply, and divide. For these operations, the first
operand may be located in memory, in an integer data register, or in a floating-point data
register, and the second operand is always contained in a floating-point data register. The
results of the operation are stored in the register specified as the second operand. With
two exceptions, all operations support any data format and are performed to extended
precision. The exceptions are the single precision multiply and divide instructions (FSGLMUL
and FSGLDIV). These instructions support any precision inputs, but return results accurate
only to single precision. These instructions provide very high-speed operations by sacri-
ficing accuracy. The general format of the dyadic instructions is given in Table 4-2; the
available operations are listed in Table 4-3.
Table 4-2. Dyadic Operation Format
Instruction Operand Syntax Operand Format
Operation 1
F(dop) (ea),FPn ' B,W,L,S,D,X,P FPn (function) source 0 FPn t
, FPm,FPn IX
t
where:
<dop> is any one of the dyadic operation specifiers.
FREESCALE
4-2
MC68881/MC68882 USER'S MANUAL