beautypg.com

Fmpy//fsub.x floating-point fmpy//fsub.x, Multiply and subtract – Motorola DSP96002 User Manual

Page 338

background image

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.