Figure B-6 Vector Multiply-Accumulate - Motorola DSP56800 Manual

16-bit digital signal processor
Table of Contents

Advertisement

do
#ntaps/2,end_lms2
mac
y0,x0,b
move
tfr
x0,a
move
macr
x0,y1,a
mac
x0,y1,b
move
tfr
x0,a
move
macr
x0,y0,a
end_lms2
move
move
lea
lea
;
;
B.1.8
Vector Multiply-Accumulate
This code multiples a vector by a scalar and adds the result to another vector. The Y0 register holds the
scalar value. Figure B-6 gives a graphical overview and memory map for the vector multiply-accumulate
code.
c1
c2
c3
opt
cc
move
#ad,r0
move
#bd,r3
move
#cd,r1
B-12
a,x:(r1)+
a0,x:(r1)+
x:(r2)+n,x0
x:(r3)+,a0 ; 1
x:(r0)+,y0
x:(r3)+,x0 ; 1
a,x:(r1)+
a0,x:(r1)+
x:(r2)+n,x0
x:(r3)+,a0 ; 1
x:(r0)+,y1
x:(r3)+,x0 ; 1
a,x:(r1)+
a0,x:(r1)+
(r0)-
(r0)-
Total:
a1
a2
y0
=
+
X
a3
Figure B-6. Vector Multiply-Accumulate
DSP56800 Family Manual
; 2
3
; 1
1
; 1
1
; 1
1
1
a0=ckl
1
x0=c(k+1)h
; 1
1
; 1
1
; 1
1
1
1
; 1
1
; 1
1
; 1
1
; 1
1
_______
27
5N+18
X memory
r0
r3
b1
b2
b3
r1
; 2
2
; 2
2
; 2
2
a1
a2
a3
b1
b2
b3
c1
c2
c3
AA0084
point to vec a
point to vec b
point to vec c

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents