* Pascal's triangle 25/10/2015 PASCAL CSECT USING PASCAL,R15 set base register LA R7,1 n=1 LOOPN C R7,=A(M) do n=1 to m BH ELOOPN if n>m then goto MVC U,=F'1' u(1)=1 LA R8,PG pgi=@pg LA R6,1 i=1 LOOPI CR R6,R7 do i=1 to n BH ELOOPI if i>n then goto LR R1,R6 i SLA R1,2 i*4 L R3,T-4(R1) t(i) L R4,T(R1) t(i+1) AR R3,R4 t(i)+t(i+1) ST R3,U(R1) u(i+1)=t(i)+t(i+1) LR R1,R6 i SLA R1,2 i*4 L R2,U-4(R1) u(i) XDECO R2,XD edit u(i) MVC 0(4,R8),XD+8 output u(i):4 LA R8,4(R8) pgi=pgi+4 LA R6,1(R6) i=i+1 B LOOPI end i ELOOPI MVC T((M+1)*(L'T)),U t=u XPRNT PG,80 print LA R7,1(R7) n=n+1 B LOOPN end n ELOOPN XR R15,R15 set return code BR R14 return to caller M EQU 11 <== input T DC (M+1)F'0' t(m+1) init 0 U DC (M+1)F'0' u(m+1) init 0 PG DC CL80' ' pg init ' ' XD DS CL12 temp YREGS END PASCAL