dsp56800 Freescale Semiconductor, Inc, dsp56800 Datasheet - Page 349

no-image

dsp56800

Manufacturer Part Number
dsp56800
Description
16-bit Digital Signal Controllers
Manufacturer
Freescale Semiconductor, Inc
Datasheet
MOVE(S)
Operation:
X:<aa> → D
S → X:<aa>
#xxxx → X:<aa>
Description: Move the specified operand from or to the first 64 memory locations in X data memory. The 6-bit ab-
Example:
Explanation of Example:
Example:
Explanation of Example:
Freescale Semiconductor
solute short address is zero-extended to generate a 16-bit X data memory address.
When a 36-bit accumulator (A or B) is specified as a source operand, there is a possibility that the data
may be limited. If the data out of the shifter indicates that the accumulator extension register is in use,
and the data is to be moved into a 16-bit destination, the value stored in the destination is limited to a
maximum positive or negative saturation constant to minimize truncation error. Limiting does not oc-
cur if an individual 16-bit accumulator register (A1, A0, B1, or B0) is specified as a source operand
instead of the full 36-bit accumulator (A or B). This limiting feature allows block floating-point oper-
ations to be performed with error detection since the L bit in the CCR is latched (that is, sticky).
When a 36-bit accumulator (A or B) is specified as a destination operand, any 16-bit source data to be
moved into that accumulator is automatically extended to 36 bits by sign extending the MSB of the
source operand (bit 15) and appending the source operand with 16 LS zeros. The automatic sign ex-
tension and zeroing features may be circumvented by specifying the destination register to be one of
the individual 16-bit accumulator registers (A1 or B1).
MOVES
Prior to execution, X:$0034 contains the value $5555 and Y1 contains the value $0123. Execution of
the instruction moves the value $5555 into the Y1 register.
MOVES
Prior to execution, the contents of the X data memory location $24 contains the value $AAAA. The
MOVES zero-extends the value $24 to form the memory address $0024. Execution of the instruction
moves the value $0342 into this location. Note that address $24 is recognized as a candidate for short
addressing.
Before Execution
Before Execution
X:$0034
X:$0024
Y1
X:<$0034,Y1
#$0342,X:$24
AAAA
5555
0123
Move Absolute Short
Instruction Set Details
Assembler Syntax:
MOVES
MOVES
MOVES
After Execution
After Execution
X:$0034
X:$0024
X:<aa>,D
S,X:<aa>
#xxxx,X:<aa>
; write to X:$0034
; moves 16-bit value directly
;
Y1
into memory location
5555
5555
0342
MOVE(S)
A-119

Related parts for dsp56800