beautypg.com

Fscale.x scale fscale.x a floating-point operand – Motorola DSP96002 User Manual

Page 350

background image

A - 162

DSP96002 USER’S MANUAL

MOTOROLA

FSCALE.X

Scale

FSCALE.X

a Floating-Point Operand

Operation:

2

S.H

* D

ROUND(SEP)

D

(parallel data bus move)

2

nn

* D

ROUND(SEP)

D

Assembler Syntax:

FSCALE.X S,D

(move syntax - see the MOVE instruction description.)

FSCALE.X #byte,D

Description:

Scale the destination operand D according to the scale factor contained in the 11 LSBs of the high portion

of the source register S, round to single extended precision and store the result in the destination operand

D. An 8-bit Immediate Short scaling factor, sign-extended to 11 bits, may also be used. The scale factor

is a signed 2’s complement 11-bit integer.

As an example of the use of FGETMAN, GETEXP, and FSCALE; consider decomposing a floating-point

number into its mantissa and unbiased exponent and then recreating the original floating-point number.

FGETMAN

D0, D1

;extract normalized mantissa

GETEXP

D0,D2

;extract unbiased exponent

MOVE

D2.L, D2.H

;move unbiased exponent

FSCALE.S

D2.H, D1

;scale original mantissa

Input Operand(s) Precision: SEP Floating-Point.

Output Operand Precision: SEP Floating-Point.

CCR Condition Codes:

C

- Not affected.

V

- Not affected.

Z

- Set if result is zero. Cleared otherwise.

N

- Set if result is negative. Cleared otherwise.

I

- Set if result is infinity. Cleared otherwise.

LR

- Not affected.

R

- Not affected.

A

- Not affected.