beautypg.com

Push, Push a register onto the software stack (agu), Description – Freescale Semiconductor StarCore SC140 User Manual

Page 667: Operation assembler syntax

background image

PUSH

SC140 DSP Core Reference Manual

A-353

PUSH

Push a Register onto the Software Stack (AGU)

PUSH

Description

These operations move an even or odd register (De or Do) to the active stack in memory and adjust SP. All
memory accesses are 32-bit long words. The registers are divided into two groups (even and odd) which
determines the memory offset relative to SP of the data being written. It is important to pop registers in the
same register grouping by which they were pushed. For example, after the sequence "push d1" and "pop
d3," d3 will hold the data originally in d1. However, "push d0" and "pop d1" will not do the same because
d0 and d1 are not in the same register group.

One or two PUSH instructions can appear in an execution set. In both cases, SP is incremented only once
by 8. When two PUSH instructions are grouped together in an execution set, each must be in a different
register group.

Extensions of data registers (with the associated Ln bits) are special. Extensions of even and odd registers
are written to bits [8:0] and [24:16] of the long data word, respectively, both for single register and register
pair operations (see the figure below).

Note:

For proper data register restoration, extensions that were pushed as a pair should be popped as a
pair. Extensions pushed as single registers should be popped as single registers.

Operation

Assembler Syntax

De

→ (SP); SP + 8 → SP

PUSH De

Do

→ (SP + 4); SP + 8 → SP

PUSH Do

PUSH De

Pushes data register extension pairs, even registers, and loop start registers onto the current stack. Data
register extension pairs are pushed the same as even numbered registers.

PUSH Do

Pushes modifier control, odd registers, and loop counter registers onto the current stack.

39

0

16

32

0

16

31

24

8

0

0

EXTENSION

EXTENSION

De (even)

Do (odd)

La +

Lb +

MEMORY LONG WORD

Do

De