Mask Register (Mask) - Motorola ColdFire MCF5281 User Manual

Motorola microcontroller user's manual
Table of Contents

Advertisement

Memory Map/Register Set
The following assembly language routine shows the proper sequence for a correct EMAC
state save. This code assumes all Dn and An registers are available for use and the memory
location of the state save is defined by A7.
EMAC_state_save:
move.l
macsr,d7
clr.l
d0
move.l
d0,macsr
move.l
acc0,d0
move.l
acc1,d1
move.l
acc2,d2
move.l
acc3,d3
move.l
accext01,d4
move.l
accext23,d5
move.l
mask,d6
movem.l #0x00ff,(a7)
The following code performs the EMAC state restore:
EMAC_state_restore:
movem.l (a7),#0x00ff
move.l
#0,macsr
move.l
d0,acc0
move.l
d1,acc1
move.l
d2,acc2
move.l
d3,acc3
move.l
d4,accext01
move.l
d5,accext23
move.l
d6,mask
move.l
d7,macsr
By executing this type of sequence, the exact state of the EMAC programming model can
be correctly saved and restored.
3.4.1.1.3
MULS/MULU
MULS and MULU are unaffected by fractional mode operation; operands are still assumed
to be integers.
3.4.1.1.4
Scale Factor in MAC or MSAC Instructions
The scale factor is ignored while the MAC is in fractional mode.
3.4.2

Mask Register (MASK)

The 32-bit MASK implements the low-order 16 bits to minimize the alignment
complications involved with loading and storing only 16 bits. When the MASK is loaded,
the low-order 16 bits of the source operand are actually loaded into the register. When it is
stored, the upper 16 bits are all forced to ones.
3-10
; save the macsr
; zero the register to ...
; disable rounding in the macsr
; save the accumulators
; save the accumulator extensions
; save the address mask
; move the state to memory
; restore the state from memory
; disable rounding in the macsr
; restore the accumulators
; restore the accumulator extensions
; restore the address mask
; restore the macsr
MCF5282 User's Manual
MOTOROLA

Advertisement

Table of Contents
loading

This manual is also suitable for:

Coldfire mcf5282

Table of Contents