MPY ACC,loc16, #16bit
6-227
MPY ACC,loc16, #16bit 16 X 16-bit Multiply
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
MPY ACC, loc16,#16bit 0011 0100 LLLL LLLL
CCCC CCCC CCCC CCCC
X − 1
Operands ACC Accumulator register
loc16 Addressing mode (see Chapter 5)
#16bit 16-bit immediate constant value
Description Load the T register with the 16-bit content of the location pointed to by the
“loc16” addressing mode; then, multiply the signed 16-bit content of the T
register by the specified signed 16-bit constant value:
T = [loc16];
ACC = signed T * signed 16bit;
Flags and
Modes
Z After the operation, the Z flag is set if the ACC is zero, else Z is cleared.
N After the operation, the N flag is set if bit 31 of the ACC is 1, else N is cleared.
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 using 16-bit multiply:
; Y32 = Y32 + X16 * 2000
MPY ACC,@X16,#2000 ; T = X16, ACC = X16 * 2000
ADDL @Y32,ACC ; Y32 = Y32 + ACC