图 10.17 display作为活动记录的一部分
 
图 10.18 P1调用P2的两种不同嵌套

图 10.18(a) 调用情形一    图 10.18(b) 调用情形二
  如果P2是一个真实过程(P2不是形式参数),那么,P0或者就是P1自身或者既是P1又是P2的直接外层(见图10.18的(a)、(b)两种情形)。不论哪一种情形,只要在进入P2后能够知道P1的display就能知道P0的display,从而可直接构造出P2的display。
  事实上,只需从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值。