EasyManua.ls Logo

Texas Instruments TMS320C28x - Page 245

Texas Instruments TMS320C28x
695 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
DMAC ACC:P,loc32,*XAR7/++
6-88
Example
; Calculate sum of product using dual 16-bit multiply:
; int16 X[N] ; Data information
; int16 C[N] ; Coefficient information (located in low 4M)
; ; Data and Coeff must be aligned to even address
; ; N must be an even number
; sum = 0;
; for(i=0; i < N; i++)
; sum = sum + (X[i] * C[i]) >> 5;
MOVL XAR2,#X ; XAR2 = pointer to X
MOVL XAR7,#C ; XAR7 = pointer to C
SPM −5 ; Set product shift to ”>> 5”
ZAPA ; Zero ACC, P, OVC
RPT #(N/2)−1 ; Repeat next instruction N/2 times
||DMAC P,*XAR2++,*XAR7++ ; ACC = ACC + (X[i+1] * C[i+1]) >> 5
; P = P + (X[i] * C[i]) >> 5 i++
ADDL ACC,@P ; Perform final accumulate
MOVL @sum,ACC ; Store final result into sum

Table of Contents

Related product manuals