Chapter 16
Appendix
Extension Instruction Specification XVI - 57
MACIU (unsigned multiply and accumulate instruction: immediate to register)
[Instruction format (macro name)]
MACIU imm, Dn
[Assembler mnemonic]
udfu29 imm8, Dn : imm8 is 0-extended
udfu29 imm16, Dn : imm16 is 0-extended
udfu29 imm32, Dn
[Operation]
This instruction performs multiply and accumulate operation by means of the multiplier and the adder provided in
the extension arithmetic unit.
The instruction multiplies 32-bit data (multiplicand), obtained by 0-extending imm, by the content of Dn (signed
32-bit integer: multiplier), adds this product to the 64-bit accumulative sum whose high-order 32 bits and low-
order 32 bits are stored respectively in the multiply and accumulate registers MCRH and MCRL and stores
high-order 32 bits and low-order 32 bits of the 64-bit result respectively in the multiply and accumulate registers
MCRH and MCRL.
The register outputs a multiply and accumulate overflow detection flag “1” to the register MCVF if the
accumulative sum data overflows beyond 64 bits during addition of the product and the accumulative sum.
[Flag changes]
[Note for programming]
An instruction other than extension instructions that requires 2 or more cycles must be inserted between this
instruction and a next extension instruction.
Flag Change Condition
V-
C-
N-
Z-