Move.l, Appendix , “move.l, Move long register extensions (agu) – Freescale Semiconductor StarCore SC140 User Manual

Page 589: Description, Operation assembler syntax

Advertising
background image

MOVE.L

SC140 DSP Core Reference Manual

A-275

MOVE.L

Move Long Register Extensions (AGU)

MOVE.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.

Note:

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

Operation

Assembler Syntax

((SP+s15)[8:0])

→ De.E

MOVE.L (SP+s15),De.E {–2

14

≤ s15 < 2

14

,L}

Da.E:Db.E

→ (SP+s15)

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

14

≤ s15 < 2

14

,L}

((SP+s15)[24:16])

→ Do.E

MOVE.L (SP+s15),Do.E {–2

14

≤ s15 < 2

14

,L}

(aa[8:0])

→ De.E

MOVE.L (a32),De.E {0

≤ a32 < 2

32

,L}

Da.E:Db.E

→ (aa)

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

≤ a32 < 2

32

,L}

(aa[24:16])

→ Do.E

MOVE.L (a32),Do.E {0

≤ a32 < 2

32

,L}

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)

39

0

16

32

0

16

31

24

8

0

0

EXTENSION

EXTENSION

Da EVEN

Db ODD

La +

Lb +

MEMORY LONG WORD

Da.E
EVEN

Db.E

ODD

Advertising