函数的局部变量,就是在栈中预留一段空间,用于存放。
sp在最上面,是为了保护局部变量区,因为该函数中还可能调用了其他函数,需要把下一行的地址压入栈。
所以局部变量是在bp和sp之间。
bp减,就是在操作预留空间;
bp加,就是在操作参数;
局部变量总结:
前面保护(存储)bp、sp,后面恢复bp、sp,都不是业务逻辑,是为中间业务逻辑做准备的。
函数的局部变量,就是在栈中预留一段空间,用于存放。
sp在最上面,是为了保护局部变量区,因为该函数中还可能调用了其他函数,需要把下一行的地址压入栈。
所以局部变量是在bp和sp之间。
bp减,就是在操作预留空间;
bp加,就是在操作参数;
前面保护(存储)bp、sp,后面恢复bp、sp,都不是业务逻辑,是为中间业务逻辑做准备的。