您现在的位置是:首页>天下 > 正文
arm函数调用中的堆栈变化
2026-10-21【天下】
简介在ARM架构中,函数调用时堆栈的变化是程序执行的重要部分。调用函数时,堆栈用于保存返回地址、参数、局部变量和寄存器状态。以下是ARM函数...
在ARM架构中,函数调用时堆栈的变化是程序执行的重要部分。调用函数时,堆栈用于保存返回地址、参数、局部变量和寄存器状态。
以下是ARM函数调用过程中堆栈的主要变化:
| 步骤 | 堆栈操作 | 说明 |
| 1 | Push LR | 保存返回地址(LR)到堆栈 |
| 2 | Push R0-R3 | 保存调用者使用的寄存器 |
| 3 | Push R4-R11 | 保存被调用函数需要使用的寄存器 |
| 4 | Sub SP, offset | 为局部变量分配空间 |
| 5 | Call function | 跳转至目标函数 |
| 6 | Add SP, offset | 释放局部变量空间 |
| 7 | Pop R4-R11 | 恢复被调用函数使用的寄存器 |
| 8 | Pop LR | 恢复返回地址 |
| 9 | BX LR | 返回调用点 |
通过合理管理堆栈,可以确保函数调用的正确性和程序的稳定性。
下一篇:last_page














