Let us review the operation of the stack within the 68HC11, the stack is a defined area of RAM which is last in first out register (LIFO) . Access to the stack is made via a stack pointer (SP). In the 68HC11 there is only one stack pointer and it is initialised by the LDS command. To transfer data onto the stack we can use the command PSHA or PSHB i.e. push register A or B onto the stack. To remove data simply pull it i.e PULA or PULB, likewise the index registers may be stacked  etc.
      PSHA Push A onto Stack 
      PSHB  Push B onto Stack 
      PSHX  Push X onto Stack 
      PSHY  Push Y onto Stack 
      PULA Pull A onto Stack 
      PULB  Pull B onto Stack 
      PULX  Pull X onto Stack 
      PULY  Pull Y onto Stack
Every time data is 'Pushed' onto the stack the Stack pointer is decrements accordingly. The stack is used often by the micro controller for temporary holding data, if a subroutine occurs, the processor stacks the return address and upon the receipt of the RTS command, it pulls the return address automatically. During an interrupt the processor stacks the full details of itself i.e.
  SP    Condition code   
  SP-1    Accumulator A 
  SP-2    Accumulator B 
  SP-3    Index register X high 
  SP-4    Index register X low 
  SP-5    Index register Y high 
  SP-6    Index register Y low 
  SP-7    return address High 
  SP-8    Return address Low  
  SP-9    Stack pointer after interrupt
Therefore great care should be taken when using the stack as during an interrupt or subroutine if you place data on the stack you must remove the data before you return from it.