EasyManuals Logo

Texas Instruments TMS320C28x User Manual

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
Page #259 background imageLoading...
Page #259 background image
IMACL P,loc32,*XAR7/++
6-102
Example
; Calculate sum of product using 32-bit multiply and retain
; 64-bit result:
; int32 X[N]; // Data information
; int32 C[N]; // Coefficient information (located in
// low 4M)
; int64 sum = 0;
; for(i=0; i < N; i++)
; sum = sum + (X[i] * C[i]) >> 5;
; Calculate low 32 bits:
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, OVCU
RPT #(N−1) ; Repeat next instruction N times
||IMACL P,*XAR2++,*XAR7++ ; OVCU:ACC = OVCU:ACC + P,
; P = (X[i] * C[i]) << 5,
; i++
ADDUL ACC,@P ; OVCU:ACC = OVCU:ACC + P
MOVL @sum+0,ACC ; Store low 32 bits result into sum
; Calculate high 32 bits:
MOVU @AL,OVC ; ACC = OVCU (carry count)
MOVB AH,#0
MPYB P,T,#0 ; P = 0
MOVL XAR2,#X ; XAR2 = pointer to X
MOVL XAR7,#C ; XAR7 = pointer to C
RPT #(N−1) ; Repeat next instruction N times
||QMACL P,*XAR2++,*XAR7++ ; ACC = ACC + P >> 5,
; P = (X[i] * C[i]) >> 32,
; i++
ADDL ACC,P << PM ; ACC = ACC + P >> 5
MOVL @sum+2,ACC ; Store high 32 bits result into sum

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Texas Instruments TMS320C28x and is the answer not in the manual?

Texas Instruments TMS320C28x Specifications

General IconGeneral
BrandTexas Instruments
ModelTMS320C28x
CategoryProcessor
LanguageEnglish

Related product manuals