Fmpy//faddsub.x, Floating-point multiply, add, and subtract – Motorola DSP96002 User Manual
Page 332
A - 144
DSP96002 USER’S MANUAL
MOTOROLA
FMPY//FADDSUB.X
FMPY//FADDSUB.X
Floating-Point Multiply, Add, and Subtract
Operation:
S1 * S2
→
ROUND(SEP)
→
D1
(parallel data bus move)
D3 + D2
→
ROUND(SEP)
→
D2
D3 - D2
→
ROUND(SEP)
→
D3
Assembler Syntax:
FMPY S1,S2,D1 FADDSUB.X D3,D2
(move syntax - see the MOVE instruction de-
scription.)
FMPY S2,S1,D1 FADDSUB.X D3,D2
(move syntax - see the MOVE instruction de-
scription.)
Description:
Multiply the two operands S1 and S2, round to single extended precision and store the result in the spec-
ified destination register D1. Simultaneously, add the two operands D2 and D3, subtract D2 from D3,
round both results to single extended precision and store the result of the addition in register D2 and of the
subtraction in register D3. Typically, if the result of the multiplication will be used immediately following
FADD (i.e., equivalent to an FMAC), the maximum precision (MP=1) will be programmed. For the special
case of |s|=|D|, the result can be +0 or -0; the sign of the resulting zero will be the sign of the input operand
in D.
Input Operand(s) Precision: SEP Floating-Point.
Addition Output Operand Precision: SEP Floating-Point.
Subtraction Output Operand Precision: SEP Floating-Point.
Multiplication Output Operand Precision: SEP Floating-Point.
CCR Condition Codes:
C
- Not affected.
V
- Not affected.
Z
- Set if result of the addition is zero. Cleared otherwise.
N
- Set if result of the addition is negative. Cleared otherwise.
I
- Set if result of the addition is infinity. Cleared otherwise.
LR
- Not affected.
–
R
- Not affected.
A
- Not affected.