8. 栈压入与弹出

8.1. 文档约定

push()pop() 指令接受一个寄存器集合作为其参数,该集合包含通用寄存器 R0-R12 和链接寄存器(lr 或 R14)的一个子集,也可能包含全部。与任何 Python 集合一样,指定寄存器的顺序无关紧要。因此在下面的示例中,pop() 指令会将 R1、R7 和 R8 恢复为它们在 push() 之前的内容:

  • push({r1, r8, r7}) 将三个寄存器保存到栈上。

  • pop({r7, r1, r8}) 恢复它们

8.2. 栈操作

  • push({regset}) 将一组寄存器压入栈中

  • pop({regset}) 从栈中恢复一组寄存器