当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《程序设计语言与编译》课程PPT教学课件(高职)第二十七讲 栈式分配

资源类别:文库,文档格式:PPT,文档页数:41,文件大小:136KB,团购合买
语言特点:允许递归,允许动态数组,允许过程嵌套定义.
点击下载完整版文档(PPT)

第节楼式分 语言特点:允许递归,允许动态数组, 允许过程嵌套定义

第三节 栈式分配 语言特点:允许递归,允许动态数组, 允许过程嵌套定义

只含半静态变量的栈式分配 1.特点: 仅允许递归调用 变量及活动记录长度可静态确定 一个单元可多次激活而有多个实例, 每个活动记录是在单元每次激活时 动态建立并与代码段建立绑定关系 的

一. 只含半静态变量的栈式分配 1. 特点: •仅允许递归调用 •变量及活动记录长度可静态确定 •一个单元可多次激活而有多个实例, 每个活动记录是在单元每次激活时 动态建立并与代码段建立绑定关系 的

2处理方法 (1)设置当前栈指针 current,表示当前活动 记录的开始位置 (2)指针fre表示数据存储器下一个可用单元 (3)变量绑定于它在活动记录中的常数位移i, 变量通过 current变址访问 (4)A调用B时,在A活动记录的栈顶之上建 立起绑定于B的当前实例的活动记录 (5)从B返回时,释放其活动记录

2. 处理方法 (1)设置当前栈指针current,表示当前活动 记录的开始位置 (2)指针free表示数据存储器下一个可用单元 (3)变量绑定于它在活动记录中的常数位移i, 变量通过current变址访问 (4)A调用B时,在A活动记录的栈顶之上建 立起绑定于B的当前实例的活动记录 (5)从B返回时,释放其活动记录

3.动态连接和动态链 动态连接:A调用B时,B的活动记 录中保存的A的活动记录地址 动态链:由动态连接组成的一个调 用链

3. 动态连接和动态链 •动态连接:A调用B时,B的活动记 录中保存的A的活动记录地址 •动态链:由动态连接组成的一个调 用链

acall e: e call ff call g call f. A E F G

A E F G F A call E; E call F; F call G; G call F; ... ... ... ...

4. CALL P的处理 (1)保存返回地址 DI free lp+20 (2)保存主调过程的 current D Ifree +4]:=current (3)建立P的 current current free (4)调整fe free -free +L (5)转子 p:=P的代码段首地址

4. CALL P 的处理 (1)保存返回地址 D [ free ] := ip + 20 (2)保存主调过程的current D [free + 4] := current (3)建立P的current current := free (4)调整free free := free + L (5)转子 ip := P的代码段首地址

过程A中调用了P current 返回地址 动态连接 A的活动记录 free 返回地址 动态连接 即将建立的 P的活动记录

返回地址 动态连接 返回地址 动态连接 A的活动记录 即将建立的 P的活动记录 current free 过程A中调用了P

进入过程P以后 返回地址 动态链 A的活动记录 current 返回地址 动态链 P的活动记录 fr ee

返回地址 动态链 返回地址 动态链 A的活动记录 P的活动记录 current free 进入过程P以后

5 RETURN语句的处理 (1)恢复free fre ee current (2)恢复主调过程的 current current: =D[current +41 (3)返回 ip: D [freel

5. RETURN语句的处理 (1)恢复free free := current (2)恢复主调过程的current current := D[current + 4] (3)返回 ip := D [free]

三.半静态变量的栈式分配 1.活动记录内容 返回地址 动态链 静态链 保护区 参数单元 局部变量 临时变量 数组存储区 其中,局部变量中包括数组的描述符

二. 半静态变量的栈式分配 1. 活动记录内容 返回地址 动态链 静态链 保护区 参数单元 局部变量 临时变量 数组存储区 其中,局部变量中包括数组的描述符

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共41页,可试读14页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有