定义
假设有如下场景:函数A调用了函数B。寄存器rbx需要在调用B函数前后保持一致。
func A:
...
call func B
...
func B:
...
调 用 者 保 存 寄 存 器 : \color{red}{调用者保存寄存器:} 调用者保存寄存器:
func A:
...
save register %rbx
call func B
restore register %rbx
...
func B:
...
如上图所示,寄存器%rbx是由函数B的调用者,即函数func A来保存并且恢复的。函数B感知不到这个情况,可以尽情使用寄存器%rbx。