如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
7.1概述(2)静态存储分配和动态存储分配动态存储分配7.2静态存储分配假设整数占4个字节大小,实数占8个字节大小,则符号表中各变量在数据区中所分配的地址为:(2)模块(FORTRAN子程序)的完整数据区下面给出FORTRAN子程序的典型数据区7.3动态存储分配例1:BBLOCK;REALX,Y;STRINGNAME;M1:PBLOCK(INTEGERIND);INTEGERX;CALLM2(IND+1);EDNM1;M2:PBLOCK(INTEGERJ);BBLOCK;ARRAYINTEGERF(J);LOGICALTESTI;ENDENDM2;CALLM1(X/Y)END栈运行中数据区的分配情况:7.3.1活动记录(2)参数区:(3)Display区:高层(内层)模块可以引用低层(外层)模块中的变量,例如在M1中可引用外层模块中定义的变量y。在M1的display区中可找到程序块1的活动记录基地址加上y在数据区的相对地址就可以求得y的绝对地址。例:下面给出源程序的目标程序运行时,运行栈(数据区栈)的跟踪情况(e)当模块4执行完,则abp:=prevabp,这样abp恢复到进入模块4时情况,运行栈情况如(c)7.3.2建造display区的规则(2)若j≤I即调用外层模块或同层模块