第八章存储空间组织.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§8.5 嵌套过程语言的栈式存储分配 (PASCAL语言);层数:过程定义的嵌套层次; 约定:主程序的层数=0;;;pascal子程序的调用规定: ⑴ 任何子程序都不能调用主程序。 ⑵ 任何子程序(包括主程序)可调用自己的直接内 层子程序,但不能调用隔层的内层子程序。(图1) ⑶ 子程序可以调用自己,以及它的任何一层外层子 程序(不包括主程序)。(图2);pascal子程序的调用规定: ⑷ 并列子程序中后说明的可以调用先说明的,而先 说明的不能调用后说明的(除非采用向前引用)。 ⑸ 一个子程序可以调用所有与自己的某个外层子程 序并列的子程序(其说明先于这个外层子程序)。;§8.5.2 非局部名字的访问的实现;;;;;;;;;2.实现方案Ⅱ:DISPLAY表(嵌套层次显示表);;;;;b) 子程序可以调用自己, 以及它的任何一层外层子程序 P的D表中,共有nP+1项, ∵ P是P2的外层, ∴ “P的D表前nP项” 与“P2的D表前nP项”相同;;;若有过程:P ,Q ,R P调用Q , Q递归调用自己m次, Q调用R, 则有: DQ1 = DP前nQ项+SPQ1 DQ2 = DQ1前nQ项+SPQ2 = DP前nQ项+SPQ2 … DQm = DQm-1前nQ项+SPQm = DP前nQ项+SPQm DQm+1 = DQm前nQ项+SPQm+1 = DP前nQ项+SPQm+1 DR = DQm+1前nR项+SPR;;;;;;§8.5.3 主要处理工作 1. 过程调用 (红色标注);2.过程进入(蓝色标注);3.数组分配空间 ⑴ 对可变数组,计算每维的上限、下限、维长, 填入内情向量; ⑵ 将TOP+1填入数组内情向量的a处(起始地址); ⑶ 设数组大小=M, TOP:=TOP+M ; 4. 引用各种数据的方式 ⑴ 参数、局部量、临时单元、内情向量: 设相对数=x,以SP为变址器访问:x[SP];⑵ 数组元素 * 从内情向量查出a,C,维长等,计算出相对数x; * 变址访问 x[a] ⑶ 非局部量: 设:相对数=x, 所在层数=k, D表的相对数=d,(d[SP]:活动记录起始地址) LD R1, (d+k)[SP] (第k层过程的必威体育精装版活动记录的SP) LD R2, x[R1] (取出值传送到R2);5.过程返回 (与C相同);;;;;;

文档评论(0)

blingjingya + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档