POPN

POPN Pop a Register from the Software Stack POPN

Using the Normal Stack Pointer (AGU)

Operation

Assembler Syntax

(NSP – 8) → De; NSP – 8 → ΝSP

POPN

De

(NSP – 4) → Do; NSP – 8 → ΝSP

POPN

Do

Description

These operations read the memory address pointed to by the normal stack pointer (NSP) into an even or odd register (De or Do) and adjust NSP regardless of the state of the exception (EXP) bit. 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 NSP of the data being read. It is important to pop registers in the same register grouping by which they were pushed. For example, after the sequence "pushn d1" and "popn d3," d3 will hold the data originally in d1. However, "pushn d0" and "popn d1" will not do the same because d0 and d1 are not in the same register group.

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

If the register is a DALU register, bits [39:32] of the destination are sign-extended from bit 31 and the Ln bit is cleared. Hence, in order to restore a full data register, the extension should be popped last.

Extensions of data registers (with the associated Ln bits) are special. Extensions of even and odd registers are read from 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.

 

31

24

16

8

 

 

0

 

 

0

 

Do

0

 

De

 

MEMORY LONG WORD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

La

+

Lb

+

39

32

16

0

EXTENSION

 

 

De (even)

 

 

 

 

EXTENSION

 

 

Do (odd)

 

 

 

 

 

A-350

SC140 DSP Core Reference Manual

Page 664
Image 664
Freescale Semiconductor SC140 specifications NSP 8 → De NSP 8 → ΝSP, NSP 4 → Do NSP 8 → ΝSP