EasyManua.ls Logo

Texas Instruments TMS320C28x - Page 265

Texas Instruments TMS320C28x
695 pages
Print Icon
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...
IMPYSL P,XT,loc32
6-108
Repeat This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; Calculate signed result:
; Y64 = (−X0*C0 − X1*C1 − X2*C2) >> 2
SPM −2 ; Set product shift mode to “>> 2”
ZAPA ; Zero ACC, P, OVCU
MOVL XT,@X0 ; XT = X0
IMPYL P,XT,@C0 ; P = low 32 bits of (X0*C0 << 2)
MOVL XT,@X1 ; XT = X1
IMPYSL P,XT,@C1 ; OVCU:ACC = OVCU:ACC − P,
; P = low 32 bits of (X1*C1 << 2)
MOVL XT,@X2 ; XT = X2
IMPYSL P,XT,@C2 ; OVCU:ACC = OVCU:ACC − P,
; P = low 32 bits of (X2*C2 << 2)
SUBUL ACC,@P ; OVCU:ACC = OVCU:ACC − P
MOVL @Y64+0,ACC ; Store low 32-bit result into Y64
MOVU @AL,OVC ; ACC = OVCU (borrow count)
MOVB AH,#0
NEG ACC ; Negate borrow
QMPYL P,XT,@C2 ; P = high 32 bits of (X2*C2)
MOVL XT,@X1 ; XT = X1
QMPYSL P,XT,@C1 ; ACC = ACC − P >> 2,|
; P = high 32 bits of (X1*C1)
MOVL XT,@X0 ; XT = X0
QMPYSL P,XT,@C0 ; ACC = ACC − P >> 2,
; P = high 32 bits of (X0*C0)
SUBL ACC,P << PM ; ACC = ACC − P >> 2
MOVL @Y64+2,ACC ; Store high 32-bit result into Y64

Table of Contents

Related product manuals