diff --git a/SYMBOL/ESPOL.alg_m b/SYMBOL/ESPOL.alg_m index e6548be..e57020c 100644 --- a/SYMBOL/ESPOL.alg_m +++ b/SYMBOL/ESPOL.alg_m @@ -6491,7 +6491,7 @@ PROCEDURE ADJUST;; 16023100 REAL ADDR; 16068000 IF ABS( 16069000 D~(T~TAKE(GIT(E)).LOC)-L-1)}64 THEN 16070000 - FLAG(700); 16071000 + FLAG(700) 16071000 ELSE EMITC(D,IF D <0 THEN JRV ELSE JFW); 16079000 END EMIT JUMP; 16080000 COMMENT WHEN JUMPCHAIN IS CALLED THERE IS A LINKEDLIST IN THE CODE16081000 diff --git a/tools/NEATUP-ESPOLXEM.wfl_m b/tools/NEATUP-ESPOLXEM.wfl_m new file mode 100644 index 0000000..d7b35dd --- /dev/null +++ b/tools/NEATUP-ESPOLXEM.wfl_m @@ -0,0 +1,7 @@ +E MISC/B5500/NEATUP55 ("SRCE/MISC/B5500/ESPOLXEM MAKE SRCE/MISC/B5500/ESPOLNEAT: 00000100 +BEGINOFFSET 2 DECINDENT 2 DEFINEINDENT 18 INDENT 2 INDENTELSEIF SET LOCKCOMMENTS 00000200 + SET MARGIN 0 NEATUPSEQ 5000+5000 PROCINDENT 2") ; FILE INPUT(DEPENDENTSPECS, TI 00000300 +TLE=SRCE/MISC/B5500/ESPOLXEM); FILE OUTPUT(FILEKIND=ALGOLSYMBOL) 00000400 +#RUNNING 6173 00000500 +#6173 PK501 (PAUL)SRCE/MISC/B5500/ESPOLNEAT REPLACED ON OPS 00000600 +#ET=5.4 PT=4.8 IO=0.4 00000700 diff --git a/tools/xem/ESPOLXEM.alg_m b/tools/xem/ESPOLXEM.alg_m index a51a674..e11745a 100644 --- a/tools/xem/ESPOLXEM.alg_m +++ b/tools/xem/ESPOLXEM.alg_m @@ -371,22 +371,21 @@ BOOLEAN 01840000 PLACE OF LOCALS TO SAVE STACK SPACE; 01855000=00506000= REAL 01860000=00507000= RR1, 01865000=00507000= - RR2, 01870000=00507000= - RR3, 01875000=00507000= - RR4, 01880000=00507000= - RR5, 01885000=00507000= - RR6, 01890000=00507000= - RR7, 01895000=00507000= - RR8, 01900000=00507000= - RR9, 01905000=00507000= - RR10, 01910000=00507000= - RR11; 01915000=00507000= + RR2, 01870000=00507000= + RR3, 01875000=00507000= + RR4, 01880000=00507000= + RR5, 01885000=00507000= + RR6, 01890000=00507000= + RR7, 01895000=00507000= + RR8, 01900000=00507000= + RR9, 01905000=00507000= + RR10, 01910000=00507000= + RR11; 01915000=00507000= COMMENT SOME OF THE RRI ARE USED TO PASS FILE INFORMATION 01920000=00508000= TO THE MAIN BLOCK; 01925000=00509000= 01930000=00510000= COMMENT EXAMIN RETURNS THE CHARACTER AT ABSOLUTE ADDRESS NCR; 01935000=00510000= -REAL 01940000=00511000= - STREAM PROCEDURE EXAMIN(NCR); 01945000=00511000= +REAL STREAM PROCEDURE EXAMIN(NCR); 01940000=00511000= VALUE 01950000=00511000= NCR; 01955000=00511000= BEGIN 01960000=00512000= @@ -395,8 +394,7 @@ VALUE 01950000 DI:= DI+7; 01975000=00512000= DS:= CHR 01980000=00512000= END; 01985000=00512000= -INTEGER 01990000=00523000= - STREAM PROCEDURE GETF(Q); 01995000=00523000= +INTEGER STREAM PROCEDURE GETF(Q); 01990000=00523000= VALUE 02000000=00523000= Q; 02005000=00523000= BEGIN 02010000=00524000= @@ -458,9 +456,9 @@ ELSE 02240000 SETTING; % USED BY DOLLARCARD FOR AN OPTION"S SETTING 02290000=01000802= INTEGER 02295000=01000860= NEWINX, 02300000=01000860= - ADDVALUE, 02305000=01000860= - BASENUM, 02310000=01000860= - TOTALNO; 02315000=01000860= + ADDVALUE, 02305000=01000860= + BASENUM, 02310000=01000860= + TOTALNO; 02315000=01000860= DEFINE 02320000=01000902= OPARSIZE = 200 #; 02325000=01000902= ARRAY 02330000=01000904= @@ -905,7 +903,7 @@ COMMENT INFO FORMAT 02910000 ELBAT[0:75]; 04525000=01319000= INTEGER 04530000=01319000= I, 04535000=01319000= - NXTELBT; 04540000=01319000= + NXTELBT; 04540000=01319000= COMMENT ELBAT IS AN ARRAY HOLDING ELBAT WORDS FOR RECENTLY SCANNED 04545000=01320000= QUANTITIES. THE TABLE ROUTINE MAINTAINS THIS ARRAY. 04550000=01321000= (ELBAT IS TABLE SPELLED BACKWARDS.) THE TABLE ROUTINE 04555000=01322000= @@ -919,10 +917,10 @@ COMMENT INFO FORMAT 02910000 COMMENT ELCLASS USUALLY CONTAINS ELBAT[I].CLASS; 04595000=01329000= INTEGER 04600000=01330000= FCR, 04605000=01330000= - NCR, 04610000=01330000= - LCR, 04615000=01330000= - TLCR, 04620000=01330000= - CLCR; 04625000=01330000= + NCR, 04610000=01330000= + LCR, 04615000=01330000= + TLCR, 04620000=01330000= + CLCR; 04625000=01330000= INTEGER 04630000=01331000= MAXTLCR; 04635000=01331000= COMMENT FCR CONTAINS ABSOLUTE ADDRESS OF THE FIRST CHARACTOR OF 04640000=01332000= @@ -941,17 +939,14 @@ COMMENT INFO FORMAT 02910000 PRT[PRTBASE:PRTOP]; 04705000=01343000= INTEGER 04710000=01344000= DISKADR, 04715000=01344000= - CORADR; 04720000=01344000= - COMMENT GLOBALS FOR PROGDESCBLDR; 04725000=01344000= + CORADR; COMMENT GLOBALS FOR PROGDESCBLDR; 04720000=01344000= INTEGER 04730000=01369000= - SGAVL; 04735000=01369000= - COMMENT NEXT AVAILABLE SEGMENT NUMBER; 04740000=01369000= + SGAVL; COMMENT NEXT AVAILABLE SEGMENT NUMBER; 04735000=01369000= INTEGER 04745000=01370000= - SGNO; 04750000=01370000= - COMMENT THIS IS THE CURRENT SEGMENT NUMBER; 04755000=01370000= + SGNO; COMMENT THIS IS THE CURRENT SEGMENT NUMBER; 04750000=01370000= ARRAY 04760000=01371000= COP, 04765000=01371000= - WOP[0:127]; 04770000=01371000= + WOP[0:127]; 04770000=01371000= COMMENT THE EMIT ROUTINES PLACE EACH SYLLABLE INTO THE EDOC ARRAY 04775000=01372000= AS SPECIFIED BY "L". 04780000=01373000= IF THE DEBUGTOG IS TRUE COP AND WOP ARE FILLED WITH 04785000=01374000= @@ -968,10 +963,10 @@ COMMENT INFO FORMAT 02910000 DURING AN ARRAY DECLARATION ; 04840000=01383000= REAL 04845000=01384000= GT1, 04850000=01384000= - GT2, 04855000=01384000= - GT3, 04860000=01384000= - GT4, 04865000=01384000= - GT5; 04870000=01384000= + GT2, 04855000=01384000= + GT3, 04860000=01384000= + GT4, 04865000=01384000= + GT5; 04870000=01384000= INTEGER 04875000=01384500= GTI1; 04880000=01384500= COMMENT THESE VARIABLES ARE USED FOR TEMPORARY STORAGE; 04885000=01385000= @@ -999,9 +994,9 @@ COMMENT INFO FORMAT 02910000 OTHERWISE IT IS TRUE; 04995000=01401000= INTEGER 05000000=01402000= LEVEL, 05005000=01402000= - FRSTLEVEL, 05010000=01402000= - SUBLEVEL, 05015000=01402000= - MODE; 05020000=01402000= + FRSTLEVEL, 05010000=01402000= + SUBLEVEL, 05015000=01402000= + MODE; 05020000=01402000= COMMENT THESE VARIABLES ARE MAINTAINED BY THE BLOCK ROUTINE TO KEEP 05025000=01403000= TRACK OF LEVELS OF DEFINITION. LEVEL GIVES THE DEPTH OF 05030000=01404000= NESTING IN DEFINITION, WHERE EACH BLOCK AND EACH PROCEDURE05035000=01405000= @@ -1016,8 +1011,7 @@ COMMENT INFO FORMAT 02910000 COMMENT ERRORTOG IS TRUE IF MESSAGES ARE CURRENTLY ACCEPTABLE TO THE05080000=01413000= ERROR ROUTINES. ERRORCOUNT IS THE COUNT OF ERROR MSSGS; 05085000=01414000= BOOLEAN 05090000=01415000= - ENDTOG; 05095000=01415000= - COMMENT ENDTOG TELLS THE TABLE TO ALLOW 05100000=01415000= + ENDTOG; COMMENT ENDTOG TELLS THE TABLE TO ALLOW 05095000=01415000= COMMENT TO BE PASSED BACK TO COMPOUNDTAIL; 05105000=01416000= BOOLEAN 05110000=01417000= STREAMTOG; 05115000=01417000= @@ -1074,12 +1068,12 @@ COMMENT INFO FORMAT 02910000 COMMENT IDMAX IS THE MAXIMUM CLASS NUMBER FOR IDENTIFIERS; 05370000=01480000= INTEGER 05375000=01481000= DEFINECTR, 05380000=01481000= - DEFINEINDEX; 05385000=01481000= + DEFINEINDEX; 05385000=01481000= REAL 05390000=01482000= JOINFO, COMMENT POINTS TO PSEUDO LABEL FOR JUMP OUTS; 05395000=01482000= - LPRT, COMMENT SHOWS LOCATION OF THE LAST LABEL IN THE PRT ; 05400000=01483000= - NESTLEVEL, COMMENT COUNTS NESTING FOR GO TO AND JUMP OUTS; 05405000=01484000= - JUMPLEVEL; 05410000=01485000= + LPRT, COMMENT SHOWS LOCATION OF THE LAST LABEL IN THE PRT ; 05400000=01483000= + NESTLEVEL, COMMENT COUNTS NESTING FOR GO TO AND JUMP OUTS; 05405000=01484000= + JUMPLEVEL; 05410000=01485000= COMMENT NUMBER OF LEVELS TO BE JUMPED OUT; 05415000=01485000= 05420000=01486000= COMMENT THE REALS ABOVE ARE FOR STREAM STATEMENT; 05425000=01486000= @@ -1088,8 +1082,7 @@ COMMENT INFO FORMAT 02910000 COMMENT MACRO IS FILLED WITH SYLLABLES FOR STREAM STATEMENT; 05440000=01488000= REAL 05445000=01489000= P, COMMENT CONTAINS NUMBER OF FORMALS FOR STREAM PROCS; 05450000=01489000= - Z; 05455000=01490000= - COMMENT CONTAINS 1ST WORD OF INFO FOR STREAM FUNCTIONS; 05460000=01490000= + Z; COMMENT CONTAINS 1ST WORD OF INFO FOR STREAM FUNCTIONS; 05455000=01490000= ARRAY 05465000=01490510= NEWTAPBUF[0:9]; 05470000=01490510= SAVE ARRAY DEFINEARRAY[0:23]; 05475000=01491000= @@ -1106,49 +1099,41 @@ COMMENT INFO FORMAT 02910000 FOR ERROR CONTROL ONLY; 05530000=01501000= INTEGER 05535000=01502000= DIALA, 05540000=01502000= - DIALB; 05545000=01502000= + DIALB; 05545000=01502000= COMMENT THESE VARIABLES GIVE THE LAST VALUE TO WHICH A AND B WERE 05550000=01503000= DIALED. THIS GIVES SOME LOCAL OPTIMIZATION. EMITD 05555000=01504000= WORRIES ABOUT THIS. OTHER ROUTINES CAUSE A LOSS OF MEMORY05560000=01505000= BY SETTING DIALA AND DIALB TO ZERO; 05565000=01506000= BOOLEAN 05570000=01522000= - RRB1; 05575000=01522000= - COMMENT RRB1---RRBN ARE BOOLEAN VARIABLES THAT SERVE THE 05580000=01522000= + RRB1; COMMENT RRB1---RRBN ARE BOOLEAN VARIABLES THAT SERVE THE 05575000=01522000= SAME FUNCTION AS RR1---RRN FOR REAL VARIABLES. SEE 05585000=01523000= COMMENT AT RR1; 05590000=01524000= BOOLEAN 05595000=01525000= - RRB2; 05600000=01525000= - COMMENT SEE COMMENT AT RRB1 DECLARATION; 05605000=01525000= + RRB2; COMMENT SEE COMMENT AT RRB1 DECLARATION; 05600000=01525000= DEFINE 05610000=01526000= - ARRAYMONFILE = [27:11] #; 05615000=01526000= - COMMENT ARRAYMONFILE IS THE DEFINE FOR 05620000=01526000= + ARRAYMONFILE = [27:11] #; COMMENT ARRAYMONFILE IS THE DEFINE FOR 05615000=01526000= THE ADDRESS OF THE FILE DESCRIPTOR IN 05625000=01527000= THE FIRST WORD OF ADDITIONAL INFO; 05630000=01528000= DEFINE 05635000=01529000= - SVARMONFILE = [37:11] #; 05640000=01529000= - COMMENT MONITORFILE IS THE DEFINE FOR 05645000=01529000= + SVARMONFILE = [37:11] #; COMMENT MONITORFILE IS THE DEFINE FOR 05640000=01529000= THE ADDRESS OF THE FILE DESCRIPTOR IN 05650000=01530000= INFO FOR MONITORED SIMPLE VARIABLES; 05655000=01531000= DEFINE 05660000=01532000= - NODIMPART = [40:8] #; 05665000=01532000= - COMMENT THE FIRST ADDITIONAL WORD OF INFO 05670000=01532000= + NODIMPART = [40:8] #;COMMENT THE FIRST ADDITIONAL WORD OF INFO 05665000=01532000= FOR ARRAYS CONTAINS THE NUMBER OF DIMENSIONS05675000=01533000= IN NODIMPART; 05680000=01534000= DEFINE 05685000=01535000= - LABLMONFILE = [13:11] #; 05690000=01535000= - COMMENT LABLMONFILE DESIGNATES THE BIT 05695000=01535000= + LABLMONFILE = [13:11] #; COMMENT LABLMONFILE DESIGNATES THE BIT 05690000=01535000= POSITION IN THE FIRST WORD OF ADDITIONAL 05700000=01536000= INFO THAT CONTAINS THE MONITOR FILE 05705000=01537000= ADDRESS FOR LABELS; 05710000=01538000= DEFINE 05715000=01539000= - SWITMONFILE = [13:11] #; 05720000=01539000= - COMMENT SWITMONFILE DESIGNATES THE BIT 05725000=01539000= + SWITMONFILE = [13:11] #; COMMENT SWITMONFILE DESIGNATES THE BIT 05720000=01539000= POSITION IN THE FIRST WORD OF ADDITIONAL 05730000=01540000= INFO THAT CONTAINS THE MONITOR FILE 05735000=01541000= ADDRESS FOR LABELS; 05740000=01542000= DEFINE 05745000=01543000= - FUNCMONFILE = [27:11] #; 05750000=01543000= - COMMENT FUNCMONFILE DESIGNATES THE BIT 05755000=01543000= + FUNCMONFILE = [27:11] #; COMMENT FUNCMONFILE DESIGNATES THE BIT 05750000=01543000= POSITION IN THE FIRST WORD OF ADDITIONAL 05760000=01544000= INFO THAT CONTAINS THE MONITOR FILE 05765000=01545000= ADDRESS FOR LABELS; 05770000=01546000= @@ -1175,8 +1160,7 @@ COMMENT INFO FORMAT 02910000 FILE 05875000=01558000= OUT LINE DISK SERIAL[20:2400](RR3, 15, RR4, SAVE 10); 05880000=01558000= ARRAY 05885000=01559010= - LIN[0:20]; 05890000=01559010= - COMMENT PRINT OUTPUT BUILT IN LIN; 05895000=01559010= + LIN[0:20]; COMMENT PRINT OUTPUT BUILT IN LIN; 05890000=01559010= INTEGER 05900000=01559020= DA; 05905000=01559020= SAVE FILE OUT NEWTAPE DISK SERIAL[20:2400](RR5, RR6, RR7, SAVE 1); 05910000=01560000= @@ -1221,16 +1205,15 @@ COMMENT ESPOL CODE FILES ARE UNIQUELY TYPED IN THEIR FILE 05975000 BOOLEAN 06105000=01586000= FUNCTOG, COMMENT TELLS WHETHER PROCEDURE BEING DECLARED IS A 06110000=01586000= FUNCTION; 06115000=01587000= - P2, COMMENT GENERALY TELLS WHETHER OWN WAS SEEN; 06120000=01588000= - P3, COMMENT TELLS WHETHER SAVE WAS SEEN; 06125000=01589000= - VONF, COMMENT VALUE OR OWN FIELD OF ELBAT WORD; 06130000=01590000= - FORMALF, COMMENT FORMAL FIELD OF ELBAT WORD; 06135000=01591000= - PTOG, COMMENT TELLS THAT FORMAL PARAPART IS BEING PROCESSD;06140000=01592000= - SPECTOG, 06145000=01594000= - STOPENTRY, COMMENT THIS MAKES THE ENTRY PROCEDURE ENTER ONLY 06150000=01594000= - ONE ID AND THEN EIXT; 06155000=01595000= - AJUMP; 06160000=01596000= - COMMENT TELLS WHETHER A JUMP IS HANGING; 06165000=01596000= + P2, COMMENT GENERALY TELLS WHETHER OWN WAS SEEN; 06120000=01588000= + P3, COMMENT TELLS WHETHER SAVE WAS SEEN; 06125000=01589000= + VONF, COMMENT VALUE OR OWN FIELD OF ELBAT WORD; 06130000=01590000= + FORMALF, COMMENT FORMAL FIELD OF ELBAT WORD; 06135000=01591000= + PTOG, COMMENT TELLS THAT FORMAL PARAPART IS BEING PROCESSD;06140000=01592000= + SPECTOG, 06145000=01594000= + STOPENTRY, COMMENT THIS MAKES THE ENTRY PROCEDURE ENTER ONLY 06150000=01594000= + ONE ID AND THEN EIXT; 06155000=01595000= + AJUMP; COMMENT TELLS WHETHER A JUMP IS HANGING; 06160000=01596000= BOOLEAN 06170000=01597000= STOPDEFINE; 06175000=01597000= INTEGER 06180000=01598000= @@ -1240,30 +1223,28 @@ COMMENT ESPOL CODE FILES ARE UNIQUELY TYPED IN THEIR FILE 05975000 FOR THE PROGRAM PARAMETER BLOCK FOR THE OBJECT PROGRAM; 06200000=01601000= REAL 06205000=01603000= KLASSF, COMMENT CLASS IN LOW ORDER 7 BITS; 06210000=01603000= - ADDRSF, COMMENT ADDRESS IN LOW ORDER 11 BITS; 06215000=01604000= - LEVELF, COMMENT LVL IN LOW ORDER 5 BITS; 06220000=01605000= - LINKF, COMMENT LINK IN LOW ORDER 13 BITS; 06225000=01606000= - INCRF, COMMENT INCR CN LOW ORDER 8 BITS; 06230000=01607000= - PROINFO, COMMENT CONTAINS ELBAT WORD FOR PROCEDURE BEING 06235000=01608000= + ADDRSF, COMMENT ADDRESS IN LOW ORDER 11 BITS; 06215000=01604000= + LEVELF, COMMENT LVL IN LOW ORDER 5 BITS; 06220000=01605000= + LINKF, COMMENT LINK IN LOW ORDER 13 BITS; 06225000=01606000= + INCRF, COMMENT INCR CN LOW ORDER 8 BITS; 06230000=01607000= + PROINFO, COMMENT CONTAINS ELBAT WORD FOR PROCEDURE BEING 06235000=01608000= DECLARED; 06240000=01609000= - G, COMMENT GLOBAL TEMPORARY FOR BLOCK; 06245000=01610000= - TYPEV, COMMENT USED TO CARRY CLASS OF IDENTIFIER 06250000=01611000= + G, COMMENT GLOBAL TEMPORARY FOR BLOCK; 06245000=01610000= + TYPEV, COMMENT USED TO CARRY CLASS OF IDENTIFIER 06250000=01611000= BEING DECLARED; 06255000=01612000= - PROADO, COMMENT CONTAINS ADDRESS OF PROCEDURE BEING 06260000=01613000= + PROADO, COMMENT CONTAINS ADDRESS OF PROCEDURE BEING 06260000=01613000= DECLARED; 06265000=01614000= - MARK, COMMENT CONTAINS INDEX INTO INFO WHERE FIRST WORD 06270000=01615000= + MARK, COMMENT CONTAINS INDEX INTO INFO WHERE FIRST WORD 06270000=01615000= OF ADDITIONAL INFO FOR A PROCEDURE ENTRY; 06275000=01616000= - PJ, COMMENT FORMAL PARAMETER COUNTER; 06280000=01617000= - J, COMMENT ARRAY COUNTER; 06285000=01618000= - LASTINFO, COMMENT INDEX TO LAST ENTRY IN INFO; 06290000=01619000= - NEXTINFO, COMMENT INDEX FOR NEXT ENTRYIN INFO; 06295000=01620000= - FIRSTX, COMMENT RELATIVE ADD OF FIRST EXECUTABLE CODE 06300000=01621000= + PJ, COMMENT FORMAL PARAMETER COUNTER; 06280000=01617000= + J, COMMENT ARRAY COUNTER; 06285000=01618000= + LASTINFO, COMMENT INDEX TO LAST ENTRY IN INFO; 06290000=01619000= + NEXTINFO, COMMENT INDEX FOR NEXT ENTRYIN INFO; 06295000=01620000= + FIRSTX, COMMENT RELATIVE ADD OF FIRST EXECUTABLE CODE 06300000=01621000= IN BLOCK,INITIALIZED TO 4095 EACH TIME; 06305000=01622000= - SAVEL; 06310000=01623000= - COMMENT SAVE LOCATION FOR FIXUPS IN BLOCK; 06315000=01623000= + SAVEL; COMMENT SAVE LOCATION FOR FIXUPS IN BLOCK; 06310000=01623000= INTEGER 06320000=01624000= - NCII; 06325000=01624000= - COMMENT THIS CONTAINS THE COUNT OF CONSTANTS 06330000=01624000= + NCII; COMMENT THIS CONTAINS THE COUNT OF CONSTANTS 06325000=01624000= ENTERED IN INFO AT ANY GIVEN TIME; 06335000=01625000= PROCEDURE UNHOOK; 06340000=01626000= FORWARD; 06345000=01626000= @@ -1334,34 +1315,31 @@ COMMENT ESPOL CODE FILES ARE UNIQUELY TYPED IN THEIR FILE 05975000 TRB = 53#; COMMENT (XX65) 7.4.7.3 TRANSFER BITS; 06670000=01682000= REAL 06675000=01683000= MAXSTACK, 06680000=01683000= - STACKCTR; 06685000=01683000= + STACKCTR; 06685000=01683000= INTEGER 06690000=01684000= - MAXROW; 06695000=01684000= - COMMENT THIS CONTAINS THE MAXIMUM ROW SIZE OF ALL NON-SAVE 06700000=01685000= + MAXROW;COMMENT THIS CONTAINS THE MAXIMUM ROW SIZE OF ALL NON-SAVE 06695000=01684000= ARRAYS DECLARED. ITS USE IS LIKE THAT OF MAXSAVE; 06705000=01686000= INTEGER 06710000=01687000= - SEGSIZEMAX; 06715000=01687000= - COMMENT CONTAINS MAX SEGMENT SIZE; 06720000=01687000= + SEGSIZEMAX; COMMENT CONTAINS MAX SEGMENT SIZE; 06715000=01687000= INTEGER 06725000=01688000= F; 06730000=01688000= REAL 06735000=01689000= NLO, 06740000=01689000= - NHI, 06745000=01689000= - TLO, 06750000=01689000= - THI; 06755000=01689000= + NHI, 06745000=01689000= + TLO, 06750000=01689000= + THI; 06755000=01689000= BOOLEAN 06760000=01690000= - DPTOG; 06765000=01690000= - COMMENT THE ABOVE THINGS ARE TEMP STORAGE FOR DOUBLE NOS;06770000=01691000= + DPTOG; COMMENT THE ABOVE THINGS ARE TEMP STORAGE FOR DOUBLE NOS;06765000=01690000= BOOLEAN 06775000=01691500= DOLLAR2TOG; 06780000=01691500= DEFINE 06785000=01692000= FZERO = 896 #; 06790000=01692000= REAL 06795000=01693000= T1, 06800000=01693000= - T2, 06805000=01693000= - N, 06810000=01693000= - K, 06815000=01693000= - AKKUM; 06820000=01693000= + T2, 06805000=01693000= + N, 06810000=01693000= + K, 06815000=01693000= + AKKUM; 06820000=01693000= BOOLEAN 06825000=01694000= STOPGSP; 06830000=01694000= INTEGER 06835000=01695000= @@ -1379,7 +1357,7 @@ COMMENT ESPOL CODE FILES ARE UNIQUELY TYPED IN THEIR FILE 05975000 PRT CELL HAS A PERMANENT ASSIGNMENT; 06895000=01702000= INTEGER 06900000=01703000= PRTI, 06905000=01703000= - PRTIMAX; 06910000=01703000= + PRTIMAX; 06910000=01703000= COMMENT PRTIMAX GIVES NEXT PRT CELL AVAILABLE FOR PERMANENT ASSIGN-06915000=01704000= MENT. PRTI GIVES NEXT PRT CELL POSSIBLY AVAILABLE FOR 06920000=01705000= TEMPORARY ASSIGNMENT; 06925000=01706000= @@ -1450,9 +1428,9 @@ COMMENT ESPOL CODE FILES ARE UNIQUELY TYPED IN THEIR FILE 05975000 CALL[CALL1] = CALLA[(GT3:= CALL1).LINKR, GT3.LINKC] #; 07250000=01721000= REAL 07255000=01722000= CALLX, 07260000=01722000= - CALLINFO, 07265000=01722000= - NESTCTR, 07270000=01722000= - NESTCUR; 07275000=01722000= + CALLINFO, 07265000=01722000= + NESTCTR, 07270000=01722000= + NESTCUR; 07275000=01722000= BOOLEAN 07280000=01723000= NESTOG; 07285000=01723000= ARRAY 07290000=01724000= @@ -1461,6 +1439,7 @@ COMMENT ESPOL CODE FILES ARE UNIQUELY TYPED IN THEIR FILE 05975000 SORTPRT[0:PRTOP-PRTBASE]; 07305000=01725000= 07310000=01737300= COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 07315000=01737300= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07316000 STREAM PROCEDURE BLANKET(N, THERE); 07320000=01737350= VALUE 07325000=01737350= N; 07330000=01737350= @@ -1470,6 +1449,7 @@ COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 07315000 SI:= THERE; 07350000=01737450= DS:= N WDS; 07355000=01737450= END BLANKET; 07360000=01737500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07362000 STREAM PROCEDURE CHANGESEQ(VAL, OLDSEQ); 07365000=01741200= VALUE 07370000=01741200= OLDSEQ; 07375000=01741200= @@ -1478,11 +1458,13 @@ COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 07315000 SI:= VAL; 07390000=01741300= DS:= 8 DEC 07395000=01741300= END CHANGESEQ; 07400000=01741300= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07402000 STREAM PROCEDURE SEQUENCEERROR(L); 07405000=01742100= BEGIN 07410000=01742110= DI:= L; 07415000=01742110= DS:= 16 LIT 6"SEQUENCE ERROR "; 07420000=01742110= END SEQUENCEERROR; 07425000=01742110= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07426000 STREAM PROCEDURE GETVOID(VP, NCR, LCR, SEQ); 07430000=01756000= VALUE 07435000=01756000= NCR, 07440000=01756000= @@ -1490,7 +1472,7 @@ COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 07315000 BEGIN 07450000=01757000= LABEL 07455000=01758000= L, 07460000=01758000= - EXIT; 07465000=01758000= + EXIT; 07465000=01758000= LOCAL N; 07470000=01759000= SI:= NCR; 07475000=01761000= DI:= VP; 07480000=01761000= @@ -1528,29 +1510,29 @@ EXIT: 07635000 END OF GETVOID; 07640000=01784000= REAL 07645000=01785000= VOIDCR, 07650000=01785000= - VOIDPLACE, 07655000=01785000= - VOIDTCR, 07660000=01785000= - VOIDTPLACE; 07665000=01785000= + VOIDPLACE, 07655000=01785000= + VOIDTCR, 07660000=01785000= + VOIDTPLACE; 07665000=01785000= FORMAT 07670000=01802000= BUG(X24, 4(A4, X2)); 07675000=01802000= PROCEDURE DATIME; 07680000=01820000= BEGIN 07685000=01821000= INTEGER 07690000=01822000= H, 07695000=01822000= - MIN, 07700000=01822000= - Q; 07705000=01822000= + MIN, 07700000=01822000= + Q; 07705000=01822000= ALPHA 07710000=01822000= N1, 07715000=01822000= - N2; 07720000=01822000= - ALPHA 07725000=01823000= - STREAM PROCEDURE DATER(DATE); 07730000=01823000= + N2; 07720000=01822000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07722000 + ALPHA STREAM PROCEDURE DATER(DATE); 07725000=01823000= VALUE 07735000=01823000= DATE; 07740000=01823000= BEGIN 07745000=01824000= DI:= LOC DATER; 07750000=01825000= SI:= LOC DATE; 07755000=01825000= SI:= SI+2; 07760000=01825000= - (DS:= 2 CHR;DS:= LIT 6"/"); 07765000=01826000= + 2(DS:= 2 CHR;DS:= LIT 6"/"); 07765000=01826000= DS:= 2 CHR; 07770000=01826000= END OF DATER; 07775000=01827000= H:= TIME1 DIV 216000; 07780000=01828000= @@ -1571,11 +1553,11 @@ EXIT: 07635000 AND SCANNING THEM; 07855000=02001000= 07860000=02001836= COMMENT OCTIZE REFORMATS ACCUM FOR OCTAL CONSTANTS; 07865000=02001836= - BOOLEAN 07870000=02001838= - STREAM PROCEDURE OCTIZE(S, D, SKP, CNT); 07875000=02001838= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07866000 + BOOLEAN STREAM PROCEDURE OCTIZE(S, D, SKP, CNT); 07870000=02001838= VALUE 07880000=02001838= SKP, 07885000=02001838= - CNT; 07890000=02001838= + CNT; 07890000=02001838= BEGIN 07895000=02001840= SI:= S; 07900000=02001842= SI:= SI+4; 07905000=02001842= @@ -1594,11 +1576,11 @@ COMMENT OCTIZE REFORMATS ACCUM FOR OCTAL CONSTANTS; 07865000 END OCTIZE; 07970000=02001854= 07975000=02001856= COMMENT HEXIZE REFORMATS ACCUM FOR HEXADECIMAL CONSTANTS; 07980000=02001856= - BOOLEAN 07985000=02001858= - STREAM PROCEDURE HEXIZE(S, D, SKP, CNT); 07990000=02001858= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07982000 + BOOLEAN STREAM PROCEDURE HEXIZE(S, D, SKP, CNT); 07985000=02001858= VALUE 07995000=02001858= SKP, 08000000=02001858= - CNT; 08005000=02001858= + CNT; 08005000=02001858= BEGIN 08010000=02001860= LOCAL T1, T2, TEMP2, TEMP1; 08015000=02001860= LABEL 08020000=02001860= @@ -1613,7 +1595,8 @@ COMMENT LOCAL VARIABLES ARE LOCATED IN REVERSE ORDER FROM THE 08035000 DI:= LOC TEMP1; % WE MAY OVERFLOW INTO TEMP2. 08065000=02001868= CNT(IF SC < 6"0" THEN IF SC >= 6"A" THEN IF SC <= 6"F" THEN 08070000=02001870= % WORK HARD. 08075000=02001870= - BEGINT1:= SI;T2:= DI;DI:= T1;SI:= T2; % FLIP, MAN. 08080000=02001874= + BEGIN 08080000=02001874= + T1:= SI;T2:= DI;DI:= T1;SI:= T2; % FLIP, MAN. 08082000 DS:= 3 RESET;SI:= T1;DI:= T2; % FLIP BACK. 08085000=02001876= DS:= 1 ADD;DI:= DI-1;SKIP 2 DB;DS:= 1 SET;SKIP 3 DB;GO AGIN; 08090000=02001882= END; 08095000=02001882= @@ -1640,6 +1623,7 @@ AGIN: 08115000 COMMENT PUTSEQNO PUTS THE SEQUENCE NUMBER OF THE CARD-IMAGE 08200000=02002000= CURRENTLY BEING SCANNED INTO THE INFO TABLE IN CASE 08205000=02003000= IT IS NEEDED FOR FUTURE REFERENCE; 08210000=02004000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08212000 STREAM PROCEDURE PUTSEQNO(INFO, LCR); 08215000=02005000= VALUE 08220000=02005000= LCR; 08225000=02005000= @@ -1653,10 +1637,11 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 08260000 I.E., THE PURPOSE OF THIS ROUTINE IS TO INSERT A PER- 08265000=02008000= CENT SIGN IN COLUMN 73 AS AN END OF CARD SENTINEL FOR 08270000=02009000= THE SCANNER; 08275000=02010000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08276000 STREAM PROCEDURE TURNONSTOPLIGHT(RED, CORNER); 08280000=02011000= VALUE 08285000=02011000= RED, 08290000=02011000= - CORNER; 08295000=02011000= + CORNER; 08295000=02011000= BEGIN 08300000=02012000= DI:= CORNER; 08305000=02012000= SI:= LOC CORNER; 08310000=02012000= @@ -1665,8 +1650,8 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 08260000 END; 08325000=02012000= COMMENT WRITNEW TRANSFERS THE CARD IMAGE TO THE NEWTAPE BUFFER 08330000=02014000= AND REPORTS IF THE CARD MIGHT BE CONTROL CARD; 08335000=02015000= - BOOLEAN 08340000=02016000= - STREAM PROCEDURE WRITNEW(NEW, FCR); 08345000=02016000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08336000 + BOOLEAN STREAM PROCEDURE WRITNEW(NEW, FCR); 08340000=02016000= VALUE 08350000=02016000= FCR; 08355000=02016000= BEGIN 08360000=02017000= @@ -1678,17 +1663,17 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 08260000 WRITNEW:= TALLY 08390000=02020000= END WRITNEW; 08395000=02020000= COMMENT MKABS CONVERTS A DESCRIPTOR TO AN ABSOLUTE ADDRESS; 08400000=02021000= - REAL 08405000=02022000= - STREAM PROCEDURE MKABS(A); 08410000=02022000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08402000 + REAL STREAM PROCEDURE MKABS(A); 08405000=02022000= BEGIN 08415000=02023000= D1:= A; 08420000=02023000= MKABS:= DI 08425000=02023000= END MKABS; 08430000=02023000= - REAL 08435000=02041000= - STREAM PROCEDURE CONV(ACCUM, SKP, N); 08440000=02041000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08432000 + REAL STREAM PROCEDURE CONV(ACCUM, SKP, N); 08435000=02041000= VALUE 08445000=02041000= SKP, 08450000=02041000= - N; 08455000=02041000= + N; 08455000=02041000= BEGIN 08460000=02042000= SI:= ACCUM; 08465000=02043000= SI:= SI+SKP; 08470000=02043000= @@ -1696,11 +1681,12 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 08260000 DI:= LOC CONV; 08480000=02043000= DS:= N OCT 08485000=02044000= END; 08490000=02044000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08492000 STREAM PROCEDURE MOVECHARACTERS(N, SORCE, SSKIP, DEST, DSKIP); 08495000=02045000= VALUE 08500000=02046000= N, 08505000=02046000= - SSKIP, 08510000=02046000= - DSKIP; 08515000=02046000= + SSKIP, 08510000=02046000= + DSKIP; 08515000=02046000= BEGIN 08520000=02047000= SI:= SORCE; 08525000=02048000= DI:= DEST; 08530000=02048000= @@ -1711,6 +1697,7 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 08260000 08555000=02052000= COMMENT MOVECHARACTERS MOVES N CHARACTERS FROM THE SSKIP-TH CHAR IN 08560000=02052000= "SORCE" TO THE DSKIP-TH CHAR IN "DEST". ; 08565000=02053000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08566000 STREAM PROCEDURE MOVE(W)6"WORDS FROM"(A)6"TO"(B); 08570000=02054000= VALUE 08575000=02054000= W; 08580000=02054000= @@ -1719,6 +1706,7 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 08260000 DI:= B; 08595000=02055000= DS:= W WDS 08600000=02055000= END; 08605000=02055000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08606000 STREAM PROCEDURE RESIZE(FIEL); 08610000=02056000= BEGIN 08615000=02057000= LOCAL T; 08620000=02057000= @@ -1735,8 +1723,8 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 08260000 COMMENT EQUAL COMPARES COUNT CHARACTERS LOCATED AT A AND B FOR 08675000=02061000= EQUALITY. THIS ROUTINE IS USED IN THE LOOK-UP OF ALPHA 08680000=02061500= QUANTITIES IN THE DIRECTORY; 08685000=02062000= - BOOLEAN 08690000=02062500= - STREAM PROCEDURE EQUAL(COUNT, A, B); 08695000=02062500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08686000 + BOOLEAN STREAM PROCEDURE EQUAL(COUNT, A, B); 08690000=02062500= VALUE 08700000=02062500= COUNT; 08705000=02062500= BEGIN 08710000=02063000= @@ -1746,6 +1734,7 @@ COMMENT EQUAL COMPARES COUNT CHARACTERS LOCATED AT A AND B FOR 08675000 IF COUNT SC = DC THEN 08730000=02064000= EQUAL:= TALLY 08735000=02064500= END EQUAL; 08740000=02064500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08742000 PROCEDURE READACARD; 08745000=02065000= FORWARD; 08750000=02065000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08755000=02065000= @@ -1803,28 +1792,29 @@ COMMENT "SCAN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 08805000 PASSED TO "SCAN" IN ORDER TO OBTAIN THE MOST USEFULL STACK 09015000=02088000= ARRANGEMENT. 09020000=02088500= ; 09025000=02089000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09026000 STREAM PROCEDURE SCAN(NCR, COUNTV, ACCUM, COMCOUNT, RESULT, 09030000=02090000= RESULTV, COUNT, ST2, NCRV, ST1); 09035000=02090000= VALUE 09040000=02090500= COUNTV, 09045000=02090500= - COMCOUNT, 09050000=02090500= - RESULTV, 09055000=02090500= - ST2, 09060000=02090500= - NCRV, 09065000=02090500= - ST1; 09070000=02090500= + COMCOUNT, 09050000=02090500= + RESULTV, 09055000=02090500= + ST2, 09060000=02090500= + NCRV, 09065000=02090500= + ST1; 09070000=02090500= BEGIN 09075000=02091000= LABEL 09080000=02091500= DEBLANK, 09085000=02091500= - NUMBERS, 09090000=02091500= - IDBLDR, 09095000=02091500= - GNC, 09100000=02091500= - K, 09105000=02091500= - EXIT, 09110000=02091500= - FINIS, 09115000=02091500= - L, 09120000=02091500= - ERROR, 09125000=02092000= - COMMENTS, 09130000=02092000= - COMMANTS; 09135000=02092000= + NUMBERS, 09090000=02091500= + IDBLDR, 09095000=02091500= + GNC, 09100000=02091500= + K, 09105000=02091500= + EXIT, 09110000=02091500= + FINIS, 09115000=02091500= + L, 09120000=02091500= + ERROR, 09125000=02092000= + COMMENTS, 09130000=02092000= + COMMANTS; 09135000=02092000= DI:= RESULT; 09140000=02092500= DI:= DI+7; 09145000=02092500= SI:= NCRV; 09150000=02092500= @@ -1962,12 +1952,13 @@ L: SCAN(NCR, COUNT, ACCUM[1], 63-COUNT, RESULT, RESULT, COUNT, 0 09710000 DATIME; 09810000=02183000= WRITELINE; 09815000=02183000= END #; 09820000=02183250= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09822000 STREAM PROCEDURE EDITLINE(LINE, NCR, R, L, SYMBOL, OMIT); 09825000=02183500= VALUE 09830000=02183750= NCR, 09835000=02183750= - R, 09840000=02183750= - L, 09845000=02183750= - SYMBOL, 09850000=02183750= + R, 09840000=02183750= + L, 09845000=02183750= + SYMBOL, 09850000=02183750= OMIT; 09855000=02183750= BEGIN 09860000=02184000= DI:= LINE; 09865000=02184250= @@ -1993,11 +1984,11 @@ L: SCAN(NCR, COUNT, ACCUM[1], 63-COUNT, RESULT, RESULT, COUNT, 0 09710000 COMMENT COMPARE COMPARES SEQUENCE NUMBERS OF TAPE AND CARD. IF 09965000=02187250= TAPE IS SMALLER THEN RESULT = 0 ELSE IF CARD IS SMALLER 09970000=02187500= RESULT = 1 ELSE RESULT = 2; 09975000=02187750= - REAL 09980000=02188000= - STREAM PROCEDURE COMPARE(TAPE, CARD); 09985000=02188000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09976000 + REAL STREAM PROCEDURE COMPARE(TAPE, CARD); 09980000=02188000= VALUE 09990000=02188000= TAPE, 09995000=02188000= - CARD; 10000000=02188000= + CARD; 10000000=02188000= BEGIN 10005000=02188250= SI:= TAPE; 10010000=02188500= DI:= CARD; 10015000=02188500= @@ -2011,19 +2002,20 @@ COMMENT COMPARE COMPARES SEQUENCE NUMBERS OF TAPE AND CARD. IF 09965000 END; 10055000=02189750= COMPARE:= TALLY 10060000=02190250= END COMPARE; 10065000=02190250= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%10066000 PROCEDURE OUTPUTSOURCE; 10070000=02190500= BEGIN 10075000=02190750= LABEL 10080000=02191000= LCARD, 10085000=02191000= - LTAPE, 10090000=02191000= - AWAY; 10095000=02191000= + LTAPE, 10090000=02191000= + AWAY; 10095000=02191000= SWITCH 10100000=02191250= SW:= LCARD, 10105000=02191250= - LCARD, 10110000=02191250= - LTAPE, 10115000=02191250= - AWAY, 10120000=02191250= - LCARD, 10125000=02191250= - LTAPE; 10130000=02191250= + LCARD, 10110000=02191250= + LTAPE, 10115000=02191250= + AWAY, 10120000=02191250= + LCARD, 10125000=02191250= + LTAPE; 10130000=02191250= IF SEQTOG THEN % RESEQUENCING. 10135000=02191500= BEGIN 10140000=02191750= IF TOTALNO = -10 OR NEWBASE THEN 10145000=02192000= @@ -2061,11 +2053,12 @@ COMMENT READACARD READS CARDS FROM EITHER THE CARD READER OR THE 10290000 SIGN AS AN END OF CARD SENTINEL IN COLUMN 73 AND SETS 10305000=02197750= FCR,NCR,LCR,TLCR, AND CLCR; 10310000=02198000= BEGIN 10315000=02198250= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%10316000 PROCEDURE READTAPE; 10320000=02198500= BEGIN 10325000=02201500= LABEL 10330000=02201510= ENDREADTAPE, 10335000=02201510= - EOFT; 10340000=02201510= + EOFT; 10340000=02201510= READ(TAPE, 10, TBUFF[**])[EOFT]; 10345000=02201750= LCR:= MKABS(TBUFF[9]); 10350000=02202000= GO TO ENDREADTAPE; 10355000=02202010= @@ -2085,7 +2078,7 @@ COMMENT READACARD READS CARDS FROM EITHER THE CARD READER OR THE 10290000 LIB; 10425000=02202500= REAL 10430000=02202750= TLCR, 10435000=02202750= - CLCR; 10440000=02202750= + CLCR; 10440000=02202750= BEGIN 10445000=02203000= MEDIUM:= 6"C "; % CARD READER. 10450000=02203250= IF GT1:= COMPARE(TLCR, CLCR) = 0 THEN% TAPE HAS LOW SEQUENCE NUMB10455000=02203500= @@ -2108,20 +2101,20 @@ COMMENT READACARD READS CARDS FROM EITHER THE CARD READER OR THE 10290000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%10540000=02209750= LABEL 10545000=02210000= CARDONLY, 10550000=02210000= - CARDLAST, 10555000=02210000= - TAPELAST, 10560000=02210000= - EXIT, 10565000=02210000= - FIRSTTIME, 10570000=02210250= - EOF, 10575000=02210250= - USETHESWITCH, 10580000=02210500= - COMPAR, 10585000=02210500= - TESTVOID, 10590000=02210500= - XIT; 10595000=02210500= + CARDLAST, 10555000=02210000= + TAPELAST, 10560000=02210000= + EXIT, 10565000=02210000= + FIRSTTIME, 10570000=02210250= + EOF, 10575000=02210250= + USETHESWITCH, 10580000=02210500= + COMPAR, 10585000=02210500= + TESTVOID, 10590000=02210500= + XIT; 10595000=02210500= SWITCH 10600000=02210750= USESWITCH:= CARDONLY, 10605000=02210750= - CARDLAST, 10610000=02210750= - TAPELAST, 10615000=02210750= - FIRSTTIME; 10620000=02210750= + CARDLAST, 10610000=02210750= + TAPELAST, 10615000=02210750= + FIRSTTIME; 10620000=02210750= IF ERRORCOUNT >= ERRMAX THEN 10625000=02211500= ERR(611); % ERR LIMIT EXCEEDED - STOP. 10630000=02211500= USETHESWITCH: 10635000=02211800= @@ -2252,8 +2245,7 @@ XIT: 11160000 CONVERT:= T; 11260000=02260000= END; 11265000=02261000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11270000=02261000= - REAL 11275000=02262000= - STREAM PROCEDURE FETCH(F); 11280000=02262000= + REAL STREAM PROCEDURE FETCH(F); 11275000=02262000= VALUE 11285000=02262000= F; 11290000=02262000= BEGIN 11295000=02263000= @@ -2262,23 +2254,26 @@ XIT: 11160000 DI:= LOC FETCH; 11310000=02263000= DS:= WDS 11315000=02263000= END FETCH; 11320000=02263000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11322000 PROCEDURE DUMPINFO; 11325000=02264000= BEGIN 11330000=02264050= ARRAY 11335000=02264100= A[0:14]; 11340000=02264100= INTEGER 11345000=02264100= JEDEN, 11350000=02264100= - DWA; 11355000=02264100= + DWA; 11355000=02264100= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11356000 STREAM PROCEDURE OCTALWORDS(S, D, N); 11360000=02264400= VALUE 11365000=02264400= N; 11370000=02264400= BEGIN 11375000=02264450= SI:= S; 11380000=02264500= DI:= D; 11385000=02264500= - N(2(8(DS:= 3 RESET;3 11390000=02264600= - (IF SB THEN DS:= 1 SET ELSE DS:= 1 RESET;SKIP 1 SB));DS:= 1 LIT 11395000=02264600= + N(2(8(DS:= 3 RESET; 11390000=02264600= + 3(IF SB THEN DS:= 1 SET ELSE DS:= 1 RESET;SKIP 1 SB));DS:= 1 LIT 11395000=02264600= 6" ");DS:= 2 LIT 6" "); 11400000=02264600= END OF OCTALWORDS; 11405000=02264650= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11406000 STREAM PROCEDURE ALPHAWORDS(S, D, N); 11410000=02264700= VALUE 11415000=02264700= N; 11420000=02264700= @@ -2353,6 +2348,7 @@ COMMENT DOLLARCARD HANDLES THE COMPILER CONTROL CARDS. 11655000 SETTING OF ALL OF THE COMPILER-DEFINED OPTIONS, ONE BIT PER 11765000=02304000= OPTION. 11770000=02305000= ; 11775000=02306000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11776000 BOOLEAN PROCEDURE FINDOPTION(BIT); 11780000=02307000= VALUE 11785000=02307000= BIT; 11790000=02307000= @@ -2377,6 +2373,7 @@ FOUND: 11855000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11885000=02318000= PROCEDURE DOLLARCARD; 11890000=02319000= BEGIN 11895000=02320000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11896000 STREAM PROCEDURE RESTORESEQNUM(LCR, INFO); 11900000=02320200= VALUE 11905000=02320200= LCR; 11910000=02320200= @@ -2385,6 +2382,7 @@ FOUND: 11855000 SI:= INFO; 11925000=02320600= DS:= WDS; 11930000=02320600= END; 11935000=02320800= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11936000 PROCEDURE SWITCHIT(XBIT); 11940000=02321000= VALUE 11945000=02321000= XBIT; 11950000=02321000= @@ -2393,22 +2391,22 @@ FOUND: 11855000 BEGIN 11965000=02322000= BOOLEAN 11970000=02323000= B, 11975000=02323000= - T; 11980000=02323000= + T; 11980000=02323000= INTEGER 11985000=02324000= SAVEINX; 11990000=02324000= LABEL 11995000=02325000= XMODE0, 12000000=02325000= - XMODE1, 12005000=02325000= - XMODE2, 12010000=02325000= - XMODE3, 12015000=02325000= - XMODE4, 12020000=02325000= - ALONG; 12025000=02325000= + XMODE1, 12005000=02325000= + XMODE2, 12010000=02325000= + XMODE3, 12015000=02325000= + XMODE4, 12020000=02325000= + ALONG; 12025000=02325000= SWITCH 12030000=02326000= SW:= XMODE0, 12035000=02326000= - XMODE1, 12040000=02326000= - XMODE2, 12045000=02326000= - XMODE3, 12050000=02326000= - XMODE4; 12055000=02326000= + XMODE1, 12040000=02326000= + XMODE2, 12045000=02326000= + XMODE3, 12050000=02326000= + XMODE4; 12055000=02326000= SETTING:= FINDOPTION(XBIT); 12060000=02327000= SKAN; 12065000=02327000= GO SW[XMODE+1]; 12070000=02328000= @@ -2452,31 +2450,31 @@ FOUND: 11855000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12260000=02359000= LABEL 12265000=02360000= EXIT, 12270000=02360000= - AGAIN, 12275000=02360000= - SKANAGAIN, 12280000=02360000= - LENGTH1, 12285000=02360000= - LENGTH2, 12290000=02360000= - LENGTH3, 12295000=02360000= - LENGTH4, 12300000=02361000= - LENGTH5, 12305000=02361000= - LENGTH6, 12310000=02361000= - LENGTH7, 12315000=02361000= - LENGTH8, 12320000=02361000= - LENGTH9, 12325000=02362000= - WHATISIT, 12330000=02363000= - CARDOPTION, 12335000=02363000= - MERGEOPTION; 12340000=02363000= + AGAIN, 12275000=02360000= + SKANAGAIN, 12280000=02360000= + LENGTH1, 12285000=02360000= + LENGTH2, 12290000=02360000= + LENGTH3, 12295000=02360000= + LENGTH4, 12300000=02361000= + LENGTH5, 12305000=02361000= + LENGTH6, 12310000=02361000= + LENGTH7, 12315000=02361000= + LENGTH8, 12320000=02361000= + LENGTH9, 12325000=02362000= + WHATISIT, 12330000=02363000= + CARDOPTION, 12335000=02363000= + MERGEOPTION; 12340000=02363000= SWITCH 12345000=02364000= OPTIONLENGTH:= LENGTH1, 12350000=02364000= - WHATISIT, 12355000=02364000= - LENGTH3, 12360000=02364000= - LENGTH4, 12365000=02364000= - LENGTH5, 12370000=02365000= - LENGTH6, 12375000=02365000= - LENGTH7, 12380000=02365000= - WHATISIT, 12385000=02365000= - LENGTH9, 12390000=02365000= - WHATISIT; 12395000=02365000= + WHATISIT, 12355000=02364000= + LENGTH3, 12360000=02364000= + LENGTH4, 12365000=02364000= + LENGTH5, 12370000=02365000= + LENGTH6, 12375000=02365000= + LENGTH7, 12380000=02365000= + WHATISIT, 12385000=02365000= + LENGTH9, 12390000=02365000= + WHATISIT; 12395000=02365000= INTEGER 12400000=02365100= SRESULT, 12405000=02365100= SCOUNT; 12410000=02365100= @@ -2596,8 +2594,8 @@ REAL(SETTING & (MERGETOG)[47:1]); % INVERSE OF MERGE. 12915000 LASTUSED:= 2; % NEXT CARD IS READ FROM READER. 12980000=02438000= IF MAXTLCR = 0 THEN 12985000=02439000= BEGIN 12990000=02440000= - INTEGER 12995000=02441000= - STREAM PROCEDURE FEJ(F, T); 13000000=02441000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12992000 + INTEGER STREAM PROCEDURE FEJ(F, T); 12995000=02441000= VALUE 13005000=02441000= T; 13010000=02441000= BEGIN 13015000=02442000= @@ -2609,6 +2607,7 @@ REAL(SETTING & (MERGETOG)[47:1]); % INVERSE OF MERGE. 12915000 DI:= LOC FEJ; 13045000=02444000= DS:= WDS; 13050000=02444000= END FEJ; 13055000=02445000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%13056000 STREAM PROCEDURE FIX(F, T); 13060000=02446000= VALUE 13065000=02446000= T; 13070000=02446000= @@ -2624,6 +2623,7 @@ REAL(SETTING & (MERGETOG)[47:1]); % INVERSE OF MERGE. 12915000 2(DI:= DI+48); 13120000=02450000= DS:= 8 LIT 6"00#01+0#"; 13125000=02450000= END FIX; 13130000=02451000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%13132000 IF GT1:= FEJ(TAPE, 0) = 10 THEN 13135000=02452000= BEGIN 13140000=02453000= REWIND(TAPE); 13145000=02454000= @@ -2863,6 +2863,7 @@ COMMENT TABLE IS THE ROUTINE THAT MOST CODE IN THE COMPILER 14180000 III) RETURN WITH CLASS OF ELBAT[P]. 14315000=02632000= FURTHER DETAILS ARE GIVEN IN BODY OF TABLE. 14320000=02633000= ; 14325000=02634000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%14326000 INTEGER PROCEDURE TABLE(P); 14330000=02635000= VALUE 14335000=02635000= P; 14340000=02635000= @@ -2871,40 +2872,40 @@ COMMENT TABLE IS THE ROUTINE THAT MOST CODE IN THE COMPILER 14180000 BEGIN 14355000=02636000= LABEL 14360000=02637000= PERCENT, 14365000=02637000= - SPECIALCHAR, 14370000=02637000= - COMPLETE, 14375000=02637000= - COLON, 14380000=02637000= - DOT, 14385000=02637000= - ATSIGN, 14390000=02637000= - QUOTE, 14395000=02638000= - STRNGXT, 14400000=02638000= - MOVEIT, 14405000=02638000= - ARGH, 14410000=02638000= - FINISHNUMBER, 14415000=02639000= - SCANAGAIN, 14420000=02639000= - FPART, 14425000=02639000= - EPART, 14430000=02639000= - IPART, 14435000=02639000= - IDENT, 14440000=02639000= - ROSE, 14445000=02639000= - COMPOST, 14450000=02639000= - DOLLAR, 14455000=02639000= - RTPAREN, 14460000=02640000= - CROSSHATCH, 14465000=02640000= - NUMBEREND; 14470000=02640000= + SPECIALCHAR, 14370000=02637000= + COMPLETE, 14375000=02637000= + COLON, 14380000=02637000= + DOT, 14385000=02637000= + ATSIGN, 14390000=02637000= + QUOTE, 14395000=02638000= + STRNGXT, 14400000=02638000= + MOVEIT, 14405000=02638000= + ARGH, 14410000=02638000= + FINISHNUMBER, 14415000=02639000= + SCANAGAIN, 14420000=02639000= + FPART, 14425000=02639000= + EPART, 14430000=02639000= + IPART, 14435000=02639000= + IDENT, 14440000=02639000= + ROSE, 14445000=02639000= + COMPOST, 14450000=02639000= + DOLLAR, 14455000=02639000= + RTPAREN, 14460000=02640000= + CROSSHATCH, 14465000=02640000= + NUMBEREND; 14470000=02640000= SWITCH 14475000=02641000= SPECIALSWITCH:= PERCENT, 14480000=02641000= - DOLLAR, 14485000=02641000= - DOT, 14490000=02641000= - ATSIGN, 14495000=02641000= - COLON, 14500000=02641000= - QUOTE, 14505000=02642000= - RTPAREN, 14510000=02642000= - CROSSHATCH; 14515000=02642000= + DOLLAR, 14485000=02641000= + DOT, 14490000=02641000= + ATSIGN, 14495000=02641000= + COLON, 14500000=02641000= + QUOTE, 14505000=02642000= + RTPAREN, 14510000=02642000= + CROSSHATCH; 14515000=02642000= SWITCH 14520000=02643000= RESULTSWITCH:= IDENT, 14525000=02643000= - SPECIALCHAR, 14530000=02643000= - IPART; 14535000=02643000= + SPECIALCHAR, 14530000=02643000= + IPART; 14535000=02643000= WHILE P >= NXTELBT DO 14540000=02645000= BEGIN 14545000=02645000= SCANAGAIN: 14550000=02647000= @@ -3485,10 +3486,10 @@ COMMENT#################################################################17045000 PROCEDURE GOGEN(LABELBAT, BRANCHTYPE); 17425000=03023000= VALUE 17430000=03024000= LABELBAT, 17435000=03024000= - BRANCHTYPE; 17440000=03024000= + BRANCHTYPE; 17440000=03024000= REAL 17445000=03025000= LABELBAT, 17450000=03025000= - BRANCHTYPE; 17455000=03025000= + BRANCHTYPE; 17455000=03025000= FORWARD; 17460000=03025000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17465000=03025000= BOOLEAN PROCEDURE SIMPGO; 17470000=03026000= @@ -3523,12 +3524,12 @@ COMMENT#################################################################17045000 PROCEDURE EMITB(BRANCH, FROM, TOWARDS); 17615000=03036000= VALUE 17620000=03036000= BRANCH, 17625000=03036000= - FROM, 17630000=03036000= - TOWARDS; 17635000=03036000= + FROM, 17630000=03036000= + TOWARDS; 17635000=03036000= INTEGER 17640000=03037000= BRANCH, 17645000=03037000= - FROM, 17650000=03037000= - TOWARDS; 17655000=03037000= + FROM, 17650000=03037000= + TOWARDS; 17655000=03037000= FORWARD; 17660000=03037000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17665000=03037000= PROCEDURE VARIABLE(FROM); 17670000=03038000= @@ -3559,10 +3560,10 @@ COMMENT#################################################################17045000 PROCEDURE SEGMENT(SIZE, FR); 17795000=03042000= VALUE 17800000=03042000= SIZE, 17805000=03042000= - FR; 17810000=03042000= + FR; 17810000=03042000= INTEGER 17815000=03042000= SIZE, 17820000=03042000= - FR; 17825000=03042000= + FR; 17825000=03042000= FORWARD; 17830000=03042000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17835000=03042000= INTEGER PROCEDURE BAE; 17840000=03046000= @@ -3571,13 +3572,13 @@ COMMENT#################################################################17045000 PROCEDURE PROGDESCBLDR(A, B, C, D); 17855000=03047000= VALUE 17860000=03047000= A, 17865000=03047000= - B, 17870000=03047000= - C, 17875000=03047000= - D; 17880000=03047000= + B, 17870000=03047000= + C, 17875000=03047000= + D; 17880000=03047000= INTEGER 17885000=03047100= A, 17890000=03047100= - C, 17895000=03047100= - D; 17900000=03047100= + C, 17895000=03047100= + D; 17900000=03047100= BOOLEAN 17905000=03047100= B; 17910000=03047100= FORWARD; 17915000=03047100= @@ -3595,18 +3596,18 @@ COMMENT#################################################################17045000 PROCEDURE EMITD(A, B, T); 17975000=03050000= VALUE 17980000=03050000= A, 17985000=03050000= - B, 17990000=03050000= - T; 17995000=03050000= + B, 17990000=03050000= + T; 17995000=03050000= INTEGER 18000000=03050000= A, 18005000=03050000= - B, 18010000=03050000= - T; 18015000=03050000= + B, 18010000=03050000= + T; 18015000=03050000= FORWARD; 18020000=03050000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%18025000=03050000= INTEGER PROCEDURE GETSPACE(S, L); 18030000=03051000= VALUE 18035000=03051000= S, 18040000=03051000= - L; 18045000=03051000= + L; 18045000=03051000= INTEGER 18050000=03051001= L; 18055000=03051001= BOOLEAN 18060000=03051001= @@ -3697,10 +3698,10 @@ COMMENT#################################################################17045000 PROCEDURE EMITC(REPEAT, OPERATOR); 18485000=04010000= VALUE 18490000=04010000= REPEAT, 18495000=04010000= - OPERATOR; 18500000=04010000= + OPERATOR; 18500000=04010000= INTEGER 18505000=04011000= REPEAT, 18510000=04011000= - OPERATOR; 18515000=04011000= + OPERATOR; 18515000=04011000= BEGIN 18520000=04012000= IF REPEAT >= 64 THEN 18525000=04013000= FLAG(268); 18530000=04013000= @@ -4321,6 +4322,7 @@ EXIT: 21070000 L, 21605000=05049000= L1, 21610000=05049000= EXIT; 21615000=05049000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%21616000 STREAM PROCEDURE P1(L, P); 21620000=05050000= VALUE 21625000=05050000= P; 21630000=05050000= @@ -4339,6 +4341,7 @@ EXIT: 21070000 (IF SB THEN DS:= SET ELSE DS:= RESET;SKIP 1 SB));DS:= LIT 21695000=05058000= 6" ") 21700000=05058000= END; 21705000=05058000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%21706000 STREAM PROCEDURE P2(L, P); 21710000=05059000= VALUE 21715000=05059000= P; 21720000=05059000= @@ -4352,8 +4355,8 @@ EXIT: 21070000 (DS:= 3 RESET;3(IF SB THEN DS:= SET ELSE DS:= RESET;SKIP 1 SB)21760000=05063000= ); 21765000=05063000= END; 21770000=05064000= - REAL 21775000=05065000= - STREAM PROCEDURE ABS(A); 21780000=05065000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%21772000 + REAL STREAM PROCEDURE ABS(A); 21775000=05065000= VALUE 21785000=05065000= A; 21790000=05065000= BEGIN 21795000=05066000= @@ -4363,6 +4366,7 @@ EXIT: 21070000 DI:= DI-8; 21815000=05066000= DS:= RESET 21820000=05066000= END; 21825000=05066000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%21826000 STREAM PROCEDURE BITEDUST(X, N, ID, LINE, COUNT); 21830000=05067000= VALUE 21835000=05067000= ID, 21840000=05067000= @@ -4669,8 +4673,8 @@ EXIT: 23235000 REAL 23345000=05307000= L; 23350000=05307000= BEGIN 23355000=05308000= - INTEGER 23360000=05309000= - STREAM PROCEDURE GETSYL(W, S); 23365000=05309000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%23356000 + INTEGER STREAM PROCEDURE GETSYL(W, S); 23360000=05309000= VALUE 23370000=05309000= S; 23375000=05309000= BEGIN 23380000=05310000= @@ -4710,6 +4714,7 @@ EXIT: 23235000 BEGIN 23550000=05325020= LABEL 23555000=05325030= EXIT; 23560000=05325030= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%23562000 STREAM PROCEDURE FILLIT(LIN, PORS, CELL, N, ID); 23565000=05325040= VALUE 23570000=05325050= PORS, 23575000=05325050= @@ -4835,6 +4840,7 @@ EXIT: 23235000 L1, 24175000=05334000= L2, 24180000=05334000= EXIT; 24185000=05334000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%24186000 STREAM PROCEDURE DOIT(C, A, I, S); 24190000=05334100= VALUE 24195000=05334100= C, 24200000=05334100= @@ -5014,6 +5020,7 @@ EXIT: 24705000 REAL 25070000=05414100= P, 25075000=05414100= Q; 25080000=05414100= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%25082000 STREAM PROCEDURE NESTFORM(I, N, L, A) VALUE I, N; 25085000=05415000= BEGIN 25090000=05416000= LOCAL S; 25095000=05416000= @@ -5236,6 +5243,7 @@ EXIT: 24705000 SSS; 26180000=06063500= INTEGER 26185000=06063500= Z; 26190000=06063500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26192000 STREAM PROCEDURE WRITEOUT(C, N, L); 26195000=06064000= VALUE 26200000=06064000= C, 26205000=06064000= @@ -5250,6 +5258,7 @@ EXIT: 24705000 DS:= DEC; 26250000=06067000= 58(DS:= 2 LIT 6" "); 26255000=06067500= END; 26260000=06068000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26262000 SSS:= STACKCTR; 26265000=06068500= IF STEPI ^= LEFTPAREN THEN 26270000=06069000= GO TO EXIT; 26275000=06069000= @@ -5821,6 +5830,7 @@ ANOTHER: 28800000 PCTR, 29105000=07038000= SCLASS, 29110000=07038000= ACLASS; 29115000=07038000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%29116000 STREAM PROCEDURE WRITEAX(LINE, ACCUM, N, SEQ); 29120000=07038100= VALUE 29125000=07038100= N; 29130000=07038100= @@ -5841,6 +5851,7 @@ ANOTHER: 28800000 DI:= DI-16; 29205000=07038600= DS:= WDS; 29210000=07038600= END; 29215000=07038700= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%29216000 BOOLEAN 29220000=07039000= VBIT, 29225000=07039000= IDBIT; 29230000=07039000= @@ -6414,8 +6425,8 @@ COMMENT "COCT" PERFORMS THE OCTAL CONVERT FOR THE FILL STATEMENT. 32030000 8 AND IT MUST BE RIGHT JUSTIFIED IN CD(CODEFILE). 32070000=07652000= ACC ADDRESS OF THE ACCUM WHERE ALPHA INFO IS KEPT. 32075000=07652500= ; 32080000=07653000= - REAL 32085000=07653500= - STREAM PROCEDURE COCT(N, SKBIT, ACC, CD); 32090000=07653500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32082000 + REAL STREAM PROCEDURE COCT(N, SKBIT, ACC, CD); 32085000=07653500= VALUE 32095000=07653500= N, 32100000=07653500= SKBIT; 32105000=07653500= @@ -6431,10 +6442,12 @@ COMMENT "COCT" PERFORMS THE OCTAL CONVERT FOR THE FILL STATEMENT. 32030000 (IF SB THEN DS:= 1 SET ELSE SKIP 1 DB;SKIP 1 SB)); 32155000=07656000= COCT:= TALLY 32160000=07657000= END COCT; 32165000=07657000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32166000 REAL 32170000=07657500= T2; 32175000=07657500= LABEL 32180000=07658000= L1; 32185000=07658000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32186000 STREAM PROCEDURE ZEERO(D); 32190000=07658500= BEGIN 32195000=07659000= DI:= D; 32200000=07659500= @@ -6443,6 +6456,7 @@ COMMENT "COCT" PERFORMS THE OCTAL CONVERT FOR THE FILL STATEMENT. 32030000 31(32(DS:= WDS)); 32215000=07660000= DS:= 30 WDS; 32220000=07660000= END ZEERO; 32225000=07660500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32226000 STREAMTOG:= BOOLEAN(2); 32230000=07661000= SEGMENTSTART(TRUE); 32235000=07661500= IF STEPI ^= ASSIGNOP THEN 32240000=07662000= @@ -7217,6 +7231,7 @@ EXIT: 36040000 I, 36085000=08999050= J, 36090000=08999050= K; 36095000=08999050= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%36096000 STREAM PROCEDURE MOVE(N, F, T); 36100000=08999075= VALUE 36105000=08999075= N, 36110000=08999075= @@ -7226,6 +7241,7 @@ EXIT: 36040000 DI:= T; 36130000=08999100= DS:= N WDS 36135000=08999100= END MOVE; 36140000=08999100= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%36142000 J:= -1; 36145000=08999125= READ(CODISK[NO])[EOF]; 36150000=08999150= REED:= I:= FETCH(MKABS(CODISK(1))); 36155000=08999175= @@ -7270,6 +7286,7 @@ EOF: 36210000 IS SIMPLY A CALL ON THE PROGRAM ROUTINE; 36350000=09002000= PROCEDURE PROGRAM; 36355000=09003000= BEGIN 36360000=09004000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%36362000 STREAM PROCEDURE MDESC(WD, TOLOC); 36365000=09005000= VALUE 36370000=09005000= WD; 36375000=09005000= @@ -7280,6 +7297,7 @@ EOF: 36210000 DI:= TOLOC; 36400000=09006000= DS:= WDS 36405000=09006000= END; 36410000=09006000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%36412000 DEFINE 36415000=09024000= STARTINTRSC = 426 #; 36420000=09024000= LABEL 36425000=09025000= @@ -7672,6 +7690,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 FLAG(040); 38360000=09282600= IF NOT NOHEADING THEN % PRINT THESE THINGS IF ANY 38365000=09362000= BEGIN % LISTING HAS BEEN DONE. 38370000=09363000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%38372000 STREAM PROCEDURE PAN(T, FIEL, NER, LSQ); 38375000=09364000= VALUE 38380000=09364000= NER, 38385000=09364000= @@ -7692,6 +7711,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 DS:= 4 DEC; 38460000=09369000= DS+9 LIT 6" SECONDS."; 38465000=09369000= END; 38470000=09369000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%38472000 STREAM PROCEDURE PEN(FIL, PRTSIZ, BASE, CORE, DISK); 38475000=09370000= VALUE 38480000=09371000= PRTSIZ, 38485000=09371000= @@ -7714,6 +7734,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 DS:= 5 DEC; 38570000=09376000= DS:= 61 LIT 6" "; 38575000=09376000= END PEN; 38580000=09377000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%38582000 STREAM PROCEDURE FINALAX(LINE, N, SEQ); 38585000=09378000= VALUE 38590000=09378000= N; 38595000=09378000= @@ -7729,6 +7750,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 SI:= SI-16; 38645000=09382000= DS:= 8 CHR; 38650000=09382000= END; 38655000=09383000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%38656000 IF AXNUM ^= 0 THEN 38660000=09384000= BEGIN 38665000=09384050= FINALAX(LIN[0], AXNUM, INFO[LASTSEQROW, LASTSEQUENCE]); 38670000=09384100= @@ -7762,6 +7784,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 TSSTOG; 38810000=09393020= REAL 38815000=09393020= T; 38820000=09393020= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%38822000 REAL PROCEDURE PUSHER(GRINCH, GOT, XMAS); 38825000=09393050= VALUE 38830000=09393050= XMAS; 38835000=09393050= @@ -7850,6 +7873,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 SI:= SI+7; 39250000=09393740= DS:= CHR; 39255000=09393740= END FIXHDR; 39260000=09393750= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%39262000 LABEL 39265000=09394000= EOF; 39270000=09394000= IF NOT INTOG THEN 39275000=09394100= @@ -8007,6 +8031,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 REAL 40035000=10234000= CHAR; 40040000=10234000= BEGIN 40045000=10235000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%40046000 STREAM PROCEDURE PACKINFO(INFO, ISKIP, COUNT, ASKIP, ACCUM); 40050000=10236000= VALUE 40055000=10237000= ISKIP, 40060000=10237000= @@ -8020,6 +8045,7 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 SI:= SI+3; 40100000=10239000= DS:= COUNT CHR 40105000=10240000= END PACKINFO; 40110000=10240000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%40112000 INTEGER 40115000=10241000= COUNT, 40120000=10241000= SKIPCOUNT; 40125000=10241000= @@ -8050,8 +8076,8 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 STREAM PROCEDURE SCAN(D, S, Q, N, J); 40250000=10257100= VALUE 40255000=10257100= J, 40260000=10257100= - N, 40265000=10257100= - Q; 40270000=10257100= + N, 40265000=10257100= + Q; 40270000=10257100= BEGIN 40275000=10257200= DI:= D; 40280000=10257200= DI:= DI+11; 40285000=10257200= @@ -8075,21 +8101,22 @@ COMMENT THIS IS THE FILL FOR THE SECOND ROW OF INFO: 36760000 END 40375000=10257900= END 40380000=10257900= END; 40385000=10257900= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%40386000 INTEGER 40390000=10258000= LASTRESULT; 40395000=10258000= REAL 40400000=10258100= K, 40405000=10258100= - N, 40410000=10258100= - ELCLASS; 40415000=10258100= + N, 40410000=10258100= + ELCLASS; 40415000=10258100= DEFINE 40420000=10258200= I = NXTELBT #; 40425000=10258200= LABEL 40430000=10258300= FINAL, 40435000=10258300= - PACKIN; 40440000=10258300= + PACKIN; 40440000=10258300= LABEL 40445000=10259000= BACK, 40450000=10259000= - SKSC, 40455000=10259000= - EXIT; 40460000=10259000= + SKSC, 40455000=10259000= + EXIT; 40460000=10259000= TB1:= FALSE; 40465000=10260000= CHARCOUNT:= (NEXTINFO-LASTINFO)*8; 40470000=10261000= DEFINECTR:= 1; 40475000=10262000= @@ -8284,6 +8311,7 @@ EXIT: 40870000 P, 41420000=12102000= J, 41425000=12102000= EL; 41430000=12102000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%41432000 STREAM PROCEDURE SET(S, D, K, E); 41435000=12103000= VALUE 41440000=12103000= K, 41445000=12103000= @@ -8298,6 +8326,7 @@ EXIT: 40870000 SI:= SI+6; 41490000=12105000= DS:= 2 CHR; 41495000=12105000= END; 41500000=12106000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%41502000 MACROID:= TRUE; 41505000=12107000= P:= (FIXDEFINEINFO:= T).ADDRESS; 41510000=12108000= K:= COUNT; 41515000=12109000= @@ -8702,6 +8731,7 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 BOOLEAN 43510000=13632000= SAVECODE; 43515000=13632000= BEGIN 43520000=13632100= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%43522000 STREAM PROCEDURE PRINT(SAVECODE, ADR, FIEL); 43525000=13633000= VALUE 43530000=13633000= SAVECODE, 43535000=13633000= @@ -8720,6 +8750,7 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 L1: SI:= LOC ADR; 43600000=13642000= DS:= 5 DEC; 43605000=13642000= END PRINT; 43610000=13643000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%43612000 MOVE(1, SAVECODE, CODE(0)); 43615000=13651000= IF SAVECODE AND INTOG AND NOT DECKTOG THEN 43620000=13651100= FLAG(57); 43625000=13651100= @@ -8740,6 +8771,7 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 SIZE, 43700000=13657000= FR; 43705000=13657000= BEGIN 43710000=13660000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%43712000 STREAM PROCEDURE PRINT(SIZE, FIEL); 43715000=13661000= VALUE 43720000=13661000= SIZE; 43725000=13661000= @@ -8754,6 +8786,7 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 DS:= 4 DEC; 43770000=13670000= DS:= 6 LIT 6" WORDS" 43775000=13673000= END PRINT; 43780000=13673000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%43782000 STREAM PROCEDURE DOIT(C, A, I, S, F, W); 43785000=13673100= VALUE 43790000=13673100= C, 43795000=13673100= @@ -8785,6 +8818,7 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 SI:= SI+11; 43925000=13673400= DS:= N CHR; 43930000=13673400= END DOIT; 43935000=13673450= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%43936000 IF LISTER OR SEGSTOG THEN 43940000=13674000= BEGIN 43945000=13674500= PRINT(SIZE, LIN[**]); 43950000=13675000= @@ -8841,6 +8875,7 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 SI:= LOC T1; 44205000=13711000= DS:= WDS; 44210000=13712000= END; 44215000=13713000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%44216000 PROCEDURE ENTER(TYPE); 44220000=13714000= VALUE 44225000=13715000= TYPE; 44230000=13715000= @@ -8866,15 +8901,15 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 PROCEDURE HTTEOAP(GOTSTORAGE, RELAD, STOPPER, PRTAD); 44330000=13731000= VALUE 44335000=13732000= GOTSTORAGE, 44340000=13732000= - RELAD, 44345000=13732000= - STOPPER, 44350000=13732000= - PRTAD; 44355000=13732000= + RELAD, 44345000=13732000= + STOPPER, 44350000=13732000= + PRTAD; 44355000=13732000= BOOLEAN 44360000=13733000= GOTSTORAGE; 44365000=13733000= REAL 44370000=13734000= RELAD, 44375000=13734000= - STOPPER, 44380000=13734000= - PRTAD; 44385000=13734000= + STOPPER, 44380000=13734000= + PRTAD; 44385000=13734000= BEGIN 44390000=13735000= IF FUNCTOG THEN 44395000=13737000= BEGIN 44400000=13738000= @@ -8893,10 +8928,10 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 BEGIN 44465000=13749000= INTEGER 44470000=13750000= SN, 44475000=13750000= - LN, 44480000=13750000= - P, 44485000=13750000= - LS, 44490000=13750000= - J; 44495000=13750000= + LN, 44480000=13750000= + P, 44485000=13750000= + LS, 44490000=13750000= + J; 44495000=13750000= BOOLEAN 44500000=13750000= MKST; 44505000=13750000= BOOLEAN 44510000=13750500= @@ -8905,8 +8940,8 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 43420000 PN; 44525000=13750600= LABEL 44530000=13751000= L1, 44535000=13751000= - L2, 44540000=13751000= - L3; 44545000=13751000= + L2, 44540000=13751000= + L3; 44545000=13751000= PN:= 1; 44550000=13751100= FLIPFLOP:= INLINETOG:= TRUE; 44555000=13752000= P:= 0; 44560000=13752000= @@ -9016,48 +9051,48 @@ COMMENT SOP IS TRUE IF THE BLOCK WAS CALLED BY ITSELF THROUGH THE 45040000 BEGIN 45080000=14012000= LABEL 45085000=14013000= OWNERR, 45090000=14013000= - SAVERR, 45095000=14013000= - BOOLEANDEC, 45100000=14013000= - REALDEC, 45105000=14013000= - ALPHADEC, 45110000=14013000= - INTEGERDEC, 45115000=14014000= - LABELDEC, 45120000=14014000= - DUMPDEC, 45125000=14014000= - SUBDEC, 45130000=14014000= - OUTDEC, 45135000=14014000= - INDEC, 45140000=14014000= - MONITORDEC, 45145000=14015000= - SWITCHDEC, 45150000=14015000= - PROCEDUREDEC, 45155000=14015000= - ARRAYDEC, 45160000=14015000= - NAMEDEC, 45165000=14015000= - FILEDEC, 45170000=14016000= - GOTSCHK, 45175000=14017000= - STREAMERR, 45180000=14017000= - DEFINEDEC, 45185000=14017000= - CALLSTATEMENT, 45190000=14017000= - HF, 45195000=14017000= - START; 45200000=14017000= + SAVERR, 45095000=14013000= + BOOLEANDEC, 45100000=14013000= + REALDEC, 45105000=14013000= + ALPHADEC, 45110000=14013000= + INTEGERDEC, 45115000=14014000= + LABELDEC, 45120000=14014000= + DUMPDEC, 45125000=14014000= + SUBDEC, 45130000=14014000= + OUTDEC, 45135000=14014000= + INDEC, 45140000=14014000= + MONITORDEC, 45145000=14015000= + SWITCHDEC, 45150000=14015000= + PROCEDUREDEC, 45155000=14015000= + ARRAYDEC, 45160000=14015000= + NAMEDEC, 45165000=14015000= + FILEDEC, 45170000=14016000= + GOTSCHK, 45175000=14017000= + STREAMERR, 45180000=14017000= + DEFINEDEC, 45185000=14017000= + CALLSTATEMENT, 45190000=14017000= + HF, 45195000=14017000= + START; 45200000=14017000= SWITCH 45205000=14018000= DECLSW:= OWNERR, 45210000=14018000= - SAVERR, 45215000=14018000= - BOOLEANDEC, 45220000=14018000= - REALDEC, 45225000=14018000= - INTEGERDEC, 45230000=14018000= - ALPHADEC, 45235000=14019000= - LABELDEC, 45240000=14019000= - DUMPDEC, 45245000=14019000= - SUBDEC, 45250000=14019000= - OUTDEC, 45255000=14019000= - INDEC, 45260000=14019000= - MONITORDEC, 45265000=14020000= - SWITCHDEC, 45270000=14020000= - PROCEDUREDEC, 45275000=14020000= - ARRAYDEC, 45280000=14020000= - NAMEDEC, 45285000=14020000= - FILEDEC, 45290000=14021000= - STREAMERR, 45295000=14021000= - DEFINEDEC; 45300000=14021000= + SAVERR, 45215000=14018000= + BOOLEANDEC, 45220000=14018000= + REALDEC, 45225000=14018000= + INTEGERDEC, 45230000=14018000= + ALPHADEC, 45235000=14019000= + LABELDEC, 45240000=14019000= + DUMPDEC, 45245000=14019000= + SUBDEC, 45250000=14019000= + OUTDEC, 45255000=14019000= + INDEC, 45260000=14019000= + MONITORDEC, 45265000=14020000= + SWITCHDEC, 45270000=14020000= + PROCEDUREDEC, 45275000=14020000= + ARRAYDEC, 45280000=14020000= + NAMEDEC, 45285000=14020000= + FILEDEC, 45290000=14021000= + STREAMERR, 45295000=14021000= + DEFINEDEC; 45300000=14021000= DEFINE 45305000=14022000= NLOCS = 10 #, 45310000=14022000= LOCBEGIN = PRTI #, 45315000=14023000= @@ -9070,22 +9105,22 @@ COMMENT SOP IS TRUE IF THE BLOCK WAS CALLED BY ITSELF THROUGH THE 45040000 GOTSTORAGE; 45350000=14025000= INTEGER 45355000=14026000= PINFOO, 45360000=14026000= - BLKAD; 45365000=14026000= + BLKAD; 45365000=14026000= COMMENT LOCAL TO BLOCK TO SAVE WHERE A PROCEDURE IS EMTERED 45370000=14027000= IN INFO; 45375000=14028000= REAL 45380000=14029000= MAXSTACKO, 45385000=14029000= - LASTINFOT, 45390000=14029000= - RELAD, 45395000=14029000= - LO, 45400000=14029000= - TSUBLEVEL, 45405000=14029000= - STACKCTRO; 45410000=14029000= + LASTINFOT, 45390000=14029000= + RELAD, 45395000=14029000= + LO, 45400000=14029000= + TSUBLEVEL, 45405000=14029000= + STACKCTRO; 45410000=14029000= INTEGER 45415000=14030000= SGNOO, 45420000=14030000= - LOLD, 45425000=14030000= - SAVELO, 45430000=14030000= - PRTIO, 45435000=14030000= - NINFOO; 45440000=14030000= + LOLD, 45425000=14030000= + SAVELO, 45430000=14030000= + PRTIO, 45435000=14030000= + NINFOO; 45440000=14030000= INTEGER 45445000=14031000= NCIIO; 45450000=14031000= INTEGER 45455000=14032000= @@ -9094,7 +9129,7 @@ COMMENT SOP IS TRUE IF THE BLOCK WAS CALLED BY ITSELF THROUGH THE 45040000 FIRSTXO; 45470000=14033000= BOOLEAN 45475000=14034000= FUNCTOGO, 45480000=14034000= - AJUMPO; 45485000=14034000= + AJUMPO; 45485000=14034000= BEGINCTR:= BEGINCTR+1; 45490000=14035000= IF SOP THEN 45495000=14037000= BEGIN 45500000=14037000= @@ -9335,7 +9370,8 @@ DEFINEDEC: 46660000 START; 46675000=14254050= REAL 46680000=14254100= J, 46685000=14254100= - K; 46690000=14254100= + K; 46690000=14254100= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%46692000 BOOLEAN 46695000=14254200= STREAM PROCEDURE PARM(S, D, K, J); 46700000=14254200= VALUE 46705000=14254200= @@ -9353,6 +9389,7 @@ DEFINEDEC: 46660000 TALLY:= 1; 46765000=14254600= PARM:= TALLY; 46770000=14254700= END; 46775000=14254800= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%46776000 STOPENTRY:= STOPGSP:= TRUE; 46780000=14255000= I:= I-1; 46785000=14255000= DO BEGIN 46790000=14257000= @@ -10291,15 +10328,32 @@ COMMENT DO LABEL DECS UPON APPEARANCE OF LABEL ; 51265000 BSD = 2#, COMMENT 7.5.6.5 SKIP DESTINATION BITS ; 51455000=16021000= SEC = 34#, COMMENT 7.5.10.1 SET COUNT ; 51460000=16022000= JNS = 38#; COMMENT 7.5.5.7 JUMP OUT LOOP ; 51465000=16023000= - PROCEDUREADJUST;; 51470000=16024000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51466000 + PROCEDURE ADJUST; 51470000=16024000= + ; 51472000 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51474000 COMMENT FIXC EMITS BASICLY FORWARD JUMPS. HOWEVER IN THE CASE 51475000=16024000= OF INSTRUCTIONS INTERPTED AS JUMPS BECAUSE OF A CRF ON 51480000=16025000= A VALUE = 0 AND THE JUMP } 64 SYLLABLES A JFW 1 AND 51485000=16026000= A RCA L (L IS STACK ADDRESS OF A PSEUDO LABEL WHICH 51490000=16027000= MUST ALSO BE MANUFACTURED) IS EMITTED. ; 51495000=16028000= - PROCEDUREFIXC(S);VALUES;REALS;BEGINREALSAVL, D, F;IFD:= 51500000=16032000= - (SAVL:= L)-(L:= S)-1 <= 63THENEMITC(D, GET(S))ELSEFLAG(700);L:= 51505000=16034000= - SAVL;ENDFIXC; 51510000=16058000= + PROCEDURE FIXC(S); 51500000=16032000= + VALUE 51500500 + S; 51501000 + REAL 51501500 + S; 51502000 + BEGIN 51502500 + REAL 51503000 + SAVL, 51503500 + D, 51504000 + F; 51504500 + IF D:= (SAVL:= L)-(L:= S)-1 <= 63 THEN 51505000 + EMITC(D, GET(S)) 51505500 + ELSE 51506000 + FLAG(700); 51506500 + L:= SAVL; 51507000 + END FIXC; 51507500 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51508000 COMMENT EMITJUMP IS CALLED BY GOTOS AND JUMPCHAIN. 51515000=16058000= THIS ROUTINE WILL EMIT A JUMP IF THE DISTANCE IS { 63 51520000=16059000= SYLLABLES ,OTHERWISE, IT GETS A PRT CELL AND STUFFS THE 51525000=16060000= @@ -10307,16 +10361,43 @@ COMMENT DO LABEL DECS UPON APPEARANCE OF LABEL ; 51265000 RCA ON THIS STACK CELL. AT EXECUTION TIME ACTUAL PARAPART 51535000=16062000= INSURES US THAT THIS CELL WILL CONATIN A LABEL DESCRIPTOR 51540000=16063000= POINTING TO OUR LABEL IN QUESTION. ; 51545000=16064000= - PROCEDUREEMITJUMP(E);VALUEE;REALE;BEGINREALT, D;REALADDR;IFABS 51550000=16070000= - (D:= (T:= TAKE(GIT(E)).LOC)-L-1) >= 64THENFLAG(700);ELSEEMITC 51555000=16079000= - (D, IFD < 0THENJRVELSEJFW);ENDEMITJUMP; 51560000=16081000= + PROCEDURE EMITJUMP(E); 51550000=16070000= + VALUE E; 51551000 + REAL E; 51552000 + BEGIN 51553000 + REAL 51554000 + T, 51555000 + D; 51556000 + REAL 51557000 + ADDR; 51558000 + IF ABS(D:= (T:= TAKE(GIT(E)).LOC)-L-1) >= 64 THEN 51559000 + FLAG(700) 51560000 + ELSE 51561000 + EMITC(D, IF D < 0 THEN JRV ELSE JFW); 51562000 + END EMITJUMP; 51563000 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51564000 COMMENT WHEN JUMPCHAIN IS CALLED THERE IS A LINKEDLIST IN THE CODE51565000=16081000= ARRAY WHERE JFWS MUST BE PLACED. THE 1ST LINK IS POINTED 51570000=16082000= TO BY THE LOC FIELD OF EACH LABEL ENTRY IN INFO. THE LAST 51575000=16083000= LINK IS = 4096. ; 51580000=16084000= - PROCEDUREJUMPCHAIN(E);VALUEE;REALE;BEGINREALSAVL, LINK;SAVL:= L;51585000=16089000= - L:= TAKE(GIT(E)).LASTGT;WHILEL ^= 4095DOBEGINLINK:= GET(L); 51590000=16093000= - EMITJUMP(E);L:= LINKEND;L:= SAVL;ENDJUMPCHAIN; 51595000=16098000= + PROCEDURE JUMPCHAIN(E); 51585000=16089000= + VALUE E; 51585500 + REAL E; 51586000 + BEGIN 51586500 + REAL 51587000 + SAVL, 51587500 + LINK; 51588000 + SAVL:= L; 51588500 + L:= TAKE(GIT(E)).LASTGT; 51590000=16093000= + WHILE L ^= 4095 DO 51591000 + BEGIN 51592000 + LINK:= GET(L); 51593000 + EMITJUMP(E); 51595000=16098000= + L:= LINK 51595500 + END; 51596000 + L:= SAVL; 51596500 + END JUMPCHAIN; 51597000 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51597500 COMMENT NESTS COMPILES THE NEST STATEMENT. 51600000=16098000= A VARIABLE NEST INDEX CAUSES THE CODE, 51605000=16099000= CRF V, BNS 0 ,NOP,NOP, TO BE GENERATED INITIALLY. 51610000=16100000= @@ -10334,17 +10415,55 @@ COMMENT DO LABEL DECS UPON APPEARANCE OF LABEL ; 51265000 JUMPS. 51670000=16112000= FINALLY THE BNS IS FIXED,IF REQUIRED,AND NEST LEVEL 51675000=16113000= AND JOINFO RESTORED TO THEIR ORIGINAL VALUES. ; 51680000=16114000= - PROCEDURENESTS;BEGINLABELEXIT;REALJOINT, BNSFIX;IFELCLASS ^= 51685000=16119000= - LITNOTHENBEGINEMITC(ELBAT[I].ADDRESS, CRF);BNSFIX:= L;EMIT(BNS);51690000=16123000= - ENDELSEEMITC(ELBAT[I].ADDRESS, BNS);IFSTEPI ^= LFTPARENTHENBEGIN51695000=16125000= - ERR(262);GOTOEXITEND;NESTLEVEL:= NESTLEVEL+1;JOINT:= JOINFO; 51700000=16128000= - JOINFO:= 0;DOBEGINSTEPIT;ERRORTOG:= TRUE;STREAMSTMTENDUNTIL 51705000=16131000= - ELCLASS ^= SEMICOLON;IFELCLASS ^= RTPARENTHENBEGINERR(262);GOTO 51710000=16132000= - EXITEND;EMIT(ENS);IFJOINFO ^= 0THENBEGIN 51715000=16136000= - COMMENT PREPARE TO CALL JUMPCHAIN FORJUMPOUTS; 51720000=16136000= - ADJUST;PUT(TAKE(GIT(JOINFO)) & L[LOCFLD], GIT(JOINFO));JUMPCHAIN51725000=16139000= - (TAKE(JOINFO) & JOINFO[35:35:13]);END;IFBNSFIX ^= 0THENFIXC 51730000=16141000= - (BNSFIX);NESTLEVEL:= NESTLEVEL-1;JOINFO:= JOINT;EXIT:ENDNESTS; 51735000=16145000= + PROCEDURE NESTS; 51685000=16119000= + BEGIN 51685500 + LABEL 51686000 + EXIT; 51686500 + REAL 51687000 + JOINT, 51687500 + BNSFIX; 51688000 + IF ELCLASS ^= LITNO THEN 51688500 + BEGIN 51689000 + EMITC(ELBAT[I].ADDRESS, CRF); 51689500 + BNSFIX:= L; 51690000 + EMIT(BNS); 51690500 + END 51695000=16125000= + ELSE 51696000 + EMITC(ELBAT[I].ADDRESS, BNS); 51697000 + IF STEPI ^= LFTPAREN THEN 51698000 + BEGIN 51699000 + ERR(262); 51700000=16128000= + GO TO EXIT 51701000 + END; 51702000 + NESTLEVEL:= NESTLEVEL+1; 51703000 + JOINT:= JOINFO; 51704000 + JOINFO:= 0; 51705000=16131000= + DO BEGIN 51706000 + STEPIT; 51707000 + ERRORTOG:= TRUE; 51708000 + STREAMSTMT 51709000 + END 51710000 + UNTIL ELCLASS ^= SEMICOLON; 51711000 + IF ELCLASS ^= RTPAREN THEN 51712000 + BEGIN 51713000 + ERR(262); 51714000 + GO TO EXIT 51715000 + END; 51716000 + EMIT(ENS); 51717000 + IF JOINFO ^= 0 THEN 51718000 + BEGIN 51719000 + COMMENT PREPARE TO CALL JUMPCHAIN FORJUMPOUTS; 51720000=16136000= + ADJUST; 51725000=16139000= + PUT(TAKE(GIT(JOINFO)) & L[LOCFLD], GIT(JOINFO)); 51726000 + JUMPCHAIN(TAKE(JOINFO) & JOINFO[35:35:13]); 51727000 + END; 51728000 + IF BNSFIX ^= 0 THEN 51729000 + FIXC(BNSFIX); 51730000 + NESTLEVEL:= NESTLEVEL-1; 51731000 + JOINFO:= JOINT; 51732000 + EXIT: 51733000 + END NESTS; 51734000 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51735000 COMMENT LABELS HANDLES STREAM LABELS. 51740000=16145000= ALL LABELS ARE ADJUSTED TO THE BEGINING OF THE NEXT 51745000=16146000= WORD (IN THE PROGRAMSTREAM). 51750000=16147000= @@ -10356,13 +10475,34 @@ COMMENT DO LABEL DECS UPON APPEARANCE OF LABEL ; 51265000 MULTIPLE OCCURANCES ARE ALSO CHECKED FOR AND FLAGGED. 51780000=16153000= FINALLY,JUMPCHAIN IS CALLED TO FIX UP ANY FORWARD GO TOS 51785000=16154000= AND GET A PRT LOCATION FOR ANY JUMPS }64 SYLLABLES. ; 51790000=16155000= - PROCEDURELABELS;BEGINREALGT1;ADJUST;GT1:= ELBAT[I];IFSTEPI ^= 51795000=16160000= - COLONTHENERR(258)ELSEBEGINIFTAKE(GT2:= GIT(GT1)).LOC ^= 0THEN 51800000=16163000= - FLAG(259);IFGT1 > 0THENBEGINPUT 51805000=16166000= - (-(TAKE(GT1) & NESTLEVEL[11:43:5]), GT1);PUT(-L, GT2)ENDELSE 51810000=16170000= - BEGINIFGT1.LEVEL ^= NESTLEVELTHENFLAG(257);PUT 51815000=16172000= - ((-L) & TAKE(GT2)[LGTFLD], GT2);JUMPCHAIN(GT1);END;END;STEPIT; 51820000=16177000= - ENDLABELS; 51825000=16178000= + PROCEDURE LABELS; 51795000=16160000= + BEGIN 51795500 + REAL 51796000 + GT1; 51796500 + ADJUST; 51797000 + GT1:= ELBAT[I]; 51797500 + IF STEPI ^= COLON THEN 51798000 + ERR(258) 51798500 + ELSE 51799000 + BEGIN 51799500 + IF TAKE(GT2:= GIT(GT1)).LOC ^= 0 THEN 51800000 + FLAG(259); 51805000=16166000= + IF GT1 > 0 THEN 51806000 + BEGIN 51807000 + PUT(-(TAKE(GT1) & NESTLEVEL[11:43:5]), GT1); 51808000 + PUT(-L, GT2) 51809000 + END 51810000 + ELSE 51811000 + BEGIN 51815000=16172000= + IF GT1.LEVEL ^= NESTLEVEL THEN 51816000 + FLAG(257); 51817000 + PUT((-L) & TAKE(GT2)[LGTFLD], GT2); 51818000 + JUMPCHAIN(GT1); 51819000 + END; 51820000 + END; 51821000 + STEPIT; 51822000 + END LABELS; 51825000=16178000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51826000 COMMENT IFS COMPILES IF STATEMENTS. 51830000=16178000= FIRST THE TEST IS COMPILED. NOTE THAT IN THE 51835000=16179000= CONSTRUCTS "SC RELOP DC" AND "SC RELOP STRING" THAT 51840000=16180000= @@ -10376,27 +10516,29 @@ COMMENT DO LABEL DECS UPON APPEARANCE OF LABEL ; 51265000 THIS PROCEDURE DOES NO OPTIMAZATION IN THE CASES 51880000=16188000= IF THEN GO TO L,IF THEN STATEMENT ELSE GO TO L, OR 51885000=16189000= IF THEN GO TO L1 ELSE GO TO L2 ; 51890000=16190000= - PROCEDUREIFS;BEGINDEFINECOMPARECODE = 51895000=16192000= - [42:6] #, 51900000=16192000= - TESTCODE = [36:6] #; 51905000=16192000= + PROCEDURE IFS; 51895000=16192000= + BEGIN 51896000 + DEFINE 51898000 + COMPARECODE = [42:6] #, 51900000 + TESTCODE = [36:6] #; 51905000=16192000= LABEL 51910000=16193000= IFSB, 51915000=16193000= - IFTOG, 51920000=16193000= - IFSC, 51925000=16193000= - EXIT; 51930000=16193000= + IFTOG, 51920000=16193000= + IFSC, 51925000=16193000= + EXIT; 51930000=16193000= SWITCH 51935000=16194000= IFSW:= IFSB, 51940000=16194000= - IFTOG, 51945000=16194000= - IFSC; 51950000=16194000= + IFTOG, 51945000=16194000= + IFSC; 51950000=16194000= REAL 51955000=16195000= ADDR, 51960000=16195000= - FIX1, 51965000=16195000= - FIX2; 51970000=16195000= + FIX1, 51965000=16195000= + FIX2; 51970000=16195000= ADDR:= 1; 51975000=16196000= GO TO IFSW[STEPI-SBV+1]; 51980000=16197000= IF ELCLASS = LOCLID THEN 51985000=16198000= BEGIN 51990000=16199000= - EMITC(ELBAT[I].ADDRESS, CRF); 51995000=16200000= + EMITC(ELBAT[I].ADDRESS, CRF); 51995000=16200000= ADDR:= 0; 52000000=16201000= END 52005000=16204000= ELSE 52010000=16204000= @@ -10539,14 +10681,14 @@ EXIT: 52520000 BEGIN 52695000=16312000= LABEL 52700000=16313000= EXIT, 52705000=16313000= - GENERATE, 52710000=16313000= - L, 52715000=16313000= - L1; 52720000=16313000= + GENERATE, 52710000=16313000= + L, 52715000=16313000= + L1; 52720000=16313000= INTEGER 52725000=16314000= TCLASS, 52730000=16314000= - INDEX, 52735000=16314000= - ADDR, 52740000=16314000= - J; 52745000=16314000= + INDEX, 52735000=16314000= + ADDR, 52740000=16314000= + J; 52745000=16314000= TCLASS:= ELCLASS; 52750000=16315000= IF STEPI ^= ASSIGNOP THEN 52755000=16316000= BEGIN 52760000=16316000= @@ -10611,13 +10753,13 @@ EXIT: 53005000 BEGIN 53055000=16363000= INTEGER 53060000=16364000= ADDR, 53065000=16364000= - J, 53070000=16364000= - K, 53075000=16364000= - L, 53080000=16364000= - T; 53085000=16364000= + J, 53070000=16364000= + K, 53075000=16364000= + L, 53080000=16364000= + T; 53085000=16364000= LABEL 53090000=16365000= EXIT, 53095000=16365000= - L1; 53100000=16365000= + L1; 53100000=16365000= DEFINE 53105000=16366000= OPCODE = [27:6] #; 53110000=16366000= IF STEPI ^= ASSIGNOP THEN 53115000=16367000= @@ -10766,34 +10908,34 @@ EXIT: 53360000 THE SEMICOLON ,END OR ) IN SYNTACICALLY CORRECT PROGRAMS; 53830000=16474000= LABEL 53835000=16475000= L, 53840000=16475000= - L1, 53845000=16475000= - L2, 53850000=16475000= - L3, 53855000=16475000= - L4, 53860000=16475000= - L5, 53865000=16475000= - L6, 53870000=16475000= - L7, 53875000=16475000= - L8, 53880000=16475000= - L9, 53885000=16475000= - L10, 53890000=16475000= - EXIT, 53895000=16475000= - FINI, 53900000=16475000= - START; 53905000=16475000= + L1, 53845000=16475000= + L2, 53850000=16475000= + L3, 53855000=16475000= + L4, 53860000=16475000= + L5, 53865000=16475000= + L6, 53870000=16475000= + L7, 53875000=16475000= + L8, 53880000=16475000= + L9, 53885000=16475000= + L10, 53890000=16475000= + EXIT, 53895000=16475000= + FINI, 53900000=16475000= + START; 53905000=16475000= SWITCH 53910000=16476000= TYPE:= FINI, 53915000=16476000= - L, 53920000=16476000= - FINI, 53925000=16476000= - L3, 53930000=16476000= - L4, 53935000=16476000= - L5, 53940000=16476000= - L6, 53945000=16476000= - L7, 53950000=16476000= - L7, 53955000=16476000= - L7, 53960000=16476000= - L7, 53965000=16476000= - L8, 53970000=16476000= - L9, 53975000=16476000= - L10; 53980000=16476000= + L, 53920000=16476000= + FINI, 53925000=16476000= + L3, 53930000=16476000= + L4, 53935000=16476000= + L5, 53940000=16476000= + L6, 53945000=16476000= + L7, 53950000=16476000= + L7, 53955000=16476000= + L7, 53960000=16476000= + L7, 53965000=16476000= + L8, 53970000=16476000= + L9, 53975000=16476000= + L10; 53980000=16476000= START: 53985000=16477000= GO TO TYPE[ELCLASS-ENDV+1]; 53990000=16477000= IF ELCLASS = RTPAREN THEN 53995000=16478000= @@ -10849,5 +10991,4 @@ MOVE(1, I, CODE(0)); 54240000 TIME1:= TIME(1); 54245000=16495200= PROGRAM; 54250000=16495200= ENDOFITALL: 54255000=16495210= -END MAIN BLOCK 54260000=16495300= -. 54265000=16495300= +END MAIN BLOCK. 54260000=16495300=