
3-4
MCF5307 User’s Manual
Overview
during the calculations.
The need to move large amounts of data quickly can limit throughput in DSP engines.
However, data can be moved efciently by using the MOVEM instruction, which
automatically generates line-sized burst references and is ideal for lling registers quickly
with input data, lter coefcients, and output data. Loading an operand from memory into
a register during a MAC operation makes some DSP operations, especially ltering and
convolution, more manageable.
The MACSR has a 4-bit operational mode eld and three condition ags. The operational
mode bits control the overow/saturation mode, whether operands are signed or unsigned,
whether operands are treated as integers or fractions, and how rounding is performed.
Negative, zero and overow ags are also provided.
The three program-visible MAC registers, a 32-bit accumulator (ACC), the MAC mask
3.1.3 MAC Instruction Set Summary
The MAC unit supports the integer multiply operations dened by the baseline ColdFire
architecture, as well as the new multiply-accumulate instructions.
Table 3-1 summarizes
the MAC unit instruction set.
3.1.4 Data Representation
The MAC unit supports three basic operand types:
Table 3-1. MAC Instruction Summary
Instruction
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 or subtracts the product
to/from the accumulator
Multiply Accumulate
with Load
MAC Ry,RxSF,Rw
MSAC Ry,RxSF,Rw
Multiplies two operands, then adds or subtracts the product
to/from the accumulator while loading a register with the
memory operand
Load Accumulator
MOV.L {Ry,#imm},ACC
Loads the accumulator with a 32-bit operand
Store Accumulator
MOV.L ACC,Rx
Writes the contents of the accumulator to a register
Load MACSR
MOV.L {Ry,#imm},MACSR
Writes a value to the MACSR
Store MACSR
MOV.L MACSR,Rx
Write the contents of MACSR to a register
Store MACSR to CCR
MOV.L MACSR,CCR
Write the contents of MACSR to the processor’s CCR register
Load MASK
MOV.L {Ry,#imm},MASK
Writes a value to MASK
Store MASK
MOV.L MASK,Rx
Writes the contents of MASK to a register
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
..
.