MOVE.L

MOVE.L Move Long Register Extensions (AGU) MOVE.L

Operation

Assembler Syntax

((SP+s15)[8:0]) → De.E

MOVE.L (SP+s15),De.E {–214s15 < 214,L}

Da.E:Db.E → (SP+s15)

MOVE.L Da.E:Db.E,(SP+s15) {–214s15 < 214,L}

((SP+s15)[24:16]) → Do.E

MOVE.L (SP+s15),Do.E {–214s15 < 214,L}

(aa[8:0]) → De.E

MOVE.L (a32),De.E {0 a32 < 232,L}

Da.E:Db.E → (aa)

MOVE.L Da.E:Db.E,(a32) {0 a32 < 232,L}

(aa[24:16]) → Do.E

MOVE.L (a32),Do.E {0 a32 < 232,L}

Description

These six operations save (restore) the extension bits and Ln bit of data registers to (from) memory. One of the operations writes to memory the Ln bit and extension bits of an even and odd pair of registers, as shown below. Another operation reads bits 8:0 from memory to the extension bits and Ln bit of an even register. Another operation reads bits 24:16 to the extension bits and Ln bit of an odd register. The memory address can be specified as an offset to the stack pointer, or as an absolute address.

Writes to memory are done from the even/odd pair of registers. Reads from memory are done to a single register. An extension saved to memory from an even numbered register must be restored to an even register, likewise for odd registers.

The address of the access must be long word-aligned.

31

24

16

8

 

0

0

 

Db.E

0

 

Da.E

 

MEMORY LONG WORD

 

ODD

 

EVEN

 

La

+

Lb

+

39

32

16

0

EXTENSION

 

 

Da EVEN

 

 

 

 

EXTENSION

 

 

Db ODD

 

 

 

 

 

Note: Moves of extensions into data registers restore the corresponding limit tag bit (Ln bit) in the destination register.

MOVE.L (SP+s15),De.E

Reads from a memory address pointed to by the stack pointer and a signed 15-bit offset into the extension and Ln bit of an even numbered data register.

MOVE.L Da.E:Db.E,(SP+s15)

SC140 DSP Core Reference Manual

A-275

Page 589
Image 589
Freescale Semiconductor SC140 specifications MOVE.L SP+s15,De.E, MOVE.L Da.EDb.E,SP+s15