Motorola DSP96002 User Manual page 541

32-bit digital signal processor
Table of Contents

Advertisement

move
move
move
move
move
;
; Perform all FFT passes with triple nested DO loops
;
do
move
do
move
move
move
move
move
move
move
move
do
move
move
faddsub.s d0,d7
faddsub.s d5,d2
move
move
faddsub.s d1,d4
faddsub.s d1,d5
fmpy
fmpy
faddsub.s d4,d7
fmpy.s d6,d9,d0
fmpy
fmpy
faddsub.s d5,d1
fmpy.s d4,d9,d1
fmpy.s d5,d8,d2
B-22
#temp,r2
(r2)+,r6
#0,r3
#coef+table/4,r1
#coef,r5
#@cvi(@log(points)/@log(4)+0.5),_end_pass
#data,r4
n2,_end_grp
r3,n5
;update rotation factor
n5,n1
;
(r5)+n5
;point at wi1
(r1)+n1
;point at wr1
(r4)+n4
r4,r0
;point at B data (br,bi)
(r4)+n4
(r4)+n4
;point at D data (dr,di)
n0,_end_bfy
d5,d8,d2
faddsub.s d6,d3
d5,d9,d3
faddsub.s d6,d0 d1.s,x:(r2)- d3.s,y:(r6)
d6,d8,d0
fadd.s
d0,d2
d4,d8,d3
fsub.s
d3,d0
DSP96002 USER'S MANUAL
;initialize temp storage pointers
;
"
;initialize group index counter
;initialize wr (cos) pointer
;initialize wi (sin) pointer
"
x:(r4),d0.s
x:(r0),d7.s
x:(r0),d1.s
x:(r4)-n4,d4.s
x:(r4),d4.s
d2.s,x:(r2)+ y:(r4),d3.s
d0.s,d6.s
x:(r2)+,d1.s y:(r6),d5.s
x:(r2)-,d6.s
d7.s,x:(r0)+n0 d1.s,y:
d2.s,x:(r0)
2
1
1
2
2
2
2
2
1
1
1
1
1
1
1
1
2
1
y:(r4),d2.s
1
y:(r0)-n0,d5.s
1
1
1
y:(r0),d6.s
1
1
y:(r1)+n1,d8.s
1
y:(r5)+n5,d9.s
1
1
d6.s,y:(r2)
1
y:(r5)+n5,d9.s
1
y:(r1)+n1,d8.s
1
1
1
1
d0.s,y:
1
MOTOROLA
2
1
1
2
2
3
2
3
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

Advertisement

Table of Contents
loading

Table of Contents