dsp56800e Freescale Semiconductor, Inc, dsp56800e Datasheet - Page 61

no-image

dsp56800e

Manufacturer Part Number
dsp56800e
Description
16-bit Digital Signal Controller Core
Manufacturer
Freescale Semiconductor, Inc
Datasheet
3.3.3
The size of data that is accessed from program memory is always 16 bits, so the “.W” suffix is used at all
times. Accesses to program memory follow the same rules that are used for data memory accesses.
Example 3-2 shows examples of valid program memory accesses.
3.3.4
In some arithmetic instructions, one operand is located in data memory. This operand value must be moved
into a temporary register in the data ALU or in the AGU before the instruction can use it. If the instruction
modifies the operand value, the value must then be written back to data memory.
When loaded into a temporary register, the value is aligned and extended in the same way that it would be
if it were placed in a register with a MOVE instruction. For example, the instruction
uses the same method for loading the value at byte address $4000 into a temporary register that the
instruction
method, see Section 3.4.1, “Data Alignment in Accumulators.”
Example 3-3 shows some instructions with an operand in data memory.
3.3.5
The DSP56800E implements two additional types of memory moves: the single parallel move and the dual
parallel read. Both are considered “parallel move” instructions and are extremely powerful in DSC
algorithms and numeric computation. Parallel moves are restricted to arithmetic operations in the data
ALU. A parallel move is not permitted, for example, with a JMP or BFSET instruction.
Freescale Semiconductor
Instructions That Access Program Memory
Instructions with an Operand in Data Memory
Parallel Moves
MOVE.B X:$4000,A
MOVE.W
MOVEU.W
MOVE.W
;memory location as source operand
ADD.BP
ADD.W
ADD.L
;memory location with read-modify-write instruction
DEC.BP
DEC.W
DEC.L
P:(R0)+,X0
P:(R0)+,R3
R2,P:(R0)+
X:$4000,A
X:$2000,A
X:$2000,A
X:$4000
X:$2000
X:$2000
Example 3-3. Examples of Operands in Memory
Example 3-2. Program Memory Accesses
Data Types and Addressing Modes
uses to load the value into A. For more information on this loading
; Read 16-bit signed word from program memory
; Read 16-bit unsigned word from program memory
; Write 16-bit word to memory
; Add byte in memory to accumulator
; Add word in memory to accumulator
; Add long in memory to accumulator
; Decrement byte in memory
; Decrement word in memory
; Decrement long in memory
Memory Access Overview
ADD.B X:$4000,A
3-11

Related parts for dsp56800e