dsp56800e Freescale Semiconductor, Inc, dsp56800e Datasheet - Page 535

no-image

dsp56800e

Manufacturer Part Number
dsp56800e
Description
16-bit Digital Signal Controller Core
Manufacturer
Freescale Semiconductor, Inc
Datasheet
MOVE.L
Operation:
S → D
Description: Move a 32-bit value between a register and memory, between two memory locations, or between two
Example 1:
Explanation of Example:
Freescale Semiconductor
Before Execution
(no parallel move)
registers, or load a memory or a register with an immediate value. Register-indirect memory locations
are specified with word pointers, offsets of constants are specified as word offsets, an offset of the N
register is specified as a long offset, and absolute addresses are specified as word addresses. The ad-
dress of the data memory location to be accessed must be an even word address.
When a memory location is accessed using MOVE.L, two consecutive locations—an even address lo-
cation and the next higher odd address location—are accessed for both reading and writing. If pointer
RRR is used, it points to the even-address location. If pointer SP is used, it points to the odd-address
location.
Register operands are affected as follows:
– When an accumulator is a source, the value of the FF1 and FF0 portions are loaded into the
– When any other register (32-bit or smaller) is a source, the value of the entire register is loaded into
– When an accumulator is a destination, the FF1 and FF0 portions are written with the source value
– When an RRR register is a destination, the entire register is filled with the source value and sign
– When any other register (32-bit or smaller) is a destination, the entire register is filled with the
MOVE.L
Prior to the memory move, the Y register contains the value $1234:5678. After execution of the
MOVE.L X:(SP),Y instruction, Y is updated with the value in memory (on the stack) that is pointed
to by the SP register, with a long-word offset of two. Y becomes $3333:2222, and SP remains un-
changed. Note that since this value is a reference to a long word on the stack, an odd word address is
specified and points to the upper word of the long. The base address of the long word retrieved is
$001112.
destination.
the destination.
and sign extended through bit 35.
extended if the source is a sign immediate data (otherwise zero extended).
source value.
1234
SP
X:$1113
X:$1112
Y1
X:(SP-$2),Y
001115
3333
2222
5678
Y0
Instruction Set Details
Move Long
; move long word from stack into Y
Assembler Syntax:
MOVE.L
After Execution
S,D
3333
SP
X:$1113
X:$1112
Y1
(no parallel move)
001115
MOVE.L
2222
3333
2222
Y0
A-191

Related parts for dsp56800e