User manual

Instruction Set
3-54
RISC 16Bit CPU
* POP[.W] Pop word from stack to destination
* POP.B Pop byte from stack to destination
Syntax POP dst
POP.B dst
Operation @SP > temp
SP + 2 > SP
temp > dst
Emulation MOV @SP+,dst or MOV.W @SP+,dst
Emulation MOV.B @SP+,dst
Description The stack location pointed to by the stack pointer (TOS) is moved to the
destination. The stack pointer is incremented by two afterwards.
Status Bits Status bits are not affected.
Example The contents of R7 and the status register are restored from the stack.
POP R7 ; Restore R7
POP SR ; Restore status register
Example The contents of RAM byte LEO is restored from the stack.
POP.B LEO ; The low byte of the stack is moved to LEO.
Example The contents of R7 is restored from the stack.
POP.B R7 ; The low byte of the stack is moved to R7,
; the high byte of R7 is 00h
Example The contents of the memory pointed to by R7 and the status register are
restored from the stack.
POP.B 0(R7) ; The low byte of the stack is moved to the
; the byte which is pointed to by R7
: Example: R7 = 203h
; Mem(R7) = low byte of system stack
: Example: R7 = 20Ah
; Mem(R7) = low byte of system stack
POP SR ; Last word on stack moved to the SR
Note: The System Stack Pointer
The system stack pointer (SP) is always incremented by two, independent
of the byte suffix.