dsp56800e Freescale Semiconductor, Inc, dsp56800e Datasheet - Page 63

no-image

dsp56800e

Manufacturer Part Number
dsp56800e
Description
16-bit Digital Signal Controller Core
Manufacturer
Freescale Semiconductor, Inc
Datasheet
3.4
This section discusses how data is aligned in registers and memory.
3.4.1
Figure 3-4 shows the alignment of different-size data values when they are located in an accumulator. Byte
and word values are located in the FF1 portion of an accumulator, while 32-bit values occupy both the FF1
and FF0 portions.
When a byte or word value is moved into an accumulator using one of the MOVE instructions, the FF0
portion is always cleared. Values can be loaded into an accumulator as either signed or unsigned, using the
MOVE or MOVEU mnemonics, respectively. When a signed move is performed, the value is sign
extended through bit 35 of the accumulator. Unsigned moves cause the value to be zero extended.
Move instructions that place a value in an accumulator are shown in Example 3-4.
Moves from an accumulator register to memory use only the portions of the accumulator that are identified
in Figure 3-4. Saturation is allowed only on word data types (MOVE.W) and occurs only when an entire
accumulator (A, B, C, or D) is the source operand. See Example 3-5 on page 3-14.
Freescale Semiconductor
MOVE.L (Signed Long Move)
SXT.L (Force to Signed Long)
NOTE: Instructions SXT.B and ZXT.B do not change the LSP of a 32- or 36-bit register destination,
MOVE.B, MOVE.BP (Signed Byte Move)
SXT.B (Force to Signed Byte)
MOVEU.B, MOVEU.BP (Unsigned Byte Move)
ZXT.B (Force to Unsigned Byte)
MOVE.W (Signed Word Move)
Data Alignment
Data Alignment in Accumulators
unless the source is a 16-bit register. In this case, the LSP is cleared.
MOVE.B
MOVE.BP
MOVEU.B
MOVEU.BP X:(R0)+,A
MOVE.W
MOVE.L
Example 3-4. Loading Accumulators with Different Data Types
X:(R0+88),A
X:(R0),A
X:(R0+3),A
X:(R0),A
X:(R0),A
Figure 3-4. Data Alignment in Accumulators
Data Types and Addressing Modes
; accumulator loaded with signed byte
; accumulator loaded with signed byte
; accumulator loaded with unsigned byte
; accumulator loaded with unsigned byte
; accumulator loaded with signed word
; accumulator loaded with signed long
35
35
35
35
Extension
Extension
Sign
Sign
Zero Extension
Sign Extension
32
32 31
31
24 23
24 23
16 15
16
16 15
15
Zero Fill
Zero Fill
Zero Fill
Data Alignment
0
0
3-13
0
0

Related parts for dsp56800e