English
Language : 

RM0004 Datasheet, PDF (690/1176 Pages) STMicroelectronics – Programmer’s reference manual for Book E processors
RM0004
Instruction set
frsp
Book E User
Floating round to single-precision
frsp
frsp.
frD,frB
frD,frB
frsp
(Rc=0)
(Rc=1)
0
56
10 11
15 16
20 21
30 31
111111
frD
///
frB
0 0 0 0 0 0 1 1 0 0 Rc
X)
number’
number’
If frB[1:11] < 897 and frB1:63 > 0 then Do
If FPSCR[UE] = 0 then goto Disabled Exponent Underflow
If FPSCR[UE] = 1 then goto Enabled Exponent Underflow
If frB[1:11] > 1150 and frB[1:11] < 2047 then Do
If FPSCR[OE] = 0 then goto Disabled Exponent Overflow
If FPSCR[OE] = 1 then goto Enabled Exponent Overflow
If frB[1:11] > 896 and frB[1:11] < 1151 then goto Normal Operand
If frB1:63 = 0 then goto Zero Operand
If frB[1:11] = 2047 then Do
If frB[12:63] = 0 then goto Infinity Operand
If frB12 = 1 then goto QNaN Operand
If frB12 = 0 and frB[13:63] > 0 then goto SNaN Operand
Disabled Exponent Underflow:
sign ← frB0
If frB[1:11] = 0 then
Do
exp ← :1022
frac0:52 ← 0b0 || frB[12:63]
If frB[1:11] > 0 then
Do
exp ← frB[1:11] : 1023
fr ← 0b1 || frB[12:63]
Denormalize operand:
G || R || X ← 0b000
Do while exp < :126
exp ← exp + 1
frac0:52 || G || R || X ← 0b0 || frac0:52 || G || (R |
FPSCR[UX] ← (frac24:52 || G || R || X) > 0
Round Single(sign,exp,frac0:52,G,R,X)
FPSCR[XX] ← FPSCR[XX] | FPSCR[FI]
If frac0:52 = 0 then Do
frD0 ← sign
frD1:63 ← 0
If sign = 0 then FPSCR[FPRF] ← ‘+zero’
If sign = 1 then FPSCR[FPRF] ← ‘:zero’
If frac0:52 > 0 then Do
If frac0 = 1 then Do
If sign = 0 then FPSCR[FPRF] ← ‘+normal
If sign = 1 then FPSCR[FPRF] ← ‘:normal
If frac0 = 0 then Do
If sign = 0 then FPSCR[FPRF] ←
690/1176