dsp56000 Freescale Semiconductor, Inc, dsp56000 Datasheet - Page 627

no-image

dsp56000

Manufacturer Part Number
dsp56000
Description
24-bit Digital Signal Processor Family Manual
Manufacturer
Freescale Semiconductor, Inc
Datasheet
; ------------------------------------------------
;
;
;
;
;
;
;-------------------------------------------------
;
pass1
FirstGroupInPass
MOTOROLA
First Pass -- W(n) = 1
A---\
B----\_|_/----B’= Im[ A + jB + (C + jD) ] =j(D + B)
C----/ | \----C’= Re[ A + jB - (C + jD) ] = A - C
D---/
/---A’= Re[ A + jB + (C + jD) ] = A + C
\---D’= Im[-A - jB + (C + jD) ] =j(D - B)
move
lua
move
move
move
move x:(r0),A
do
sub
add
sub
add
move
move
do
move
move
move
lsr
lsl
move
lua
move
move
lua
move
do
sub
add
sub
add
move
do
move
move
n0,FirstGroupInPass
#twiddle+1,r7
(r0)+n0,r1
r0,r4
r1,r5
#1,r3
n0,pass1
y0,A x:(r1),x0 y:(r5),B
x0,B A,x:(r1)+ y:(r5),A
x0,A x:(r0)+,B B,y:(r4)+
y0,B
B,x:(r0)+ y:(r4),y0
#idata,r0
#binlogsz-3,end_pass
r7,r2
r2,r6
n0,A
A r3,B
A,n0
B,r3
(r0)+n0,r1
r1,r5
(r3)-,n2
x:(r0),A
y0,A x:(r1),x0 y:(r5),B
x0,B A,x:(r1)+ y:(r5),A
x0,A x:(r0)+,B B,y:(r4)+
y0,B x:(r0)-,A A,y:(r5)+
B,x:(r0)+ y:(r4),y0
n2,end_group
r5,r0
r0,r4
Freescale Semiconductor, Inc.
r0,r4
For More Information On This Product,
x:(r0)-, A A,y:(r5)+
BENCHMARK PROGRAMS
BENCHMARK PROGRAMS
y:(r4),y0
Go to: www.freescale.com
y:(r4),y0
;r7 always points to start location of twiddle
;r1 = ptr to b
;r4 points to c
;r5 points to d,with predecrement
;group per pass, double at ea pass
;A=a, y0=c
;first pass is trivial, no multiplications
;A=a-c=c’,B=d,x0=b,
;B=d+b=b’, A=d,PUT c’ to x:b
;A=d-b=d’,B=a,PUT b’ to y:c
;B=a+c=a’, A=next a,PUT d’
;y0=next c, PUT a’
;r0 = ptr to a
;do all passes except first and last
;r2 points to real twiddle
;r6 points to imag twiddle
;half bflys per group
;double group per pass
;r3 is temp reg.
;r1 = ptr to b
;r4 points to c
;r5 points to d
;n2=group per pass -1
;A=a, y0=c
;first group in a pass
;A=a-c=c’,B=d,x0=b,
;B=d+b=b’, A=d,PUT c’ to x:b
;A=d-b=d’,B=a,PUT b’ to y:c
;B=a+c=a’, A=next a,PUT d’
;y0=next c, PUT a’
;rest groups in this pass
;r0 ptr to next group a
;r4 ptr to next group c
B - 23

Related parts for dsp56000