SQRS loc16
6-332
Example
; Calculate sum of negative squares using 16-bit multiply:
; int16 X[N] ; Data information
; sum = 0;
; for(i=0; i < N; i++)
; sum = sum − (X[i] * X[i]) >> 5;
MOVL XAR2,#X
; XAR2 = pointer to X
SPM −5
; Set product shift to ”>> 5”
ZAPA
; Zero ACC, P, OVC
RPT #N−1
; Repeat next instruction N times
||SQRS *XAR2++
; ACC = ACC − P >> 5,
; P = (*XAR2++)^2
SUBL ACC,P << PM
; Perform final subtraction
MOVL @sum,ACC
; Store final result into sum
Summary of Contents for TMS320C28x
Page 30: ...1 12...
Page 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Page 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Page 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Page 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Page 585: ...This page intentionally left blank 7 32 This page intentionally left blank...