Fscale.s scale fscale.s, A floating-point operand – Motorola DSP96002 User Manual
Page 348
A - 160
DSP96002 USER’S MANUAL
MOTOROLA
FSCALE.S
Scale
FSCALE.S
a Floating-Point Operand
Operation:
2
S.H
* D
→
ROUND(SP)
→
D
(parallel data bus move)
2
nn
* D
→
ROUND(SP)
→
D
Assembler Syntax:
FSCALE.S S,D
(move syntax - see the MOVE instruction description.)
FSCALE.S #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 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: SP 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.