POP
SC140 DSP Core Reference Manual
A-347
POP
Pop a Register from the Software Stack (AGU)
POP
Description
These operations read the memory address pointed to by the active stack pointer (SP) into an even or odd
register (De or Do) 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 the SP 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 "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 POP instructions can appear in an execution set. In both cases, SP 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.
Operation
Assembler Syntax
(SP – 8)
→
De; SP – 8
→
SP
POP De
(SP – 4)
→
Do; SP – 8
→
SP
POP Do
POP De
Restores data register extension pairs, even registers, and loop start registers from the stack. Data register
extension pairs are popped the same as even numbered registers.
POP Do
Restores modifier control, odd registers, and loop counter registers from the stack.
39
0
16
32
0
16
31
24
8
0
0
EXTENSION
EXTENSION
De (even)
Do (odd)
La +
Lb +
MEMORY LONG WORD
De
Do
Содержание SC140 DSP Core
Страница 12: ...xii SC140 DSP Core Reference Manual ...
Страница 18: ...xviii SC140 DSP Core Reference Manual ...
Страница 32: ...1 6 SC140 DSP Core Reference Manual Core Architecture Features ...
Страница 180: ...4 70 SC140 DSP Core Reference Manual Trace Unit Registers ...
Страница 250: ...6 70 SC140 DSP Core Reference Manual Programming Rules ...
Страница 314: ...7 64 SC140 DSP Core Reference Manual NOP Definition ...
Страница 385: ...BMCHG W SC140 DSP Core Reference Manual A 71 u16 iiiiiiiiiiiiiiii 16 bit unsigned immediate data ...
Страница 388: ...A 74 SC140 DSP Core Reference Manual BMCHG W s16 AAAAAAAAAAAAAAAA 16 bit signed SP address offset ...
Страница 391: ...BMCLR SC140 DSP Core Reference Manual A 77 u16 iiiiiiiiiiiiiiii 16 bit unsigned immediate data ...
Страница 454: ...A 140 SC140 DSP Core Reference Manual DECA u5 iiiii 5 bit unsigned immediate data 1 set by the assembler ...
Страница 463: ...DI SC140 DSP Core Reference Manual A 149 15 8 7 0 DI 1 1 4 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 ...
Страница 478: ...A 164 SC140 DSP Core Reference Manual EI ...
Страница 592: ...A 278 SC140 DSP Core Reference Manual MOVE L a32 aaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAA 32 bit absolute long address ...
Страница 618: ...A 304 SC140 DSP Core Reference Manual MOVES 4F s15 sssssssssssssss Signed 15 bit offset ...
Страница 638: ...A 324 SC140 DSP Core Reference Manual MPYR ...
Страница 660: ...A 346 SC140 DSP Core Reference Manual OR W s16 AAAAAAAAAAAAAAAA Signed 16 bit SP address offset ...
Страница 746: ...A 432 SC140 DSP Core Reference Manual ZXTA x ...
Страница 758: ...I 10 Index ...
Страница 759: ...SC140 DSP Core Reference Manual i ...
Страница 760: ......