旅の途中
你知道阿基米德原理吗?

导航

 

栈帧结构

栈帧

为单个过程分配的那部分栈称为栈帧。

最顶端的栈帧以两个指针界定,寄存器%ebp为帧指针,%esp为栈指针。帧指针指向被分配栈的栈底。

以P过程调用Q过程为例:Q的参数放在P的栈帧中,当P调用Q时,P的返回地址入栈,形成P栈帧的末尾。Q的栈帧从保存的帧指针开始。

转移控制

  • call
    过程调用
  • leave
    为返回准备栈
    等同于:
  1. movl %ebp,%esp
  2. pop %ebp
    相当于释放了当前子程序在堆栈中的局部变量
  • ret
    从过程调用中返回
posted on 2017-11-08 14:51  CknightX  阅读(238)  评论(0编辑  收藏  举报