3
3-70 M32R-FPU Software Manual (Rev.1.01)

MACLOMACLO

DSP function instruction

Multiply-accumulate low-order halfwords

[Mnemonic]

MACLO Rsrc1,Rsrc2

[Function]
Multiply and add
accumulator += ( ( signed ) ( Rsrc1 << 16 ) * ( signed short ) Rsrc2 ) ;
[Description]
MACLO multiplies the low-order 16 bits of Rsrc1 and the low-order 16 bits of Rsrc2, then adds
the result to the low order 56 bits in the accumulator.
The LSB of the multiplication result is aligned with bit 47 in the accumulator, and the portion
corresponding to bits 8 through 15 of the accumulator is sign-extended before addition. The
result of the addition is stored in the accumulator. The low-order 16 bits of Rsrc1 and Rsrc2 are
treated as signed values.
The condition bit (C) is unchanged.
[EIT occurrence]
None
[Encoding]
Rsrc1
low-order 16 bits
Rsrc2
low-order 16 bits
x
0151631
0
+
01516313247486378
Result of the multiplication
Value in accumulator before the
execution of the MACLO instruction
Value in accumulator after the
execution of the MACLO instruction
Sign extension
Sign extension

src10011 MACLO Rsrc1,Rsrc2src20101

INSTRUCTIONS
3.2 Instruction description