Fmpy//fsub.x floating-point fmpy//fsub.x, Multiply and subtract – Motorola DSP96002 User Manual
Page 338
A - 150
DSP96002 USER’S MANUAL
MOTOROLA
FMPY//FSUB.X
Floating-Point
FMPY//FSUB.X
Multiply and Subtract
Operation:
S1 * S2
→
ROUND(SEP)
→
D1
(parallel data bus move)
D2 - S3
→
ROUND(SEP)
→
D2
Assembler Syntax:
FMPY S1,S2,D1 FSUB.X S3,D2
(move syntax - see the MOVE instruction descrip-
tion.)
FMPY S2,S1,D1 FSUB.X S3,D2
(move syntax - see the MOVE instruction descrip-
tion.)
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, subtract S3 from D2, round to single extended precision and
store the result in the destination operand D2. 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.
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 subtraction is zero. Cleared otherwise.
N
- Set if result of the subtraction is negative. Cleared otherwise.
I
- Set if result of the subtraction is infinity. Cleared otherwise.
LR
- Not affected.
–
R
- Not affected.
A
- Not affected.
ER Status Bits:
INX
-Set if the result of the subtraction or multiplication is inexact. Cleared otherwise.
DZ
-Always cleared.
UNF
-Set if the result of the subtraction or multiplication underflows. Cleared otherwise.
OVF
-Set if the result of the subtraction or multiplication overflows. Cleared otherwise.
OPERR-Set if one of the multiply operands is infinity and the other is zero. Set if the subtract
operands are like-signed infinities. Cleared otherwise.
SNAN -Set if anyone of the source operands is a signaling NaN. Cleared otherwise.