PopAll

Purpose: Restore the contents of all 32 MCU registers from the first 32 bytes on the stack then return to the caller using the next 2 bytes as the return address.
Assumes: The return address is contained in bytes 33 and 34 on the stack, which means that this subroutine must be reached using a JUMP, not a CALL.
Passed: Nothing
Returns: Nothing
Alters: SPH, SPL, and 34 bytes of stack space
Example: 
SetSameColor:
   CALL    APushAll            ; Call the system subroutine directly
   RCALL   ASharedSetup        ; Call the local shared setup routine

SSC_Loop:
   ST      Z+, R17             ; Write the LED color GREEN component
   ST      Z+, R18             ; Write the LED color RED   component
   ST      Z+, R19             ; Write the LED color BLUE  component
   SBIW    R26, 1              ; Decrement the remaining LED count WORD
   BRNE    ASSC_Loop           ; Loop back until R27:R26 becomes zero

   CALL    ASharedOutput       ; Call the local shared WS2812 output routine
   JMP     APopAll             ; Exit, restoring all registers used
Notes: -
Also see:  PopAll