11.1.2.4 PUSH and POP Instructions
Since the Top-of-Stack is readable and writable, the ability to push
values onto the stack and pull values off the stack without disturbing normal program
execution is a desirable feature. The PIC18 instruction set includes two instructions,
PUSH
and POP
, that permit the TOS to be manipulated
under software control. TOSU, TOSH and TOSL can be modified to place data or a return
address on the stack.
The PUSH
instruction places the current PC value onto the stack. This increments the Stack Pointer and loads the current PC value onto the stack.
The POP
instruction discards the current TOS by decrementing the Stack Pointer. The previous value pushed onto the stack then becomes the TOS value.