Motorola DSP96002 User Manual page 639

32-bit digital signal processor
Table of Contents

Advertisement

dc
dc
dc
dc
dc
dc
dc
dc
;
;
d2.s = d4.s ** d0.s = exp2(d0 * log2(d4))
;
;
calculate d2=log2(d4)
;
getexp
fgetman
fclr
do
fmpy.x
fadd.x
_log
float.x
fadd.s
;
fmpy.x
;
;
calculate d2=exp2(d0)
;
floor
fsub.x
fclr
int
do
fmpy.x
fadd.x
_exp
fscale.s d7,d2
B-120
0.2093549e-02
-.02777411e-02
0.3357901e-02
0.8940958e-02
0.5558203e-01
0.2402348e+00
0.6931450e+00
0.1000000e+01
d4,d7
#logc,r0
d4,d4
d2
x:(r0)+,d1.s ;clr sum, get coef
#9,_log
d2,d4,d2
d1,d2
x:(r0)+,d1.s ;sum * x+coef, coef
d7
d7,d2
d2,d0,d0
d0,d7
#expc,r0
d7,d0
d2
x:(r0)+,d1.s
d7
#9,_exp
d2,d0,d2
d7.l,d7.h
d1,d2
x:(r0)+,d1.s
DSP96002 USER'S MANUAL
; ** 7
; ** 6
; ** 5
; ** 4
; ** 3
; ** 2
; ** 1
; ** 0
;get exponent
;get mantissa
;do log2(man)
;sum * x
;float exponent
;add log2(man)
;y * log2(x)
;get lowest int
;get fraction part
;get lowest int
;sum * x, move scale
;+coef, get next coef 1
;exp2(y * log2(x))
Totals:
2
2
1
1
1
1
2
3
1
1
1
1
1
1
1
1
1
1
2
2
1
1
1
1
1
1
2
3
1
1
1
1
1
---
---
21
55
MOTOROLA

Advertisement

Table of Contents
loading

Table of Contents