网站大量收购闲置独家精品文档,联系QQ:2885784924

8—第八章存储空间组织—5节[节选].pptVIP

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8—第八章存储空间组织—5节[节选]

§8.5 嵌套过程语言的栈式存储分配 (PASCAL语言);层数:过程定义的嵌套层次; 约定:主程序的层数=0;;;pascal子程序的调用规定: ⑴ 任何子程序都不能调用主程序。 ⑵ 任何子程序(包括主程序)可调用自己的直接内 层子程序,但不能调用隔层的内层子程序。(图1) ⑶ 子程序可以调用自己,以及它的任何一层外层子 程序(不包括主程序)。(图2);pascal子程序的调用规定: ⑷ 并列子程序中后说明的可以调用先说明的,而先 说明的不能调用后说明的(除非采用向前引用)。 ⑸ 一个子程序可以调用所有与自己的某个外层子程 序并列的子程序(其说明先于这个外层子程序)。;§8.5.2 非局部名字的访问的实现;;;;;;;;;2.实现方案Ⅱ:DISPLAY表(嵌套层次显示表);第nP 层, 必威体育精装版活动记录的首址=SPP;名字地址= DISPLAY[静态层数] + 相对数 访问b(Q): =DISPLAY[1]+相对数 = 相对数[SPQ] 访问a(P): =DISPLAY[0]+相对数 = 相对数[SPP];⑵. 活动记录格式: 其中:*为新增项 全局DISPLAY:指向调用者的 DISPLAY表的位置; DISPLAY表:本过程的嵌套层 次显示表; 主程序没有:参数项, 全局DISPLAY。;P1;b) 子程序可以调用自己, 以及它的任何一层外层子程序 P的D表中,共有nP+1项, ∵ P是P2的外层, ∴ “P的D表前nP项” 与“P2的D表前nP项”相同;P0;d) 子程序调用与自己的某个外层 子程序并列的子程序 P的D表中,共有nP+1项, 其中前nP项与 P0的D表 相同, 即:DP=DP0+SPP 又∵ P0也是也是P3的直接外层, ∴ P3的D表的前nP项 与 P0的D表相同 ∴ DP = DP0+SPP = DP3前nP项+SPP = 调用者D表的前nP项+SPP;若有过程: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相同);;;;;;;作业: P268 第 4 题 函数F中,增加一个动态数组,即: FUNCTION F(n:integer):integer; var M[1..n] : integer; begin … end;

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档