Freescale Semiconductor MCF52211 Network Card User Manual


 
Multiply-Accumulate Unit (MAC)
MCF52211 ColdFire® Integrated Microcontroller Reference Manual, Rev. 2
Freescale Semiconductor 4-5
if extension word, bit [5] = 1, the MASK bit, then
if <ea> = (An)
oa = An & {0xFFFF, MASK}
if <ea> = (An)+
oa = An
An = (An + 4) & {0xFFFF, MASK}
if <ea> =-(An)
oa = (An - 4) & {0xFFFF, MASK}
An = (An - 4) & {0xFFFF, MASK}
if <ea> = (d16,An)
oa = (An + se_d16) & {0xFFFF0x, MASK}
Here, oa is the calculated operand address and se_d16 is a sign-extended 16-bit displacement. For
auto-addressing modes of post-increment and pre-decrement, the updated An value calculation is also
shown.
Use of the post-increment addressing mode, {(An)+} with the MASK is suggested for circular queue
implementations.
Figure 4-3. Mask Register (MASK)
4.2.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)
BDM: 0x805 (MASK) Access: User read/write
BDM read/write
313029282726252423222120191817161514131211109876543210
R 1 1 1 1 1 111111111 1 1
MASK
W
Reset11111111111111111111111111111111
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
313029282726252423222120191817161514131211109876543210
R
Accumulator
W
Reset––––––––––––––––––––––––––––––––