dsp56800 Freescale Semiconductor, Inc, dsp56800 Datasheet - Page 334

no-image

dsp56800

Manufacturer Part Number
dsp56800
Description
16-bit Digital Signal Controllers
Manufacturer
Freescale Semiconductor, Inc
Datasheet
MOVE
Operation:
<op>
<op>
<op> refers to any arithmetic instruction that allows parallel moves. A subset of these instructions, include: ADD,
DECW, MACR, NEG, SUB and TFR.
Description: Perform a data ALU operation and, in parallel, move the specified register from or to X data memory.
Description: If the arithmetic operation portion of the instruction specifies a given destination accumulator, that
Exceptions:
A-104
S → X:<ea>
X:<ea> → D
Two indirect addressing modes may be used (post-increment by one and post-increment by the offset
register).
Seventeen data ALU instructions allow the capability of specifying an optional single parallel move.
These data ALU instructions have been selected for optimal performance on the critical sections of fre-
quently used DSC algorithms. A summary of the different data ALU instructions, registers used for the
memory move, and addressing modes available for the single parallel move is shown in Table 6-35,
“Data ALU Instructions — Single Parallel Move,” on page 6-29.
If the arithmetic operation of the instruction specifies a given source register (S) or destination register
(D), that same register or portion of that register may be used as a source in the parallel data bus move
operation. This allows data to be moved in the same instruction in which it is being used as a source
operand by a data ALU operation. That is, duplicate sources are allowed within the same instruction.
Examples of duplicate sources include the following:
ADD
ADD
same accumulator or portion of that accumulator may not be specified as a destination in the parallel
data bus move operation. Thus, if the opcode-operand portion of the instruction specifies the 36-bit A
or B accumulator as its destination, the parallel data bus move portion of the instruction may not spec-
ify A0/B0, A1/B1, A2/B2, or A/B as its destination. That is, duplicate destinations are not allowed
within the same instruction. Examples of duplicate destinations include the following:
ADD
ASL
Instructions TST and CMP allow both the accumulator and its lower portion (A and A0, B and B0) to
be the parallel move destination even if this accumulator is used by the data ALU operation. These in-
structions do not have a true destination.
Parallel Move — Single Parallel Move
A,B
A,B
B,A
A
DSP56800 Family Manual
A,X:(R2)+
X:(R2)+,A
X:(R2)+,A
X:(R2)+,A
Assembler Syntax:
<op>
<op>
; A register allowed as source of
;
; A register allowed as destination
;
; NOT ALLOWED--A register used twice
;
; NOT ALLOWED--A register used twice
;
parallel move
of parallel move
as a destination
as a destination
X:<ea>,D
S,X:<ea>
Freescale Semiconductor
MOVE

Related parts for dsp56800