INSTRUCTION DESCRIPTIONS

X:R

X Memory and Register Data Move

X:R

Class II Example:

:

 

MAC X0,Y0,A B,X:(R1)+ X0,B

;multiply X0 and Y0 and accumulate in A

:

;move B to X memory location pointed to

 

;by R1 and postincrement R1

 

;move X0 to B

X0

Before Execution

$400000

X0

After Execution

$400000

Y0

$600000

Y0

$600000

A

$00:000000:000000

A

$00:300000:000000

B

$FF:7FFFFF:000000

B

$00:400000:000000

X:$1234

$000000

X:$1234

$800000

R1

$1234

R1

$1235

Explanation of the Class II Example: Prior to execution, the 24-bit registers X0 and Y0 contain $400000 and $600000, respectively. The 56-bit accumulators A and B contain the values $00:000000:000000 and $FF:7FFFFF:000000, respectively. The 24-bit X memory location X:$1234 contains the value $000000, and the 16-bit R1 register con- tains the value $1234. Execution of the parallel move portion of the instruction (B,X:(R1)+X0,B) moves the 24-bit limited value of B ($800000) into the X:$1234 memory location and the X0 register ($400000) into accumulator B1 ($400000), sign extends B1 into B2 ($00), and zero fills B0 ($000000). It also increments R1 to $1235.

A - 182

INSTRUCTION SET DETAILS

MOTOROLA

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