第十章目标程序运行时的组织.ppt

第十章目标程序运行时的组织

;;10.1概述-代码生成解决语义gap

;;10.2运行环境和存储分配

设计分析;决定运行管理复杂程度的因素——源语言本身;10.3目标程序运行时的存储组织;存储组织;存储分配策略;术语-过程活动记录;运行时的分配策略;静态分配;FORTRAN语言的

静态存储分配;栈式分配;当被调过程执行结束后,程序返回到主调过程,此时,SP将恢复为调用前的状态;

为了能够恢复原有状态,每次调用发生时,应将老的SP值保存起来(作为被调过程的调用记录的一项内容);

当然,为保证过程返回时能够从调用点正确执行下去,应把调用点的机器状态保存在调用记录中。;简单的栈式分配方案

;栈式分配方案;;每个过程的AR有

3个联系单元:

SL:静态链,指向定义该过程的直接外过程 (或主程序)运行时最新数据段的基地址。

DL:动态链,指向调用该过程前正在运行过 程的数据段基地址。

RA:返回地址,记录调用该过程时目标程序的断点,即调用过程指令的下一条指令的地址。

局部变量

中间结果;DISPLAY表;Procedurep

procedureQ

procedureR

………;用Display表的方案;用Display表的方案;DISPLAY表的维护和建立

;;分程序结构的存储管理

;;:

文档评论(0)

1亿VIP精品文档

相关文档