opt
cc
move
#coeffs,r3
move
#image,r0
move
#512,y1
move
#-1029,r1
move
#output,r2
move
move
y1,n
push
lc
push
la
do
y1,rows
push
lc
push
la
do
y1,cols
mpy
y0,x0,a
mac
y0,x0,a
mac
y0,x0,a
mac
y0,x0,a
mac
y0,x0,a
move
r1,n
mac
y0,x0,a
mac
y0,x0,a
mac
y0,x0,a
move
#0,r3
move
y1,n
macr
y0,x0,a
move
a,x:(r2)+
cols
pop
la
pop
lc
;
adjust pointers for frame boundary
lea
(r0)+
lea
(r0)+
lea
(r2)+
lea
(r2)+
rows
B-18
x:(r0)+,y0
x:(r3)+,x0
x:(r0)+,y0
x:(r3)+,x0
x:(r0)+n,y0
x:(r3)+,x0
x:(r0)+,y0
x:(r3)+,x0
x:(r0)+,y0
x:(r3)+,x0
x:(r0)+n,y0
x:(r3)+,x0
x:(r0)+,y0
x:(r3)+,x0
x:(r0)+,y0
x:(r3)+,x0
x:(r0)+n,y0
x:(r3)+,x0
x:(r0)+,y0
x:(r3)+,x0
DSP56800 Family Manual
; 2
2
pt to coef.
; 2
2
top boundary
; 2
2
; 2
2
; 2
2
output image
; 1
1
y0=im(1,1 ),
x0=c11
; 1
1
row i to i+1
adjust
; 1
1
; 1
1
; 2
3
; 1
1
; 1
1
; 2
3
; 1
1
im(1,1)*c11
; 1
1
+im(1,2)*c12
; 1
1
+im(1,3)*c13
; 1
1
+im(2,1)*c21
; 1
1
+im(2,2)*c22
; 1
1
row i to i-2
adjust
; 1
1
+im(2,3)*c23
; 1
1
+im(3,1)*c31
; 1
1
+im(3,2)*c32
; 1
1
back to first
coeff
; 1
1
row i to i+1
adjust
; 1
1
+im(3,3)*c33
; 1
1
; 1
1
; 1
1
; 1
1
adjust r0
; 1
1
; 1
1
adjust r2
; 1
1