Multiplier
32x32 Long Multiplication
IMPYAL P,XT,loc32
P = u(XT)*u(loc32)
QMPYAL ACC,XT,loc32
ACC = (XT)*(loc32)
X
Y
X
XO
*
Y0
Z1 Z0
IMACL P,loc32,*XAR7
ACC += P; P = u(loc32)*u(loc32)
QMACL P,loc32,*XAR7
ACC += P; P = (loc32)*(loc32)
Integer long multiplication
u(long) = u(long) * u(long)
Fraction long multiplication:
(long) = (long) * (long)
(long) 64 = (long) 32 * (long) 32
Y1 * X1
Z3 Z2
Accumulator P-register
Repeat Instruction
Repeat Next: RPT
Features:
Next instruction iterated N+1 times
Saves code space - 1 word
Low overhead - 1 cycle
Easy to use
Non-interruptible
Requires use of | | before next line
May be nested within
BANZ
loops
Options:
RPT #8bit
up to 256 iterations
RPT loc16
location “
loc16
” holds count value
Instruction Cycles
RPT
BANZ
1
4
.
N
Example :
int x[5]={0,0,0,0,0};
x
.usect “samp”,5
MOV
AR1,#x
RPT
#4
|| MOV
*XAR1++,#0
Refer to User Guide for more repeatable instructions
C28x - Appendix C - Assembly Programming
C - 11
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 ...