Motorola DSP96002 User Manual page 557

32-bit digital signal processor
Table of Contents

Advertisement

B.1.21 1x3 3x3 and 1x4 4x4 Matrix Multiply
move
move
move
move
move
move
fmpy.s d4,d5,d3
fmpy.s d4,d5,d0
fmpy
fmpy
fmpy.s d4,d5,d1
fmpy
fmpy
fmpy.s d4,d5,d2
fmpy
move
move
move
move
move
fmpy.s d7,d4,d0
fmpy.s d7,d3,d1
fmpy
fmpy
fmpy
fmpy.s d7,d3,d2
fmpy
fmpy
B-38
1x3 3x3 Matrix Multiply
#mat_a,r0
#2,m0
#mat_b,r4
#-1,m4
#mat_c,r1
d4,d5,d3 fadd.s d3,d0 x:(r0)+,d4.s y:(r4)+,d5.s ;a11,b12 1
d4,d5,d3 fadd.s d3,d0 x:(r0)+,d4.s y:(r4)+,d5.s ;a12,b22 1
d4,d5,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(r4)+,d5.s ;a11,b13 1
d4,d5,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(r4)+,d5.s ;a12,b23 1
d4,d5,d3 fadd.s d3,d2
fadd.s d3,d2
1x4 4x4 Matrix Multiply
#mata,r0
;[1x4] matrix pointer, X memory
#matb,r4
;[4x4] matrix pointer, Y memory
#matc,r1
;output matrix, X memory
d7,d5,d1 fadd.s d1,d0 x:(r0)+,d6.s y:(r4)+,d7.s ;a14,b41 1
d7,d6,d1 fadd.s d1,d0
d7,d4,d1 fadd.s d1,d0
d7,d5,d2 fadd.s d2,d1
d7,d6,d2 fadd.s d2,d1
DSP96002 USER'S MANUAL
;point to A matrix
;mod 3
;point to B matrix
;set for linear addressing
;output C matrix
x:(r0)+,d4.s y:(r4)+,d5.s ;a11,b11 1
x:(r0)+,d4.s y:(r4)+,d5.s ;a12,b21 1
x:(r0)+,d4.s y:(r4)+,d5.s ;a13,b31 1
x:(r0)+,d4.s y:(r4)+,d5.s ;a13,b32 1
x:(r0)+,d4.s y:(r4)+,d5.s ;a13,b33 1
d0.s,y:(r1)+ ;save 1
d1.s,y:(r1)+ ;save 2
d2.s,y:(r1)+ ;save 3
x:(r0)+,d4.s y:(r4)+,d7.s ;a11,b11 1
x:(r0)+,d3.s y:(r4)+,d7.s ;a12,b21 1
x:(r0)+,d5.s y:(r4)+,d7.s ;a13,b31 1
y:(r4)+,d7.s ;b12
y:(r4)+,d7.s ;b22
d0.s,x:(r1)+ y:(r4)+,d7.s ;b32
y:(r4)+,d7.s ;b42
y:(r4)+,d7.s ;b13
Program ICycles
Words
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
--- ---
Totals:
12
12
Program ICycles
Words
1
1
1
1
1
1
1
1
1
1
1
1
1
1
MOTOROLA

Advertisement

Table of Contents
loading

Table of Contents