函数调用对stack的影响

stack的操作逻辑是“先进后出、后进先出”,基本的入栈(PUSH)和出栈(POP)操作如下图所示。
函数调用对stack的影响

函数的调用会引起stack的变化,这是因为在函数调用时,通常会将以下内容压入stack。
- 返回地址;
- 相关寄存器的内容;
- 被调用函数的实参值(入栈的顺序通常遵循参数列表从右至左的顺序);
- 被调用函数内部定义的局部变量。