![Freescale Semiconductor ColdFire MCF5211 Reference Manual Download Page 94](http://html1.mh-extra.com/html/freescale-semiconductor/coldfire-mcf5211/coldfire-mcf5211_reference-manual_2330619094.webp)
Multiply-Accumulate Unit (MAC)
MCF5213 ColdFire® Integrated Microcontroller Reference Manual, Rev. 3
4-8
Freescale Semiconductor
4.4.3
Accumulator Register (ACC)
The accumulator registers store 32-bits of the MAC operation result. The accumulator extension registers
form the entire 48-bit result.
Figure 4-4. Accumulator Register (ACC)
4.5
MAC Instruction Set Summary
summarizes MAC unit instructions.
Table 4-4. MASK Field Descriptions
Field
Description
31–16
Reserved, must be set.
15–0
MASK
Performs a simple AND with the operand address for MAC instructions.
BDM: 0x806 (ACC)
Access: User read/write
BDM read/write
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
R
Accumulator
W
Reset – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Table 4-5. ACC Field Descriptions
Field
Description
31–0
Accumulator
Store 32-bits of the result of the MAC operation.
Table 4-6. MAC Instruction Summary
Command
Mnemonic
Description
Multiply Signed
muls <ea>y,Dx
Multiplies two signed operands yielding a signed result
Multiply Unsigned
mulu <ea>y,Dx
Multiplies two unsigned operands yielding an unsigned result
Multiply Accumulate
mac Ry,RxSF
msac Ry,RxSF
Multiplies two operands, then adds/subtracts the product
to/from the accumulator
Multiply Accumulate
with Load
mac Ry,RxSF,Rw
msac Ry,RxSF,Rw
Multiplies two operands, combines the product to the
accumulator while loading a register with the memory
operand
Load Accumulator
move.l {Ry,#imm},ACC
Loads the accumulator with a 32-bit operand
Store Accumulator
move.l ACC,Rx
Writes the contents of the accumulator to a CPU register
Load MACSR
move.l {Ry,#imm},MACSR
Writes a value to MACSR
Store MACSR
move.l MACSR,Rx
Write the contents of MACSR to a CPU register