过程p第二次激活时运行栈的布局。
(1)program demo,
(2) var a,b,c:integer;
(3) procedure p ( ),integer;
(4) var s,t,boolean;
(5) procedure r ( ),boolean;
(6) var v,integer;
(7) begin (* r *)
(8) v,= p ( );
(9) return
(10) end (* r *)
(11) begin (* p *)
(12) s,= a < b:
(13) a,= a + 1;
(14) if s then t,= r ( ) ;
(15) return
(16) end (* p *);
(17) begin (* demo*)
(18) a,= 1;
(19) b,= 2;
(20) c,= p ( );
(21) end (* demo *),
图1
传值/传地址的实现。

图4