MPY P,loc16,#16bit
6-229
MPY P,loc16,#16bit
16 X 16-Bit Multiply
SYNTAX OPTIONS
OPCODE
OBJMODE
RPT
CYC
MPY P,loc16,#16bit
1000 1100 LLLL LLLL
CCCC CCCC CCCC CCCC
1
−
1
Operands
P
Product register
loc16
Addressing mode (see Chapter 5)
#16bit
16-bit immediate constant value
Description
Multiply the signed 16-bit contents of the location pointed to by the “loc16”
addressing mode by the 16-bit immediate value and store the 32-bit result in
the P register:
P = signed [loc16] * signed 16bit;
Flags and
Modes
None
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 using 16-bit multiply:
; Y = (X0*C0) >> 2) + (X1*C1 >> 2) + (X2*C2 >> 2),
; C0, C1 and C2 are constants
SPM −2
; Set product shift to >> 2
MOVB ACC,#0
; Zero ACC
MPY P,@X2,#C2
; P = X2*C2
MPYA P,@X1,#C1
; ACC = X2*C2>>2, P = X1*C1
MPYA P,@X0,#C0
; ACC = X1*C1>>2 + X2*C2>>2, P = X0*C0
ADDL ACC,P << PM
; ACC = X0*C0>>2 + X1*C1>>2 + X2*C2>>2
MOVL @Y,ACC
; Store result into Y
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...