Motorola DSP96002 User Manual
Page 534
MOTOROLA
DSP96002 USER’S MANUAL
B-15
; r4 = b pointer in and out
; r1 = c pointer in and out
; r5 = d pointer in and out
; n5 = 2
;
move #points,d1.l
move #passes,d9.l
move #data,d0.l
move #coef,m2
move #coefsize,d2.l
lsr d1 d0.l,r0
lsr d1 r0,r2
add d1,d0 d1.l,d8.l
add d1,d0 d0.l,r4
add d1,d0 d0.l,r1
lsr d2 d0.l,r5
lsr d2 r0,r6
move #2,n5
move d2.l,n6
move #-1,m0
move m0,m1
move m0,m4
move m0,m5
move m0,m6
move x:(r0),d1.s
move x:(r1),d0.s
move x:(r5)-,d2.s
move y:(r5)+,d4.s
faddsub.s d1,d0 x:(r4),d5.s
faddsub.s d5,d2 y:(r4),d7.s
;
; Combine first two passes with trivial multiplies.
;
do d8.l,_twopass
faddsub.s d0,d2 y:(r5),d6.s
faddsub.s d7,d6 d2.s,x:(r0)+ y:(r6)+,d3.s