Multiplier
Basic Multiplier
Multiplier Instructions
Instruction
Execution
Purpose
MOV
T,loc16
T = loc16
Get first operand
MPY
ACC,T,loc16 ACC = T*loc16
For single or first product
MPY
P,T,loc16
P = T*loc16
For n
th
product
MPYB
ACC,T,#8bu
ACC = T*8bu
Using 8-bit unsigned const
MPYB
P,T,#8bu
P = T*8bu
Using 8-bit unsigned const
MOV
ACC,P
ACC = P
Move 1
st
product
<<PM
to ACC
ADD
ACC,P
ACC += P
Add n
th
product
<<PM
to ACC
SUB
ACC,P
ACC -= P
Sub n
th
product
<<PM
fr. ACC
Instruction
MPYA
P, T, #16b
ACC += P<<PM
then
P = T*#16b
MPYA
P, T, loc16
ACC += P<<PM
then
P = T*loc16
MPYS
P, T, loc16
ACC - = P<<PM
then
P = T*loc16
Execution
MOVP
T, loc16
ACC = P<<PM
T = loc16
MOVA
T, loc16
ACC += P<<PM
T = loc16
MOVS
T, loc16
ACC - = P<<PM
T = loc16
Sum-of-Products
ZAPA
;ACC = P = OVC = 0
MOV
T,@X1 ;T = X1
MPY
P,T,@A ;P = A*X1
MOVA T,@X2 ;T = X2 ;ACC = A*X1
MPY
P,T,@B ;P = B*X2
MOVA T,@X3
;T = X3 ;ACC = A*X1 + B*X2
MPY
P,T,@C ;P = C*X3
MOVA T,@X4 ;T = X4;ACC = A*X1 + B*X2 + C*X3
MPY
P,T,@D ;P = D*X4
ADDL ACC,P<<PM ;ACC = Y
MOVL @y,ACC
Y = A*X1 + B*X2 + C*X3 + D*X4
Y = A*X1 + B*X2 + C*X3 + D*X4
C - 10
C28x - Appendix C - Assembly Programming
Summary of Contents for C28 Series
Page 64: ...Summary 3 16 C28x Peripheral Registers Header Files ...
Page 78: ...Interrupt Sources 4 14 C28x Reset and Interrupts ...
Page 218: ...Lab 9 DSP BIOS 9 22 C28x Using DSP BIOS ...
Page 244: ...Lab 10 Programming the Flash 10 26 C28x System Design ...
Page 273: ...Appendix A eZdsp F2812 C28x Appendix A eZdsp F2812 A 1 ...
Page 276: ...Appendix P2 Expansion Interface A 4 C28x Appendix A eZdsp F2812 ...
Page 277: ...Appendix P4 P8 P7 I O Interface C28x Appendix A eZdsp F2812 A 5 ...
Page 278: ...Appendix A 6 C28x Appendix A eZdsp F2812 ...
Page 279: ...Appendix P5 P9 Analog Interface C28x Appendix A eZdsp F2812 A 7 ...
Page 282: ...Appendix A 10 C28x Appendix A eZdsp F2812 TP1 TP2 Test Points ...