Motorola DSP56800 Manual page 344

16-bit digital signal processor
Table of Contents

Advertisement

MOVE
Operation:
X:<ea> → D1
<op>
MOVE X:<ea> → D1
where <op> refers to a limited set of arithmetic instructions which allow double parallel reads
Description: Read two 16-bit word operands from X memory. Two independent effective addresses (ea) can be
specified where one of the effective addresses uses the R0 or R1 address register, while the other ef-
fective address must use address register R3. Two parallel address updates are then performed for each
effective address. The address update on R3 is only performed using linear arithmetic, and the address
update on R0 or R1 is performed using linear or modulo arithmetic.
Six data ALU instructions (ADD, MAC, MACR, MPY, MPYR, and SUB) allow the capability of
specifying an optional dual memory read. In addition, MOVE can be specified. These data ALU in-
structions have been selected for optimal performance on the critical sections of frequently used DSP
algorithms. A summary of the different data ALU instructions, registers used for the memory move,
and addressing modes available for the dual parallel read is shown in Table 6-35, "Data ALU Instruc-
tions—Dual Parallel Read," on page 6-30. When the MOVE instruction is selected, only the dual
memory accesses occur—no arithmetic operation is performed.
Example:
MPYR X0,Y0,A
Before Execution
0
1234
A2
A1
Explanation of Example:
Prior to execution, the 16-bit X0 register contains the value $4000, and the 16-bit Y0 register contains
the
value
X:(R0)+,Y0 X:(R3)+,X0 , moves the 16-bit value in the X memory location X:(R0) into the reg-
ister Y0, moves the 16-bit X memory location X:(R3) into the register X0, and post-increments by one
the 16-bit values in the R0 and R3 address registers. The multiplication is performed with the old val-
ues of X0 and Y0, and the result is convergently rounded before storing it in the accumulator.
Note:
The second X data memory parallel read using the R3 address register can never access off-chip mem-
ory or on-chip peripherals. It can only access on-chip X data memory.
A-114
Parallel Move—Dual Parallel Reads
X:<ea> → D2
X:<ea> → D2
X:(R0)+,Y0X:(R3)+,X0
5678
A0
X:(R3)
CCCC
X:(R0)
BBBB
X0
4000
Y0
5555
$5555.
Execution
DSP56800 Family Manual
Assembler Syntax:
<op>
MOVE
After Execution
0
2AAA
A2
A1
of
the
parallel
move
MOVE
X:<ea>,D1X:<ea>,D2
X:<ea>,D1X:<ea>,D2
0000
A0
X:(R3)
CCCC
X:(R0)
BBBB
X0
CCCC
Y0
BBBB
portion
of
the
instruction,

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents