beautypg.com

Motorola DSP96002 User Manual

Page 534

background image

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