INSTRUCTION DESCRIPTIONS

X:R

X Memory and Register Data Move

X:R

If the opcode-operand portion of the instruction specifies a given source or destination register, that same register or portion of that register may be used as a source S1 and/or S2 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. Note that S1 and S2 may specify the same register.

Class I Example:

:

CMPM Y0,A A,X:$1234 A,Y0 ;compare A,Y0 mag., save A, update Y0

:

A

Before Execution

$00:800000:000000

A

After Execution

$00:800000:000000

X:$1234

$000000

X:$1234

$7FFFFF

Y0

$000000

Y0

$7FFFFF

Explanation of the Class I Example: Prior to execution, the 56-bit A accumulator con-

tains the value $00:800000:000000, the 24-bit X memory location X:$1234 contains the value $000000, and the 24-bit Y0 register contains the value $000000. The execution of the parallel move portion of the instruction, A,X:$1234 A,Y0, moves the 24-bit limited positive saturation constant $7FFFFF into both the X:$1234 memory location and the Y0 register since the signed portion of the A accumulator was in use.

MOTOROLA

INSTRUCTION SET DETAILS

A - 181

Page 450
Image 450
Motorola DSP56000, 24-Bit Digital Signal Processor manual Memory and Register Data Move, Class I Example