事实上,只需从P1的display中自底而上地取过l2个单元(l2为P2的层数)再添上进入P2后新建立的SP值就构成了P2的display。也就是说,在这种情况下,我们只需把P1的display地址作为连接数据之一传送给P2就能够建立P2的display。 如果P2是形式参数,那么,调用P2意味着调用P2当前相应的实在过程。此时的P0应是这个实在过程的直接外层过程。我们假定P0的display地址可从形式单元P2所指示的地方获得。 为了能在P2中获得P0的display地址,我们必须在P1调用P2时设法把P1的display地址作为连接数据之一(称为"全局display地址")传送给P2。于是连接数据变为三项: (1) 老SP值; (2) 返回地址; (3) 全局display地址。 这样,整个活动记录的组织就如图10.17所示。 注意,0层过程(主程序)的display只含一项,这一项就是主程序开始工作时所建立的第一个SP值。 |