编译技术编译原理 (39).pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《编译技术编译原理 (39).pdf》由会员分享,可在线阅读,更多相关《编译技术编译原理 (39).pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译技术运行时存储全局栈式存储分配全局栈式存储分配调用序列调用序列过程调用和过程返回都需要执行一些代码来管理活动记录栈,保存或恢复机器状态等过程调用序列过程返回序列过程调用时执行的分配活动记录,把信息填入它的域中,使被调用过程可以开始执行的代码被调用过程返回时执行的恢复机器状态,释放被调用过程活动记录,使调用过程能够继续执行的代码调用序列和返回序列常常都分成两部分,分处于调用过程和被调用过程中即使是同一种语言,过程调用序列、返回序列和活动记录中各域的排放次序,也会因实现而异设计这些序列和活动记录的一些原则以活动记录中间的某个位置作为基地址长度能较早确定的域放在活动记录的中间一般把临时数据域放在
2、局部数据域的后面把参数域和可能有的返回值域放在紧靠调用者活动记录的地方用同样的代码来执行各个活动的保存和恢复全局栈式存储分配全局栈式存储分配过程p调用过程q的调用序列01全局栈式存储分配全局栈式存储分配过程p调用过程q的调用序列01全局栈式存储分配全局栈式存储分配返回值和参数 top_spbase_sp临时数据局部数据控制链和保存的机器状态 过程p调用过程q的调用序列01(1)p计算实参,依次放入栈顶,并在栈顶留出放返回值的空间。top_sp的值在此过程中被改变全局栈式存储分配全局栈式存储分配返回值和参数返回值和参数 top_spbase_sp临时数据局部数据控制链和保存的机器状态 过程p调用
3、过程q的调用序列01(2)p把返回地址压入q的活动记录,把控制转移到q全局栈式存储分配全局栈式存储分配返回值和参数返回值和参数 控制链和保存的机器状态top_spbase_sp临时数据局部数据控制链和保存的机器状态 过程p调用过程q的调用序列01(3)q将要保存寄存器的值和其它机器状态信息压入栈,把base_sp的当前值(pbase_sp)压入栈,并把当前top_sp的值作为自己base_sp的值。全局栈式存储分配全局栈式存储分配返回值和参数返回值和参数 控制链和保存的机器状态top_spbase_sp临时数据局部数据控制链和保存的机器状态 过程p调用过程q的调用序列01(4)q根据局部数据域
4、和临时数据域的大小增加top_sp的值,初始化它的局部数据,并开始执行过程体全局栈式存储分配全局栈式存储分配临时数据局部数据返回值和参数返回值和参数 控制链和保存的机器状态top_spbase_sp临时数据局部数据控制链和保存的机器状态 调用者p和被调用者q之间的任务划分01全局栈式存储分配全局栈式存储分配临时数据局部数据返回值和参数返回值和参数 控制链和保存的机器状态top_spbase_sp临时数据局部数据控制链和保存的机器状态 被调用者q的责任调用者p的责任调用者p的活动记录被调用者q的活动记录过程p调用过程q的返回序列02全局栈式存储分配全局栈式存储分配(1)q把返回值置入活动记录中存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译技术编译原理 39 编译 技术 原理 39
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内