This is the documentation for the latest development branch of MicroPython and may refer to features that are not available in released versions.

If you are looking for the documentation for a specific release, use the drop-down menu on the left and select the desired version.

8. Stack push and pop

8.1. Document conventions

The push() and pop() instructions accept as their argument a register set containing a subset, or possibly all, of the general-purpose registers R0-R12 and the link register (lr or R14). As with any Python set the order in which the registers are specified is immaterial. Thus the in the following example the pop() instruction would restore R1, R7 and R8 to their contents prior to the push():

  • push({r1, r8, r7}) Save three registers on the stack.

  • pop({r7, r1, r8}) Restore them

8.2. Stack operations

  • push({regset}) Push a set of registers onto the stack

  • pop({regset}) Restore a set of registers from the stack