利用堆栈实现函数调用和返回 建立被调用者函数的堆栈框架 pushl %oebp movl %oesp, %oebp ∥调用者 ∥被调用者函数体 /do sth call target 拆除被调用者函数的堆栈框架 movl %oebp, %esp ca指令: popl %ebp 1)将下一条指令的地址A保 ret- 存在栈顶 2)设置ejp指向被调用程序 将地址A恢复到eip中 嵌人式系狁头验室 代码开始处 EMBEDDED SYSTEM LAB口RAT口RY SU:MDU INTHUTE OR AOVANCLD STUOY D USTt// 调用者 … call target … 利用堆栈实现函数调用和返回 //建立被调用者函数的堆栈框架 pushl %ebp movl %esp, %ebp //拆除被调用者函数的堆栈框架 movl %ebp,%esp popl %ebp ret //被调用者函数体 //do sth. … call指令: 1)将下一条指令的地址A保 存在栈顶 2)设置eip指向被调用程序 代码开始处 将地址A恢复到eip中