MOVS T,loc16
6-219
Example
; Calculate using 16-bit multiply:
; Y = (X0*C0) >> 2) + (X1*C1 >> 2) + (X2*C2 >> 2)
; X2 = X1
; X1 = X0
SPM −2
; Set product shift to >> 2
MOVP T,@X2
; T = X2
MPYS P,T,@C2
; P = T*C2, ACC = 0
MOVS T,@X1
; T = X1, ACC = −X2*C2 >> 2
MPY P,T,@C1
; P = T*C1
MOV @X2,T
; X2 = X1
MOVA T,@X0
; T = X0, ACC = −X1*C1 >> 2 − X2*C2 >> 2
MPY P,T,@C0
; P = T*C0
MOV @X1,T
; X1 = X0
SUBL ACC,P << PM
; ACC = −X0*C0 >> 2 − X1*C1 >> 2 − X2*C2 >> 2
MOVL @Y,ACC
; Store result into Y
Содержание TMS320C28x
Страница 30: ...1 12...
Страница 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Страница 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Страница 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Страница 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...
Страница 585: ...This page intentionally left blank 7 32 This page intentionally left blank...