13 START ;PASS 1 COMMAND PROCESSING ROUTINES 23 ;... SBTTL ;PASS 1 COMMAND PROCESSING ROUTINES 33 43 ; PROCESS BLOCK ROUTINE 53 ; 63 ;... PROCES, CALL LABCHK ;CHECK FOR LABEL 73 ;... PROC ;PROCESS 'PROC' COMMAND 83 ;... GOTO NEXT 93 PROCES, CALL LABCHK 103 CALL CENTER 113 DATA=PROC1 123 CALL PUT 133 CTR= 143 PRLP, INCR CTR 153 CALL GETTXT 163 PRTXT=TXT 173 DATA=PROC2 183 CALL PUT 193 IF(CTR.LT.5)GO TO PRLP 203 DATA=PROC1 213 CALL PUT 223 GO TO NEXT 233 243 ; DISK BLOCK ROUTINE 253 ; 263 ;... DISK, CALL LABCHK ;CHECK FOR LABEL 273 ;... PROC ;PROCESS 'DISK' COMMAND 283 ;... GOTO NEXT 293 DISK, CALL LABCHK 303 CALL CENTER 313 DATA=DISK1 323 CALL PUT 333 CALL GETTXT 343 DKTXT1=TXT 353 DATA=DISK2 363 CALL PUT 373 CALL GETTXT 383 DKTXT2=TXT 393 DATA=DISK3 403 CALL PUT 413 CALL GETTXT 423 DKTXT2=TXT 433 DATA=DISK3 443 CALL PUT 453 CALL GETTXT 463 DKTXT2=TXT 473 DATA=DISK3 483 CALL PUT 493 CALL GETTXT 503 DKTXT1=TXT 513 DATA=DISK2 523 CALL PUT 533 DATA=DISK1 543 CALL PUT 553 GO TO NEXT 563 573 ; IF BLOCK ROUTINE 583 ; 593 ;... IF, CALL LABCHK ;CHECK FOR LABEL 603 ;... PROC ;PROCESS 'IF' COMMAND 613 ;... GOTO NEXT 623 IF, CALL LABCHK 633 DELIMS=D3 643 CALL GETFLD ;GET 'YES' OR 'NO' 653 YESNO1=TXT 663 DELIMS=D1 673 CALL GETFLD ;GET LABEL TO BRANCH TO 683 YNLBL=TXT 693 CALL CENTER 703 YESNO2= 713 DATA=IF1 723 CALL PUT 733 YESNO2='NO' 743 IF(YESNO1.EQ.'YES')GO TO IFX1 753 YESNO2='YES' 763 IFX1, CALL GETTXT 773 IFTXT1=TXT 783 DATA=IF2 793 CALL PUT 803 CALL GETTXT 813 IFTXT2=TXT 823 DATA=IF3 833 CALL PUT 843 CALL GETTXT 853 IFTXT3=TXT 863 DATA=IF4 873 CALL PUT 883 CALL GETTXT 893 IFTXT2=TXT 903 YESNO1= 913 DATA=IF3 923 CALL PUT 933 CALL GETTXT 943 IFTXT1=TXT 953 DATA=IF2 963 CALL PUT 973 DATA=IF1 983 CALL PUT 993 SRTLBL=YNLBL 1003 XMIT(3,SRTREC) 1013 GO TO NEXT 1023 1033 ; SUBROUTINE BLOCK ROUTINE 1043 ; 1053 ;... CALL, CALL LABCHK ;CHECK FOR LABEL 1063 ;... PROC ;PROCESS 'CALL' COMMAND 1073 ;... GOTO NEXT 1083 CALL, CALL LABCHK 1093 DATA=SUBR1 1103 CALL PUT 1113 DELIMS=D1 1123 CALL GETFLD ;GET SUBROUTINE NAME 1133 SUBNAM=TXT 1143 CALL CENTER 1153 DATA=SUBR2 1163 CALL PUT 1173 DATA=SUBR3 1183 CALL PUT 1193 CALL GETTXT 1203 SBTXT1=TXT 1213 DATA=SUBR4 1223 CALL PUT 1233 CALL GETTXT 1243 SBTXT2=TXT 1253 DATA=SUBR5 1263 CALL PUT 1273 CALL GETTXT 1283 SBTXT3=TXT 1293 DATA=SUBR6 1303 CALL PUT 1313 DATA=SUBR1 1323 CALL PUT 1333 SRTLBL=SUBNAM 1343 XMIT(3,SRTREC) 1353 GO TO NEXT 1363 1373 ; START BLOCK ROUTINE 1383 ; 1393 ;... STRT, PROC ;PROCESS 'START' COMMAND 1403 ;... GOTO NEXT 1413 STRT, CALL CENTER 1423 DATA=START1 1433 CALL PUT 1443 CALL GETTXT 1453 STRTXT=TXT 1463 DATA=START2 1473 CALL PUT 1483 DATA=START1 1493 CALL PUT 1503 LBLFIX='!' 1513 GO TO NEXT 1523 1533 ; STOP BLOCK ROUTINE 1543 ; 1553 ;... STOP, CALL LABCHK ;CHECK FOR LABEL 1563 ;... PROC ;PROCESS 'STOP' COMMAND 1573 ;... GOTO NEXT 1583 STOP, CALL LABCHK 1593 CALL CENTER 1603 DATA=START1 1613 CALL PUT 1623 CALL GETTXT 1633 STRTXT=TXT 1643 DATA=START2 1653 CALL PUT 1663 DATA=START1 1673 CALL PUT 1683 XMIT(2," ') 1693 XMIT(2," ') 1703 LBLFIX= 1713 GO TO NEXT 1723 1733 ; GOTO BLOCK ROUTINE 1743 ; 1753 ;... GOTO, CALL LABCHK ;CHECK FOR LABEL 1763 ;... PROC ;PROCESS 'GOTO' COMMAND 1773 ;... GOTO NEXT 1783 GOTO, CALL LABCHK 1793 DATA=GOTO1 1803 CALL PUT 1813 DELIMS=D1 1823 CALL GETFLD ;GET LABEL TO BRANCH TO 1833 GOTXT=TXT 1843 DATA=GOTO2 1853 CALL PUT 1863 DATA=GOTO3 1873 CALL PUT 1883 XMIT(2," ') 1893 XMIT(2," ') 1903 LBLFIX= 1913 SRTLBL=GOTXT 1923 XMIT(3,SRTREC) 1933 GO TO NEXT 1943 1953 ; COMPUTED GOTO BLOCK ROUTINE 1963 ; 1973 ;... CGOTO, CALL LABCHK ;CHECK FOR LABEL 1983 ;... PROC ;PROCESS 'CGOTO' COMMAND 1993 ;... GOTO NEXT 2003 CGOTO, IF(LABEL.NE.SPACES)CALL LABCHK 2013 DELIMS=D2 2023 CGOLP1, CALL GETFLD ;GET A LABEL 2033 GOTXT=TXT 2043 IF(GOTXT.EQ.SPACES)GO TO CGOX 2053 DATA=GOTO1 2063 CALL PUT 2073 DATA=GOTO2 2083 CALL PUT 2093 LNECTR=LNECTR+2 2103 SRTLBL=GOTXT 2113 XMIT(3,SRTREC) 2123 GO TO CGOLP1 2133 CGOX, DATA=GOTO3 2143 CALL PUT 2153 XMIT(2," ') 2163 XMIT(2," ') 2173 LBLFIX= 2183 DELIM2=TAB 2193 GO TO NEXT 2203 2213 ; I/O BLOCK ROUTINE 2223 ; 2233 ;... IO, CALL LABCHK ;CHECK FOR LABEL 2243 ;... PROC ;PROCESS 'I/O' COMMAND 2253 ;... GOTO NEXT 2263 IO, CALL LABCHK 2273 CALL CENTER 2283 DATA=IO1 2293 CALL PUT 2303 CALL GETTXT 2313 IOTXT1=TXT 2323 DATA=IO2 2333 CALL PUT 2343 CALL GETTXT 2353 IOTXT2=TXT 2363 DATA=IO3 2373 CALL PUT 2383 CALL GETTXT 2393 IOTXT3=TXT 2403 DATA=IO4 2413 CALL PUT 2423 CALL GETTXT 2433 IOTXT4=TXT 2443 DATA=IO5 2453 CALL PUT 2463 CALL GETTXT 2473 IOTXT5=TXT 2483 DATA=IO6 2493 CALL PUT 2503 DATA=IO7 2513 CALL PUT 2523 GO TO NEXT 2533 2543 ; TITLE BLOCK ROUTINE 2553 ; 2563 ;... TITLE, PROC ;SAVE NEW TITLE 2573 ;... GOTO NEXT 2583 TITLE, TTL= 2593 TTL=CHR(BGN+1,LAST) 2603 GO TO NEXT 2613 2623 ; SUBTITLE BLOCK ROUTINE 2633 ; 2643 ;... SBTTL, PROC ;SAVE NEW SUBTITLE 2653 ;... CALL HOF ;START A NEW PAGE 2663 ;... GOTO NEXT 2673 SBTTL, SUB= 2683 SUB=CHR(BGN+1,LAST) 2693 COMAND= 2703 CALL HOF 2713 GO TO NEXT 2723 2733 ; PAGE BLOCK ROUTINE 2743 ; 2753 ;... PAGE, CALL HOF ;START A NEW PAGE 2763 ;... GOTO NEXT 2773 PAGE, CALL HOF 2783 GO TO NEXT