diff --git a/SYMBOL/ALGOL.alg_m b/SYMBOL/ALGOL.alg_m index d13ebf0..86ee1d4 100644 --- a/SYMBOL/ALGOL.alg_m +++ b/SYMBOL/ALGOL.alg_m @@ -2727,7 +2727,7 @@ COMMENT DOLLARCARD HANDLES THE COMPILER CONTROL CARDS. 02282000 HISTORY OF THE SETTINGS OF THIS OPTION. 02293000 02294000 IN "FINDOPTION", ALL COMPILER-DEFINED OPTIONS ARE USUALLY 02295000 - LOCATES BASED UPON A UNIQUE NUMBER ASSIGNED TO EACH. 02296000 + LOCATED BASED UPON A UNIQUE NUMBER ASSIGNED TO EACH. 02296000 FOR ALL USER-DEFINED OPTIONS, A SEQUENTIAL TABLE SEARCH IS 02297000 INITIATED USING "USEROPINX" AS THE INITIAL INDEX INTO THE 02298000 "OPTIONS" ARRAY. IF THE NUMBER OF COMPILER-DEFINED OPTIONS 02299000 @@ -3105,7 +3105,7 @@ SPECIALCHAR: 02651000 GT1:=ACCUM[1].[18:6] - 2; 02652000 ENDTOG:=GT1 = 57 AND ENDTOG; 02653000 COMMENT OBTAIN ACTUAL CHARACTER FROM ACCUM; 02654000 - T:=SPECIAL[GT1>1[42:41:3]; 02655000 + T:=SPECIAL[GT1>1[42:41:3]]; 02655000 COMMENT NOTICE COMPRESSION TECHNIQUE USED TO SHORTEN TABLE OF 02656000 ELBAT WORDS FOR SPECIAL CHARACTERS; 02657000 IF GT1:=T.INCR = 0 THEN GO COMPLETE; 02658000 @@ -3921,9 +3921,9 @@ PROCEDURE EMITC(REPEAT,OPERATOR); VALUE REPEAT,OPERATOR; 04010000 VALUE S; REAL S ; 04278000 IF STREAMTOG THEN 04279000 IF SINGLTOG THEN 04279100 - WRITE(LINE,BUG,B2D(L),COP[S.[42:6]],B2D(S.[36:6]),B2D(S)); 04279200 + WRITE(LINE,BUG,B2D(L),COP[S.[42:6]],B2D(S.[36:6]),B2D(S)) 04279200 ELSE 04279300 - WRITE(LINE[DBL],BUG,B2D(L),COP[S.[42:6],B2D(S.[36:6]), 04280000 + WRITE(LINE[DBL],BUG,B2D(L),COP[S.[42:6]],B2D(S.[36:6]), 04280000 B2D(S)) 04281000 04282000 ELSE 04283000 @@ -8056,7 +8056,7 @@ DO PUT(TAKE(NEXTINFO)&STACKHEAD[GT2~TAKE(NEXTINFO+1)MOD 125][35:35:13], 09214520 OCT0000, COMMENT SYNTAX ERROR02 ; 09218000 OCT0140, COMMENT INC A 03 ; 09219000 OCT0130, COMMENT SRS A 04 ; 09220000 - OCT0117 COMMENT SRD A 05 ; 09221000 + OCT0117, COMMENT SRD A 05 ; 09221000 OCT0000, COMMENT SYNTAX ERROR06 ; 09222000 OCT0000, COMMENT SYNTAX ERROR07 ; 09223000 OCT00310143, COMMENT CRF A, SFS 008 ; 09224000 @@ -8091,10 +8091,10 @@ DO PUT(TAKE(NEXTINFO)&STACKHEAD[GT2~TAKE(NEXTINFO+1)MOD 125][35:35:13], 09214520 "[# ", 09251020 "]# ", 09251030 "># ", 09251040 - "}# ", 09251050 + "}# ", 09251050 "=# ", 09251060 "!# ", 09251070 - "{# ", 09251080 + "{# ", 09251080 "<# ", 09251090 "|# ", 09251100 "1# ", 09251101 @@ -8291,7 +8291,7 @@ COMMENT WRITE DISK SEGMENT ZERO; 09406000 I4/"ESTIMATED CORE STORAGE REQUIRED =",I6," WORDS.", 09413000 /"ESTIMATED AUXILIARY MEMORY REQUIRED =",I6," WORDS.", 09414000 /"NUMBER OF CARD-IMAGES PROCESSED =",F7.0); 09414100 -FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 09414101 +FORMAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 09414101 MOVECHARACTERS(4,INFO[LASTSEQROW,LASTSEQUENCE-1],0,GT1,4);09415000 MOVECHARACTERS(4,INFO[LASTSEQROW,LASTSEQUENCE-1],4,GT2,4);09416000 IF CHECKTOG THEN 09416001 @@ -8633,7 +8633,7 @@ END END END PROGRAM; 09420000 SKIPCOUNT ~ COUNT-(COUNT~REMCOUNT); 10247000 REMCOUNT ~ 2048 END 10248000 ELSE REMCOUNT ~ REMCOUNT-COUNT; 10249000 - GT1 ~ CHARCOUNT DIV 8 ~ NEXTTEXT; 10250000 + GT1 ~ CHARCOUNT DIV 8 + NEXTTEXT; 10250000 PACKINFO(TEXT[GT1.LINKR,GT1.LINKC], CHARCOUNT.[45:3],10251000 COUNT,0,CHAR); 10252000 IF SKIPCOUNT ! 0 THEN 10253000 @@ -12633,7 +12633,7 @@ IF (XREF OR DEFINING.[1:1) AND XLUN > 0 THEN %116-17001000 BLANKET(PAY[*]); %116-17094650 SETUPHEADING(XREFAY1[*],PAY[*],XREFAY1[8]. 17094700 SEGNOF,A[0].SEQNOF,FWDTOG,LBLTOG, %116-17094800 - FWDSEQNO.IDTYPE[(IF (I := %116-17094900 + FWDSEQNO,IDTYPE[(IF (I := %116-17094900 XREFAY1[9].CLASS) } FIELDID THEN %117-17095000 (IDMAX + I - FIELDID + 1) ELSE %117-17095100 IF I > IDMAX THEN 0 ELSE I) | 4], %116-17095200 diff --git a/tools/xem/ALGOLXEM.alg_m b/tools/xem/ALGOLXEM.alg_m index d61c23d..e2f05bf 100644 --- a/tools/xem/ALGOLXEM.alg_m +++ b/tools/xem/ALGOLXEM.alg_m @@ -1,4 +1,4 @@ - $SET OMIT LISTA = LIST 00001000=00000999= + $SET OMIT LISTA = LIST 00001000120325PK %#######################################################################00002000=00001000= % 00003000=00001010= % B-5700 ALGOL/TSPOL SYMBOLIC 00004000=00001020= @@ -84,17 +84,17 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000 00084000=00059000= 031 LISTDEC: MISSING ( IN LISTDEC. 00085000=00060000= 032 FORMATDEC: MISSING ( IN FORMAT DEC. 00086000=00061000= - 033 SWITCHDEC: SWITCH DEC DOES NOT HAVE ~ OR 00087000=00062000= + 033 SWITCHDEC: SWITCH DEC DOES NOT HAVE := OR 00087000=00062000= FORWARD AFTER IDENTIFIER. 00088000=00063000= - 034 SWITCHFILEDEC:MISSING ~ AFTER FILED. 00089000=00064000= + 034 SWITCHFILEDEC:MISSING := AFTER FILED. 00089000=00064000= 035 SWITCHFILEDEC:NON FILE ID APPEARING IN DECLARATION 00090000=00065000= OF SWITCHFILE. 00091000=00066000= - 036 SUPERFORMATDEC:FORMAT ID NOT FOLLOWED BY ~ . 00092000=00067000= + 036 SUPERFORMATDEC:FORMAT ID NOT FOLLOWED BY := . 00092000=00067000= 037 SUPERFORMATDEC:MISSING ( AT START OF FORMATPHRASE . 00093000=00068000= 038 SUPERFORMATDEC:FORMAT SEGMENT >1022 WORDS. 00094000=00069000= 039 BLOCK: NUMBER OF NESTED BLOCKS IS GREATER THAN 31 00095000=00069100= 040 IODEC: PROGRAM PARAMETER BLOCK SIZE EXCEEDED 00096000=00069200= - 041 HANDLESWLIST: MISSING ~ AFTER SWITCH LIST ID. 00097000=00069300= + 041 HANDLESWLIST: MISSING := AFTER SWITCH LIST ID. 00097000=00069300= 042 HANDLESWLIST: ILLEGAL LIST ID APPEARING IN SWITCH LIST. 00098000=00069400= 043 IODEC: MISSING ] AFTER DISK IN FILEDEC. 00099000=00069500= 044 IODEC: MISSING [ AFTER DISK IN FILEDEC. 00100000=00069600= @@ -109,7 +109,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000 052 SAVEPROC :STATEMENT MAY NOT START WITH THIS KIND OF 00109000=00069933= IDENTIFIER. 00110000=00069934= 059 ARRAYDEC: IMPROPER ARRAY SIZE. 00111000=00069938= - 060 FAULTSTMT: MISSING ~ IN FAULT STATEMENT. 00112000=00069940= + 060 FAULTSTMT: MISSING := IN FAULT STATEMENT. 00112000=00069940= 061 FAULTDEC: INVALID FAULT TYPE: MUST BE FLAG, EXPOVR, ZERO, 00113000=00069950= INTOVR, OR INDEX. 00114000=00069960= 070 CASESTMT: MISSING BEGIN. 00115000=00069970= @@ -231,7 +231,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000 200 EMIT: SEGMENT TOO LARGE ( > 4093SYLLABLES). 00231000=00165000= 201 SIMPLE VARIABLE: PARTIAL WORD DESIGNATOR NOT LEFT-MOST 00232000=00166000= IN A LEFT PART LIST. 00233000=00167000= - 202 SIMPLE VARIABLE: MISSING . OR ~ . 00234000=00168000= + 202 SIMPLE VARIABLE: MISSING . OR := . 00234000=00168000= 203 SUBSCRIPTED VARIABLE: WRONG NUMBER OF SUBSCRIPTS IN A ROW 00235000=00169000= DESIGNATOR. 00236000=00170000= 204 SUBSCRIPTED VARIABLE: MISSING ] IN A ROW DESIGNATOR. 00237000=00171000= @@ -242,16 +242,16 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000 208 SUBSCRIPTED VARIABLE: WRONG NUMBER OF SUBSCRIPTS. 00242000=00176000= 209 SUBSCRIPTED VARIABLE: PARTIAL WORD DESIGNATOR NOT LEFT- 00243000=00177000= MOST IN A LEFT PART LIST. 00244000=00178000= - 210 SUBSCRIPTED VARIABLE: MISSING , OR ~ . 00245000=00179000= + 210 SUBSCRIPTED VARIABLE: MISSING , OR := . 00245000=00179000= 211 VARIABLE: PROCEDURE ID USED OUTSIDE OF SCOPE IN LEFT PART.00246000=00180000= 212 VARIABLE: SUB-ARRAY DESIGNATOR PERMITTED AS ACTUAL 00247000=00180100= PARAMETER ONLY. 00248000=00180200= 250 STREAM STMT:ILLEGAL STREAM STATEMENT. 00249000=00181000= - 251 ANY STREAM STMT PROCEDURE: MISSING ~. 00250000=00182000= + 251 ANY STREAM STMT PROCEDURE: MISSING :=. 00250000=00182000= 252 INDEX: MISSING + OR - . 00251000=00183000= 253 INDEX: MISSING NUMBER OR STREAM VARIABLE. 00252000=00184000= 254 SCANNER: STRING, OCTAL, OR HEX CONSTANT HAS FLAG BIT SET. 00253000=00185000= - 255 DSS: MISSING STRING IN DS~ LIT STATEMENT. 00254000=00186000= + 255 DSS: MISSING STRING IN DS:= LIT STATEMENT. 00254000=00186000= 256 RELEASES: MISSING PARENTHESIS OR FILE IDENTIFIER IS NOT 00255000=00187000= A FORMAL PARAMETER. 00256000=00188000= 257 GOTOS,LABELS,OR JUMPS: LABEL SPECIFIED IS NOT ON THE SAME 00257000=00189000= @@ -268,7 +268,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000 266 IFS: MISSING THEN INIF STATEMENT. 00268000=00200000= 267 FREDFIX: THERE ARE GO TO STATEMENTS IN WHICH THE LABEL IS 00269000=00201000= UNDEFINED. 00270000=00202000= - 268 EMITO: A REPEAT INDEX } 64 WAS SPECIFIED OR TOO MANY 00271000=00203000= + 268 EMITO: A REPEAT INDEX >= 64 WAS SPECIFIED OR TOO MANY 00271000=00203000= FORMAL PARAMETERS,LOCALS AND LABELS. 00272000=00204000= 269 TABLE: A CONSTANT IS SPECIFIED WHICH IS TOO LARGE 00273000=00205000= OR TOO SMALL. 00274000=00206000= @@ -282,7 +282,7 @@ ERROR NUMBER ROUTINE:ERROR MESSAGE 00025000 286 DBLSTMT: ILLEGAL PARAMETER . 00282000=00211100= 290 FILEATTRIBUTEHANDLER: MISSING . IN FILE ATTRIBUTE PART 00283000=00211510= 291 FILEATTRIBUTEHANDLER: MISSING OR UNDEFINED FILE ATTRIBUTE00284000=00211520= - 292 FILEATTRIBUTEHANDLER: MISSING ~ IN FILE ATTR ASSIGN STMT 00285000=00211530= + 292 FILEATTRIBUTEHANDLER: MISSING := IN FILE ATTR ASSIGN STMT00285000=00211530= 293 FILEATTRIBUTEHANDLER: FILE ATTRIBUTE IS NON ASSIGNABLE 00286000=00211540= 294 PRIMARY: FILE ATTRIBUTE IS NOT TYPE REAL 00287000=00211550= 295 FILEATTRIBUTEHANDLER: FILE ATTRIBUTE MUST BE LEFT MOST 00288000=00211551= @@ -463,13 +463,13 @@ INTEGER 00555000 INTEGER 00565000=00504200= LASTADDRESS; 00570000=00504200= ARRAY 00575000=00504300= - ENIL[0:7, 0:127]; 00580000=00504300= + ENIL[0:7, 0:127]; 00580000=00504300= INTEGER 00585000=00504400= ENILPTR; 00590000=00504400= DEFINE 00595000=00504500= - ENILSPOT = ENIL[ENILPTR.[38:3], ENILPTR.[41:7]] #; 00600000=00504500= + ENILSPOT = ENIL[ENILPTR.[9:3], ENILPTR.[6:7]] #; 00600000=00504500= ARRAY 00605000=00504600= - LDICT[0:7, 0:127]; 00610000=00504600= + LDICT[0:7, 0:127]; 00610000=00504600= BOOLEAN 00615000=00504700= BUILDLINE; 00620000=00504700= BOOLEAN 00625000=00504801= @@ -492,8 +492,8 @@ REAL 00645000 THE MAIN BLOCK; 00710000=00509000= 00715000=00510000= COMMENT EXAMIN RETURNS THE CHARACTER AT ABSOLUTE ADDRESS NCR; 00720000=00510000= -REAL 00725000=00511000= - STREAM PROCEDURE EXAMIN(NCR); 00730000=00511000= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%00725000=00511000= +REAL STREAM PROCEDURE EXAMIN(NCR); 00730000=00511000= VALUE 00735000=00511000= NCR; 00740000=00511000= BEGIN 00745000=00512000= @@ -502,8 +502,8 @@ VALUE 00735000 DI:= DI+7; 00760000=00512000= DS:= CHR 00765000=00512000= END; 00770000=00512000= -REAL 00775000=00512100= - STREAM PROCEDURE EXAMINELAST(AC, CT); 00780000=00512100= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%00775000=00512100= +REAL STREAM PROCEDURE EXAMINELAST(AC, CT); 00780000=00512100= VALUE 00785000=00512100= CT; 00790000=00512100= BEGIN 00795000=00512200= @@ -513,11 +513,13 @@ VALUE 00785000 DI:= DI+7; 00815000=00512400= DS:= 1 CHR; 00820000=00512500= END EXAMINELAST; 00825000=00512600= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%00826000 COMMENT MOVECHARACTERS MOVES N CHARACTERS FROM THE SK-TH CHARACTER 00830000=00513000= - IN SORCE TO THE DK-TH CHARACTER IN DEST, 0{N{63,0{SK{127; 00835000=00514000= + IN SORCE TO THE DK-TH CHARACTER IN DEST, 0<=N<=63,0<=SK<=127; 00835000=00514000= DEFINE 00840000=00514500= DK = DSK #; 00845000=00514500= -STREAM PROCEDURE MOVECHARACTERS(N, SORCE, SK, DEST, DSK); 00850000=00515000= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%00846000 +STREAM PROCEDURE MOVECHARACTERS(N, SORCE, SK, DEST, DSK); 00850000=00515000= VALUE 00855000=00516000= N, 00860000=00516000= SK, 00865000=00516000= @@ -541,8 +543,8 @@ VALUE 00855000 DI:= DI+DK; 00955000=00521000= DS:= N CHR; 00960000=00521000= END MOVECHARACTERS; 00965000=00522000= -INTEGER 00970000=00523000= - STREAM PROCEDURE GETF(Q); 00975000=00523000= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%00970000=00523000= +INTEGER STREAM PROCEDURE GETF(Q); 00975000=00523000= VALUE 00980000=00523000= Q; 00985000=00523000= BEGIN 00990000=00524000= @@ -558,7 +560,7 @@ VALUE 00980000 SI:= Q; 01040000=00526000= GETF:= SI 01045000=00527000= END GETF; 01050000=00527000= - 01055000=00528000= +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%01055000=00528000= COMMENT START SETTING UP FILE PARAMETERS; 01060000=00528000= IF EXAMIN(RR11:= GETF(3)+6"Y08") ^= 12 THEN 01065000=00529000= RR1:= 5 01070000=00529000= @@ -723,9 +725,10 @@ COMMENT SEQTOG INDICATES RESEQUENCING IS TO BE DONE; 01690000 SPECIAL[0:31]; 01865000=01003000= COMMENT THIS ARRAY HOLDS THE INTERNAL CODE FOR THE SPECIAL 01870000=01004000= CHARACTORS: IT IS FILLED DURING INITIALIZATION; 01875000=01005000= - SAVE ALPHA ARRAY IDARRAY[0:127]; 01880000=01006000= + SAVE ALPHA ARRAY 01880000=01006000= + IDARRAY[0:127]; 01882000 ARRAY 01885000=01007000= - INFO[0:31, 0:255]; 01890000=01007000= + INFO[0:31, 0:255]; 01890000=01007000= %***********************************************************************01895000=01007005= % X R E F S T U F F 01900000=01007010= %***********************************************************************01905000=01007015= @@ -735,7 +738,7 @@ COMMENT SEQTOG INDICATES RESEQUENCING IS TO BE DONE; 01690000 % ARRAY OF ONE WORD REFERENCE RECORDS. 01925000=01007030= % THE LAYOUT OF EACH WORD IS 01930000=01007035= % 01935000=01007040= - % .[1:5] TYPE OF REFERENCE 01940000=01007045= + % .[46:5] TYPE OF REFERENCE 01940000=01007045= % = 0 FOR FORWARD DECL 01945000=01007050= % = 1 FOR LABEL OCCURENCE 01950000=01007051= % = 2 FOR NORMAL DECL 01955000=01007055= @@ -748,15 +751,15 @@ COMMENT SEQTOG INDICATES RESEQUENCING IS TO BE DONE; 01690000 % AROUND THIS REFERENCE 01990000=01007090= % IN THE XREF 01995000=01007095= % 02000000=01007100= - % .[6:15] IDENTIFIER ID. NO. 02005000=01007105= + % .[41:15] IDENTIFIER ID. NO. 02005000=01007105= % THIS IS A UNIQUE NUMBER THAT 02010000=01007110= % IS ASSIGNED WHEN THE 02015000=01007115= % IDENTIFIER IS ENCOUNTERE 02020000=01007120= % FOR THE FIRST TIME. 02025000=01007125= % 02030000=01007130= - % .[21:27] SEQUENCE NUMBER 02035000=01007135= + % .[26:27] SEQUENCE NUMBER 02035000=01007135= % 02040000=01007140= -XREFAY1[0:9], 02045000=01007145= + XREFAY1[0:9], 02045000=01007145= % RECORD BUFFER AREA FOR WRITING OUT THE 02050000=01007145= % NAME INFORMATION RECORDS, ONE RECORD 02055000=01007150= % IS WRITTEN FOR EACH IDENTIFIER IN THE SYMBOL 02060000=01007155= @@ -770,14 +773,14 @@ XREFAY1[0:9], 02045000 % FILE ON THE RIGHT 02100000=01007195= % 02105000=01007200= % WORD 8 02110000=01007205= - % .[21:12] SEGMENT NUMBER IN WHICH 02115000=01007210= + % .[26:12] SEGMENT NUMBER IN WHICH 02115000=01007210= % THIS IDENTIFIER WAS DECLARED02120000=01007215= % 02125000=01007220= - % .[33:15] IDENTIFIER ID. NO. 02130000=01007225= + % .[14:15] IDENTIFIER ID. NO. 02130000=01007225= % 02135000=01007230= % WORD 9 ELBAT WORD 02140000=01007235= % 02145000=01007240= -XINFO[0:31, 0:127]; % THIS ARRAY CONTAINS ONE ENTRY FOR EACH ENTRY 02150000=01007245= + XINFO[0:31, 0:127];% THIS ARRAY CONTAINS ONE ENTRY FOR EACH ENTRY 02150000=01007245= % IN THE INFO TABLE. IF YOU HAVE THE INDEX 02155000=01007250= % OF THE ELBAT WORD FOR AN IDENTIFIER IN 02160000=01007255= % THE INFO TABLE YOU CAN FIND THE XINFO WORD 02165000=01007260= @@ -787,10 +790,10 @@ XINFO[0:31, 0:127]; % THIS ARRAY CONTAINS ONE ENTRY FOR EACH ENTRY 02150000 % 02185000=01007280= % EACH ENTRY CONTAINS: 02190000=01007285= % 02195000=01007290= - % .[21:12] SEGMENT NUMBER IN WHICH 02200000=01007295= + % .[26:12] SEGMENT NUMBER IN WHICH 02200000=01007295= % THIS IDENTIFIER WAS DECL02205000=01007300= % 02210000=01007305= - % .[33:15] IDENTIFIER ID. NO. 02215000=01007310= + % .[14:15] IDENTIFIER ID. NO. 02215000=01007310= % IF THIS ID. NO. IS ZERO 02220000=01007315= % THEN XREF WAS NOT ON 02225000=01007320= % AT THE TIME THE IDENT 02230000=01007325= @@ -800,7 +803,7 @@ XINFO[0:31, 0:127]; % THIS ARRAY CONTAINS ONE ENTRY FOR EACH ENTRY 02150000 % 02250000=01007345= INTEGER 02255000=01007350= % 02260000=01007350= -XREFPT, 02265000=01007355= + XREFPT, 02265000=01007355= % CONTAINS INDEX OF NEXT AVAILABLE SLOT IN 02270000=01007355= % XREFAY2, WHEN THIS BECOMES GREATER 02275000=01007360= % THAN 30 THE CURRENT ARRAY IS DUMPED TO DISK 02280000=01007365= @@ -812,16 +815,16 @@ XLUN; % THIS VARIABLE CONTROLS THE ASSIGNING OF 02295000 % 02310000=01007395= DEFINE 02315000=01007400= % 02320000=01007400= - SEGNOF = [21:12] #, 02325000=01007405= + SEGNOF = [26:12] #, 02325000=01007405= % FIELDS IN XINFO ENTRIES AND WORD 8 OF 02330000=01007405= - IDNOF = [33:15] #, 02335000=01007410= + IDNOF = [14:15] #, 02335000=01007410= % IDENTIFIER RECORDS. 02340000=01007410= % 02345000=01007415= - TYPEREF = [1:5] #, 02350000=01007420= + TYPEREF = [46:5] #, 02350000=01007420= % FIELDS OF REFERENCE WORDS 02355000=01007420= - REFIDNOF = [6:15] #, 02360000=01007425= + REFIDNOF = [41:15] #, 02360000=01007425= % 02365000=01007425= - SEQNOF = [21:27] #, 02370000=01007430= + SEQNOF = [26:27] #, 02370000=01007430= % 02375000=01007430= % 02380000=01007435= XREFIT(INDEX, SEQNO, REFTYPE) = % DEFINE TO ADD INFO TO REF TABLE 02385000=01007440= @@ -838,7 +841,7 @@ XLUN; % THIS VARIABLE CONTROLS THE ASSIGNING OF 02295000 % 02440000=01007465= XREFDUMP(INDEX) = % DEFINE TO DUMP SYMBOL TABLE INFO FOR IDENTIFIER02445000=01007470= BEGIN 02450000=01007475= - IF DEFINING.[1:1] THEN 02455000=01007475= + IF DEFINING.[46:1] THEN 02455000=01007475= CROSSREFDUMP(INDEX); 02460000=01007475= END #, 02465000=01007480= % 02470000=01007480= @@ -865,9 +868,9 @@ XLUN; % THIS VARIABLE CONTROLS THE ASSIGNING OF 02295000 OR RESERVED WORD. THE FIRST WORD OF A GIVEN ENTRY IS 02575000=01009000= THE INTERNAL CODE (OR ELBAT WORD AS IT IS USUALLY 02580000=01010000= CALLED). THE SECOND WORD CONTAINS THE FORWARD BIT (IN 02585000=01011000= - [1:1]) FOR PROCEDURES. THE LINK TO PREVIOUS ENTRY (IN 02590000=01012000= - [4:8]). THE NUMBER OF CHARACTORS IN THE ALPHA REPRESENTA- 02595000=01013000= - TION (IN [12:6]), AND THE FIRST 5 CHARACTERS OF ALPHA. 02600000=01014000= + [46:1]) FOR PROCEDURES. THE LINK TO PREVIOUS ENTRY (IN 02590000=01012000= + [43:8]). THE NUMBER OF CHARACTORS IN THE ALPHA REPRESENTA-02595000=01013000= + TION (IN [35:6]), AND THE FIRST 5 CHARACTERS OF ALPHA. 02600000=01014000= SUCCEDING WORDS CONTAIN THE REMAINING CHARACTORS OF ALPHA,02605000=01015000= FOLLOWED BY ANY ADDITIONAL INFORMATION. THE ELBAT WORD 02610000=01016000= AND THE ALPHA FOR ANY QUANTITY ARE NOT SPLUT ACROSS A ROW 02615000=01017000= @@ -886,7 +889,7 @@ COMMENT INFO FORMAT 02675000 FOLLOWING IS A DESCRIPTION OF THE FORMAT OF ALL TYPES OF ENTRIES 02680000=01029000= ENTERED IN INFO: 02685000=01030000= THE FIRST WORD OF ALL ENTRIES IS THE ELBAT WORD. 02690000=01031000= - THE INCR FIELD ([27:8]) CONTAINS AN INCREMENT WHICH WHEN 02695000=01032000= + THE INCR FIELD ([20:8]) CONTAINS AN INCREMENT WHICH WHEN 02695000=01032000= ADDED TO THE CURRENT INDEX INTO INFO YELDSAN INDEX TO ANY 02700000=01033000= ADDITIONAL INFO (IF ANY) FOR THIS ENTRY. 02705000=01034000= E.G. IF THE INDEX IS IX THEN INFO[(IX+INCR).LINKR,(IX+INCR). 02710000=01035000= @@ -909,9 +912,9 @@ COMMENT INFO FORMAT 02675000 IF THE NEXT AVAILABLE INFO SPACE IS CALLED NEXTINFO 02795000=01052000= THEN A IS ENTERED AS FOLLOWS:(ASSUME AN ELBAT WORD T HAS BEEN 02800000=01053000= CONSTRUCTED FOR A) 02805000=01054000= - T.LINK~ S[L]. (WHICH IS ZERO AT FIRST). 02810000=01055000= - INFO[NEXTINFO]~T, S[L]~NEXTINFO. 02815000=01056000= - NEXTINFO~NEXTINFO+NUMBER OF WORDS IN THIS 02820000=01057000= + T.LINK:= S[L]. (WHICH IS ZERO AT FIRST). 02810000=01055000= + INFO[NEXTINFO]:=T, S[L]:=NEXTINFO. 02815000=01056000= + NEXTINFO:=NEXTINFO+NUMBER OF WORDS IN THIS 02820000=01057000= ENTRY. 02825000=01058000= NOW S[L] POINTS TO THE ENTRY FOR A IN INFO AND THE ENTRY 02830000=01059000= ITSELF CONTAINS THE STOP FLAG ZERO 02835000=01060000= @@ -922,14 +925,14 @@ COMMENT INFO FORMAT 02675000 A[L] POINTS TO C,WHOSE ENTRY POINTS TO B WHOSE ENTRY 02860000=01065000= POINTS TO A. 02865000=01066000= THE SECOND WORD OF EACH ENTRY IN INFO IS MADE UP AS FOLLOWS: 02870000=01067000= - FWDPT =[1:1],THIS TELLS WHETHER A PROCEDURE WAS DECLARED 02875000=01068000= + FWDPT =[46:1],THIS TELLS WHETHER A PROCEDURE WAS DECLARED 02875000=01068000= FORWARD.IT IS RESET AT THE TIME OF ITS ACTUAL 02880000=01069000= FULL DECLARATION. 02885000=01070000= - PURPT =[4:8] THIS GIVES A DECREMENT WHICH GIVES THE RELATIVE 02890000=01071000= + PURPT =[43:8] THIS GIVES A DECREMENT WHICH GIVES THE RELATIVE 02890000=01071000= INDEX TO THE PREVIOUS INFO ENTRY WHEN SUBSTRACTED 02895000=01072000= FROM THE CURRENT ENTRY INDEX. 02900000=01073000= - [12:6] TELLS THE NUMBER OF CHARACTERS IN THE ENTRY,(<64) 02905000=01074000= - [18:30] CONTAINS THE FIRST FIVE ALPHA CHARACTERS OF THE ENTRY 02910000=01075000= + [35:6] TELLS THE NUMBER OF CHARACTERS IN THE ENTRY,(<64) 02905000=01074000= + [29:30] CONTAINS THE FIRST FIVE ALPHA CHARACTERS OF THE ENTRY 02910000=01075000= AND SUCCEEDING WORDS CONTAIN ALL OVERFLOW IF NEEDED. 02915000=01076000= THESE WORDS CONTAIN 8 CHARACTERS EACH,LEFT JUSTIFIED. 02920000=01077000= THUS,AN ENTRY FOR SYMBOL FOLLOWED BY AN ENTRY 02925000=01078000= @@ -957,66 +960,66 @@ COMMENT INFO FORMAT 02675000 OTHER ENTRIES REQUIRE ADDITIONAL INFORMATION. 03035000=01100000= ARRAYS: 03040000=01101000= THE FIRST WORD OF ADDITIONAL INFO CONTAINS THE NUMBER OF 03045000=01102000= - DIMENSIONS(IN THE LOW ORDER PART).[40:8] 03050000=01103000= + DIMENSIONS(IN THE LOW ORDER PART).[7:8] 03050000=01103000= EACH SUCCEEDING WORD CONTAINS INFORMATION ABOUT EACH LOWER 03055000=01104000= BOUND IN ORDER OF APPEARANCE,ONE WORD FOR EACH LOWER BOUND. 03060000=01105000= THESE WORDS ARE MADE UP AS FOLLOWS: 03065000=01106000= - [23:12] =ADD OPERATOR SYLLABLE (0101) OR 03070000=01107000= + [24:12] =ADD OPERATOR SYLLABLE (0101) OR 03070000=01107000= SUB OPERATOR SYLLABLE (0301) CORRESPONDING 03075000=01108000= RESPECTIVELY TO WHETHER THE LOWER BOUND IS 03080000=01109000= TO BE ADDED TO THE SUBSCRIPT IN INDEXING OR 03085000=01110000= SUBTRACTED. 03090000=01111000= - [35:11] =11 BIT ADDRESS OF LOWER BOUND,IF THE LOWER BOUND 03095000=01112000= + [12:11] =11 BIT ADDRESS OF LOWER BOUND,IF THE LOWER BOUND 03095000=01112000= REQUIRES A PRT OR STACK CELL.OTHERWISE THE BIT 03100000=01113000= - 35 IS IGNORED AND THE NEXT TEN BITS([36:10]) 03105000=01114000= + 35 IS IGNORED AND THE NEXT TEN BITS([11:10]) 03105000=01114000= REPRESENT THE ACTUAL VALUE OF THE LOWER BOUND 03110000=01115000= - [46:2] =00 OR 10 DEPENDING ON WHETHER THE [35:11] VALUE 03115000=01116000= + [1:2] =00 OR 10 DEPENDING ON WHETHER THE [12:11] VALUE 03115000=01116000= IS A LITERAL OR OPERAND,RESPECTIVELY. 03120000=01117000= PROCEDURES: 03125000=01118000= THE FIRST WORD OF ADDITIONAL INFO CONTAINS THE NUMBER OF 03130000=01119000= - PARAMETERS [40:8] 03135000=01120000= + PARAMETERS [7:8] 03135000=01120000= IF A STREAM PROCEDURE THEN THIS WORD CONTAINS ALSO IN 03140000=01121000= - [13:11] ENDING PRT ADDRESS FOR LABELS. 03145000=01122000= - [ 7:6] NO OF LABELS REQUIRING PRT ADDRESSES, AND [1:6] NUMBER 03150000=01123000= + [34:11] ENDING PRT ADDRESS FOR LABELS. 03145000=01122000= + [40:6] NO OF LABELS REQUIRING PRT ADDRESSES, AND [46:6] NUMBER 03150000=01123000= OF LOCALS. 03155000=01124000= SUCCEEDING WORDS (ONE FOR EACH FORMAL PARAMETER,IN ORDER 03160000=01125000= OF APPEARANCE IN FORMAL PARAPART) ARE 03165000=01126000= ELBAT WORDS SPECIFYING TYPE OF EACH PARAMETER AND WHETHER 03170000=01127000= - VALUE OR NOT([10:1]). 03175000=01128000= - THE ADDRESS([16:11]) IS THE F- ADDRESS FOR EACH. 03180000=01129000= - IF THE PARAMETER IS AN ARRAY THEN THE INCR FIELD([27:8]) 03185000=01130000= + VALUE OR NOT([37:1]). 03175000=01128000= + THE ADDRESS([31:11]) IS THE F- ADDRESS FOR EACH. 03180000=01129000= + IF THE PARAMETER IS AN ARRAY THEN THE INCR FIELD([20:8]) 03185000=01130000= CONTAINS THE NUMBER OF DIMENSIONS,OTHERWISE INCR IS MEANINGLESS. 03190000=01131000= - LINK([35:13]) IS MEANINGLESS. 03195000=01132000= + LINK([12:13]) IS MEANINGLESS. 03195000=01132000= IF A STREAM PROCEDURE THEN THE CLASS OF EACH PARAMETER IS 03200000=01133000= THAT OF LOCAL ID OR FILE ID, DEPENDING ON WHETHER OR NOT A RELEASE03205000=01134000= IS DONE IN THE STREAM PROCEDURE. 03210000=01135000= LABELS: 03215000=01136000= AT DECLARATION TIME THE ADDITIONAL INFO CONTAINS 0. THE SIGN 03220000=01137000= BIT TELLS WHETHER OR NOT THE DEFINITION POINT HAS BEEN REACHED. 03225000=01138000= - IF SIGN = 0, THEN [36:12] CONTAINS AN ADDRESS IN CODEARRAY OF A 03230000=01139000= + IF SIGN = 0, THEN [11:12] CONTAINS AN ADDRESS IN CODEARRAY OF A 03230000=01139000= LIST OF FORWARD REFERENCES TO THIS LABEL. THE END OF LIST FLAG IS03235000=01140000= - 0. IF SIGN =0, THEN [36:12] CONTAINS L FOR THIS LABEL. 03240000=01141000= + 0. IF SIGN =0, THEN [11:12] CONTAINS L FOR THIS LABEL. 03240000=01141000= SWITCHES: 03245000=01142000= - THE FIELD [36:12] CONTAINS L FOR THE BEGINNING OF SWITCH DECLAR- 03250000=01143000= - ATION. [24:12] CONTAINS L FOR FIRST SIMPLE REFERENCE TO SWITCH. 03255000=01144000= + THE FIELD [11:12] CONTAINS L FOR THE BEGINNING OF SWITCH DECLAR- 03250000=01143000= + ATION. [23:12] CONTAINS L FOR FIRST SIMPLE REFERENCE TO SWITCH. 03255000=01144000= IF SWITCH IS NOT SIMPLE, IT IS MARKED FORMAL. HERE SIMPLE MEANS 03260000=01145000= NO POSSIBILITY OF JUMPING OUT OF A BLOCK. ;03265000=01146000= DEFINE 03270000=01147000= - MON = [1:1] #, 03275000=01148000= - CLASS = [2:7] #, 03280000=01149000= - FORMAL = [9:1] #, 03285000=01150000= - VO = [10:1] #, 03290000=01151000= - LVL = [11:5] #, 03295000=01152000= - ADDRESS = [16:11] #, 03300000=01153000= - INCR = [27:8] #, 03305000=01154000= - LINK = [35:13] #, 03310000=01154100= - DYNAM = [11:16] #, 03315000=01154200= - SBITF = [21:6] #, 03320000=01154200= + MON = [46:1] #, 03275000=01148000= + CLASS = [45:7] #, 03280000=01149000= + FORMAL = [38:1] #, 03285000=01150000= + VO = [37:1] #, 03290000=01151000= + LVL = [36:5] #, 03295000=01152000= + ADDRESS = [31:11] #, 03300000=01153000= + INCR = [20:8] #, 03305000=01154000= + LINK = [12:13] #, 03310000=01154100= + DYNAM = [36:16] #, 03315000=01154200= + SBITF = [26:6] #, 03320000=01154200= % STARTING BIT FOR FIELD ID. 03325000=01154200= - NBITF = [27:6] #, 03330000=01154300= + NBITF = [20:6] #, 03330000=01154300= % NUMBER OF BITS FOR FIELD ID. 03335000=01154300= - LINKR = [35:5] #, 03340000=01156000= - LINKC = [40:8] #; 03345000=01156000= + LINKR = [12:5] #, 03340000=01156000= + LINKC = [7:8] #; 03345000=01156000= 03350000=01157000= COMMENT THESE DEFINES ARE USED TO PICK APART THE ELBAT WORD, 03355000=01157000= MON IS THE BIT WHICH IS TURNED ON IF: 03360000=01158000= @@ -1283,7 +1286,7 @@ COMMENT INFO FORMAT 02675000 IDLOC, 04665000=01341000= IDLOCTEMP; 04670000=01341000= ARRAY 04675000=01342000= - PDPRT[0:31, 0:63]; 04680000=01342000= + PDPRT[0:31, 0:63]; 04680000=01342000= COMMENT PDPRT CONTAINS INFORMATION FOR USE AT THE END OF COMPILATION 04685000=01343000= IT IS BUILT BY PROGDESCBLDR.THIS INFORMATION IS USED TO 04690000=01344000= BUILD THE SEGMENT DICTIONARY AND PRT. THERE ARE TWO TYPES 04695000=01345000= @@ -1318,24 +1321,24 @@ COMMENT THE FORMAT OF SEGMENT DICTIONARY AND PRT ENTRIES AT THE END OF 04835000 COMPILATION IS AS FOLLOWS: 04840000=01367020= SEGMENT DICTIONARY ENTRY (IE., SD[I] FOR SEGMENT NUM. I) 04845000=01367030= BIT POSITIONS CONTENTS OF FIELD 04850000=01367040= - [0:1] EMPTY 04855000=01367050= - [1:1] ON IFF TYPE 2 (DATA) SEGMENT 04860000=01367060= - [2:1] ON IFF INTRINSIC PROCEDURE 04865000=01367070= - [3:1] EMPTY (USED BY MCP PRESENCE-BIT ROUTINE) 04870000=01367075= - [4:1] ON IFF "PSEUDO-SAVE" SEGMENT 04875000=01367080= - [5:1] EMPTY (USED BY MCP OVERLAY ROUTINE) 04880000=01367085= - [8:10] R-RELATIVE LINK TO PRT ENTRY FOR THIS SEGMENT 04885000=01367090= - [18:15] SIZE (NOT USED FOR INTRINSICS) 04890000=01367100= - [33:15] DISK ADDRESS OR INTRINSIC NUMBER 04895000=01367110= + [47:1] EMPTY 04855000=01367050= + [46:1] ON IFF TYPE 2 (DATA) SEGMENT 04860000=01367060= + [45:1] ON IFF INTRINSIC PROCEDURE 04865000=01367070= + [44:1] EMPTY (USED BY MCP PRESENCE-BIT ROUTINE) 04870000=01367075= + [43:1] ON IFF "PSEUDO-SAVE" SEGMENT 04875000=01367080= + [42:1] EMPTY (USED BY MCP OVERLAY ROUTINE) 04880000=01367085= + [39:10] R-RELATIVE LINK TO PRT ENTRY FOR THIS SEGMENT 04885000=01367090= + [29:15] SIZE (NOT USED FOR INTRINSICS) 04890000=01367100= + [14:15] DISK ADDRESS OR INTRINSIC NUMBER 04895000=01367110= PRT ENTRY (IE., PROGRAM DESCRIPTOR FOR SEGMENT NUMBER I) 04900000=01367120= BIT POSITIONS CONTENTS OF FIELD 04905000=01367130= - [0:4] 1101 (BINARY) NON-PRESENT PROG, DESC. IDBITS 04910000=01367140= - [4:2] MODE AND ARGUMENT BITS 04915000=01367150= - [6:1] STOPPER (ON IFF THIS ENTRY LINKS TO SEG. DICT.) 04920000=01367160= - [7:11] IF [6:1] THEN I ELSE R-RELATIVE LINK TO ANOTHER 04925000=01367170= - PRT ENTRY FOR SEGMENT I 04930000=01367180= - [18:15] I 04935000=01367190= - [33:15] RELATIVE ADDRESS WITHIN THE SEGMENT OF THIS DESC;04940000=01367200= + [47:4] 1101 (BINARY) NON-PRESENT PROG, DESC. IDBITS 04910000=01367140= + [43:2] MODE AND ARGUMENT BITS 04915000=01367150= + [41:1] STOPPER (ON IFF THIS ENTRY LINKS TO SEG. DICT.)04920000=01367160= + [40:11] IF [41:1] THEN I ELSE R-RELATIVE LINK TO 04925000=01367170= + ANOTHER PRT ENTRY FOR SEGMENT I 04930000=01367180= + [29:15] I 04935000=01367190= + [14:15] RELATIVE ADDRESS WITHIN THE SEGMENT OF THIS DESC;04940000=01367200= 04945000=01367210= COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000=01367210= WORD CONTENTS 04955000=01367220= @@ -1361,7 +1364,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 SGNO; 05055000=01370000= COMMENT THIS IS THE CURRENT SEGMENT NUMBER; 05060000=01370000= ARRAY 05065000=01371000= - EDOC[0:7, 0:127], 05070000=01371000= + EDOC[0:7, 0:127], 05070000=01371000= COP[0:63], 05075000=01371000= WOP[0:127], 05080000=01371000= POP[0:10]; 05085000=01371000= @@ -1545,7 +1548,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 ALPHA ARRAY 05975000=01481100= DEFINFO[0:89]; 05980000=01481100= ALPHA ARRAY 05985000=01481200= - TEXT[0:31, 0:255]; 05990000=01481200= + TEXT[0:31, 0:255]; 05990000=01481200= INTEGER 05995000=01481300= DEFSTACKHEAD; % STACKHEAD FOR DEFINE PARAMETERS 06000000=01481300= INTEGER 06005000=01481400= @@ -1565,7 +1568,8 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 P, COMMENT CONTAINS NUMBER OF FORMALS FOR STREAM PROCS; 06075000=01489000= Z; 06080000=01490000= COMMENT CONTAINS 1ST WORD OF INFO FOR STREAM FUNCTIONS; 06085000=01490000= - SAVE ALPHA ARRAY DEFINEARRAY[0:34]; 06090000=01491000= + SAVE ALPHA ARRAY 06090000=01491000= + DEFINEARRAY[0:34]; 06092000 COMMENT THESE VARIABLES ARE USED TO CONTROL ACTION OF THE DEFINE. 06095000=01492000= DEFINECTR COUNTS DEPTH OF NESTING OF DEFINE-# PAIRS. 06100000=01493000= THE CROSSHATCH PART OF THE TABLE ROUTINE USES DEFINECTR 06105000=01494000= @@ -1593,47 +1597,47 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 RRB2; 06215000=01525000= COMMENT SEE COMMENT AT RRB1 DECLARATION; 06220000=01525000= DEFINE 06225000=01526000= - ARRAYMONFILE = [27:11] #; 06230000=01526000= + ARRAYMONFILE = [20:11] #; 06230000=01526000= COMMENT ARRAYMONFILE IS THE DEFINE FOR 06235000=01526000= THE ADDRESS OF THE FILE DESCRIPTOR IN 06240000=01527000= THE FIRST WORD OF ADDITIONAL INFO; 06245000=01528000= DEFINE 06250000=01529000= - SVARMONFILE = [37:11] #; 06255000=01529000= + SVARMONFILE = [10:11] #; 06255000=01529000= COMMENT MONITORFILE IS THE DEFINE FOR 06260000=01529000= THE ADDRESS OF THE FILE DESCRIPTOR IN 06265000=01530000= INFO FOR MONITORED SIMPLE VARIABLES; 06270000=01531000= DEFINE 06275000=01532000= - NODIMPART = [40:8] #; 06280000=01532000= + NODIMPART = [7:8] #; 06280000=01532000= COMMENT THE FIRST ADDITIONAL WORD OF INFO 06285000=01532000= FOR ARRAYS CONTAINS THE NUMBER OF DIMENSIONS06290000=01533000= IN NODIMPART; 06295000=01534000= DEFINE 06300000=01535000= - LABLMONFILE = [13:11] #; 06305000=01535000= + LABLMONFILE = [34:11] #; 06305000=01535000= COMMENT LABLMONFILE DESIGNATES THE BIT 06310000=01535000= POSITION IN THE FIRST WORD OF ADDITIONAL 06315000=01536000= INFO THAT CONTAINS THE MONITOR FILE 06320000=01537000= ADDRESS FOR LABELS; 06325000=01538000= DEFINE 06330000=01539000= - SWITMONFILE = [13:11] #; 06335000=01539000= + SWITMONFILE = [34:11] #; 06335000=01539000= COMMENT SWITMONFILE DESIGNATES THE BIT 06340000=01539000= POSITION IN THE FIRST WORD OF ADDITIONAL 06345000=01540000= INFO THAT CONTAINS THE MONITOR FILE 06350000=01541000= ADDRESS FOR LABELS; 06355000=01542000= DEFINE 06360000=01543000= - FUNCMONFILE = [27:11] #; 06365000=01543000= + FUNCMONFILE = [20:11] #; 06365000=01543000= COMMENT FUNCMONFILE DESIGNATES THE BIT 06370000=01543000= POSITION IN THE FIRST WORD OF ADDITIONAL 06375000=01544000= INFO THAT CONTAINS THE MONITOR FILE 06380000=01545000= ADDRESS FOR LABELS; 06385000=01546000= DEFINE 06390000=01547000= - DUMPEE = [2:11] #; 06395000=01547000= + DUMPEE = [45:11] #; 06395000=01547000= COMMENT THE DUMPEE FIELD IN THE FIRST 06400000=01547000= ADDITIONAL WORD OF INFO FOR LABELS CONTAINS 06405000=01548000= THE ADDRESS OF THE COUNTER THAT IS INCREMENTED 06410000=01549000= EACH TIME THE LABEL IS PASSED IF THAT LABEL 06415000=01550000= APPEARS IN A DUMP DECLARATION; 06420000=01551000= DEFINE 06425000=01552000= - DUMPOR = [24:11] #; 06430000=01552000= + DUMPOR = [23:11] #; 06430000=01552000= COMMENT THE DUMPOR FIELD IN THE FIRST 06435000=01552000= ADDITIONAL WORD OF INFO FOR LABELS CONTAINS 06440000=01553000= THE ADDRESS OF THE ROUTINE THAT IS GENERATED 06445000=01554000= @@ -1642,33 +1646,37 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 DEFINE 06460000=01556100= CHUNK = 180 #; 06465000=01556100= FILE 06470000=01556200= - OUT CODE DISK[20:CHUNK](4, 30, SAVE ABS(SAVETIME)); 06475000=01556200= + OUT CODE DISK[20:CHUNK](4, 30, SAVE ABS(SAVETIME)); 06475000=01556200= FILE 06480000=01557000= - IN CARD(RR1, 10, RR2); 06485000=01557000= - SAVE FILE OUT LINE DISK SERIAL[20:2400](RR3, 15, RR4, SAVE 10); 06490000=01559000= + IN CARD(RR1, 10, RR2); 06485000=01557000= + SAVE FILE OUT 06490000=01559000= + LINE DISK SERIAL[20:2400](RR3, 15, RR4, SAVE 10); 06492000 ARRAY 06495000=01559010= LIN[0:20]; 06500000=01559010= COMMENT PRINT OUTPUT BUILT IN LIN; 06505000=01559010= INTEGER 06510000=01559020= DA; 06515000=01559020= - SAVE FILE OUT NEWTAPE DISK SERIAL[20:2400](RR5, RR6, RR7, SAVE 1); 06520000=01560000= + SAVE FILE OUT 06520000=01560000= + NEWTAPE DISK SERIAL[20:2400](RR5, RR6, RR7, SAVE 1); 06522000 FILE 06525000=01561000= - IN TAPE 6"OCRDIMG"(2, RR8, RR9); 06530000=01561000= - SAVE FILE OUT PNCH DISK SERIAL[20:2400](2, 10, RR10, SAVE 1); 06535000=01561005= + IN TAPE 6"OCRDIMG"(2, RR8, RR9); 06530000=01561000= + SAVE FILE OUT 06535000=01561005= + PNCH DISK SERIAL[20:2400](2, 10, RR10, SAVE 1); 06536000 COMMENT THE FOLLOWING ARE DECLARATIONS FOR THE SYMBOLIC LIBRARIES; 06540000=01561010= FILE 06545000=01561020= - IN CASTA DISK SERIAL 6"CASTA"6"LIBRARY"(1, BUFFSIZE); 06550000=01561020= + IN CASTA DISK SERIAL 6"CASTA"6"LIBRARY"(1, BUFFSIZE); 06550000=01561020= FILE 06555000=01561030= - IN CASTB(1, BUFFSIZE); 06560000=01561030= + IN CASTB(1, BUFFSIZE); 06560000=01561030= FILE 06565000=01561040= - IN CASTC(1, BUFFSIZE); 06570000=01561040= + IN CASTC(1, BUFFSIZE); 06570000=01561040= SWITCH FILE 06575000=01561050= LIBRARY:= CASTA, 06580000=01561050= CASTB, 06585000=01561050= CASTC; 06590000=01561050= FILE 06595000=01561055= OUT REMOTE 19(2, 10); 06600000=01561055= - SAVE ARRAY CBUF, TBUFF[0:9]; % INPUT BUFFERS. 06605000=01561056= + SAVE ARRAY 06605000=01561056= + CBUF, TBUFF[0:9]; % INPUT BUFFERS. 06606000 BOOLEAN 06610000=01561060= REMOTEG; 06615000=01561060= ARRAY 06620000=01561065= @@ -1680,14 +1688,14 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 FILE 06650000=01561087= DSK2 DISK SERIAL[20:450](2, 30, 30); 06655000=01561087= DEFINE 06660000=01561090= - LSTUSD = [9:3] #, 06665000=01561090= - FILEINDEX = [12:4] #, 06670000=01561090= - STOPPOINT = [16:16] #, 06675000=01561100= - NEXTENTRY = [32:16] #; 06680000=01561100= + LSTUSD = [38:3] #, 06665000=01561090= + FILEINDEX = [35:4] #, 06670000=01561090= + STOPPOINT = [31:16] #, 06675000=01561100= + NEXTENTRY = [15:16] #; 06680000=01561100= COMMENT SECOND WORD IS THE $$ SEQ NO; 06685000=01561100= DEFINE 06690000=01561110= - NCRLINK = [18:15] #, 06695000=01561110= - LCRLINK = [33:15] #; 06700000=01561110= + NCRLINK = [29:15] #, 06695000=01561110= + LCRLINK = [14:15] #; 06700000=01561110= INTEGER 06705000=01561120= LIBINDEX, 06710000=01561120= LTLCR, 06715000=01561120= @@ -1762,14 +1770,15 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 SAVECARD, 07060000=01561570= INSERTDEPTH; 07065000=01561570= ARRAY 07070000=01561580= - INSERTINFO[0:INSERTMAX, 0:4]; 07075000=01561580= + INSERTINFO[0:INSERTMAX, 0:4]; 07075000=01561580= FILE 07080000=01561590= LIBRARYFIL DISK RANDOM(2, 10, 30); 07085000=01561590= DEFINE 07090000=01561600= LF = LIBRARYFIL #; 07095000=01561600= - SAVE ARRAY LBUFF[0:9]; % INPUT BUFFER 07100000=01561610= - REAL 07105000=01561620= - STREAM PROCEDURE CMPD(A, B); 07110000=01561620= + SAVE ARRAY 07100000=01561610= + LBUFF[0:9]; % INPUT BUFFER 07102000 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07105000=01561620= + REAL STREAM PROCEDURE CMPD(A, B); 07110000=01561620= BEGIN 07115000=01561630= SI:= A; 07120000=01561640= DI:= B; 07125000=01561640= @@ -1783,6 +1792,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 END; 07165000=01561690= CMPD:= TALLY; 07170000=01561700= END CMPD; 07175000=01561710= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07176000 REAL 07180000=01562000= C; 07185000=01562000= COMMENT C CONTAINS ACTUAL VALUE OF LAST CONSTANT SCANNED; 07190000=01563000= @@ -1885,7 +1895,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 FORWARD; 07675000=01627000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%07680000=01627000= DEFINE 07685000=01628000= - PURPT = [4:8] #, 07690000=01628000= + PURPT = [43:8] #, 07690000=01628000= SECRET = 2 #; 07695000=01628000= 07700000=01629000= COMMENT THESE DEFINES GIVE THE NAMES OF THE WORD MODE OPERATORS. THE 07705000=01629000= @@ -1956,9 +1966,10 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 COMMENT CONTAINS MAX SEGMENT SIZE; 08030000=01687000= INTEGER 08035000=01688000= F; 08040000=01688000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08042000 STREAM PROCEDURE MOVECODE(EDOC, TEDOC); 08045000=01688010= BEGIN 08050000=01688020= - LOCAL T1, T2, T3; 08055000=01688020= + LOCAL T1, T2, T3; 08055000=01688020= SI:= EDOC; 08060000=01688030= T1:= SI; 08065000=01688030= SI:= TEDOC; 08070000=01688030= @@ -1990,6 +2001,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 SI:= LOC T1; 08200000=01688100= DS:= WDS 08205000=01688110= END; 08210000=01688110= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08212000 REAL 08215000=01689000= NLO, 08220000=01689000= NHI, 08225000=01689000= @@ -2026,12 +2038,12 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 MENT. PRTI GIVES NEXT PRT CELL POSSIBLY AVAILABLE FOR 08380000=01705000= TEMPORARY ASSIGNMENT; 08385000=01706000= DEFINE 08390000=01707000= - ALPHASIZE = [12:6] #; 08395000=01707000= + ALPHASIZE = [35:6] #; 08395000=01707000= COMMENT ALPHASIZE IS THE DEFINE FOR THE BIT08400000=01707000= POSITION IN THE SECOND WORD OF INFO WHICH 08405000=01708000= CONTAINS THE LENGTH OF ALPHA; 08410000=01709000= DEFINE 08415000=01710000= - EDOCINDEX = L.[36:3], L.[39:7] #; 08420000=01710000= + EDOCINDEX = L.[11:3], L.[8:7] #; 08420000=01710000= COMMENT EDOCINDEX IS THE WORD 08425000=01710000= PORTION OF L SPLIT INTO A ROW AND08430000=01711000= COLUMN INDEX FOR EDOC; 08435000=01712000= @@ -2065,7 +2077,7 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 T; 08575000=01717900= FORWARD; 08580000=01717900= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08585000=01717900= - PROCEDURE DEFINEPARAM(D, N); 08590000=01717950= + PROCEDURE DEFINEPARAM(D, N); 08590000=01717950= VALUE 08595000=01717950= D, 08600000=01717950= N; 08605000=01717950= @@ -2116,13 +2128,13 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 FORWARD; 08830000=01730000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08835000=01730000= COMMENT MKABS CONVERTS A DESCRIPTOR TO AN ABSOLTE ADDRESS; 08840000=01732000= - REAL 08845000=01733000= - STREAM PROCEDURE MKABS(A); 08850000=01733000= + REAL STREAM PROCEDURE MKABS(A); 08845000=01733000= BEGIN 08855000=01734000= DI:= A; 08860000=01734000= MKABS:= DI 08865000=01734000= END MKABS; 08870000=01734000= - STREAM PROCEDURE MOVE(W)6"WORDS FROM"(A)6"TO"(B); 08875000=01735000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08872000 + STREAM PROCEDURE MOVE(W)"WORDS FROM"(A)"TO"(B); 08875000=01735000= VALUE 08880000=01735000= W; 08885000=01735000= BEGIN 08890000=01736000= @@ -2137,7 +2149,8 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 T(DS:= 32 WDS;DS:= 32 WDS); 08935000=01736200= DS:= W WDS; 08940000=01736200= END MOVE; 08945000=01736300= - STREAM PROCEDURE ZEROUT(DEST, NDIV32, NMOD32); 08950000=01737000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08946000 + STREAM PROCEDURE ZEROUT(DEST, NDIV32, NMOD32); 08950000=01737000= VALUE 08955000=01737050= NDIV32, 08960000=01737050= NMOD32; 08965000=01737050= @@ -2146,9 +2159,9 @@ COMMENT THE CONTENTS OF RELATIVE DISK SEGMENT ZERO OF THE CODE FILE ARE:04950000 NDIV32(32(DS:= 8 LIT 6"0")); 08980000=01737150= NMOD32(DS:= 8 LIT 6"0"); 08985000=01737200= END; 08990000=01737250= - 08995000=01737300= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%08995000=01737300= COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 09000000=01737300= - STREAM PROCEDURE BLANKET(N, THERE); 09005000=01737350= + STREAM PROCEDURE BLANKET(N, THERE); 09005000=01737350= VALUE 09010000=01737350= N; 09015000=01737350= BEGIN 09020000=01737400= @@ -2161,7 +2174,7 @@ COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 09000000 FORWARD; 09055000=01741000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09060000=01741000= COMMENT SEQCHANGE WILL CONV A MACHING NO. TO PROPER OUTPUT FORM; 09065000=01741100= - STREAM PROCEDURE CHANGESEQ(VAL, OLDSEQ); 09070000=01741200= + STREAM PROCEDURE CHANGESEQ(VAL, OLDSEQ); 09070000=01741200= VALUE 09075000=01741200= OLDSEQ; 09080000=01741200= BEGIN 09085000=01741300= @@ -2169,14 +2182,15 @@ COMMENT "BLANKET" BLANKS OUT N+1 WORDS IN "THERE"; 09000000 SI:= VAL; 09095000=01741400= DS:= 8 DEC 09100000=01741500= END; 09105000=01741500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09106000 STREAM PROCEDURE SEQUENCEWARNING(L); 09110000=01742100= BEGIN 09115000=01742110= DI:= L; 09120000=01742110= DI:= DI-8; 09125000=01742110= DS:= 24 LIT 6"SEQUENCE WARNING<<<<<<<<"; 09130000=01742110= END; 09135000=01742110= - BOOLEAN 09140000=01742200= - STREAM PROCEDURE NONBLANK(FCR); 09145000=01742200= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09140000=01742200= + BOOLEAN STREAM PROCEDURE NONBLANK(FCR); 09145000=01742200= VALUE 09150000=01742200= FCR; 09155000=01742200= COMMENT NONBLANK SCANS CARD FOR ALL BLANKS-- 09160000=01742300= @@ -2192,6 +2206,7 @@ NED: 09205000 TALLY:= TALLY+1; 09210000=01743100= NONBLANK:= TALLY 09215000=01743300= END NONBLANK; 09220000=01743300= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09222000 INTEGER 09225000=01750000= FAULTLEVEL; 09230000=01750000= COMMENT THIS IS FOR THE RUN0TIME ERROR KLUDGE-- 09235000=01750000= @@ -2204,7 +2219,8 @@ NED: 09205000 INTEGER 09270000=01755000= SFILENO; 09275000=01755000= COMMENT FILENO OF FIRST SORT FILE; 09280000=01755000= - STREAM PROCEDURE GETVOID(VP, NCR, VR, LCR, SEQ); 09285000=01756000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09282000 + STREAM PROCEDURE GETVOID(VP, NCR, VR, LCR, SEQ); 09285000=01756000= VALUE 09290000=01756000= NCR; 09295000=01756000= BEGIN 09300000=01757000= @@ -2262,14 +2278,17 @@ TRANS: 09495000 SI:= LOC VP; 09560000=01783000= DS:= WDS; % ADDRESS OF VOID RANGE. 09565000=01783000= END OF GETVOID; 09570000=01784000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09572000 REAL 09575000=01785000= VOIDCR, 09580000=01785000= VOIDPLACE; 09585000=01785000= BOOLEAN 09590000=01786000= SORTMERGETOG; 09595000=01786000= - FORMAT PRINTSEGNO(X88,"START OF SEGMENT ********** ",I4), 09600000=01800000= - PRINTSIZE(X88,I4," IS ",I4," LONG, NEXT SEG ",I4), 09605000=01801000= - BUG(X24,4(A4,X2)); 09610000=01802000= + FORMAT 09600000=01800000= + PRINTSEGNO(X88,"START OF SEGMENT ********** ",I4), 09600100=01800000= + PRINTSIZE(X88,I4," IS ",I4," LONG, NEXT SEG ",I4), 09605000=01801000= + BUG(X24,4(A4,X2)); 09610000=01802000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09610100 PROCEDURE DATIME; 09615000=01820000= BEGIN 09620000=01821000= INTEGER 09625000=01822000= @@ -2279,8 +2298,8 @@ TRANS: 09495000 ALPHA 09645000=01822000= N1, 09650000=01822000= N2; 09655000=01822000= - ALPHA 09660000=01823000= - STREAM PROCEDURE DATER(DATE); 09665000=01823000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09660000=01823000= + ALPHA STREAM PROCEDURE DATER(DATE); 09665000=01823000= VALUE 09670000=01823000= DATE; 09675000=01823000= BEGIN 09680000=01824000= @@ -2290,16 +2309,24 @@ TRANS: 09495000 (DS:= 2 CHR;DS:= LIT 6"/"); 09700000=01826000= DS:= 2 CHR; 09705000=01826000= END OF DATER; 09710000=01827000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09712000 H:= TIME1 DIV 216000; 09715000=01828000= MIN:= (TIME1 DIV 3600) MOD 60; 09720000=01828000= N1:= CODE.MFID; 09725000=01828500= N2:= CODE.FID; 09730000=01828500= WRITE(LINE, 09735000=01829100= - N1.[6:6],N1,N2.[6:6],N2); 09740000=01835550= -IF MERGETOG THEN % INDICATE NAME OF SOURCE FILE. 09745000=01835600= - WRITE(LINE, < X40, 6"SOURCE FILE: ", A1, A6, 6"/", A1, A6, //> 09750000=01837000= - , (N1:= TAPE.MFID).[6:6], N1, (N2:= TAPE.FID).[6:6], N2); 09755000=01837000= - NOHEADING:= FALSE; 09760000=01837000= + $ SET OMIT = NOT ALGOL 09735100=01829900= +"XVI.0.122" 09735200=01831000= + ," ",A6,"DAY, ",O,", ",I2,":",A2,X1,A3, 09735300=01832000= + ////X45,A1,A6,"/",A1,A6,/X45,15("=")//>, 09735400=01832500= + TIME(6),DATER(TIME(5)),12*REAL(Q:=H MOD 12=0)+Q, 09735500=01834000= + Q:=MIN MOD 10+(MIN DIV 10)*64, 09735600=01834000= + IF H <= 12 THEN "PM." ELSE "AM.", 09735700=01835000= + N1.[41:6],N1,N2.[41:6],N2); 09740000=01835550= + IF MERGETOG THEN % INDICATE NAME OF SOURCE FILE. 09745000=01835600= + WRITE(LINE, < X40, "SOURCE FILE: ", A1, A6, "/", A1, A6, //>,09750000=01837000= + (N1:= TAPE.MFID).[41:6], N1, (N2:= TAPE.FID).[41:6], N2); 09755000=01837000= + NOHEADING:= FALSE; 09760000=01837000= END OF DATIME; 09765000=01837000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09770000=01837000= DEFINE 09775000=01841000= @@ -2310,15 +2337,15 @@ IF MERGETOG THEN % INDICATE NAME OF SOURCE FILE. 09745000 09800000=02000000= COMMENT THIS SECTION CONTAINS ALL CODE PERTAINENT TO READING CARDS 09805000=02000000= AND SCANNING THEM; 09810000=02001000= - BOOLEAN 09815000=02001020= - STREAM PROCEDURE LOOK(ACC1, DIR, ROW, STRTPOS, STOPOS); 09820000=02001020= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%09815000=02001020= + BOOLEAN STREAM PROCEDURE LOOK(ACC1, DIR, ROW, STRTPOS, STOPOS); 09820000=02001020= VALUE 09825000=02001030= ROW; 09830000=02001030= BEGIN 09835000=02001040= COMMENT LOOK DOES THE ACTUAL DIRECTORY SEARCH. IT 09840000=02001040= REPORTS TRUE IF THE ITEM WAS NOT FOUND IN THE DIRECTORY09845000=02001050= ; 09850000=02001060= - LOCAL DPPOS, TEMP, LGTH; 09855000=02001070= + LOCAL DPPOS, TEMP, LGTH; 09855000=02001070= LABEL 09860000=02001080= LOOP, 09865000=02001080= EXIT; 09870000=02001080= @@ -2419,7 +2446,7 @@ EXIT: 10315000 % 10345000=02001620= %***********************************************************************10350000=02001630= % 10355000=02001635= - PROCEDURE CROSSREFIT(INDEX, SEQNO, REFTYPE); 10360000=02001640= + PROCEDURE CROSSREFIT(INDEX, SEQNO, REFTYPE); 10360000=02001640= VALUE 10365000=02001645= INDEX, 10370000=02001645= SEQNO, 10375000=02001645= @@ -2433,7 +2460,7 @@ EXIT: 10315000 BEGIN 10415000=02001665= IF XREFPT > 29 THEN % NO SLOTS LEFT IN ARRAY, WRITE IT OUT. 10420000=02001670= BEGIN 10425000=02001675= - WRITE(DSK2, 30, XREFAY2[**]); 10430000=02001680= + WRITE(DSK2, 30, XREFAY2[*]); 10430000=02001680= XREFPT:= 0; 10435000=02001685= END; 10440000=02001690= XREFAY2[XREFPT]:= SEQNO & REFTYPE TYPEREF & XREFINFO[INDEX] 10445000=02001700= @@ -2452,7 +2479,8 @@ EXIT: 10315000 REAL 10510000=02001750= INDEX; 10515000=02001750= BEGIN 10520000=02001755= - STREAM PROCEDURE MOVEREFINFO(S, D, N); 10525000=02001760= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%10522000 + STREAM PROCEDURE MOVEREFINFO(S, D, N); 10525000=02001760= VALUE 10530000=02001765= N; 10535000=02001765= BEGIN 10540000=02001770= @@ -2468,17 +2496,16 @@ EXIT: 10315000 % 10590000=02001790= IF XREFINFO[INDEX].IDNOF ^= 0 THEN % DUMP IT 10595000=02001795= BEGIN 10600000=02001800= - MOVEXREFINFO(INFO[INDEX.LINKR, INDEX.LINKC+1], XREFAY1[**], 10605000=02001810= - TAKE(INDEX+1).[12:6]); 10610000=02001810= + MOVEXREFINFO(INFO[INDEX.LINKR, INDEX.LINKC+1], XREFAY1[*], 10605000=02001810= + TAKE(INDEX+1).[35:6]); 10610000=02001810= XREFAY1[8]:= XREFINFO[INDEX]; 10615000=02001815= XREFAY1[9]:= TAKE(INDEX); % ELBAT WORD 10620000=02001820= - WRITE(DSK1, 10, XREFAY1[**]); 10625000=02001821= + WRITE(DSK1, 10, XREFAY1[*]); 10625000=02001821= XREFINFO[INDEX]:= 0; 10630000=02001822= END; 10635000=02001825= END OF CROSSREFDUMP; 10640000=02001830= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%10645000=02001830= - REAL 10650000=02001831= - STREAM PROCEDURE CONV(ACCUM, SKP, N); 10655000=02001831= + REAL STREAM PROCEDURE CONV(ACCUM, SKP, N); 10650000=02001831= VALUE 10660000=02001831= SKP, 10665000=02001831= N; 10670000=02001831= @@ -2489,10 +2516,9 @@ EXIT: 10315000 DI:= LOC CONV; 10695000=02001833= DS:= N OCT 10700000=02001834= END CONV; 10705000=02001834= - 10710000=02001836= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%10710000=02001836= COMMENT OCTIZE REFORMATS ACCUM FOR OCTAL CONSTANTS; 10715000=02001836= - BOOLEAN 10720000=02001838= - STREAM PROCEDURE OCTIZE(S, D, SKP, CNT); 10725000=02001838= + BOOLEAN STREAM PROCEDURE OCTIZE(S, D, SKP, CNT); 10725000=02001838= VALUE 10730000=02001838= SKP, 10735000=02001838= CNT; 10740000=02001838= @@ -2507,15 +2533,14 @@ COMMENT OCTIZE REFORMATS ACCUM FOR OCTAL CONSTANTS; 10715000 % 10785000=02001850= OCTIZE:= TALLY;% "1" = NON OCTAL CHARACTER. 10790000=02001852= END OCTIZE; 10795000=02001854= - 10800000=02001856= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%10800000=02001856= COMMENT HEXIZE REFORMATS ACCUM FOR HEXADECIMAL CONSTANTS; 10805000=02001856= - BOOLEAN 10810000=02001858= - STREAM PROCEDURE HEXIZE(S, D, SKP, CNT); 10815000=02001858= + BOOLEAN STREAM PROCEDURE HEXIZE(S, D, SKP, CNT); 10810000=02001858= VALUE 10820000=02001858= SKP, 10825000=02001858= CNT; 10830000=02001858= BEGIN 10835000=02001860= - LOCAL T1, T2, TEMP2, TEMP1; 10840000=02001860= + LOCAL T1, T2, TEMP2, TEMP1; 10840000=02001860= LABEL 10845000=02001860= AGIN; 10850000=02001860= 10855000=02001862= @@ -2544,11 +2569,11 @@ AGIN: 10940000 % FINAL CONVERT. 10970000=02001894= HEXIZE:= TALLY;% "1" IF PROGRAMMER GOOFED. 10975000=02001896= END HEXIZE; 10980000=02001898= - 10985000=02002000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%10985000=02002000= COMMENT PUTSEQNO PUTS THE SEQUENCE NUMBER OF THE CARD-IMAGE 10990000=02002000= CURRENTLY BEING SCANNED INTO THE INFO TABLE IN CASE 10995000=02003000= IT IS NEEDED FOR FUTURE REFERENCE; 11000000=02004000= - STREAM PROCEDURE PUTSEQNO(INFO, LCR); 11005000=02005000= + STREAM PROCEDURE PUTSEQNO(INFO, LCR); 11005000=02005000= VALUE 11010000=02005000= LCR; 11015000=02005000= BEGIN 11020000=02006000= @@ -2556,12 +2581,12 @@ COMMENT PUTSEQNO PUTS THE SEQUENCE NUMBER OF THE CARD-IMAGE 10990000 SI:= LCR; 11030000=02006000= DS:= WDS; 11035000=02006000= END PUTSEQNO; 11040000=02006000= - 11045000=02007000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11045000=02007000= COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 11050000=02007000= I.E., THE PURPOSE OF THIS ROUTINE IS TO INSERT A PER- 11055000=02008000= CENT SIGN IN COLUMN 73 AS AN END OF CARD SENTINEL FOR 11060000=02009000= THE SCANNER; 11065000=02010000= - STREAM PROCEDURE TURNONSTOPLIGHT(RED, CORNER); 11070000=02011000= + STREAM PROCEDURE TURNONSTOPLIGHT(RED, CORNER); 11070000=02011000= VALUE 11075000=02011000= RED, 11080000=02011000= CORNER; 11085000=02011000= @@ -2571,17 +2596,18 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 11050000 SI:= SI-1; 11105000=02012000= DS:= CHR 11110000=02012000= END; 11115000=02012000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11116000 COMMENT ADDER COMPUTES SEQUENCE NUMBERS FOR LIBRARY FUNCTIONS. 11120000=02013010= IT WILL EITHER ADD THE NUMBER IN SUM TO THE NUMBER IS SEQLOC STORING 11125000=02013020= THE RESULT IN SEQLOC OR SUBTRACT THE NUMBER IN SUM FROM THE 11130000=02013030= NUMBER IN SEQLOC AND STORE THE RESULT IN SEQLOC,DEPENDING ON THE 11135000=02013040= VARIABLE AD; 11140000=02013050= - STREAM PROCEDURE ADDER(SUM, SEQLOC, AD, DESCRP); 11145000=02013060= + STREAM PROCEDURE ADDER(SUM, SEQLOC, AD, DESCRP); 11145000=02013060= VALUE 11150000=02013065= AD, 11155000=02013065= DESCRP; 11160000=02013065= BEGIN 11165000=02013070= - LOCAL HOLD, ZONEP; 11170000=02013073= + LOCAL HOLD, ZONEP; 11170000=02013073= DI:= LOC ZONEP; 11175000=02013074= SI:= SUM; 11180000=02013074= DS:= 8 ZON; 11185000=02013074= @@ -2626,7 +2652,7 @@ COMMENT TURNONSTOPLIGHT TURNS THE LIGHT "RED" ON THE "CORNER". 11050000 DS:= 8 ZON; 11380000=02013136= COMMENT MOVE IN ZONE PORTION TO RESULT SEQ.NO.; 11385000=02013137= END ADDER; 11390000=02013140= - 11395000=02013150= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%11395000=02013150= COMMENT SEARCHLIB IS RESPONSIBLE FOR SEARCHING THE LIBRARY TAPES FOR 11400000=02013150= COMPILABLE QUANTITIES. THE PARAMETER INDICATES THAT WE ARE ENTERING 11405000=02013155= A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000=02013160= @@ -2667,7 +2693,7 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 RESULT:= COUNT:= ACCUM[1]:= 0; 11585000=02013200= SCANNER; 11590000=02013200= IF ACCUM[1] > 6"1+0000" AND ACCUM[1] < 6"1D0000" THEN 11595000=02013205= - FILEINX:= ACCUM[1].[21:3] 11600000=02013210= + FILEINX:= ACCUM[1].[26:3] 11600000=02013210= ELSE 11605000=02013210= BEGIN 11610000=02013210= COMMENT ERROR 500 - ILLEGAL LIBRARY NAME; 11615000=02013219= @@ -2679,25 +2705,25 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 BEGIN 11645000=02013240= COMMENT MUST READ DIRECTORY; 11650000=02013240= GT3:= MKABS(LIBRARY[FILEINX](0)); 11655000=02013245= - MOVE(56, LIBRARY[FILEINX](0), DIRECTORY[GT1, 0]); 11660000=02013250= + MOVE(56, LIBRARY[FILEINX](0), DIRECTORY[GT1, 0]); 11660000=02013250= GT2:= DIRECTORY[GT1, 0]; 11665000=02013255= DIRECTORY[FILEINX*3, 0]:= -2; 11670000=02013255= WHILE GT2:= GT2-1 > 0 DO 11675000=02013260= BEGIN 11680000=02013265= READ(LIBRARY[FILEINX]); 11685000=02013270= - MOVE(56, LIBRARY[FILEINX](0), DIRECTORY[GT1:= GT1+1, 0]); 11690000=02013275= + MOVE(56, LIBRARY[FILEINX](0), DIRECTORY[GT1:= GT1+1, 0]); 11690000=02013275= END; 11695000=02013280= END; 11700000=02013285= RESULT:= ACCUM[1]:= COUNT:= 0; 11705000=02013290= SCANNER; 11710000=02013290= COMMENT GET THE PROD.ID.; 11715000=02013290= - IF LOOK(ACCUM[1], DIRECTORY, 3*FILEINX, GT1, GT2) THEN 11720000=02013295= + IF LOOK(ACCUM[1], DIRECTORY, 3*FILEINX, GT1, GT2) THEN 11720000=02013295= BEGIN 11725000=02013300= COMMENT ERROR 501 - ITEM NOT IN DIRECTORY; 11730000=02013300= FLAGIT(501); 11735000=02013305= GO EXIT; 11740000=02013305= END; 11745000=02013310= - WHILE LCR.[33:15]-NCR.[33:15] ^= 1 OR NCR.[30:3] ^= 7 DO 11750000=02013315= + WHILE LCR.[14:15]-NCR.[14:15] ^= 1 OR NCR.[17:3] ^= 7 DO 11750000=02013315= BEGIN 11755000=02013315= IF EXAMIN(NCR) = 6"[" THEN 11760000=02013317= GO TO EXITOUT; 11765000=02013317= @@ -2720,7 +2746,7 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 FLAGIT(502); 11850000=02013350= GO EXIT; 11855000=02013350= END; 11860000=02013355= - GT1:= GT1+CONV(ACCUM[1], 0, ACCUM[1].[12:6])-1; 11865000=02013360= + GT1:= GT1+CONV(ACCUM[1], 0, ACCUM[1].[35:6])-1; 11865000=02013360= RESULT:= ACCUM[1]:= COUNT:= 0; 11870000=02013365= SCANNER; 11875000=02013365= IF RESULT ^= 2 THEN 11880000=02013370= @@ -2738,7 +2764,7 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 FLAGIT(504); 11940000=02013405= GO EXIT; 11945000=02013405= END; 11950000=02013410= - GT2:= GT1+CONV(ACCUM[1], 0, ACCUM[1].[12:6]); 11955000=02013415= + GT2:= GT1+CONV(ACCUM[1], 0, ACCUM[1].[35:6]); 11955000=02013415= RESULT:= ACCUM[1]:= COUNT:= 0; 11960000=02013420= SCANNER; 11965000=02013420= IF ACCUM[1] ^= 6"1]0000" THEN 11970000=02013425= @@ -2747,7 +2773,7 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 FLAGIT(505); 11985000=02013435= GO EXIT; 11990000=02013435= END; 11995000=02013440= - WHILE LCR.[33:15]-NCR.[33:15] ^= 1 OR NCR.[30:3] ^= 7 DO 12000000=02013446= + WHILE LCR.[14:15]-NCR.[14:15] ^= 1 OR NCR.[17:3] ^= 7 DO 12000000=02013446= BEGIN 12005000=02013446= RESULT:= 5; 12010000=02013446= SCANNER 12015000=02013446= @@ -2764,22 +2790,22 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 DIRECTORY[(LIBARRAY[LIBINDEX-3].FILEINDEX)*3, 0]:= RECOUNT-1; 12070000=02013510= RECOUNT:= GT1; 12075000=02013515= IF EXAMIN(LCR) ^= 6"%" THEN 12080000=02013516= - PUTSEQNO(INFO[LASTSEQROW, LASTSEQUENCE], LCR); 12085000=02013517= - MOVE(1, INFO[LASTSEQROW, LASTSEQUENCE], LIBARRAY[LIBINDEX+1]); 12090000=02013520= - MOVE(1, INFO[LASTSEQROW, LASTSEQUENCE], SEQSUM); 12095000=02013525= + PUTSEQNO(INFO[LASTSEQROW, LASTSEQUENCE], LCR); 12085000=02013517= + MOVE(1, INFO[LASTSEQROW, LASTSEQUENCE], LIBARRAY[LIBINDEX+1]); 12090000=02013520= + MOVE(1, INFO[LASTSEQROW, LASTSEQUENCE], SEQSUM); 12095000=02013525= IF LASTUSED <= 2 OR LASTUSED = 5 THEN 12100000=02013526= GTI1:= 0 12105000=02013527= ELSE 12110000=02013527= - IF MAXLTLCR.[33:15]-NCR.[33:15] < 11 THEN 12115000=02013527= + IF MAXLTLCR.[14:15]-NCR.[14:15] < 11 THEN 12115000=02013527= GTI1:= MKABS(LIBRARY[FILEINX](0)) 12120000=02013528= ELSE 12125000=02013528= - GTI1:= (NCR+2).[33:15]; 12130000=02013528= - LIBARRAY[LIBINDEX+2], NCRLINK:= GTI1.[33:15]; 12135000=02013530= + GTI1:= (NCR+2).[14:15]; 12130000=02013528= + LIBARRAY[LIBINDEX+2], NCRLINK:= GTI1.[14:15]; 12135000=02013530= COMMENT GTI1=NCR; 12140000=02013530= IF LASTUSED <= 2 OR LASTUSED = 5 THEN 12145000=02013533= LIBARRAY[LIBINDEX+2].LCRLINK:= 0 12150000=02013534= ELSE 12155000=02013534= - LIBARRAY[LIBINDEX+2].LCRLINK:= GTI1.[33:15]+10; 12160000=02013535= + LIBARRAY[LIBINDEX+2].LCRLINK:= GTI1.[14:15]+10; 12160000=02013535= IF LIBINDEX > 0 THEN 12165000=02013536= IF CARDCALL THEN 12170000=02013536= BEGIN 12175000=02013536= @@ -2819,7 +2845,7 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 FILEINX:= LIBARRAY[LIBINDEX-3].FILEINDEX; 12345000=02013580= FINISHPT:= LIBARRAY[LIBINDEX].STOPPOINT; 12350000=02013600= IF LIBINDEX ^= 0 THEN 12355000=02013610= - MOVE(1, LIBARRAY[LIBINDEX-3+1], SEQSUM); 12360000=02013615= + MOVE(1, LIBARRAY[LIBINDEX-3+1], SEQSUM); 12360000=02013615= IF LASTUSED <= 2 OR LASTUSED = 5 THEN 12365000=02013617= LCR:= MKABS(CBUFF[0]) 12370000=02013617= ELSE 12375000=02013617= @@ -2842,9 +2868,9 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 GT1:= (GTI1:= (DIRECTORY[FILEINX*3, 0]+3)/5)*5+1; 12460000=02013665= GT2:= (GTI1:= (RECOUNT-3)/5)*5+1; 12465000=02013670= GT3:= (GT2-GT1) DIV 5; 12470000=02013675= - SPACE(LIBRARY[FILEINX], GT3); 12475000=02013680= + SPACE(LIBRARY[FILEINX], GT3); 12475000=02013680= READ(LIBRARY[FILEINX]); 12480000=02013685= - MOVE(1, LIBRARY[FILEINX](0), GTI1); 12485000=02013697= + MOVE(1, LIBRARY[FILEINX](0), GTI1); 12485000=02013697= IF GTI1 ^= GT2 AND GTI1 ^= 0 THEN 12490000=02013699= BEGIN 12495000=02013701= COMMENT ERROR 507 MEANS TAPE POSITIONING ERROR; 12500000=02013701= @@ -2854,12 +2880,12 @@ A LIBRARY CALL IF TRUE, ELSE WE ARE EXITING.; 11410000 LTLCR:= MKABS(LIBRARY[FILEINX](10))+ 12520000=02013705= (GTI1:= (((RECOUNT-1) MOD 5)*11)); 12525000=02013705= MAXLTLCR:= MKABS(LIBRARY[FILEINX](0))+54; 12530000=02013710= - ADDER(SEQSUM, LTLCR, TRUE, TRUE); 12535000=02013713= + ADDER(SEQSUM, LTLCR, TRUE, TRUE); 12535000=02013713= IF LASTUSED = 6 THEN 12540000=02013714= BEGIN 12545000=02013714= NCR:= LCR:= MKABS(LIBRARY[FILEINX](0)); 12550000=02013715= - PUTSEQNO(GT1, LCR); 12555000=02013716= - TURNONSTOPLIGHT(6"%", LCR); 12560000=02013717= + PUTSEQNO(GT1, LCR); 12555000=02013716= + TURNONSTOPLIGHT(6"%", LCR); 12560000=02013717= END; 12565000=02013718= END; 12570000=02013718= EXIT: 12575000=02013720= @@ -2867,8 +2893,7 @@ EXIT: 12575000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12585000=02013720= COMMENT WRITNEW TRANSFERS THE CARD IMAGE TO THE NEWTAPE BUFFER 12590000=02014000= AND REPORTS IF THE CARD MIGHT BE CONTROL CARD; 12595000=02015000= - BOOLEAN 12600000=02016000= - STREAM PROCEDURE WRITNEW(NEW, FCR); 12605000=02016000= + BOOLEAN STREAM PROCEDURE WRITNEW(NEW, FCR); 12600000=02016000= VALUE 12610000=02016000= FCR; 12615000=02016000= BEGIN 12620000=02017000= @@ -2879,12 +2904,11 @@ EXIT: 12575000 DS:= 10 WDS; 12645000=02018000= WRITNEW:= TALLY 12650000=02019000= END WRITNEW; 12655000=02019000= - 12660000=02061000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12660000=02061000= COMMENT EQUAL COMPARES COUNT CHARACTERS LOCATED AT A AND B FOR 12665000=02061000= EQUALITY. THIS ROUTINE IS USED IN THE LOOK-UP OF ALPHA 12670000=02061500= QUANTITIES IN THE DIRECTORY; 12675000=02062000= - BOOLEAN 12680000=02062500= - STREAM PROCEDURE EQUAL(COUNT, A, B); 12685000=02062500= + BOOLEAN STREAM PROCEDURE EQUAL(COUNT, A, B); 12680000=02062500= VALUE 12690000=02062500= COUNT; 12695000=02062500= BEGIN 12700000=02063000= @@ -2894,6 +2918,7 @@ COMMENT EQUAL COMPARES COUNT CHARACTERS LOCATED AT A AND B FOR 12665000 IF COUNT SC = DC THEN 12720000=02064000= EQUAL:= TALLY 12725000=02064500= END EQUAL; 12730000=02064500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12732000 PROCEDURE READACARD; 12735000=02065000= FORWARD; 12740000=02065000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12745000=02065000= @@ -2905,7 +2930,7 @@ COMMENT EQUAL COMPARES COUNT CHARACTERS LOCATED AT A AND B FOR 12665000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12775000=02065600= PROCEDURE SCANNER; 12780000=02066000= BEGIN 12785000=02066500= - 12790000=02067000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%12790000=02067000= COMMENT "SCAN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 12795000=02067000= IT IS DRIVEN BY A SMALL WORD MODE PROCEDURE CALLED "SCANNER". 12800000=02067500= WHICH CHECKS FOR A QUANTITY BEING BROKEN ACROSS A CARD. "SCAN" 12805000=02068000= @@ -2951,8 +2976,8 @@ COMMENT "SCAN" IS THE STREAM PROCEDURE WHICH DOES THE ACTUAL SCANNING. 12795000 PASSED TO "SCAN" IN ORDER TO OBTAIN THE MOST USEFULL STACK 13005000=02088000= ARRANGEMENT. 13010000=02088500= ; 13015000=02089000= - STREAM PROCEDURE SCAN(NCR, COUNTV, ACCUM, COMCOUNT, RESULT, 13020000=02090000= - RESULTV, COUNT, ST2, NCRV, ST1); 13025000=02090000= + STREAM PROCEDURE SCAN(NCR, COUNTV, ACCUM, COMCOUNT, RESULT, 13020000=02090000= + RESULTV, COUNT, ST2, NCRV, ST1); 13025000=02090000= VALUE 13030000=02090500= COUNTV, 13035000=02090500= COMCOUNT, 13040000=02090500= @@ -3087,8 +3112,8 @@ COMMENT RESET "NCR" TO LOCATION OF NEXT CHARACTER TO BE SCANNED; 13680000 END OF SCAN; 13685000=02127000= LABEL 13690000=02127500= L; % 13695000=02127500= -L: SCAN(NCR, COUNT, ACCUM[1], 63-COUNT, RESULT, RESULT, COUNT, 0 13700000=02129000= - , NCR, 0); 13705000=02129000= +L: SCAN(NCR, COUNT, ACCUM[1], 63-COUNT, RESULT, RESULT, COUNT, 0 13700000=02129000= + , NCR, 0); 13705000=02129000= IF NCR = LCR THEN 13710000=02129500= BEGIN 13715000=02130000= READACARD; 13720000=02130500= @@ -3106,9 +3131,9 @@ L: SCAN(NCR, COUNT, ACCUM[1], 63-COUNT, RESULT, RESULT, COUNT, 0 13700000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%13780000=02137000= DEFINE 13785000=02181000= WRITELINE = IF SINGLTOG THEN 13790000=02181000= - WRITE(LINE, 15, LIN[**]) 13795000=02181250= + WRITE(LINE, 15, LIN[*]) 13795000=02181250= ELSE 13800000=02181250= - WRITE(LINE[DBL], 15, LIN[**]) #, 13805000=02181500= + WRITE(LINE[DBL], 15, LIN[*]) #, 13805000=02181500= MAKCAST = BEGIN 13810000=02181500= CARDCALL:= 13815000=02181750= IF LASTUSED = 5 THEN 13820000=02181750= @@ -3118,13 +3143,14 @@ L: SCAN(NCR, COUNT, ACCUM[1], 63-COUNT, RESULT, RESULT, COUNT, 0 13700000 SEARCHLIB(TRUE); 13840000=02182000= END #, 13845000=02182500= PRINTCARD = BEGIN 13850000=02182500= - EDITLINE(LIN, FCR, L.[36:10], SGNO, L.[45:2], 13855000=02182760= + EDITLINE(LIN, FCR, L.[11:10], SGNO, L.[2:2], 13855000=02182760= MEDIUM, OMITTING); 13860000=02182760= IF NOHEADING THEN 13865000=02183000= DATIME; 13870000=02183000= WRITELINE; 13875000=02183000= END #; 13880000=02183250= - STREAM PROCEDURE EDITLINE(LINE, NGR, R, S, L, SYMBOL, OMIT); 13885000=02183500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%13882000 + STREAM PROCEDURE EDITLINE(LINE, NGR, R, S, L, SYMBOL, OMIT); 13885000=02183500= VALUE 13890000=02183750= NCR, 13895000=02183750= R, 13900000=02183750= @@ -3163,12 +3189,11 @@ L: SCAN(NCR, COUNT, ACCUM[1], 63-COUNT, RESULT, RESULT, COUNT, 0 13700000 OMIT(DI:= DI-12;DS:= 12 LIT 6" :OMIT: ";DI:= LINE;DS:= 8 LIT 14065000=02186760= 6" :OMIT:"); 14070000=02186760= END EDITLINE; 14075000=02187000= - 14080000=02187250= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%14080000=02187250= COMMENT COMPARE COMPARES SEQUENCE NUMBERS OF TAPE AND CARD. IF 14085000=02187250= TAPE IS SMALLER THEN RESULT = 0 ELSE IF CARD IS SMALLER 14090000=02187500= RESULT = 1 ELSE RESULT = 2; 14095000=02187750= - REAL 14100000=02188000= - STREAM PROCEDURE COMPARE(TAPE, CARD); 14105000=02188000= + REAL STREAM PROCEDURE COMPARE(TAPE, CARD); 14100000=02188000= VALUE 14110000=02188000= TAPE, 14115000=02188000= CARD; 14120000=02188000= @@ -3185,6 +3210,7 @@ COMMENT COMPARE COMPARES SEQUENCE NUMBERS OF TAPE AND CARD. IF 14085000 END; 14175000=02189750= COMPARE:= TALLY; 14180000=02190000= END COMPARE; 14185000=02190250= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%14186000 PROCEDURE OUTPUTSOURCE; 14190000=02190500= BEGIN 14195000=02190750= LABEL 14200000=02191000= @@ -3207,12 +3233,12 @@ COMMENT COMPARE COMPARES SEQUENCE NUMBERS OF TAPE AND CARD. IF 14085000 END 14285000=02193000= ELSE 14290000=02193000= GTI1:= TOTALNO:= TOTALNO+ADDVALUE; 14295000=02193000= - CHANGESEQ(GTI1, LCR); 14300000=02193250= + CHANGESEQ(GTI1, LCR); 14300000=02193250= END; 14305000=02193500= IF NEWTOG THEN 14310000=02193750= IF INSERTDEPTH > 0 AND INSERTCOP = 1 OR INSERTDEPTH = 0 THEN 14315000=02193800= - IF WRITNEW(LIN, FCR) THEN 14320000=02194000= - WRITF(NEWTAPE, 10, LIN[**]); 14325000=02194000= + IF WRITNEW(LIN, FCR) THEN 14320000=02194000= + WRITF(NEWTAPE, 10, LIN[*]); 14325000=02194000= IF OMITTING THEN 14330000=02194250= IF NOT LISTATOG THEN 14335000=02194250= GO AWAY; 14340000=02194250= @@ -3230,7 +3256,7 @@ AWAY: 14390000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%14400000=02196500= PROCEDURE BEGINPRINT; 14405000=02196510= BEGIN 14410000=02196520= - STREAM PROCEDURE STUFF(N, L); 14415000=02196530= + STREAM PROCEDURE STUFF(N, L); 14415000=02196530= VALUE 14420000=02196530= N; 14425000=02196530= BEGIN 14430000=02196540= @@ -3241,7 +3267,7 @@ AWAY: 14390000 SI:= LOC N; 14455000=02196560= DS:= 8 DEC; 14460000=02196560= END; 14465000=02196570= - STUFF(BEGINSTACK[BSPOINT], LIN); 14470000=02196580= + STUFF(BEGINSTACK[BSPOINT], LIN); 14470000=02196580= IF NOHEADING THEN 14475000=02196590= DATIME; 14480000=02196590= WRITELINE; 14485000=02196590= @@ -3255,7 +3281,7 @@ COMMENT READACARD READS CARDS FROM EITHER THE CARD READER OR THE 14510000 SIGN AS AN END OF CARD SENTINEL IN COLUMN 73 AND SETS 14525000=02197750= FCR,NCR,LCR,TLCR, AND CLCR; 14530000=02198000= BEGIN 14535000=02198250= - PROCEDURE READTAPE(LCR, MAXLCR, LIB); 14540000=02198500= + PROCEDURE READTAPE(LCR, MAXLCR, LIB); 14540000=02198500= VALUE 14545000=02198500= LIB; 14550000=02198500= BOOLEAN 14555000=02198500= @@ -3272,27 +3298,27 @@ COMMENT READACARD READS CARDS FROM EITHER THE CARD READER OR THE 14510000 RECOUNT:= RECOUNT+1; 14610000=02199500= IF LCR:= LCR+11 > MAXLCR THEN 14615000=02199750= BEGIN 14620000=02200000= - READ(LIBRARY, FILEINX); 14625000=02200250= + READ(LIBRARY, FILEINX); 14625000=02200250= MAXLCR:= 46+LCR:= MKABS(LIBRARY[FILEINX](0))+10; 14630000=02200500= END; 14635000=02200750= - ADDER(SEQSUM, LCR, TRUE, TRUE); 14640000=02201000= + ADDER(SEQSUM, LCR, TRUE, TRUE); 14640000=02201000= END 14645000=02201500= ELSE 14650000=02201500= BEGIN 14655000=02201500= - READ(TAPE, 10, TBUFF[**])[EOFT]; 14660000=02201750= + READ(TAPE, 10, TBUFF[*])[EOFT]; 14660000=02201750= MAXLCR:= LCR:= MKABS(TBUFF[9]); 14665000=02202000= GO TO ENDREADTAPE; 14670000=02202010= EOFT: 14675000=02202030= - DEFINEARRAY[25]:= 6"ND;END."&6"E"[1:43:5]; 14680000=02202030= - DEFINEARRAY[34]:= 6"9999"&6"9999"[1:25:23]; 14685000=02202040= + DEFINEARRAY[25]:= 6"ND;END."&6"E"[46:4:5]; 14680000=02202030= + DEFINEARRAY[34]:= 6"9999"&6"9999"[46:22:23]; 14685000=02202040= TLCR:= MKABS(DEFINEARRAY[34]); 14690000=02202050= - PUTSEQNO(DEFINEARRAY[33], TLCR-8); 14695000=02202060= - TURNONSTOPLIGHT(6"%", TLCR-8); 14700000=02202070= + PUTSEQNO(DEFINEARRAY[33], TLCR-8); 14695000=02202060= + TURNONSTOPLIGHT(6"%", TLCR-8); 14700000=02202070= ENDREADTAPE: 14705000=02202090= END; 14710000=02202090= END READTAPE; 14715000=02202250= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%14720000=02202250= - PROCEDURE SEQCOMPARE(TLCR, CLCR, LIB); 14725000=02202500= + PROCEDURE SEQCOMPARE(TLCR, CLCR, LIB); 14725000=02202500= VALUE 14730000=02202500= LIB; 14735000=02202500= BOOLEAN 14740000=02202500= @@ -3302,7 +3328,7 @@ COMMENT READACARD READS CARDS FROM EITHER THE CARD READER OR THE 14510000 CLCR; 14760000=02202750= BEGIN 14765000=02203000= MEDIUM:= 6"C "; % CARD READER. 14770000=02203250= - IF GT1:= COMPARE(TLCR, CLCR) = 0 THEN% TAPE HAS LOW SEQUENCE NUMB14775000=02203500= + IF GT1:= COMPARE(TLCR, CLCR) = 0 THEN% TAPE HAS LOW SEQUENCE NUMB 14775000=02203500= BEGIN 14780000=02203750= LCR:= TLCR; 14785000=02204000= LASTUSED:= 14790000=02204000= @@ -3325,9 +3351,9 @@ COMMENT READACARD READS CARDS FROM EITHER THE CARD READER OR THE 14510000 IF FINISHPT-RECOUNT = 1 THEN 14875000=02207750= LASTCRDPATCH:= TRUE 14880000=02208000= ELSE 14885000=02208000= - READTAPE(LTLCR, MAXLTLCR, TRUE) 14890000=02208250= + READTAPE(LTLCR, MAXLTLCR, TRUE) 14890000=02208250= ELSE 14895000=02208250= - READTAPE(TLCR, MAXTLCR, FALSE); 14900000=02208500= + READTAPE(TLCR, MAXTLCR, FALSE); 14900000=02208500= END; 14905000=02208750= LCR:= CLCR; 14910000=02209000= LASTUSED:= 14915000=02209250= @@ -3368,48 +3394,48 @@ COMMENT READACARD READS CARDS FROM EITHER THE CARD READER OR THE 14510000 ERR(611); % ERR LIMIT EXCEEDED - STOP. 15090000=02211500= USETHESWITCH: 15095000=02212000= GO TO USESWITCH[LASTUSED]; 15100000=02212000= - MOVE(1, TEXT[LASTUSED.LINKR, LASTUSED.LINKC], 15105000=02212500= + MOVE(1, TEXT[LASTUSED.LINKR, LASTUSED.LINKC], 15105000=02212500= DEFINEARRAY[DEFINEINDEX-2]); 15110000=02212500= LASTUSED:= LASTUSED+1; 15115000=02212750= NCR:= LCR-1; 15120000=02213000= GO TO XIT; 15125000=02213250= FIRSTTIME: 15130000=02213750= - READ(CARD, 10, CBUFF[**]); 15135000=02213750= + READ(CARD, 10, CBUFF[*]); 15135000=02213750= FCR:= NCR:= (LCR:= MKABS(CBUFF[9]))-9; 15140000=02214000= MEDIUM:= 6"C "; 15145000=02214100= IF EXAMIN(FCR) ^= 6"$" AND LISTER THEN 15150000=02214200= PRINTCARD; 15155000=02214200= - PUTSEQNO(INFO[LASTSEQROW, LASTSEQENCE], LCR); 15160000=02214250= - CARDNUMBER:= CONV(INFO[LASTSEQROW, LASTSEQUENCE-1], 5, 8); 15165000=02214260= - TURNONSTOPLIGHT(6"%", LCR); 15170000=02214500= + PUTSEQNO(INFO[LASTSEQROW, LASTSEQENCE], LCR); 15160000=02214250= + CARDNUMBER:= CONV(INFO[LASTSEQROW, LASTSEQUENCE-1], 5, 8); 15165000=02214260= + TURNONSTOPLIGHT(6"%", LCR); 15170000=02214500= GO XIT; 15175000=02214750= 15180000=02215000= COMMENT WE HAVE JUST INITIALIZED CARD INPUT; 15185000=02215000= CARDONLY: 15190000=02215500= IF NORELEASE THEN 15195000=02215500= GO TO EXIT; 15200000=02215500= - READ(CARD, 10, CBUFF[**]); 15205000=02215500= + READ(CARD, 10, CBUFF[*]); 15205000=02215500= LCR:= MKABS(CBUFF[9]); 15210000=02215750= GO EXIT; 15215000=02215750= CARDLAST: 15220000=02216250= IF NORELEASE THEN 15225000=02216250= GO TO EXIT; 15230000=02216250= - READ(CARD, 10, CBUFF[**])[EOF]; 15235000=02216250= + READ(CARD, 10, CBUFF[*])[EOF]; 15235000=02216250= CLCR:= MKABS(CBUFF[9]); 15240000=02216500= GO COMPAR; 15245000=02216750= EOF: 15250000=02217250= - DEFINEARRAY[25]:= 6"ND;END."&6"E"[1:43:5]; 15255000=02217250= - DEFINEARRAY[34]:= 6"9999"&6"9999"[1:25:23]; 15260000=02217500= + DEFINEARRAY[25]:= 6"ND;END."&6"E"[46:4:5]; 15255000=02217250= + DEFINEARRAY[34]:= 6"9999"&6"9999"[46:22:23]; 15260000=02217500= CLCR:= MKABS(DEFINEARRAY[34]); 15265000=02217750= - PUTSEQNO(DEFINEARRAY[33], CLCR-8); 15270000=02218000= - TURNONSTOPLIGHT(6"%", CLCR-8); 15275000=02218250= + PUTSEQNO(DEFINEARRAY[33], CLCR-8); 15270000=02218000= + TURNONSTOPLIGHT(6"%", CLCR-8); 15275000=02218250= % 15280000=02218400= GO COMPAR; 15285000=02218500= 15290000=02218750= COMMENT THIS RELEASES THE PREVIOUS CARD FROM THE CARD READER AND 15295000=02218750= SETS UP CLCR; 15300000=02219000= TAPELAST: 15305000=02219500= - READTAPE(TLCR, MAXTLCR, FALSE); 15310000=02219500= + READTAPE(TLCR, MAXTLCR, FALSE); 15310000=02219500= GO TO COMPAR; 15315000=02219500= 15320000=02219750= COMMENT THIS RELEASES THE PREVIOUS CARD FROM TAPE AND SETS UP TLCR; 15325000=02219750= @@ -3419,7 +3445,7 @@ LIBCLAST: 15330000 FIRSTIMEX:= FALSE; 15345000=02220500= GO COMPAR 15350000=02220500= END; 15355000=02220500= - READ(CARD, 10, CBUFF[**])[EOF]; 15360000=02220750= + READ(CARD, 10, CBUFF[*])[EOF]; 15360000=02220750= CLCR:= MKABS(CBUFF[9]); 15365000=02221000= IF LASTCRDPATCH THEN 15370000=02221250= BEGIN 15375000=02221500= @@ -3434,38 +3460,38 @@ LIBTLAST: 15405000 FIRSTIMEX:= FALSE; 15420000=02223500= GO TO COMPAR 15425000=02223500= END; 15430000=02223500= - READTAPE(LTLCR, MAXLTLCR, TRUE); 15435000=02223750= + READTAPE(LTLCR, MAXLTLCR, TRUE); 15435000=02223750= IF RECOUNT = FINISHPT THEN 15440000=02224000= GO TO XIT; 15445000=02224000= GO COMPAR; 15450000=02224010= COPYLIB: 15455000=02224030= - READ(LF[INSERTINX:= INSERTINX+1], 10, LBUFF[**])[COPYEOF]; 15460000=02224030= + READ(LF[INSERTINX:= INSERTINX+1], 10, LBUFF[*])[COPYEOF]; 15460000=02224030= READ SEEK(LF[INSERTINX+1]); 15465000=02224032= - IF (CMPD(INSERTSEQ, LBUFF[9]) = 0) THEN 15470000=02224040= + IF (CMPD(INSERTSEQ, LBUFF[9]) = 0) THEN 15470000=02224040= GO COPYEOF; 15475000=02224040= LCR:= MKABS(LBUFF[9]); 15480000=02224050= GO TO EXIT; 15485000=02224060= COPYEOF: 15490000=02224080= - CLOSE(LF, RELEASE); 15495000=02224080= + CLOSE(LF, RELEASE); 15495000=02224080= IF ((INSERTDEPTH:= INSERTDEPTH-1) = 0) THEN 15500000=02224090= BEGIN 15505000=02224100= LASTUSED:= SAVECARD; 15510000=02224100= - MEDIUM:= MEDIUM.[24:12]; 15515000=02224100= + MEDIUM:= MEDIUM.[23:12]; 15515000=02224100= GO USETHESWITCH; 15520000=02224102= END; 15525000=02224104= - FILL LF WITH INSERTMID, INSERTFID; 15530000=02224110= + FILL LF WITH INSERTMID, INSERTFID; 15530000=02224110= GO COPYLIB; 15535000=02224120= COMPAR: 15540000=02224500= IF LASTUSED = 2 OR LASTUSED = 3 THEN 15545000=02224500= - SEQCOMPARE(TLCR, CLCR, FALSE) 15550000=02224750= + SEQCOMPARE(TLCR, CLCR, FALSE) 15550000=02224750= ELSE 15555000=02224750= - SEQCOMPARE(LTLCR, CLCR, TRUE); 15560000=02224750= + SEQCOMPARE(LTLCR, CLCR, TRUE); 15560000=02224750= EXIT: 15565000=02225250= NCR:= FCR:= LCR-9; 15570000=02225250= 15575000=02225500= COMMENT SETS UP NCR AND FCR; 15580000=02225500= IF CHECKTOG AND EXAMIN(FCR) ^= 6"$" THEN %$=CARDS DON"T COUNT. 15585000=02225750= - IF COMPARE(MKABS(INFO[LASTSEQROW, LASTSEQUENCE]), LCR) = 1 THEN 15590000=02226000= + IF COMPARE(MKABS(INFO[LASTSEQROW, LASTSEQUENCE]), LCR) = 1 THEN 15590000=02226000= IF SEQERRTOG THEN 15595000=02226250= BEGIN 15600000=02226250= FLAG(610); 15605000=02226250= @@ -3473,7 +3499,7 @@ COMMENT SETS UP NCR AND FCR; 15580000 END 15615000=02226500= ELSE 15620000=02226500= BEGIN % SEQUENCE WARNING 15625000=02226500= - BLANKET(14, LIN); 15630000=02226750= + BLANKET(14, LIN); 15630000=02226750= SEQUENCEWARNING(LIN[13]); 15635000=02227000= IF NOHEADING THEN 15640000=02227250= DATIME; 15645000=02227250= @@ -3506,7 +3532,7 @@ COMMENT DONT FORGET THAT NCR IS NOT WORD MODE, BUT CHAR. MODE POINTER; 15725000 END; 15780000=02231250= IF VOIDING OR VOIDTAPE THEN 15785000=02231500= BEGIN 15790000=02231750= - IF COMPARE(LCR, VOIDCR) = 0 THEN 15795000=02232000= + IF COMPARE(LCR, VOIDCR) = 0 THEN 15795000=02232000= BEGIN 15800000=02232250= IF VOIDTAPE AND LASTUSED = 3 OR NOT VOIDTAPE THEN 15805000=02232500= GO USETHESWITCH; 15810000=02232750= @@ -3524,21 +3550,21 @@ COMMENT DONT FORGET THAT NCR IS NOT WORD MODE, BUT CHAR. MODE POINTER; 15725000 DOLLAR2TOG:= NORELEASE:= FALSE; 15870000=02234650= GO USETHESWITCH; 15875000=02234650= END; 15880000=02234650= - PUTSEQNO(INFO[LASTSEQROW, LASTSEQUENCE], LCR); 15885000=02234750= + PUTSEQNO(INFO[LASTSEQROW, LASTSEQUENCE], LCR); 15885000=02234750= CARDNUMBER:= 15890000=02234800= IF SEQTOG THEN 15895000=02234800= TOTALNO+ADDVALUE 15900000=02234800= ELSE 15905000=02234800= - CONV(INFO[LASTSEQROW, LASTSEQUENCE-1], 5, 8); 15910000=02234900= + CONV(INFO[LASTSEQROW, LASTSEQUENCE-1], 5, 8); 15910000=02234900= OUTPUTSOURCE; 15915000=02235000= IF OMITTING THEN 15920000=02235250= GO USETHESWITCH; 15925000=02235250= % 15930000=02235500= - TURNONSTOPLIGHT(6"%", LCR); 15935000=02235750= + TURNONSTOPLIGHT(6"%", LCR); 15935000=02235750= IF BUILDLINE THEN 15940000=02236000= - IF LASTADDRESS ^= (LASTADDRESS:= L.[36:10]) THEN 15945000=02236250= + IF LASTADDRESS ^= (LASTADDRESS:= L.[11:10]) THEN 15945000=02236250= BEGIN 15950000=02236500= - ENILSPOT:= LASTADDRESS & CARDNUMBER[10:20:28]; 15955000=02236750= + ENILSPOT:= LASTADDRESS & CARDNUMBER[37:27:28]; 15955000=02236750= IF(ENILPTR:= ENILPTR+1) >= 1023 THEN 15960000=02237000= BEGIN 15965000=02237250= FLAG(80); 15970000=02237250= @@ -3559,8 +3585,8 @@ XIT: 15990000 EOF, 16045000=02238120= EXIT, 16050000=02238120= DONTSCAN; 16055000=02238120= - REAL 16060000=02238130= - STREAM PROCEDURE SCNN(A, B); 16065000=02238130= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16060000=02238130= + REAL STREAM PROCEDURE SCNN(A, B); 16065000=02238130= VALUE 16070000=02238130= B; 16075000=02238130= BEGIN 16080000=02238140= @@ -3571,7 +3597,8 @@ XIT: 15990000 SI:= SI+3; 16105000=02238160= DS:= B CHR; 16110000=02238160= END; 16115000=02238170= - STREAM PROCEDURE MVE(A, B, C, D); 16120000=02238180= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16116000 + STREAM PROCEDURE MVE(A, B, C, D); 16120000=02238180= VALUE 16125000=02238180= B, 16130000=02238180= C; 16135000=02238180= @@ -3582,7 +3609,8 @@ XIT: 15990000 C(DS:= LIT 6"0"); 16160000=02238200= DS:= B CHR; 16165000=02238200= END; 16170000=02238210= - STREAM PROCEDURE MVEWD(A, B); 16175000=02238212= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16172000 + STREAM PROCEDURE MVEWD(A, B); 16175000=02238212= VALUE 16180000=02238212= A; 16185000=02238212= BEGIN 16190000=02238214= @@ -3590,6 +3618,7 @@ XIT: 15990000 DI:= B; 16200000=02238214= DS:= 10 WDS; 16205000=02238214= END; 16210000=02238214= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16212000 DEFINE 16215000=02238220= SKAN = BEGIN 16220000=02238220= COUNT:= RESULT:= ACCUM[0]:= 0; 16225000=02238230= @@ -3604,7 +3633,7 @@ XIT: 15990000 IF ((INSERTDEPTH:= INSERTDEPTH+1) > INSERTMAX) THEN 16270000=02238280= ERR(612); 16275000=02238280= INSERTMID:= INSERTFID:= INSERTINX:= INSERTCOP:= 0; 16280000=02238290= - INSERTSEQ:= 6"9999"&6"9999"[1:23]; 16285000=02238300= + INSERTSEQ:= 6"9999"&6"9999"[46:23]; 16285000=02238300= AGAIN: 16290000=02238340= SKAN; 16295000=02238340= DONTSCAN: 16300000=02238350= @@ -3614,14 +3643,14 @@ DONTSCAN: 16300000 GO AGAIN; 16320000=02238360= IF RESULT = 3 THEN % SEQ RANGE 16325000=02238370= BEGIN 16330000=02238380= - MVE(ACCUM[1], COUNT:= MIN(COUNT, 8), 8-COUNT, INSERTINX); 16335000=02238385= + MVE(ACCUM[1], COUNT:= MIN(COUNT, 8), 8-COUNT, INSERTINX); 16335000=02238385= SKAN; 16340000=02238390= IF V = 6"- " THEN 16345000=02238400= BEGIN 16350000=02238410= SKAN; 16355000=02238420= IF RESULT ^= 3 THEN 16360000=02238430= ERR(614); 16365000=02238430= - MVE(ACCUM[1], COUNT:= MIN(COUNT, 8), 8-COUNT, INSERTSEQ); 16370000=02238440= + MVE(ACCUM[1], COUNT:= MIN(COUNT, 8), 8-COUNT, INSERTSEQ); 16370000=02238440= END 16375000=02238450= ELSE 16380000=02238450= GO TO DONTSCAN; 16385000=02238450= @@ -3653,9 +3682,9 @@ GETEM: 16500000 IF BOOLEAN(INSERTINFO[INSERTDEPTH-1, 4]) THEN 16515000=02238574= % ONLY IF LAST HAD COPY16520000=02238574= BEGIN 16525000=02238580= - MVEWD(FCR, LBUFF[0]); 16530000=02238580= - PUTSEQNO(LBUFF[9], MKABS(INFO[LASTSEQROW, LASTSEQUENCE])); 16535000=02238582= - WRITE(NEWTAPE, 10, LBUFF[**]); 16540000=02238590= + MVEWD(FCR, LBUFF[0]); 16530000=02238580= + PUTSEQNO(LBUFF[9], MKABS(INFO[LASTSEQROW, LASTSEQUENCE])); 16535000=02238582= + WRITE(NEWTAPE, 10, LBUFF[*]); 16540000=02238590= END; 16545000=02238600= IF INSERTMID = 0 THEN 16550000=02238602= ERR(613); 16555000=02238602= @@ -3667,17 +3696,17 @@ GETEM: 16500000 INSERTMID:= 0; 16585000=02238630= END; 16590000=02238630= IF INSERTDEPTH > 1 THEN 16595000=02238640= - CLOSE(LF, RELEASE); 16600000=02238640= - FILL LF WITH INSERTMID, INSERTFID; 16605000=02238650= - READ(LF[0], 10, LBUFF[**])[EEXIT];% DO THE FOLLOWING SO THAT 16610000=02238652= + CLOSE(LF, RELEASE); 16600000=02238640= + FILL LF WITH INSERTMID, INSERTFID; 16605000=02238650= + READ(LF[0], 10, LBUFF[*])[EEXIT]; % DO THE FOLLOWING SO THAT 16610000=02238652= INSERTMID:= LF.MFID; % IF THE OPERATOR IL-ED US 16615000=02238654= INSERTFID:= LF.FID; % WE WILL HAVE THE PROPER NAMES. 16620000=02238656= V:= -1; 16625000=02238658= IF INSERTINX > 0 THEN 16630000=02238660= BEGIN 16635000=02238670= DO 16640000=02238680= - READ(LF[V:= V+1], 10, LBUFF[**])[EEXIT] 16645000=02238690= - UNTIL CMPD(INSERTINX, LBUFF[9]) <= 1; 16650000=02238690= + READ(LF[V:= V+1], 10, LBUFF[*])[EEXIT] 16645000=02238690= + UNTIL CMPD(INSERTINX, LBUFF[9]) <= 1; 16650000=02238690= V:= V-1; 16655000=02238700= END; 16660000=02238702= INSERTINX:= V; 16665000=02238704= @@ -3685,14 +3714,14 @@ GETEM: 16500000 BEGIN 16675000=02238720= SAVECARD:= LASTUSED; 16680000=02238720= LASTUSED:= 7; 16685000=02238720= - MEDIUM:= 6"L "&MEDIUM[24:12]; 16690000=02238720= + MEDIUM:= 6"L "&MEDIUM[23:12]; 16690000=02238720= END; 16695000=02238730= GO TO EXIT; 16700000=02238760= EEXIT: 16705000=02238780= IF ((INSERTDEPTH:= INSERTDEPTH-1) > 0) THEN 16710000=02238780= BEGIN 16715000=02238790= - CLOSE(LF, RELEASE); 16720000=02238800= - FILL LF WITH INSERTMID, INSERTFID; 16725000=02238810= + CLOSE(LF, RELEASE); 16720000=02238800= + FILL LF WITH INSERTMID, INSERTFID; 16725000=02238810= END; 16730000=02238820= EXIT: 16735000=02238832= Q:= 6"1%0000"; 16740000=02238832= @@ -3705,21 +3734,20 @@ EXIT: 16735000 INTEGER 16775000=02249000= N; 16780000=02249000= TL0:= 0; 16785000=02250000= - THI:= T:= CONV(ACCUM[1], TCOUNT, N:= (COUNT-TCOUNT) MOD 8); 16790000=02251000= + THI:= T:= CONV(ACCUM[1], TCOUNT, N:= (COUNT-TCOUNT) MOD 8); 16790000=02251000= FOR N:= TCOUNT+N STEP 8 UNTIL COUNT-1 DO 16795000=02252000= IF DPTOG THEN 16800000=02253000= BEGIN 16805000=02254000= - DOUBLE(THI, TLO, 100000000.0, 0, *, CONV(ACCUM[1], N, 8), 0, 16810000=02256000= - +, := , THI, TLO); 16815000=02256000= + DOUBLE(THI, TLO, 100000000.0, 0, *, CONV(ACCUM[1], N, 8), 0, 16810000=02256000= + +, := , THI, TLO); 16815000=02256000= T:= THI; 16820000=02257000= END 16825000=02259000= ELSE 16830000=02259000= - T:= T*100000000+CONV(ACCUM[1], N, 8); 16835000=02259000= + T:= T*100000000+CONV(ACCUM[1], N, 8); 16835000=02259000= CONVERT:= T; 16840000=02260000= END; 16845000=02261000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16850000=02261000= - REAL 16855000=02262000= - STREAM PROCEDURE FETCH(F); 16860000=02262000= + REAL STREAM PROCEDURE FETCH(F); 16855000=02262000= VALUE 16865000=02262000= F; 16870000=02262000= BEGIN 16875000=02263000= @@ -3728,6 +3756,7 @@ EXIT: 16735000 DI:= LOC FETCH; 16890000=02263000= DS:= WDS 16895000=02263000= END FETCH; 16900000=02263000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16902000 PROCEDURE DUMPINFO; 16905000=02264000= BEGIN 16910000=02264050= ARRAY 16915000=02264100= @@ -3735,7 +3764,8 @@ EXIT: 16735000 INTEGER 16925000=02264100= JEDEN, 16930000=02264100= DWA; 16935000=02264100= - STREAM PROCEDURE OCTALWORDS(S, D, N); 16940000=02264400= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16936000 + STREAM PROCEDURE OCTALWORDS(S, D, N); 16940000=02264400= VALUE 16945000=02264400= N; 16950000=02264400= BEGIN 16955000=02264450= @@ -3745,7 +3775,8 @@ EXIT: 16735000 (IF SB THEN DS:= 1 SET ELSE DS:= 1 RESET;SKIP 1 SB));DS:= 1 LIT 16975000=02264600= 6" ");DS:= 2 LIT 6" "); 16980000=02264600= END OF OCTALWORDS; 16985000=02264650= - STREAM PROCEDURE ALPHAWORDS(S, D, N); 16990000=02264700= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%16986000 + STREAM PROCEDURE ALPHAWORDS(S, D, N); 16990000=02264700= VALUE 16995000=02264700= N; 17000000=02264700= BEGIN 17005000=02264750= @@ -3754,36 +3785,37 @@ EXIT: 16735000 N(2(4(DS:= 1 LIT 6" ";DS:= 1 CHR);DS:= 1 LIT 6" ");DS:= 2 LIT 6" "17020000=02264850= ); 17025000=02264850= END OF ALPHAWORDS; 17030000=02264900= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17032000 IF NOHEADING THEN 17035000=02264950= DATIME; 17040000=02264950= - WRITE(LINE[DBL], < //6"ELBAT">); 17045000=02264950= + WRITE(LINE[DBL], < //"ELBAT">); 17045000=02264950= FOR JEDEN:= 0 STEP 6 UNTIL 71 DO 17050000=02265000= BEGIN 17055000=02265050= - BLANKET(14, A); 17060000=02265100= - OCTALWORDS(ELBAT[JEDEN], A, 6); 17065000=02265100= - WRITE(LINE[DBL], 15, A[**]); 17070000=02265150= + BLANKET(14, A); 17060000=02265100= + OCTALWORDS(ELBAT[JEDEN], A, 6); 17065000=02265100= + WRITE(LINE[DBL], 15, A[*]); 17070000=02265150= END; 17075000=02265200= - BLANKET(14, A); 17080000=02265250= - OCTALWORDS(ELBAT[72], A, 4); 17085000=02265250= - WRITE(LINE[DBL], 15, A[**]); 17090000=02265300= + BLANKET(14, A); 17080000=02265250= + OCTALWORDS(ELBAT[72], A, 4); 17085000=02265250= + WRITE(LINE[DBL], 15, A[*]); 17090000=02265300= FOR JEDEN:= 0 STEP 1 UNTIL NEXTINFO DIV 256 DO 17095000=02265350= BEGIN 17100000=02265400= - WRITE(LINE[DBL], < //6"INFO[", I2, 6",*]">, JEDEN); 17105000=02265450= + WRITE(LINE[DBL], < //"INFO[", I2, ",*]">, JEDEN); 17105000=02265450= FOR DWA:= 0 STEP 6 UNTIL 251 DO 17110000=02265500= BEGIN 17115000=02265550= - BLANKET(14, A); 17120000=02265600= - ALPHAWORDS(INFO[JEDEN, DWA], A, 6); 17125000=02265600= - WRITE(LINE, 15, A[**]); 17130000=02265650= - BLANKET(14, A); 17135000=02265700= - OCTALWORDS(INFO[JEDEN, DWA], A, 6); 17140000=02265700= - WRITE(LINE[DBL], 15, A[**]); 17145000=02265750= + BLANKET(14, A); 17120000=02265600= + ALPHAWORDS(INFO[JEDEN, DWA], A, 6); 17125000=02265600= + WRITE(LINE, 15, A[*]); 17130000=02265650= + BLANKET(14, A); 17135000=02265700= + OCTALWORDS(INFO[JEDEN, DWA], A, 6); 17140000=02265700= + WRITE(LINE[DBL], 15, A[*]); 17145000=02265750= END; 17150000=02265800= - BLANKET(14, A); 17155000=02265850= - ALPHAWORDS(INFO[JEDEN, 252], A, 4); 17160000=02265850= - WRITE(LINE, 15, A[**]); 17165000=02265900= - BLANKET(14, A); 17170000=02265950= - OCTALWORDS(INFO[JEDEN, 252], A, 4); 17175000=02265950= - WRITE(LINE[DBL], 15, A[**]); 17180000=02266000= + BLANKET(14, A); 17155000=02265850= + ALPHAWORDS(INFO[JEDEN, 252], A, 4); 17160000=02265850= + WRITE(LINE, 15, A[*]); 17165000=02265900= + BLANKET(14, A); 17170000=02265950= + OCTALWORDS(INFO[JEDEN, 252], A, 4); 17175000=02265950= + WRITE(LINE[DBL], 15, A[*]); 17180000=02266000= END; 17185000=02266050= END OF DUMPINFO; 17190000=02266100= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17195000=02266100= @@ -3808,7 +3840,7 @@ COMMENT DOLLARCARD HANDLES THE COMPILER CONTROL CARDS. 17235000 HISTORY OF THE SETTINGS OF THIS OPTION. 17290000=02293000= 17295000=02294000= IN "FINDOPTION", ALL COMPILER-DEFINED OPTIONS ARE USUALLY 17300000=02295000= - LOCATES BASED UPON A UNIQUE NUMBER ASSIGNED TO EACH. 17305000=02296000= + LOCATED BASED UPON A UNIQUE NUMBER ASSIGNED TO EACH. 17305000=02296000= FOR ALL USER-DEFINED OPTIONS, A SEQUENTIAL TABLE SEARCH IS 17310000=02297000= INITIATED USING "USEROPINX" AS THE INITIAL INDEX INTO THE 17315000=02298000= "OPTIONS" ARRAY. IF THE NUMBER OF COMPILER-DEFINED OPTIONS 17320000=02299000= @@ -3875,8 +3907,8 @@ FOUND: 17435000 OPTIONWORD:= BOOLEAN(0); 17625000=02330000= FOR SAVEINX:= 1 STEP 2 UNTIL OPARSIZE DO 17630000=02331000= OPTIONS[SAVEINX]:= 0; 17635000=02331000= - IF BUILDLINE.[45:1] THEN 17640000=02331050= - BUILDLINE.[47:1]:= SEQXEQTOG:= FALSE; 17645000=02331060= + IF BUILDLINE.[2:1] THEN 17640000=02331050= + BUILDLINE.[0:1]:= SEQXEQTOG:= FALSE; 17645000=02331060= XMODE:= 1; 17650000=02332000= IF LASTUSED < 5 AND LASTUSED ^= 3 THEN 17655000=02332000= LASTUSED:= 1; 17660000=02332000= @@ -3888,7 +3920,7 @@ FOUND: 17435000 GO ALONG; 17690000=02336000= XMODE2: 17695000=02337000= % RESET. 17700000=02337000= - OPTIONS[OPINX+1]:= REAL(FALSE & SETTINGS[1:2:46]); 17705000=02338000= + OPTIONS[OPINX+1]:= REAL(FALSE & SETTINGS[46:45:46]); 17705000=02338000= IF XBIT < USEROPINX THEN 17710000=02339000= OPTIONWORD:= OPTIONWORD & FALSE[XBIT:1]; 17715000=02339000= GO ALONG; 17720000=02340000= @@ -3900,13 +3932,13 @@ FOUND: 17435000 BOOLEXP 17750000=02343000= ELSE 17755000=02343000= TRUE; 17760000=02343000= - OPTIONS[SAVEINX+1]:= REAL(B & SETTING[1:46]); 17765000=02352000= + OPTIONS[SAVEINX+1]:= REAL(B & SETTING[46:46]); 17765000=02352000= IF XBIT < USEROPINX THEN 17770000=02353000= OPTIONWORD:= OPTIONWORD & B[XBIT:1]; 17775000=02353000= GO ALONG; 17780000=02354000= XMODE4: 17785000=02355000= % POP. 17790000=02355000= - OPTIONS[OPINX+1]:= REAL(B:= SETTING.[1:46]); 17795000=02356000= + OPTIONS[OPINX+1]:= REAL(B:= SETTING.[46:46]); 17795000=02356000= IF XBIT < USEROPINX THEN 17800000=02357000= OPTIONWORD:= OPTIONWORD & B[XBIT:1]; 17805000=02357000= ALONG: 17810000=02359000= @@ -3945,12 +3977,12 @@ FOUND: 17435000 INTEGER 17975000=02365200= SAVEINX; 17980000=02365200= DOLLARTOG:= TRUE; 17985000=02366000= - MOVE(10, ACCUM[0], DEFINEARRY[0]); % SAVE INFORMATION FOR 17990000=02366100= + MOVE(10, ACCUM[0], DEFINEARRY[0]); % SAVE INFORMATION FOR 17990000=02366100= SCOUNT:= COUNT; 17995000=02366200= SRESULT:= RESULT; % "TABLE" TO RESUME SCAN. 18000000=02366200= XMODE:= 0; 18005000=02367000= - PUTSEQNO(INFO[LASTSEQROW, LASTSEQUENCE], LCR); 18010000=02368000= - TURNONSTOPLIGHT(6"%", LCR); 18015000=02369000= + PUTSEQNO(INFO[LASTSEQROW, LASTSEQUENCE], LCR); 18010000=02368000= + TURNONSTOPLIGHT(6"%", LCR); 18015000=02369000= SKANAGAIN: 18020000=02371000= SKAN; 18025000=02371000= AGAIN: 18030000=02373000= @@ -4012,14 +4044,14 @@ LENGTH4: 18275000 BEGIN 18310000=02407000= IF XMODE = 0 THEN 18315000=02408000= BEGIN 18320000=02409000= - GETVOID(VOIDPLACE, NCR, VOIDCR, LCR, 18325000=02411000= - INFO[LASTSEQROW, LASTSEQUENCE]); 18330000=02411000= + GETVOID(VOIDPLACE, NCR, VOIDCR, LCR, 18325000=02411000= + INFO[LASTSEQROW, LASTSEQUENCE]); 18330000=02411000= XMODE:= 1; 18335000=02412000= SWITCHIT(VOIDBIT); 18340000=02412000= GO EXIT; 18345000=02413000= END; 18350000=02414000= SWITCHIT(VOIDBIT); 18355000=02415000= - VOIDPLACE:= 6"9999"&6"9999"[1:23];%2 B COMPATIBLE W/B-5700 VOIDS 18360000=02416000= + VOIDPLACE:= 6"9999"&6"9999"[46:23];%2 B COMPATIBLE W/B-5700 VOIDS 18360000=02416000= VOIDCR:= MKABS(VOIDPLACE); % AND FAKE OUT READACARD. 18365000=02417000= GO AGAIN; 18370000=02418000= END; 18375000=02419000= @@ -4027,7 +4059,7 @@ LENGTH4: 18275000 BEGIN 18385000=02419100= SWITCHIT(XREFBIT); 18390000=02419100= IF BOOLEAN(XMODE) THEN 18395000=02419110= - DEFINING:= BOOLEAN(REAL(DEFINING) & 1[1:47:1]); 18400000=02419110= + DEFINING:= BOOLEAN(REAL(DEFINING) & 1[46:0:1]); 18400000=02419110= GO AGAIN 18405000=02419120= END; 18410000=02419120= IF Q = 6"4BEND0" THEN 18415000=02419200= @@ -4047,7 +4079,7 @@ LENGTH4: 18275000 IF XMODE ^= 2 THEN 18485000=02425500= MERGETOG:= NOT MERGETOG; 18490000=02425500= OPTIONS[2*MERGEBIT-1]:= % CARD IS 18495000=02426000= -REAL(SETTING & (MERGETOG)[47:1]); % INVERSE OF MERGE. 18500000=02427000= + REAL(SETTING & (MERGETOG)[0:1]); % INVERSE OF MERGE. 18500000=02427000= IF MERGETOG THEN 18505000=02428000= GO MERGEOPTION; 18510000=02428000= CARDOPTION: 18515000=02430000= @@ -4066,8 +4098,8 @@ REAL(SETTING & (MERGETOG)[47:1]); % INVERSE OF MERGE. 18500000 LASTUSED:= 2; % NEXT CARD IS READ FROM READER. 18580000=02438000= IF MAXTLCR = 0 THEN 18585000=02439000= BEGIN 18590000=02440000= - INTEGER 18595000=02441000= - STREAM PROCEDURE FEJ(F, T); 18600000=02441000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%18592000 + INTEGER STREAM PROCEDURE FEJ(F, T); 18595000=02441000= VALUE 18605000=02441000= T; 18610000=02441000= BEGIN 18615000=02442000= @@ -4079,7 +4111,8 @@ REAL(SETTING & (MERGETOG)[47:1]); % INVERSE OF MERGE. 18500000 DI:= LOC FEJ; 18645000=02444000= DS:= WDS; 18650000=02444000= END FEJ; 18655000=02445000= - STREAM PROCEDURE FIX(F, T); 18660000=02446000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%18656000 + STREAM PROCEDURE FIX(F, T); 18660000=02446000= VALUE 18665000=02446000= T; 18670000=02446000= BEGIN 18675000=02447000= @@ -4093,13 +4126,14 @@ REAL(SETTING & (MERGETOG)[47:1]); % INVERSE OF MERGE. 18500000 DS:= 2 RESET; 18715000=02449000= (DI:= DI+48;DS:= 8 LIT 6"00#01+0#"; 18720000=02451000= END FIX; 18725000=02451000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%18726000 IF GT1:= FEJ(TAPE, 0) = 10 THEN 18730000=02452000= BEGIN 18735000=02453000= REWIND(TAPE); 18740000=02454000= FIX(TAPE, 0); 18745000=02454000= END; 18750000=02455000= MAXTLCR:= GT1+TLCR:= 9+MKABS(TBUFF[0]); 18755000=02456000= - READ(TAPE, 10, TBUFF[**]); % INITIALIZE TAPE INPUT. 18760000=02457000= + READ(TAPE, 10, TBUFF[*]); % INITIALIZE TAPE INPUT. 18760000=02457000= LASTUSED:= 2; 18765000=02458000= END; 18770000=02459000= GO AGAIN; 18775000=02460000= @@ -4146,14 +4180,14 @@ LENGTH5: 18920000 BEGIN 18980000=02482000= IF XMODE = 0 THEN 18985000=02483000= BEGIN 18990000=02484000= - GETVOID(VOIDPLACE, NCR, VOIDCR, LCR, 18995000=02486000= - INFO[LASTSEQROW, LASTSEQUENCE]); 19000000=02486000= + GETVOID(VOIDPLACE, NCR, VOIDCR, LCR, 18995000=02486000= + INFO[LASTSEQROW, LASTSEQUENCE]); 19000000=02486000= XMODE:= 1; 19005000=02487000= SWITCHIT(VOIDBIT); 19010000=02487000= GO EXIT; 19015000=02488000= END; 19020000=02489000= SWITCHIT(VOIDTBIT); 19025000=02490000= - VOIDPLACE:= 6"9999"&6"9999"[1:23];%2 B COMPATIBLE W/B-5700 VOIDS 19030000=02491000= + VOIDPLACE:= 6"9999"&6"9999"[46:23];%2 B COMPATIBLE W/B-5700 VOIDS 19030000=02491000= VOIDCR:= MKABS(VOIDPLACE); % AND FAKE OUT READACARD. 19035000=02492000= GO AGAIN; 19040000=02493000= END; 19045000=02494000= @@ -4170,7 +4204,7 @@ LENGTH5: 18920000 FLAG(600); 19100000=02501000= GO AGAIN 19105000=02501000= END; 19110000=02501000= - ERRMAX:= CONV(ACCUM[1], 0, ACCUM[1].[12:6]); 19115000=02502000= + ERRMAX:= CONV(ACCUM[1], 0, ACCUM[1].[35:6]); 19115000=02502000= GO SKANAGAIN; 19120000=02503000= END; 19125000=02504000= IF Q = 6"5PUNCH" THEN 19130000=02505000= @@ -4207,20 +4241,20 @@ LENGTH6: 19235000 END; 19285000=02522000= IF Q = 6"6SEQXE" THEN 19290000=02523000= BEGIN 19295000=02524000= - IF BUILDLINE.[45:1] THEN 19300000=02525000= + IF BUILDLINE.[2:1] THEN 19300000=02525000= BEGIN 19305000=02525001= IF XMODE = 0 THEN 19310000=02525003= BEGIN 19315000=02525004= OPTIONWORD:= BOOLEAN(0); 19320000=02525005= FOR SAVEINX:= 1 STEP 2 UNTIL OPARSIZE DO 19325000=02525006= OPTIONS[SAVEINX]:= 0; 19330000=02525007= - BUILDLINE.[47:1]:= SEQXEQTOG:= FALSE; 19335000=02525008= + BUILDLINE.[0:1]:= SEQXEQTOG:= FALSE; 19335000=02525008= IF LASTUSED < 5 THEN 19340000=02525009= LASTUSED:= 1; 19345000=02525009= XMODE:= 1; 19350000=02525010= END; 19355000=02525011= SEQXEQTOG:= XMODE ^= 2 AND XMODE ^= 4; 19360000=02525012= - BUILDLINE.[47:1]:= SEQXEQTOG; 19365000=02525013= + BUILDLINE.[0:1]:= SEQXEQTOG; 19365000=02525013= END; 19370000=02526000= GO SKANAGAIN; 19375000=02527000= END; 19380000=02528000= @@ -4230,23 +4264,23 @@ LENGTH6: 19235000 IF DEBUGTOG THEN 19400000=02533000= IF WOP[0] = 0 THEN 19405000=02534000= BEGIN 19410000=02535000= - FILL WOP[**] WITH 6"LITC", 6" ", 6"OPDC", 6"DESC", 10, 19415000=02539000= - "DFL ", 11, "NOP ", 12, "XRT ", 16, "ADD ", 17, "AD2 ", 18, 19420000=02539000= - "PRL ", 19, "LNG ", 21, "GEQ ", 22, "BBC ", 24, "INX ", 35, 19425000=02540000= - "LOR ", 37, "GTR ", 38, "BFC ", 39, "RTN ", 40, "COC ", 48, 19430000=02541000= - "SUB ", 49, "SB2 ", 64, "MUL ", 65, "ML2 ", 67, "LND ", 68, 19435000=02542000= - "STD ", 69, "NEQ ", 71, "XIT ", 72, "MKS ", 128, "DIV ", 12919440000=02543000= - , 6"DV2 ", 130, "COM ", 131, "LQV ", 132, "SND ", 133, 19445000=02543000= - "XCH ", 134, "CHS ", 167, "RTS ", 168, "CDC ", 197, "FTC ", 19450000=02544000= - 260, "LOD ", 261, "DUP ", 278, "LBC ", 280, "SSF ", 294, 19455000=02545000= - "LFC ", 322, "ZP1 ", 384, "IDV ", 453, "FTF ", 515, "MDS ", 19460000=02546000= - 532, "ISD ", 533, "LEQ ", 534, "BBW ", 548, "ISN ", 549, 19465000=02546000= - "LSS ", 550, "BFW ", 581, "EQL ", 582, "SSP ", 584, "ECM ", 19470000=02547000= - 709, "CTC ", 790, "LBU ", 806, "LFU ", 896, "RDV ", 965, 19475000=02548000= - "CTF ", 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 102319480000=02549000= - , 1023, 1023, 1023; 19485000=02549000= - FILL COP[**] WITH % CHARACTER MODE MNEMONICS 19490000=02550000= -6"EXC ", 6"NOP ", 6"BSD ", 6"BSS ", 6"RDA ", 6"TRW ", 6"SED ", 6"TDA ", 19495000=02552000= + FILL WOP[*] WITH 6"LITC", 6" ", 6"OPDC", 6"DESC", 19415000=02539000= + 10,6"DFL ", 11,6"NOP ", 12,6"XRT ", 16,6"ADD ", 17,6"AD2 ", 19420000=02539000= + 18,6"PRL ", 19,6"LNG ", 21,6"GEQ ", 22,6"BBC ", 24,6"INX ", 19425000=02540000= + 35,6"LOR ", 37,6"GTR ", 38,6"BFC ", 39,6"RTN ", 40,6"COC ", 19430000=02541000= + 48,6"SUB ", 49,6"SB2 ", 64,6"MUL ", 65,6"ML2 ", 67,6"LND ", 19435000=02542000= + 68,6"STD ", 69,6"NEQ ", 71,6"XIT ", 72,6"MKS ",128,6"DIV ", 19440000=02543000= + 129,6"DV2 ",130,6"COM ",131,6"LQV ",132,6"SND ",133,6"XCH ", 19445000=02543000= + 134,6"CHS ",167,6"RTS ",168,6"CDC ",197,6"FTC ",260,6"LOD ", 19450000=02544000= + 261,6"DUP ",278,6"LBC ",280,6"SSF ",294,6"LFC ",322,6"ZP1 ", 19455000=02545000= + 384,6"IDV ",453,6"FTF ",515,6"MDS ",532,6"ISD ",533,6"LEQ ", 19460000=02546000= + 534,6"BBW ",548,6"ISN ",549,6"LSS ",550,6"BFW ",581,6"EQL ", 19465000=02546000= + 582,6"SSP ",584,6"ECM ",709,6"CTC ",790,6"LBU ",806,6"LFU ", 19470000=02547000= + 896,6"RDV ",965,6"CTF ",1023,1023, 1023,1023, 1023,1023, 19475000=02548000= + 1023,1023, 1023,1023, 1023,1023; 19480000=02549000= + FILL COP[*] WITH % CHARACTER MODE MNEMONICS 19490000=02550000= + 6"EXC ", 6"NOP ", 19495000=02552000= + 6"BSD ", 6"BSS ", 6"RDA ", 6"TRW ", 6"SED ", 6"TDA ", 19495100=02552000= 6" ", 6" ", 6"TBN ", 6" ", 6"SDA ", 6"SSA ", 19500000=02552000= 6"SFD ", 6"SRD ", 6" ", 6" ", 6"SES ", 6" ", 19505000=02553000= 6"TEQ ", 6"TNE ", 6"TEG ", 6"TGR ", 6"SRS ", 6"SFS ", 19510000=02554000= @@ -4257,7 +4291,7 @@ LENGTH6: 19235000 6"CEG ", 6"CGR ", 6"BIS ", 6"BIR ", 6"OCV ", 6"ICV ", 19535000=02558000= 6"CEL ", 6"CLS ", 6"FSU ", 6"FAD ", 6"TRP ", 6"TRN ", 19540000=02558000= 6"TRZ ", 6"TRS "; 19545000=02558000= - FILL POP[**] WITH 6"ZFN ", 6"ZBN ", 6"ZFD ", 6"ZBD ", 6"ISO " 19550000=02561000= + FILL POP[*] WITH 6"ZFN ", 6"ZBN ", 6"ZFD ", 6"ZBD ", 6"ISO " 19550000=02561000= , 0, "DIA ", 6"DIB ", 6"TRB ", 6"CFL ", 6"CFE "; 19555000=02562000= END; 19560000=02563000= GO AGAIN; 19565000=02564000= @@ -4292,7 +4326,7 @@ LENGTH9: 19680000 WHATISIT: 19710000=02579000= IF RESULT = 3 THEN 19715000=02579000= BEGIN 19720000=02580000= - BASENUM:= CONV(ACCUM[1], 0, ACCUM[1].[12:6]); 19725000=02581000= + BASENUM:= CONV(ACCUM[1], 0, ACCUM[1].[35:6]); 19725000=02581000= TOTALNO:= -10; 19730000=02582000= NEWBASE:= TRUE; 19735000=02583000= GO SKANAGAIN; 19740000=02584000= @@ -4303,8 +4337,8 @@ WHATISIT: 19710000 BEGIN 19765000=02589000= SKAN; 19770000=02590000= IF RESULT = 3 THEN 19775000=02591000= - ADDVALUE:= CONV(ACCUM[1], 0, ACCUM[1].[12:6]); 19780000=02592000= - FLAG(600); % NUMBER EXPECTED. 19785000=02593000= + ADDVALUE:= CONV(ACCUM[1], 0, ACCUM[1].[35:6]); 19780000=02592000= + FLAG(600); % NUMBER EXPECTED. 19785000=02593000= END; 19790000=02594000= GO SKANAGAIN; 19795000=02595000= END; 19800000=02596000= @@ -4319,7 +4353,7 @@ COMMENT DID NOT RECOGNIZE OPTION; 19810000 GO AGAIN; 19845000=02601000= EXIT: 19850000=02602500= LISTER:= DEBUGTOG OR LISTOG OR LISTATOG; 19855000=02602500= - MOVE(10, DEFINEARRAY[0], ACCUM[0]); % RESTORE INFORMATION FOR 19860000=02602600= + MOVE(10, DEFINEARRAY[0], ACCUM[0]); % RESTORE INFORMATION FOR 19860000=02602600= COUNT:= SCOUNT; 19865000=02602700= RESULT:= SRESULT; % "TABLE" TO RESUME SCAN. 19870000=02602700= DOLLARTOG:= FALSE; 19875000=02603000= @@ -4410,14 +4444,28 @@ COMMENT TABLE IS THE ROUTINE THAT MOST CODE IN THE COMPILER 19895000 FLAG(141); 20300000=02650000= GO SCANAGAIN; 20305000=02650000= SPECIALCHAR: 20310000=02652000= - GT1:= ACCUM[1].[18:6]-2; 20315000=02652000= + GT1:= ACCUM[1].[29:6]-2; 20315000=02652000= ENDTOG:= GT1 = 57 AND ENDTOG; 20320000=02653000= 20325000=02654000= COMMENT OBTAIN ACTUAL CHARACTER FROM ACCUM; 20330000=02654000= - SPECIAL[GT1 & GT1[42:41:3];COMMENTIF GT1:= T.INCR = 0 THEN GO 20335000=02666000= - COMPLETE;GO SPECIALSWITCH[GT1];COMMENTRESULT:= 7;SCANNER; 20340000=02666000= - COMMENTIF EXAMIN(NCR) = 6"=" THEN BEGIN RESULT:= 0;SCANNER;T 20345000=02666000= - := SPECIAL[13] 20350000=02666000= + SPECIAL[GT1 & GT1[5:6:3]]; 20335000=02655000= +COMMENT NOTICE COMPRESSION TECHNIQUE USED TO SHORTEN TABLE OF 20335100=02656000= + ELBAT WORDS FOR SPECIAL CHARACTERS; 20335200=02657000= + IF GT1:= T.INCR = 0 THEN 20335300=02658000= + GO COMPLETE; 20335400=02658000= + GO SPECIALSWITCH[GT1]; 20340000=02659000= +COMMENT INCR FIELD OF SPECIAL CHARACTER IS NON-ZERO FOR SPECIAL 20340100=02660000= + CHARACTERS REQUIRING SPECIAL HANDLING. INCR IS SWITCHED 20340200=02661000= + ON TO OBTAIN DISCRIMINATION; 20340300=02662000= +COLON: 20340400=02663000= + RESULT:= 7; 20340500=02663000= + SCANNER; COMMENT ELIMINATE BLANKS - CHECKING 20345000=02663000= + FOR := IN PLACE OF ~; 20345100=02664000= + IF EXAMIN(NCR) = 6"=" THEN 20345200=02665000= + BEGIN 20345300=02666000= + RESULT:= 0; 20345400=02666000= + SCANNER; 20345500=02666000= + T:= SPECIAL[13] 20350000=02666000= END; 20355000=02666000= RESULT:= 2; 20360000=02667000= GO COMPLETE; 20365000=02667000= @@ -4455,7 +4503,7 @@ COMMENT DOT AND ATSIGN ENTER NUMBER CONVERSION AT CORRECT SPOT; 20450000 GO ARGH; 20525000=02696000= END 20530000=02697000= UNTIL EXAMIN(NCR) = 6"""; 20535000=02697000= - IF NOT STREAMTOG AND COUNT = 8 AND BOOLEAN(ACCUM[1].[18:1]) THEN 20540000=02697500= + IF NOT STREAMTOG AND COUNT = 8 AND BOOLEAN(ACCUM[1].[29:1]) THEN 20540000=02697500= BEGIN 20545000=02697600= Q:= ACCUM[1]; 20550000=02697600= FLAG(254); 20555000=02697600= @@ -4472,10 +4520,10 @@ COMMENT DOT AND ATSIGN ENTER NUMBER CONVERSION AT CORRECT SPOT; 20450000 STRNGXT: 20610000=02701000= T:= C:= 0; 20615000=02701000= T.CLASS:= STRNGCON; 20620000=02702000= - IF COUNT < 8 OR(COUNT = 8 AND NOT BOOLEAN(ACCUM[1].[18:1])) THEN 20625000=02703050= + IF COUNT < 8 OR(COUNT = 8 AND NOT BOOLEAN(ACCUM[1].[29:1])) THEN 20625000=02703050= % FLAG BIT NOT SET, FULL WORD CONST. 20630000=02703050= MOVEIT: 20635000=02705000= - MOVECHARACTERS(COUNT, ACCUM[1], 3, C, 8-COUNT) 20640000=02705100= + MOVECHARACTERS(COUNT, ACCUM[1], 3, C, 8-COUNT) 20640000=02705100= ELSE 20645000=02705100= T.CLASS:= STRING; 20650000=02705100= T.INCR:= COUNT; 20655000=02705200= @@ -4492,19 +4540,19 @@ COMMENT CROSSHATCH HANDLES TWO SITUATIONS: 20675000 CROSSHATCH: 20710000=02715000= IF DEFINECTR ^= 0 THEN 20715000=02715000= GO COMPLETE; 20720000=02715000= - PUTSEQNO(GT1, LCR); 20725000=02716000= - TURNONSTOPLIGHT(0, LCR); 20730000=02717000= + PUTSEQNO(GT1, LCR); 20725000=02716000= + TURNONSTOPLIGHT(0, LCR); 20730000=02717000= IF DEFINEINDEX = 0 THEN 20735000=02718000= GO ARGH; 20740000=02718000= LCR:= (GT1:= DEFINEARRAY[DEFINEINDEX-1]) DIV 262144; 20745000=02719000= NCR:= GT1 MOD 262144; 20750000=02720000= - LASTUSED:= (T:= DEFINEARRAY[DEFINEINDEX:= DEFINEINDEX-3]).[33:15];20755000=02721000= - IF(GT2:= T.[18:15]) ^= 0 THEN % THIS WAS A PARAMETRIC DEFINE 20760000=02721500= + LASTUSED:= (T:= DEFINEARRAY[DEFINEINDEX:= DEFINEINDEX-3]).[14:15];20755000=02721000= + IF(GT2:= T.[29:15]) ^= 0 THEN % THIS WAS A PARAMETRIC DEFINE 20760000=02721500= BEGIN % PURGING PARAMETERS FROM DEFSTACKHEAD 20765000=02722000= GT2:= TAKE(GT2).LINK; % GET POINTER TO NEW DEFSTACKHEAD 20770000=02722500= DO 20775000=02723500= PUT(TEXT[(NEXTTEXT:= (GT1:= TAKE(DEFSTACKHEAD)).DYNAM-1).LINKR20780000=02724500= - , NEXTTEXT.LINKC], DEFSTACKHEAD) 20785000=02724500= + , NEXTTEXT.LINKC], DEFSTACKHEAD) 20785000=02724500= % THIS RESTORES THE PREVIOUS ELBAT WORD FOR 20790000=02724500= % THIS PARAMETER IN CASE OF NESTED DEFINE. 20795000=02725000= UNTIL GT2 = (DEFSTACKHEAD:= GT1.LINK); 20800000=02726000= @@ -4570,7 +4618,7 @@ COMMENT MIGHT BE FUNNY COMMA - HANDLE HERE; 20940000 IF(C = 3 OR C = 4) AND EXAMIN(NCR) = 6""" THEN 21100000=02761000= %OCTAL OR HEX STRING.21105000=02761000= IF NOT(ACCUM[0].CLASS = FILEID AND 21110000=02761501= - INFO[LASTINFO.LINKR, LASTINFO.LINKC] = ACCUM[0]) 21115000=02761501= + INFO[LASTINFO.LINKR, LASTINFO.LINKC] = ACCUM[0]) 21115000=02761501= THEN 21120000=02761501= BEGIN 21125000=02762000= INTEGER 21130000=02762000= @@ -4593,25 +4641,25 @@ COMMENT MIGHT BE FUNNY COMMA - HANDLE HERE; 20940000 SCANNER; 21215000=02770000= COUNT:= COUNT-1; 21220000=02770000= IF C = 3 THEN % OCTAL STRING. 21225000=02771000= - IF OCTIZE(ACCUM[1], ACCUM[4], 16-COUNT, COUNT) THEN 21230000=02772000= + IF OCTIZE(ACCUM[1], ACCUM[4], 16-COUNT, COUNT) THEN 21230000=02772000= FLAG(521) % NON-OCTAL CHARACTER IN STRING. 21235000=02773000= ELSE 21240000=02774000= ELSE 21245000=02774000= - IF HEXIZE(ACCUM[1], ACCUM[4], 12-COUNT, COUNT) THEN 21250000=02774000= + IF HEXIZE(ACCUM[1], ACCUM[4], 12-COUNT, COUNT) THEN 21250000=02774000= FLAG(521); % NON-HEX CHARACTER IN HEX STRING. 21255000=02775000= T.INCR:= COUNT:= (C*COUNT-1) DIV 6+1; % # OF CHARS. 21260000=02776100= T.CLASS:= STRNGCON; 21265000=02776200= - MOVECHARACTERS(1, ACCUM[4], 0, ACCUM[1], 3); 21270000=02776300= - IF BOOLEAN(ACCUM[1].[18:1]) THEN% FLAG BIT SET. 21275000=02776400= + MOVECHARACTERS(1, ACCUM[4], 0, ACCUM[1], 3); 21270000=02776300= + IF BOOLEAN(ACCUM[1].[29:1]) THEN% FLAG BIT SET. 21275000=02776400= IF STREAMTOG THEN 21280000=02776500= T.CLASS:= STRING 21285000=02776700= ELSE 21290000=02776700= FLAG(254) 21295000=02776900= ELSE 21300000=02776900= C:= ACCUM[4]; % GET FULL WORD EQUIVALENT OF STRING. 21305000=02777000= - MOVECHARACTERS(COUNT, ACCUM[4], 8-COUNT, ACCUM[1], 3); 21310000=02777050= + MOVECHARACTERS(COUNT, ACCUM[4], 8-COUNT, ACCUM[1], 3); 21310000=02777050= GO TO COMPLETE; 21315000=02777100= - MOVECHARACTERS(8, ACCUM[4], 0, ACCUM[1], 3); 21320000=02781000= + MOVECHARACTERS(8, ACCUM[4], 0, ACCUM[1], 3); 21320000=02781000= GO COMPLETE; 21325000=02782000= END OCTAL OR HEX STRING; 21330000=02783000= IF DPTOG THEN 21335000=02784000= @@ -4632,11 +4680,11 @@ COMMENT MIGHT BE FUNNY COMMA - HANDLE HERE; 20940000 SCANNER; 21410000=02793000= IF DPTOG THEN 21415000=02794000= BEGIN 21420000=02795000= - DOUBLE(CONVERT, TLO, TEN[(COUNT-TCOUNT) MOD 12], 0, /, 21425000=02797000= - := , THI, TLO); 21430000=02797000= + DOUBLE(CONVERT, TLO, TEN[(COUNT-TCOUNT) MOD 12], 0, /, 21425000=02797000= + := , THI, TLO); 21430000=02797000= FOR T:= 12 STEP 12 UNTIL COUNT-TCOUNT DO 21435000=02798000= - DOUBLE(THI, TLO, TEN[12], 0, /, := , THI, TLO); 21440000=02799000= - DOUBLE(THI, TLO, NHI, NLO, +, := , NHI, NLO); 21445000=02800000= + DOUBLE(THI, TLO, TEN[12], 0, /, := , THI, TLO); 21440000=02799000= + DOUBLE(THI, TLO, NHI, NLO, +, := , NHI, NLO); 21445000=02800000= C:= NHI 21450000=02802000= END 21455000=02803000= ELSE 21460000=02803000= @@ -4676,8 +4724,8 @@ COMMENT MIGHT BE FUNNY COMMA - HANDLE HERE; 20940000 ELSE 21630000=02825000= BEGIN 21635000=02825000= T:= TEN[ABS(GT3:= T-FSAVE)]; 21640000=02826000= - IF ABS(0 & C[42:3:6] & C[1:2:1]+0 & T[42:3:6] & GT3[1:1:1]+12)21645000=02828000= - > 63 21650000=02828000= + IF ABS(0 & C[5:44:6] & C[46:45:1]+0 21645000=02828000= + & T[5:44:6] & GT3[46:46:1]+12) > 63 21650000=02828000= THEN 21655000=02828000= FLAG(269) 21660000=02829000= ELSE 21665000=02829000= @@ -4685,17 +4733,17 @@ COMMENT MIGHT BE FUNNY COMMA - HANDLE HERE; 20940000 IF GT1 < 0 THEN 21675000=02830000= BEGIN 21680000=02831000= GT1:= -GT1; 21685000=02832000= - DOUBLE(NHI, NLO, TEN[GT1 MOD 12], 0, /, := , NHI, NLO)21690000=02833000= + DOUBLE(NHI, NLO, TEN[GT1 MOD 12], 0, /, := , NHI, NLO) 21690000=02833000= ; 21695000=02833000= FOR GT2:= 12 STEP 12 UNTIL GT1 DO 21700000=02834000= - DOUBLE(NHI, NLO, TEN[12], 0, /, := , NHI, NLO); 21705000=02835000= + DOUBLE(NHI, NLO, TEN[12], 0, /, := , NHI, NLO); 21705000=02835000= END 21710000=02837000= ELSE 21715000=02837000= BEGIN 21720000=02837000= - DOUBLE(NHI, NLO, TEN[GT1 MOD 12], 0, *, := , NHI, NLO)21725000=02838000= + DOUBLE(NHI, NLO, TEN[GT1 MOD 12], 0, *, := , NHI, NLO) 21725000=02838000= ; 21730000=02838000= FOR GT2:= 12 STEP 12 UNTIL GT1 DO 21735000=02839000= - DOUBLE(NHI, NLO, TEN[12], 0, *, := , NHI, NLO); 21740000=02840000= + DOUBLE(NHI, NLO, TEN[12], 0, *, := , NHI, NLO); 21740000=02840000= END 21745000=02842000= ELSE 21750000=02842000= C:= 21755000=02842000= @@ -4712,7 +4760,7 @@ COMMENT MIGHT BE FUNNY COMMA - HANDLE HERE; 20940000 RESULT:= 3; 21810000=02846000= FINISHNUMBER: 21815000=02848000= T:= 0; 21820000=02848000= - IF C.[1:37] = 0 THEN 21825000=02849000= + IF C.[46:37] = 0 THEN 21825000=02849000= BEGIN 21830000=02850000= T.CLASS:= LITNO; 21835000=02850000= T.ADDRESS:= C 21840000=02850000= @@ -4738,11 +4786,11 @@ COMMENT THE CODE BETWEEN IDENT AND COMPOST DOES A LOOKUP IN INFO. 21870000 BEGIN 21940000=02866000= IF INFO[GT1:= T.LINKR, (GT2:= T.LINKC)+1] = Q THEN 21945000=02867000= BEGIN 21950000=02868000= - T:= INFO[GT1, GT2] & T[35:35:13]; 21955000=02869000= + T:= INFO[GT1, GT2] & T[12:12:13]; 21955000=02869000= GO COMPLETE 21960000=02871000= END 21965000=02872000= END; 21970000=02872000= - IF EXAMINELAST(ACCUM[1], COUNT+2) = 12 THEN 21975000=02873000= + IF EXAMINELAST(ACCUM[1], COUNT+2) = 12 THEN 21975000=02873000= T:= DEFSTACKHEAD 21980000=02874000= ELSE 21985000=02874000= T:= STACKHEAD[SCRAM]; 21990000=02874000= @@ -4753,22 +4801,22 @@ COMMENT THE CODE BETWEEN IDENT AND COMPOST DOES A LOOKUP IN INFO. 21870000 T:= 0; 22015000=02877000= GO COMPLETE 22020000=02877000= END; 22025000=02877000= - IF T = INFO[GT1, GT2] THEN 22030000=02877010= + IF T = INFO[GT1, GT2] THEN 22030000=02877010= BEGIN 22035000=02877010= T:= 0; 22040000=02877020= GO TO COMPLETE 22045000=02877020= END; 22050000=02877020= - T:= INFO[GT1, GT2]; 22055000=02878000= - IF INFO[GT1, GT2+1] & 0[1:1:11] ^= Q THEN 22060000=02879000= + T:= INFO[GT1, GT2]; 22055000=02878000= + IF INFO[GT1, GT2+1] & 0[46:46:11] ^= Q THEN 22060000=02879000= GO ROSE; 22065000=02879000= IF COUNT <= 5 THEN 22070000=02880000= GO COMPOST; 22075000=02880000= - IF NOT EQUAL(COUNT-5, ACCUM[2], INFO[GT1, GT2+2]) THEN 22080000=02881000= + IF NOT EQUAL(COUNT-5, ACCUM[2], INFO[GT1, GT2+2]) THEN 22080000=02881000= GO ROSE; 22085000=02881000= COMPOST: 22090000=02882000= - T:= T & GT1[35:43:5] & GT2[40:40:8]; 22095000=02882000= + T:= T & GT1[12:4:5] & GT2[7:7:8]; 22095000=02882000= IF GT1 ^= 1 AND NOT MACROID THEN % NOT RESERVED WORD 22100000=02882100= - XREFIT(T, LINK, CARDNUMBER, NORMALREF); % BUILD XREF ENTRY 22105000=02882200= + XREFIT(T, LINK, CARDNUMBER, NORMALREF); % BUILD XREF ENTRY 22105000=02882200= 22110000=02883000= COMMENT CHECK HERE FOR COMMENTS AND DEFINED IDS; 22115000=02883000= IF NOT ENDTOG THEN 22120000=02884000= @@ -4792,7 +4840,7 @@ COMMENT CHECK HERE FOR COMMENTS AND DEFINED IDS; 22115000 GO COMPLETE; 22210000=02894000= 22215000=02895000= COMMENT SETUP FOR DEFINED IDS - SEE DEFINEGEN FOR MORE DETAILS; 22220000=02895000= - IF BOOLEAN(T, MON) THEN % THIS IS A PARAMETRIC DEFINE 22225000=02896000= + IF BOOLEAN(T, MON) THEN % THIS IS A PARAMETRIC DEFINE 22225000=02896000= GT1:= GIT(T:= FIXDEFINEINFO(T)) 22230000=02897000= ELSE 22235000=02897000= GT1:= 0; 22240000=02897000= @@ -4801,12 +4849,12 @@ COMMENT SETUP FOR DEFINED IDS - SEE DEFINEGEN FOR MORE DETAILS; 22220000 FLAG(139); 22255000=02899000= GO ARGH 22260000=02899000= END; 22265000=02899000= - DEFINEARRAY[DEFINEINDEX]:= LASTUSED & GT1[18:33:15]; 22270000=02900000= + DEFINEARRAY[DEFINEINDEX]:= LASTUSED & GT1[29:14:15]; 22270000=02900000= LASTUSED:= T.DYNAM; 22275000=02901000= DEFINEARRAY[DEFINEINDEX+2]:= 262144*LCR+NCR; 22280000=02902000= LCR:= (NCR:= MKABS(DEFINEARRAY[DEFINEINDEX+1]))+1; 22285000=02903000= - PUTSEQNO(GT4, LCR); 22290000=02904000= - TURNONSTOPLIGHT(6"%", LCR); 22295000=02905000= + PUTSEQNO(GT4, LCR); 22290000=02904000= + TURNONSTOPLIGHT(6"%", LCR); 22295000=02905000= DEFINEINDEX:= DEFINEINDEX+3; 22300000=02905000= GO PERCENT; 22305000=02906000= DBLDOLLAR: 22310000=02908000= @@ -4832,7 +4880,7 @@ COMMENT SETUP FOR DEFINED IDS - SEE DEFINEGEN FOR MORE DETAILS; 22220000 BEGIN 22410000=02914000= 22415000=02915000= COMMENT ELBAT IS FULL: ADJUST IT; 22420000=02915000= - MOVE(10, ELBAT[65], ELBAT); 22425000=02916000= + MOVE(10, ELBAT[65], ELBAT); 22425000=02916000= I:= I-65; 22430000=02917000= P:= P-65; 22435000=02917000= NXTELBT:= 10; 22440000=02917000= @@ -4842,20 +4890,20 @@ COMMENT ELBAT IS FULL: ADJUST IT; 22420000 BEGIN 22460000=02921000= 22465000=02922000= COMMENT SPECIAL HANDLING OF CONSTANTS FOR SAKE OF FOR STATEMENTS; 22470000=02922000= - C:= INFO[0, ELBAT[P].ADDRESS]; 22475000=02923000= + C:= INFO[0, ELBAT[P].ADDRESS]; 22475000=02923000= ELBAT[P].CLASS:= TABLE:= NONLITNO 22480000=02925000= END; 22485000=02925000= STOPDEFINE:= FALSE; 22490000=02926000= COMMENT ALLOW DEFINE; 22495000=02926000= END TABLE; 22500000=02927000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%22505000=02927000= - INTEGER PROCEDURE MOVEANDBLOCK(FROM, SIZE, NAME) VALUE SIZE, 22510000=02927110= + INTEGER PROCEDURE MOVEANDBLOCK(FROM, SIZE, NAME) VALUE SIZE, 22510000=02927110= NAME; 22515000=02927110= REAL 22520000=02927110= SIZE, 22525000=02927110= NAME; 22530000=02927110= ARRAY 22535000=02927110= - FROM[0, 0]; 22540000=02927110= + FROM[0, 0]; 22540000=02927110= BEGIN 22545000=02927120= INTEGER 22550000=02927130= NSEGS, 22555000=02927130= @@ -4874,7 +4922,8 @@ COMMENT SPECIAL HANDLING OF CONSTANTS FOR SAKE OF FOR STATEMENTS; 22470000 (/,"POWER OF TEN ARRAY IS CODE FILE SEGMENT",I5,/), 22620000=02927210= (/,"SEGMENT ZERO",I*,/), 22625000=02927220= (/,"SEGMENT NUMBER",I5," IS CODE FILE SEGMENT",I5,/); 22630000=02927230= -STREAM PROCEDURE OCTALWORDS(N, W, S, D); 22635000=02927240= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%22632000 + STREAM PROCEDURE OCTALWORDS(N, W, S, D); 22635000=02927240= VALUE 22640000=02927240= N, 22645000=02927240= W; 22650000=02927240= @@ -4894,6 +4943,7 @@ STREAM PROCEDURE OCTALWORDS(N, W, S, D); 22635000 (DS:= 3 RESET;3(IF SB THEN DS:= SET ELSE DS:= RESET;SKIP SB);); 22720000=02927350= DS:= LIT 6" ");DS:= 2 LIT 6" "); 22725000=02927350= END OF OCTALWORDS; 22730000=02927360= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%22732000 %********** S T A R T ********** 22735000=02927370= NSEGS:= (SIZE+29) DIV 30; 22740000=02927380= IF DA DIV CHUNK < T:= (DA+NSEGS) DIV CHUNK THEN 22745000=02927390= @@ -4901,35 +4951,35 @@ STREAM PROCEDURE OCTALWORDS(N, W, S, D); 22635000 MOVEANDBLOCK:= DA; 22755000=02927410= IF CODEFILE THEN 22760000=02927420= IF NAME >= 0 THEN 22765000=02927430= - WRITE(LINE, FMT[NAME], DA) 22770000=02927450= + WRITE(LINE, FMT[NAME], DA) 22770000=02927450= ELSE 22775000=02927450= - WRITE(LINE, FMT[7], ABS(NAME), DA); 22780000=02927460= + WRITE(LINE, FMT[7], ABS(NAME), DA); 22780000=02927460= IF SIZE ^= 0 THEN 22785000=02927470= BEGIN 22790000=02927480= FOR J:= 0 STEP 30 WHILE J < SIZE DO 22795000=02927490= BEGIN 22800000=02927500= IF(K:= (128-(J MOD 128))) < 30 THEN 22805000=02927510= BEGIN 22810000=02927520= - MOVE(K, FROM[J DIV 128, J MOD 128], CODE(0)); 22815000=02927530= - MOVE(30-K, FROM[(J DIV 128)+1, 0], CODE(K)); 22820000=02927540= + MOVE(K, FROM[J DIV 128, J MOD 128], CODE(0)); 22815000=02927530= + MOVE(30-K, FROM[(J DIV 128)+1, 0], CODE(K)); 22820000=02927540= END 22825000=02927570= ELSE 22830000=02927570= - MOVE(30, FROM[J DIV 128, J MOD 128], CODE(0)); 22835000=02927570= + MOVE(30, FROM[J DIV 128, J MOD 128], CODE(0)); 22835000=02927570= IF J+30 > SIZE THEN % ZERO OUT UNUSED SECTION 22840000=02927580= BEGIN 22845000=02927590= K:= 0; 22850000=02927600= - MOVE(1, K, CODE(SIZE-J)); 22855000=02927610= + MOVE(1, K, CODE(SIZE-J)); 22855000=02927610= IF(SIZE-J) < 29 THEN % MORE THAN ONE WORD 22860000=02927612= - MOVE(29-SIZE+J, CODE(SIZE-J), CODE(SIZE-J+1)); 22865000=02927620= + MOVE(29-SIZE+J, CODE(SIZE-J), CODE(SIZE-J+1)); 22865000=02927620= END; 22870000=02927630= IF CODEFILE THEN 22875000=02927640= BEGIN 22880000=02927650= FOR K:= 0 STEP 5 WHILE K <= 25 AND(J+K) <= SIZE DO 22885000=02927660= BEGIN 22890000=02927670= - BLANKET(14, A); 22895000=02927680= + BLANKET(14, A); 22895000=02927680= OCTALWORDS(J+K, IF(J:= K+5) <= SIZE THEN 5 ELSE SIZE-J-K, 22900000=02927700= - CODE(K), A); 22905000=02927700= - WRITE(LINE, 15, A[**]); 22910000=02927710= + CODE(K), A); 22905000=02927700= + WRITE(LINE, 15, A[*]); 22910000=02927710= END; 22915000=02927720= WRITE(LINE); 22920000=02927722= END; 22925000=02927730= @@ -4980,7 +5030,7 @@ DEBLANK: 23015000 RESULT:= 5; 23150000=02951000= SCANNER; % GET NEXT CHARACTER. 23155000=02951000= Q:= ACCUM[1]; 23160000=02952000= - ELCLASS:= ACCUM[1].[18:6] 23165000=02953000= + ELCLASS:= ACCUM[1].[29:6] 23165000=02953000= END 23170000=02954000= END OF NEXTENT; 23175000=02954000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%23180000=02954000= @@ -5012,7 +5062,7 @@ DEBLANK: 23015000 IF Q = 6"1,0000" OR Q = 6"1%0000" THEN 23310000=02960500= 20 % FAKE OUT BOOLEXP.23315000=02960500= ELSE 23320000=02961000= - ((T:= Q.[18:6]-2) & T[42:41:3]); 23325000=02961000= + ((T:= Q.[29:6]-2) & T[5:6:3]); 23325000=02961000= IF T = 11 OR T = 19 OR T = 20 THEN 23330000=02961500= BATMAN:= SPECIAL[T] % (,),OR ;23335000=02961500= ELSE 23340000=02962000= @@ -5038,7 +5088,7 @@ COMMENT LOOK FOR BOOLEAN OPERATORS, THEN OPTIONS; 23365000 IF T ^= 0 THEN 23440000=02966500= BATMAN.CLASS:= T 23445000=02967000= ELSE 23450000=02967000= - BATMAN:= 1 & BOOID[2:7] & REAL(FINDOPTION(1))[1:1]; % OPTION. 23455000=02967000= + BATMAN:= 1 & BOOID[45:7] & REAL(FINDOPTION(1))[46:1]; % OPTION. 23455000=02967000= EXIT: 23460000=02968000= NEXT:= MYCLASS:= BATMAN.CLASS; 23465000=02968000= END NEXT; 23470000=02968500= @@ -5185,7 +5235,7 @@ COMMENT#################################################################23780000 PROCEDURE IFSTMT; 24175000=03022000= FORWARD; 24180000=03022000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%24185000=03022000= - PROCEDURE GOGEN(LABELBAT, BRANCHTYPE); 24190000=03023000= + PROCEDURE GOGEN(LABELBAT, BRANCHTYPE); 24190000=03023000= VALUE 24195000=03024000= LABELBAT, 24200000=03024000= BRANCHTYPE; 24205000=03024000= @@ -5220,7 +5270,7 @@ COMMENT#################################################################23780000 BOOLEAN PROCEDURE GETINT; 24350000=03031000= FORWARD; 24355000=03031000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%24360000=03031000= - INTEGER PROCEDURE DIVIDE(NUMBER, P1, P2); 24365000=03032000= + INTEGER PROCEDURE DIVIDE(NUMBER, P1, P2); 24365000=03032000= VALUE 24370000=03032000= NUMBER; 24375000=03032000= INTEGER 24380000=03033000= @@ -5235,7 +5285,7 @@ COMMENT#################################################################23780000 PROCEDURE SCATTERELBAT; 24425000=03035000= FORWARD; 24430000=03035000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%24435000=03035000= - PROCEDURE EMITB(BRANCH, FROM, TOWARDS); 24440000=03036000= + PROCEDURE EMITB(BRANCH, FROM, TOWARDS); 24440000=03036000= VALUE 24445000=03036000= BRANCH, 24450000=03036000= FROM, 24455000=03036000= @@ -5260,7 +5310,7 @@ COMMENT#################################################################23780000 PROCEDURE SEGMENTSTART; 24550000=03041000= FORWARD; 24555000=03041000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%24560000=03041000= - PROCEDURE SEGMENT(SIZE, NO, NOO); 24565000=03042000= + PROCEDURE SEGMENT(SIZE, NO, NOO); 24565000=03042000= VALUE 24570000=03043000= SIZE, 24575000=03043000= NO, 24580000=03043000= @@ -5274,7 +5324,7 @@ COMMENT#################################################################23780000 INTEGER PROCEDURE BAE; 24620000=03046000= FORWARD; 24625000=03046000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%24630000=03046000= - REAL PROCEDURE PROGDESCBLDR(A, B, C); 24635000=03047000= + REAL PROCEDURE PROGDESCBLDR(A, B, C); 24635000=03047000= VALUE 24640000=03047000= A, 24645000=03047000= B, 24650000=03047000= @@ -5295,7 +5345,7 @@ COMMENT#################################################################23780000 A; 24725000=03049000= FORWARD; 24730000=03049000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%24735000=03049000= - PROCEDURE EMITD(A, B, T); 24740000=03050000= + PROCEDURE EMITD(A, B, T); 24740000=03050000= VALUE 24745000=03050000= A, 24750000=03050000= B, 24755000=03050000= @@ -5306,7 +5356,7 @@ COMMENT#################################################################23780000 T; 24780000=03050000= FORWARD; 24785000=03050000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%24790000=03050000= - INTEGER PROCEDURE GETSPACE(S, L); 24795000=03051000= + INTEGER PROCEDURE GETSPACE(S, L); 24795000=03051000= VALUE 24800000=03051000= S, 24805000=03051000= L; 24810000=03051000= @@ -5458,7 +5508,7 @@ COMMENT#################################################################23780000 LITERAL; 25540000=04003000= INTEGER 25545000=04003000= LITERAL; 25550000=04003000= - EMIT(0 & LITERAL[36:38:10]); 25555000=04004000= + EMIT(0 & LITERAL[11:9:10]); 25555000=04004000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%25560000=04004000= 25565000=04005000= COMMENT EMITO EMIT AN OPERATOR; 25570000=04005000= @@ -5467,12 +5517,12 @@ COMMENT#################################################################23780000 OPERATOR; 25585000=04006000= INTEGER 25590000=04006000= OPERATOR; 25595000=04006000= - EMIT(1 & OPERATOR[36:38:10]); 25600000=04007000= + EMIT(1 & OPERATOR[11:9:10]); 25600000=04007000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%25605000=04007000= 25610000=04008000= COMMENT EMITC IS PRIMARILY FOR USE BY STRMSTMT TO EMIT CHARACTER MODE 25615000=04008000= OPERATORS. HOWEVER IT ALSO HANDLES DIA, DIB, AND TRB; 25620000=04009000= - PROCEDURE EMITC(REPEAT, OPERATOR); 25625000=04010000= + PROCEDURE EMITC(REPEAT, OPERATOR); 25625000=04010000= VALUE 25630000=04010000= REPEAT, 25635000=04010000= OPERATOR; 25640000=04010000= @@ -5482,7 +5532,7 @@ COMMENT#################################################################23780000 BEGIN 25660000=04012000= IF REPEAT >= 64 THEN 25665000=04013000= FLAG(268); 25670000=04013000= - EMIT(OPERATOR & REPEAT[36:42:6]) 25675000=04014000= + EMIT(OPERATOR & REPEAT[11:5:6]) 25675000=04014000= END EMITC; 25680000=04014000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%25685000=04014000= 25690000=04015000= @@ -5496,7 +5546,7 @@ COMMENT#################################################################23780000 BEGIN 25730000=04018000= IF ADDRESS > 1023 THEN 25735000=04018000= EMITO(PRTE); 25740000=04018000= - EMIT(2 & ADDRESS[36:38:10]) 25745000=04019000= + EMIT(2 & ADDRESS[11:9:10]) 25745000=04019000= END EMITV; 25750000=04019000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%25755000=04019000= 25760000=04020000= @@ -5510,14 +5560,14 @@ COMMENT#################################################################23780000 BEGIN 25800000=04023000= IF ADDRESS > 1023 THEN 25805000=04023000= EMITO(PRTE); 25810000=04023000= - EMIT(3 & ADDRESS[36:38:10] 25815000=04024000= + EMIT(3 & ADDRESS[11:9:10] 25815000=04024000= END EMITN; 25820000=04024000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%25825000=04024000= 25830000=04025000= COMMENT EMITPAIR EMITS A LITC ADDRESS FOLLOWED BY OPERATOR. IF THE 25835000=04025000= ADDRESS IS FOR THE SECOND HALF OF THE PRT, THEN IT ALSO 25840000=04026000= EMITS PRTE; 25845000=04027000= - PROCEDURE EMITPAIR(ADDRESS, OPERATOR); 25850000=04028000= + PROCEDURE EMITPAIR(ADDRESS, OPERATOR); 25850000=04028000= VALUE 25855000=04029000= ADDRESS, 25860000=04029000= OPERATOR; 25865000=04029000= @@ -5558,12 +5608,12 @@ COMMENT#################################################################23780000 BACKUP:= 1; 26040000=04052000= L:= L-1 26045000=04052000= END; 26050000=04052000= - IF (GT4:= GET(L-1)).[46:2] = 0 THEN 26055000=04054000= + IF (GT4:= GET(L-1)).[1:2] = 0 THEN 26055000=04054000= BEGIN 26060000=04054000= COMMENT IT IS A LITERAL; 26065000=04055000= BACKUP:= BACKUP+1; 26070000=04056000= L:= L-1; 26075000=04056000= - IF GET(L-1).[39:9] = 153 THEN 26080000=04057000= + IF GET(L-1).[8:9] = 153 THEN 26080000=04057000= GO TO E; 26085000=04057000= COMMENT CALL XTOTHE IF THE LAST OPERATOR IS A BRANCH; 26090000=04058000= CTR:= 1; 26095000=04059000= @@ -5598,8 +5648,8 @@ COMMENT#################################################################23780000 BEGIN 26240000=04073000= E: L:= L+BACKUP; 26245000=04074000= EMITO(MKS); 26250000=04075000= - EMITPAIR(GNAT(LOGI), LOD); 26255000=04076000= - EMITPAIR(GNAT(EXPI), LOD); 26260000=04077000= + EMITPAIR(GNAT(LOGI), LOD); 26255000=04076000= + EMITPAIR(GNAT(EXPI), LOD); 26260000=04077000= EMITV(GNAT(XTOTHEI)); 26265000=04078000= STACKCT:= 0; 26270000=04078500= EMITO(DEL) 26275000=04079000= @@ -5613,7 +5663,7 @@ COMMENT#################################################################23780000 PROCEDURE ADJUST; 26315000=04083000= BEGIN 26320000=04084000= DIALA:= DIALB:= 0; 26325000=04085000= - WHILE L.[46:2] ^= 0 DO 26330000=04086000= + WHILE L.[1:2] ^= 0 DO 26330000=04086000= EMIT(IF STREAMTOG THEN 1 ELSE 45) 26335000=04087000= END ADJUST; 26340000=04087000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26345000=04087000= @@ -5625,7 +5675,7 @@ COMMENT#################################################################23780000 OR A RELATIONAL OPERATOR. THIS IS THE USE OF LINKTOG. 26375000=04092000= ALSO A CONSTRUCT AS NOT ( IF B THEN X=Y ELSE Y=Z) 26380000=04093000= COULD GIVE TROUBLE. THIS IS THE MEANING OF THE OBSCURE 26385000=04094000= - EMITS FOLLOWED BY L ~ L-1 FOUND IN IFEXP, BOOSEC, BOOCOMP,26390000=04095000= + EMITS FOLLOWED BY L:= L-1 FOUND IN IFEXP, BOOSEC, BOOCOMP,26390000=04095000= AND RELATION - THAT CODE SERVES TO SET A FLAG FOR USE BY 26395000=04096000= EMITLNG; 26400000=04097000= PROCEDURE EMITLNG; 26405000=04098000= @@ -5643,12 +5693,12 @@ COMMENT#################################################################23780000 L:= L-1 26465000=04106000= COMMENT LAST THING WAS AN LNG - SO CANCEL IT; 26470000=04106000= ELSE 26475000=04107000= - IF GT1.[42:6] = 21 AND GT1.[37:2] = 0 THEN % AHA 26480000=04107000= + IF GT1.[5:6] = 21 AND GT1.[10:2] = 0 THEN % AHA 26480000=04107000= COMMENT LAST THING WAS A RELATIONAL; 26485000=04108000= BEGIN 26490000=04109000= L:= L-1; 26495000=04109000= - EMITO(REAL(BOOLEAN(GT1.[36:10]) EQV 26500000=04111000= - BOOLEAN(IF GT1.[40:2] = 0 THEN 511 ELSE 463))) 26505000=04111000= + EMITO(REAL(BOOLEAN(GT1.[11:10]) EQV 26500000=04111000= + BOOLEAN(IF GT1.[7:2] = 0 THEN 511 ELSE 463))) 26505000=04111000= COMMENT NEGATE THE RELATIONAL; 26510000=04111000= END 26515000=04112000= ELSE 26520000=04112000= @@ -5656,7 +5706,7 @@ COMMENT#################################################################23780000 END EMITLNG; 26530000=04112000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26535000=04112000= COMMENT EMITB EMITS A BRANCH OPERATOR AND ITS ASSOCIATED NUMBER; 26540000=04113000= - PROCEDURE EMITB(BRANCH, FROM, TOWARDS); 26545000=04114000= + PROCEDURE EMITB(BRANCH, FROM, TOWARDS); 26545000=04114000= VALUE 26550000=04115000= BRANCH, 26555000=04115000= FROM, 26560000=04115000= @@ -5671,14 +5721,14 @@ COMMENT#################################################################23780000 TL:= L; 26605000=04119000= L:= FROM-2; 26610000=04120000= GT1:= TOWARDS-FROM; 26615000=04120100= - IF TOWARDS.[46:2] = 0 THEN 26620000=04120300= + IF TOWARDS.[1:2] = 0 THEN 26620000=04120300= BEGIN 26625000=04120300= - BRANCH:= BRANCH & 1[39:47:1]; 26630000=04120400= + BRANCH:= BRANCH & 1[8:0:1]; 26630000=04120400= GT1:= TOWARDS DIV 4-(FROM-1) DIV 4 26635000=04120500= END; 26640000=04120500= EMITNUM(ABS(GT1)); 26645000=04121000= - EMITO(BRANCH & (REAL(GT1 >= 0)+1)[42:46:2]); 26650000=04122000= - IF BOOLEAN(BRANCH.[38:1]) THEN 26655000=04123000= + EMITO(BRANCH & (REAL(GT1 >= 0)+1)[5:1:2]); 26650000=04122000= + IF BOOLEAN(BRANCH.[9:1]) THEN 26655000=04123000= DIALA:= DIALB:= 0; 26660000=04123000= L:= TL; 26665000=04124000= END EMITB; 26670000=04125000= @@ -5687,7 +5737,7 @@ COMMENT#################################################################23780000 OCTAL, NAMELY : 26685000=04127000= 1. 4 CHARACTERS FOR THE L REGISTER. 26690000=04128000= 2.16 CHARACTERS FOR THE WORD BEING EMITTED. ; 26695000=04129000= - STREAM PROCEDURE DEBUGWORD(SFQ, CODE, FEIL); 26700000=04130000= + STREAM PROCEDURE DEBUGWORD(SFQ, CODE, FEIL); 26700000=04130000= VALUE 26705000=04130000= SEQ, 26710000=04130000= CODE; 26715000=04130000= @@ -5701,6 +5751,7 @@ COMMENT#################################################################23780000 (DS:= 3 RESET;3(IF SB THEN DS:= SET ELSE DS:= RESET;SKIP 1 SB)); 26755000=04136000= 49(DS:= 2 LIT 6" "); 26760000=04137000= END; 26765000=04138000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%26766000 COMMENT EMITWORD PLACES THE PARAMETER,"WORD",INTO EDOC. IF 26770000=04139000= DEBUGGING IS REQUIRED. "L" AND "WORD" ARE OUTPUT ON 26775000=04140000= THE PRINTER FILE IN OCTAL FORMAT. ; 26780000=04141000= @@ -5715,10 +5766,10 @@ COMMENT#################################################################23780000 ERR(200); 26825000=04145000= ELSE 26830000=04146000= BEGIN 26835000=04146000= - MOVE(1, WORD, EDOC[L.[36:3], L.[39:7]]); 26840000=04147000= + MOVE(1, WORD, EDOC[L.[11:3], L.[8:7]]); 26840000=04147000= IF DEBUGTOG THEN 26845000=04148000= BEGIN 26850000=04149000= - DEBUGWORD(B2D(L), WORD, LIN); 26855000=04149000= + DEBUGWORD(B2D(L), WORD, LIN); 26855000=04149000= WRITELINE 26860000=04150000= END; 26865000=04150000= L:= L+4 26870000=04151000= @@ -5759,7 +5810,7 @@ COMMENT#################################################################23780000 BEGIN 27045000=04176000= NCII:= NCII+1; 27050000=04177000= PUTNBUMP 27055000=04178000= - (L & NONLITNO[2:41:7] & (NEXTINFO-LASTINFO)[27:40:8]); 27060000=04178000= + (L & NONLITNO[45:6:7] & (NEXTINFO-LASTINFO)[20:7:8]); 27060000=04178000= PUTNBUMP(TAKE(255-J)); 27065000=04179000= LASTINFO:= NEXTINFO-2; 27070000=04179000= GO TO ALLTHU; 27075000=04180000= @@ -5800,7 +5851,7 @@ COMMENT#################################################################23780000 FOUND; 27250000=04204000= REAL 27255000=04204000= N; 27260000=04204000= - IF C.[1:37] = 0 THEN 27265000=04205000= + IF C.[46:37] = 0 THEN 27265000=04205000= EMITL(C) 27270000=04206000= ELSE 27275000=04206000= BEGIN 27280000=04207000= @@ -5815,7 +5866,7 @@ COMMENT#################################################################23780000 BEGIN 27325000=04215000= C:= BUMPL; 27330000=04216000= CONSTANTCLEAN; 27335000=04217000= - EMITB(BFW, C, L); 27340000=04218000= + EMITB(BFW, C, L); 27340000=04218000= END; 27345000=04219000= GO TO FINISHED; 27350000=04220000= FOUND: 27355000=04221000= @@ -5831,7 +5882,7 @@ FINSIHED: 27380000 MNEUMONIC FOR THAT OPERATOR. IF THE OPERATOR CANNOT 27405000=04228000= BE FOUND SEARCH YIELDS BLANKS. 27410000=04229000= NOTE: DIA,DIB,TRB ARE RETURNED AS BLANKS. ; 27415000=04230000= - ALPHA PROCEDURE SEARCH(Q, KEY); 27420000=04231000= + ALPHA PROCEDURE SEARCH(Q, KEY); 27420000=04231000= VALUE 27425000=04231000= KEY; 27430000=04231000= ARRAY 27435000=04231000= @@ -5868,14 +5919,14 @@ L: SEARCH:= Q[I+1]; 27555000 B; 27590000=04247000= REAL 27595000=04247000= B; 27600000=04247000= - B2D:= 0 & B[45:45:3] & B[39:42:3] & B[33:39:3] & B[27:36:3]; 27605000=04248000= + B2D:= 0 & B[2:2:3] & B[8:5:3] & B[14:8:3] & B[20:11:3]; 27605000=04248000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%27610000=04248000= COMMENT PACK IS A STREAM PROCEDURE WHICH INSERTS THE SYLLABLE 27615000=04265000= INTO THE EDOC ARRAY. THE SPECIFIC ELEMENT OF EDOC 27620000=04266000= IS PRECISILY = EDOC[(L DIV 4) DIV 128,(< DIV 4)MOD 128] 27625000=04267000= SYLLABLE POSITION=(L MOD 4 ). WHERE L IS THE SYLLABLE 27630000=04268000= NUMBER RELATIVE TO THE BEGINNING OF THE SEGMENT; 27635000=04269000= - STREAM PROCEDURE PACK(WORD, POSITION, SYLLABLE); 27640000=04270000= + STREAM PROCEDURE PACK(WORD, POSITION, SYLLABLE); 27640000=04270000= VALUE 27645000=04271000= POSITION, 27650000=04271000= SYLLABLE; 27655000=04271000= @@ -5887,6 +5938,7 @@ L: SEARCH:= Q[I+1]; 27555000 SI:= SI+6; 27685000=04274000= DS:= 2 CHR; 27690000=04275000= END PACK; 27695000=04276000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%27696000 PROCEDURE DEBUG(S); 27700000=04277000= VALUE 27705000=04278000= S; 27710000=04278000= @@ -5894,22 +5946,20 @@ L: SEARCH:= Q[I+1]; 27555000 S; 27720000=04278000= IF STREAMTOG THEN 27725000=04279000= IF SINGLTOG THEN 27730000=04279100= - WRITE 27735000=04279200= - (LINE, BUG, B2D(L), COP[S.[42:6]], B2D(S.[36:6]), B2D(S))27740000=04279200= - ; 27745000=04279200= - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%27750000=04279200= - ELSE 27755000=04280000= - WRITE 27760000=04281000= - (LINE[DBL], BUG, B2D(L), COP[S.[42:6], B2D(S.[36:6]), B2D(S)) 27765000=04283000= + WRITE(LINE, BUG, B2D(L), COP[S.[5:6]], B2D(S.[11:6]), B2D(S)) 27735000=04279200= + ELSE 27755000=04280000= + WRITE(LINE[DBL], BUG, B2D(L), COP[S.[5:6]], B2D(S.[11:6]), 27760000=04281000= + B2D(S)) 27765000 ELSE 27770000=04283000= - IF SINGLTOG THEN 27775000=04284100= - WRITE(LINE, BUG, B2D(L), 27780000=04284500= - IF T1:= S.[46:2] = 1 THEN BUGGER(S.[36:10]) ELSE WOP[T1], IF T1 = 27785000=04284500= - 1 THEN WOP[1] ELSE B2D(S.[36:10]), B2D(S)) 27790000=04284500= - ELSE 27795000=04284500= - WRITE(LINE[DBL], BUG, B2D(L), 27800000=04287000= - IF T1:= S.[46:2] = 1 THEN BUGGER(S.[36:10]) ELSE WOP[T1], IF T1 = 27805000=04287000= - 1 THEN WOP[1] ELSE B2D(S.[36:10]), B2D(S)); 27810000=04287000= + IF SINGLTOG THEN 27775000=04284100= + WRITE(LINE, BUG, B2D(L), 27780000=04284500= + IF T1:= S.[1:2] = 1 THEN BUGGER(S.[11:10]) ELSE WOP[T1], 27785000=04284500= + IF T1 = 1 THEN WOP[1] ELSE B2D(S.[11:10]), B2D(S)) 27790000=04284500= + ELSE 27795000=04284500= + WRITE(LINE[DBL], BUG, B2D(L), 27800000=04287000= + IF T1:= S.[1:2] = 1 THEN BUGGER(S.[11:10]) ELSE WOP[T1], 27805000=04287000= + IF T1 = 1 THEN WOP[1] ELSE B2D(S.[11:10]), B2D(S)); 27810000=04287000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%27812000 COMMENT EMIT PLACES SYLLABLES INTO EDOC, CALLS DEBUG FOR 27815000=04288000= DEBUGGING OUTPUT ON THE PRINTER, AND CHECKS FOR SEGMENTS 27820000=04289000= GREATER THAN 4093 SYLLABLES. ; 27825000=04290000= @@ -5922,7 +5972,7 @@ L: SEARCH:= Q[I+1]; 27555000 IF L < 4092 THEN 27860000=04293000= BEGIN 27865000=04294000= LINKTOG:= TRUE; 27870000=04295000= - PACK(EDOC[L.[36:3], L.[39:7]], L.[46:2], S); 27875000=04296000= + PACK(EDOC[L.[11:3], L.[8:7]], L.[1:2], S); 27875000=04296000= IF DEBUGTOG THEN 27880000=04297000= DEBUG(S); 27885000=04297000= L:= L+1; 27890000=04298000= @@ -5940,7 +5990,7 @@ L: SEARCH:= Q[I+1]; 27555000 THE APPROIATE SYLLABLES(S) ARE OMITTED 27950000=04308000= IF 0 BITS ARE TO BE TRANSFERED THEN NO SYLLABLES ARE 27955000=04309000= EMITTED ; 27960000=04310000= - PROCEDURE EMITD(A, B, T); 27965000=04311000= + PROCEDURE EMITD(A, B, T); 27965000=04311000= VALUE 27970000=04311000= A, 27975000=04311000= B, 27980000=04311000= @@ -5986,7 +6036,7 @@ NORMAL: 28120000 EXIT: 28180000=04322100= END; 28185000=04322100= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28190000=04322100= - PROCEDURE EMITI(E, A, B); 28195000=04500000= + PROCEDURE EMITI(E, A, B); 28195000=04500000= VALUE 28200000=04500000= E, 28205000=04500000= A, 28210000=04500000= @@ -5998,12 +6048,12 @@ EXIT: 28180000 BEGIN 28240000=04501000= LABEL 28245000=04501000= EXIT, 28250000=04501000= - IS; 28255000=04501000= + IZ; 28255000=04501000= INTEGER 28260000=04502000= S, 28265000=04502000= T1, 28270000=04502000= T2; 28275000=04502000= - PROCEDURE EMIT21(E, B); 28280000=04503000= + PROCEDURE EMIT21(E, B); 28280000=04503000= VALUE 28285000=04503000= E, 28290000=04503000= B; 28295000=04503000= @@ -6024,7 +6074,7 @@ EXIT: 28180000 EMITV(GT1) 28370000=04522000= ELSE 28375000=04522000= IF E <= INTARRAYID THEN 28380000=04522000= - EMITPAIR(GT1, LOD) 28385000=04523000= + EMITPAIR(GT1, LOD) 28385000=04523000= ELSE 28390000=04523000= EMITN(GT1) 28395000=04525000= END 28400000=04526000= @@ -6032,16 +6082,16 @@ EXIT: 28180000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28410000=04526000= IF B = 0 THEN 28415000=04526100= BEGIN 28420000=04526200= - EMIT21(E, FALSE); 28425000=04526200= + EMIT21(E, FALSE); 28425000=04526200= GO TO EXIT 28430000=04526200= END; 28435000=04526200= IF STACK ^= 0 THEN 28440000=04527000= - GO TO IS; 28445000=04527000= + GO TO IZ; 28445000=04527000= IF B = 15 THEN 28450000=04528000= BEGIN 28455000=04529000= IF A = 33 THEN 28460000=04529000= BEGIN 28465000=04530000= - EMIT21(E, FALSE); 28470000=04530000= + EMIT21(E, FALSE); 28470000=04530000= EMIT(0); 28475000=04531000= EMITO(INX); 28480000=04531000= GO TO EXIT; 28485000=04532000= @@ -6049,29 +6099,29 @@ EXIT: 28180000 IF A = 18 THEN 28495000=04534000= BEGIN 28500000=04535000= EMIT(0); 28505000=04535000= - EMIT21(E, TRUE); 28510000=04536000= + EMIT21(E, TRUE); 28510000=04536000= EMITO(197); 28515000=04537000= GO TO EXIT; 28520000=04538000= END; 28525000=04539000= - GO TO IS; 28530000=04540000= + GO TO IZ; 28530000=04540000= END; 28535000=04541000= IF B <= 10 AND A+B = 48 THEN 28540000=04542000= BEGIN 28545000=04543000= - EMIT21(E, FALSE); 28550000=04543000= + EMIT21(E, FALSE); 28550000=04543000= EMITL(2**B-1); 28555000=04544000= EMITO(LND); 28560000=04545000= GO TO EXIT; 28565000=04546000= END; 28570000=04547000= -IS: IF(S:= (48-A-B) MOD 6)+B <= 39 THEN 28575000=04548000= +IZ: IF(S:= (48-A-B) MOD 6)+B <= 39 THEN 28575000=04548000= BEGIN 28580000=04549000= - EMIT21(E, FALSE); 28585000=04549000= + EMIT21(E, FALSE); 28585000=04549000= EMIT(T2:= (T1:= A DIV 6)*512+(A MOD 6)*64+DIA); 28590000=04550000= EMIT((A+B-1) DIV 6-T1+1)*512+64*S+37); 28595000=04551000= GO TO EXIT; 28600000=04552000= END; 28605000=04553000= EMIT(0); 28610000=04554000= - EMIT21(E, TRUE); 28615000=04555000= - EMITD(A, 48-B, B); 28620000=04556000= + EMIT21(E, TRUE); 28615000=04555000= + EMITD(A, 48-B, B); 28620000=04556000= EXIT: 28625000=04558000= END; 28630000=04558000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28635000=04558000= @@ -6084,12 +6134,12 @@ EXIT: 28625000 INTEGER 28670000=04601000= Q; 28675000=04601000= WOP[1]:= 6" "; 28680000=04602000= - IF BUGGER:= SEARCH(WOP, OP) = 6" " THEN 28685000=04603000= - IF Q:= OP.[44:4] >= 9 THEN 28690000=04604000= + IF BUGGER:= SEARCH(WOP, OP) = 6" " THEN 28685000=04603000= + IF Q:= OP.[3:4] >= 9 THEN 28690000=04604000= BEGIN 28695000=04605000= - BUGGER:= POP[IF Q ^= 10 THEN Q-5 ELSE OP.[42:2]]; 28700000=04605000= - WOP[1]:= (IF Q = 10 THEN OP.[39:3] & OP[41:38:1] ELSE OP.[41:3] 28705000=04607000= - & OP[39:38:3]) & 6" "[24:36:12]; 28710000=04607000= + BUGGER:= POP[IF Q ^= 10 THEN Q-5 ELSE OP.[5:2]]; 28700000=04605000= + WOP[1]:= (IF Q = 10 THEN OP.[8:3] & OP[6:9:1] ELSE OP.[6:3] 28705000=04607000= + & OP[8:9:3]) & 6" "[23:11:12]; 28710000=04607000= END; 28715000=04608000= END BUGGER; 28720000=04608000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28725000=04608000= @@ -6102,7 +6152,7 @@ EXIT: 28625000 IF LEVEL > SUBLEVEL+1 THEN 28760000=04611000= BEGIN 28765000=04612000= EMIT(0); 28770000=04613000= - EMITPAIR(A, STD); 28775000=04614000= + EMITPAIR(A, STD); 28775000=04614000= END; 28780000=04615000= EMITN(A); 28785000=04616000= END CHECKDISJOINT; 28790000=04617000= @@ -6124,18 +6174,18 @@ EXIT: 28625000 INDEX; 28870000=05005000= INTEGER 28875000=05005000= INDEX; 28880000=05005000= - TAKE:= INFO[INDEX.LINKR, INDEX.LINKC]; 28885000=05006000= + TAKE:= INFO[INDEX.LINKR, INDEX.LINKC]; 28885000=05006000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28890000=05006000= 28895000=05007000= COMMENT PUT PLACES A WORD INTO INFO; 28900000=05007000= - PROCEDURE PUT(WORD, INDEX); 28905000=05008000= + PROCEDURE PUT(WORD, INDEX); 28905000=05008000= VALUE 28910000=05008000= WORD, 28915000=05008000= INDEX; 28920000=05008000= REAL 28925000=05008000= WORD, 28930000=05008000= INDEX; 28935000=05008000= - INFO[INDEX.LINKR, INDEX.LINKC]:= WORD; 28940000=05009000= + INFO[INDEX.LINKR, INDEX.LINKC]:= WORD; 28940000=05009000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28945000=05009000= 28950000=05010000= COMMENT FLAG FLAGS ERROR MESSAGES, COUNTS THEM AND SUPRESS FUTURE 28955000=05010000= @@ -6146,10 +6196,11 @@ EXIT: 28625000 INTEGER 28980000=05012000= ERRNUM; 28985000=05012000= BEGIN 28990000=05013000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%28992000 COMMENT WRITERROR IS THE STREAM PROCEDURE WHICH ACTUALLY PRODUCES 28995000=05014000= THE ERROR MESSAGE ON THE PRINTER; 29000000=05015000= STREAM PROCEDURE 29005000=05016000= - WRITERROR(RMT, ERRNUM, ACCUM, LINE, COUNT, LSTSEQ); 29010000=05016000= + WRITERROR(RMT, ERRNUM, ACCUM, LINE, COUNT, LSTSEQ); 29010000=05016000= VALUE 29015000=05017000= ERRNUM, 29020000=05017000= COUNT; 29025000=05017000= @@ -6189,6 +6240,7 @@ EXIT: 28625000 COMMENT PLACE ALPHA IN BUFFER; 29195000=05029000= DS:= LIT 6"." 29200000=05031000= END WRITERROR; 29205000=05031000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%29206000 IF ERRORTOG THEN % DO NOTHING IF WE SUPPRESS MSSGS. 29210000=05032000= BEGIN 29215000=05033000= SPECTOG:= FALSE; 29220000=05034000= @@ -6196,8 +6248,8 @@ EXIT: 28625000 COMMENT COUNT ERRORS; 29230000=05035000= IF NOT (LISTER OR REMOTOG) THEN 29235000=05036000= BEGIN 29240000=05037000= - EDITLINE(LIN, FCR, 6" ", 0, 0, MEDIUM, 0); 29245000=05038000= - MOVE(1, INFO[LASTSEQROW, LASTSEQUENCE], LIN[12]); 29250000=05039000= + EDITLINE(LIN, FCR, 6" ", 0, 0, MEDIUM, 0); 29245000=05038000= + MOVE(1, INFO[LASTSEQROW, LASTSEQUENCE], LIN[12]); 29250000=05039000= IF NOHEADING THEN 29255000=05039500= DATIME; 29260000=05039500= WRITELINE; 29265000=05039500= @@ -6205,10 +6257,10 @@ EXIT: 28625000 COMMENT PRINT CARDIMAGE IF WE ARE NOT LISTING; 29275000=05042000= ACCUM[1]:= Q; 29280000=05043000= COMMENT RESTORE ACCUMULATOR; 29285000=05043000= - WRITERROR(REMOTOG, ERRNUM, ACCUM[1], LIN, Q.[12:6], 29290000=05045000= - INFO[LASTSEQROW, LASTSEQUENCE]); 29295000=05045000= + WRITERROR(REMOTOG, ERRNUM, ACCUM[1], LIN, Q.[35:6], 29290000=05045000= + INFO[LASTSEQROW, LASTSEQUENCE]); 29295000=05045000= IF REMOTOG THEN 29300000=05045900= - WRITE(REMOTE, 10, LIN[**]); 29305000=05045900= + WRITE(REMOTE, 10, LIN[*]); 29305000=05045900= IF NOT NOHEADING THEN 29310000=05046000= BEGIN 29315000=05046000= WRITE(LINE); 29320000=05046000= @@ -6218,7 +6270,7 @@ EXIT: 28625000 COMMENT INHIBIT MESSAGES; 29340000=05047000= IF PUNCHTOG THEN 29345000=05048000= BEGIN 29350000=05049000= - STREAM PROCEDURE PUNCH(FL, ST); 29355000=05050000= + STREAM PROCEDURE PUNCH(FL, ST); 29355000=05050000= VALUE 29360000=05051000= ST; 29365000=05051000= BEGIN 29370000=05052000= @@ -6226,8 +6278,8 @@ EXIT: 28625000 SI:= ST; 29380000=05054000= DS:= 9 WDS 29385000=05056000= END PUNCH; 29390000=05056000= - PUNCH(PNCH(0), FCR); 29395000=05057000= - MOVE(1, INFO[LASTSEQROW, LASTSEQUENCE], PNCH(9)); 29400000=05058000= + PUNCH(PNCH(0), FCR); 29395000=05057000= + MOVE(1, INFO[LASTSEQROW, LASTSEQUENCE], PNCH(9)); 29400000=05058000= WRITE(PNCH) 29405000=05060000= END 29410000=05101000= END 29415000=05101000= @@ -6272,7 +6324,7 @@ COMMENT ERR. IS THE SAME AS FLAG EXCEPT THAT IT MAKES AN ATTEMPT TO 29445000 IF MODE >= 2 THEN 29610000=05115000= IF GTI1:= ELBATWORD.LVL >= FRSTLEVEL THEN 29615000=05116000= IF GTI1 < SUBLEVEL THEN 29620000=05117000= - IF ELBATWORD.[9:2] ^= 1 THEN 29625000=05119000= + IF ELBATWORD.[38:2] ^= 1 THEN 29625000=05119000= BEGIN 29630000=05119000= FLAG(101); 29635000=05119000= ERRORTOG:= TRUE 29640000=05119000= @@ -6301,7 +6353,7 @@ COMMENT ERR. IS THE SAME AS FLAG EXCEPT THAT IT MAKES AN ATTEMPT TO 29445000 REAL 29755000=05130000= A; 29760000=05130000= IF GNAT:= (A:= TAKE(L)).ADDRESS = 0 THEN 29765000=05132000= - PUT(A & (GNAT:= GETSPACE(TRUE, L.LINK+1))[16:37:11], L) 29770000=05133000= + PUT(A & (GNAT:= GETSPACE(TRUE, L.LINK+1))[31:10:11], L) 29770000=05133000= END GNAT; 29775000=05133000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%29780000=05133000= 29785000=05134000= @@ -6428,7 +6480,7 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000 INTEGER 30390000=05199000= ADDRESS; 30395000=05199000= BEGIN 30400000=05200000= - EMITPAIR(ADDRESS, LOD); 30405000=05201000= + EMITPAIR(ADDRESS, LOD); 30405000=05201000= EMITN(512); 30410000=05202000= EMITD(33, 18, 15) 30415000=05203000= END STUFFF; 30420000=05203000= @@ -6476,7 +6528,7 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000 EMITO(ADD); 30630000=05226000= EMITV(ADRES) 30635000=05226000= END; 30640000=05226000= - EMITPAIR(ADRES, LOD) 30645000=05227000= + EMITPAIR(ADRES, LOD) 30645000=05227000= END PASSFORMAT; 30650000=05227000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%30655000=05227000= 30660000=05228000= @@ -6486,15 +6538,15 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000 BEGIN 30680000=05231000= GT1:= 0; 30685000=05231000= DO BEGIN 30690000=05232000= - INFO[1, GT1].LINK:= 30695000=05233000= - STACKHEAD[GT2:= (T:= INFO[1, GT1]).ADDRESS]; 30700000=05233000= + INFO[1, GT1].LINK:= 30695000=05233000= + STACKHEAD[GT2:= (T:= INFO[1, GT1]).ADDRESS]; 30700000=05233000= STACKHEAD[GT2]:= T.LINK; 30705000=05234000= GT1:= GT1+2; 30710000=05235000= END 30715000=05236000= UNTIL BOOLEAN(T.FORMAL) 30720000=05236000= END STREAMWORDS; 30725000=05236000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%30730000=05236000= - STREAM PROCEDURE DEBUGDESC(LIN, PRT, TYP, RELAD, SGNO); 30735000=05237000= + STREAM PROCEDURE DEBUGDESC(LIN, PRT, TYP, RELAD, SGNO); 30735000=05237000= VALUE 30740000=05237500= PRT, 30745000=05237500= TYP, 30750000=05237500= @@ -6527,7 +6579,8 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000 DS:= 4 CHR; 30885000=05243000= DS:= LIT 6"."; 30890000=05243000= END DEBUGDESC; 30895000=05243500= - REAL PROCEDURE ELSEPROGDESCBLDR(TYPE, RELAD, SPAC); 30900000=05245000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%30896000 + REAL PROCEDURE ELSEPROGDESCBLDR(TYPE, RELAD, SPAC); 30900000=05245000= COMMENT THIS PROCEDURE BUILDS PDPRT AS DESCRIBED ABOVE, IT IS 30905000=05246000= CONCERNED WITH TYPE 1 ENTRIES.THE INFORMATION FURNISHED 30910000=05247000= BY PDPRT ALLOWS A DRUM DESCRIPTOR TO BE BUILT FOR EACH 30915000=05248000= @@ -6538,7 +6591,7 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000 DESCRIPTOR TO BE BUILT. 30940000=05253000= RELAD --- RELATIVE WORD ADDRESS WITHIN SEGMENT 30945000=05254000= SPAC --- IF=0 THEN A SPACE MUST BE OBTAINED 30950000=05255000= - IF!0 THEN SPACE IS ALREADY GOTTEN 30955000=05256000= + IF^=0 THEN SPACE IS ALREADY GOTTEN 30955000=05256000= ALL PROGRAM DESCRIPTORS REQUIRE A PERMANENT SPACE IN PRT. 30960000=05257000= PDINX IS THE INDEX FOR PDPRT.IT IS GLOBAL AND 0 INITIALLY; 30965000=05258000= VALUE 30970000=05259000= @@ -6552,12 +6605,12 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000 BEGIN 31010000=05260000= IF SPAC = 0 THEN 31015000=05260000= SPAC:= GETSPACE(TRUE, -2); % DESCR. 31020000=05260000= - PDPRT[PDINX.[37:5], PDINX.[42:6]]:= 0 & RELAD[18:36:10] & 31025000=05262000= - SGNO[28:38:10] & TYPE[4:46:2] & SPAC[8:38:10]; 31030000=05262000= + PDPRT[PDINX.[10:5], PDINX.[5:6]]:= 0 & RELAD[29:11:10] & 31025000=05262000= + SGNO[19:9:10] & TYPE[43:1:2] & SPAC[39:9:10]; 31030000=05262000= IF DEBUGTOG THEN 31035000=05263000= BEGIN 31040000=05263500= - BLANKET(14, LIN); 31045000=05264000= - DEBUGDESC(LIN, B2D(SPAC), TYPE, B2D(RELAD), B2D(SGNO)); 31050000=05264500= + BLANKET(14, LIN); 31045000=05264000= + DEBUGDESC(LIN, B2D(SPAC), TYPE, B2D(RELAD), B2D(SGNO)); 31050000=05264500= IF NOHEADING THEN 31055000=05265000= DATIME; 31060000=05265000= WRITELINE; 31065000=05265000= @@ -6570,7 +6623,7 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000 COMMENT DOTSYNTAX ANALYSES THE SYNTAX OF A PARTIAL WORD DESIGNATOR. 31100000=05267000= IT REPORTS IF AN ERROR IS FOUND. IT RETURNS WITH THE 31105000=05268000= LITERALS INVOLVED; 31110000=05269000= - BOOLEAN PROCEDURE DOTSYNTAX(FIRST, SECOND); 31115000=05270000= + BOOLEAN PROCEDURE DOTSYNTAX(FIRST, SECOND); 31115000=05270000= INTEGER 31120000=05271000= FIRST, 31125000=05271000= SECOND; 31130000=05271000= @@ -6610,7 +6663,7 @@ COMMENT PASSLIST ASSUMES I IS POINTING AT LIST ID; 30260000 EXIT: 31300000=05286000= END DOTSYNTAX; 31305000=05286000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%31310000=05286000= - BOOLEAN PROCEDURE CHECK(ELBATCLASS, ERRORNUMBER); 31315000=05287000= + BOOLEAN PROCEDURE CHECK(ELBATCLASS, ERRORNUMBER); 31315000=05287000= VALUE 31320000=05288000= ELBATCLASS, 31325000=05288000= ERRORNUMBER; 31330000=05288000= @@ -6626,7 +6679,7 @@ EXIT: 31300000 ERR(ERRORNUMBER); 31380000=05295000= END; 31385000=05296000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%31390000=05296000= - BOOLEAN PROCEDURE RANGE(LOWER, UPPER); 31395000=05297000= + BOOLEAN PROCEDURE RANGE(LOWER, UPPER); 31395000=05297000= VALUE 31400000=05298000= LOWER, 31405000=05298000= UPPER; 31410000=05298000= @@ -6649,7 +6702,7 @@ EXIT: 31300000 ; 31495000=05307000= BEGIN 31500000=05308000= INTEGER 31505000=05309000= - STREAM PROCEDURE GETSYL(W, S); 31510000=05309000= + STREAM PROCEDURE GETSYL(W, S); 31510000=05309000= VALUE 31515000=05309000= S; 31520000=05309000= BEGIN 31525000=05310000= @@ -6660,7 +6713,7 @@ EXIT: 31300000 SI+SI+S; 31550000=05311000= DS:= 2 CHR 31555000=05311000= END; 31560000=05311000= - GET:= GETSYL(EDOC[L.[36:3], L.[39:7]], L.[46:2]) 31565000=05312000= + GET:= GETSYL(EDOC[L.[11:3], L.[8:7]], L.[1:2]) 31565000=05312000= END GET; 31570000=05312000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%31575000=05312000= 31580000=05313000= @@ -6677,8 +6730,7 @@ EXIT: 31300000 EMITO(LOD) 31635000=05316000= END CALLSWITCH; 31640000=05316000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%31645000=05316000= - REAL 31650000=05317000= - STREAM PROCEDURE GETALPHA(INFOINDEX, SIZE); 31655000=05317000= + REAL STREAM PROCEDURE GETALPHA(INFOINDEX, SIZE); 31650000=05317000= VALUE 31660000=05318000= SIZE; 31665000=05318000= BEGIN 31670000=05319000= @@ -6693,7 +6745,8 @@ EXIT: 31300000 SI:= SI+3; 31715000=05324000= DS:= SIZE CHR; 31720000=05324000= END GETALPHA; 31725000=05325000= - PROCEDURE WRITEPRT(PORS, N, GS); 31730000=05325010= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%31726000 + PROCEDURE WRITEPRT(PORS, N, GS); 31730000=05325010= VALUE 31735000=05325010= PORS, 31740000=05325010= N, 31745000=05325010= @@ -6705,7 +6758,8 @@ EXIT: 31300000 BEGIN 31775000=05325020= LABEL 31780000=05325030= EXIT; 31785000=05325030= - STREAM PROCEDURE FILLIT(LIN, PORS, CELL, N, ID); 31790000=05325040= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%31786000 + STREAM PROCEDURE FILLIT(LIN, PORS, CELL, N, ID); 31790000=05325040= VALUE 31795000=05325050= PORS, 31800000=05325050= CELL, 31805000=05325050= @@ -6798,14 +6852,15 @@ EXIT: 31300000 DS:= 18 LIT 6"*LABEL DESCRIPTOR*"; 32240000=05325420= XIT: 32245000=05325440= END FILLIT; 32250000=05325440= - ELSEBLANKET(14, LIN); 32255000=05325450= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32252000 + ELSEBLANKET(14, LIN); 32255000=05325450= IF N = 1 THEN 32260000=05325460= - FILLIT(LIN, PORS, GS, 0, ACCUM[1]) 32265000=05325470= + FILLIT(LIN, PORS, GS, 0, ACCUM[1]) 32265000=05325470= ELSE 32270000=05325470= IF N > 1 THEN 32275000=05325470= - FILLIT(LIN, PORS, GS, 0, INFO[N.LINKR, N.LINKC]) 32280000=05325480= + FILLIT(LIN, PORS, GS, 0, INFO[N.LINKR, N.LINKC]) 32280000=05325480= ELSE 32285000=05325480= - FILLIT(LIN, PORS, GS, ABS(N), N); 32290000=05325480= + FILLIT(LIN, PORS, GS, ABS(N), N); 32290000=05325480= IF NOHEADING THEN 32295000=05325490= DATIME; 32300000=05325490= WRITELINE; 32305000=05325490= @@ -6817,7 +6872,7 @@ EXIT: 31300000 PERMANENTLY ASSIGNED CELL (ALWAYS IN PRT) OR NOT. NON 32335000=05328000= PERMANENT CELLS ARE EITHER IN STACK OR PRT ACCORDING TO 32340000=05329000= MODE. CARE IS TAKEN TO REUSE NON PERMANENT PRT CELLS; 32345000=05330000= - INTEGER PROCEDURE GETSPACE(PERMANENT, L); 32350000=05331000= + INTEGER PROCEDURE GETSPACE(PERMANENT, L); 32350000=05331000= VALUE 32355000=05331000= PERMANENT, 32360000=05331000= L; 32365000=05331000= @@ -6830,8 +6885,8 @@ EXIT: 31300000 L1, 32400000=05334000= L2, 32405000=05334000= EXIT; 32410000=05334000= - BOOLEAN 32415000=05341000= - STREAM PROCEDURE MASK(K); 32420000=05341000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32415000=05341000= + BOOLEAN STREAM PROCEDURE MASK(K); 32420000=05341000= VALUE 32425000=05341000= K; 32430000=05341000= BEGIN 32435000=05342000= @@ -6840,6 +6895,7 @@ EXIT: 31300000 SKIP K DB; 32450000=05342000= DS:= SET 32455000=05342000= END MASK; 32460000=05342000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32462000 BOOLEAN 32465000=05343000= M, 32470000=05343000= Q; 32475000=05343000= @@ -6851,14 +6907,14 @@ EXIT: 31300000 BEGIN 32505000=05346000= IF PRTIMAX > 1022 THEN 32510000=05347000= FLAG(148); % 32515000=05347000= - SPRT[GS:= PRTIMAX.[38:5]]:= MASK(PRTIMAX.[43:5]-35) OR SPRT[GS]; 32520000=05349000= + SPRT[GS:= PRTIMAX.[9:5]]:= MASK(PRTIMAX.[4:5]-35) OR SPRT[GS]; 32520000=05349000= PRTIMAX:= (GS:= PRTIMAX)+1 32525000=05350000= END 32530000=05351000= ELSE 32535000=05351000= IF MODE = 0 THEN 32540000=05351000= BEGIN 32545000=05351000= - Q:= SPRT[ROW:= PRTI.[38:5]]; 32550000=05352000= - M:= MASK(COL:= PRTI.[43:4]-35); 32555000=05353000= + Q:= SPRT[ROW:= PRTI.[9:5]]; 32550000=05352000= + M:= MASK(COL:= PRTI.[4:4]-35); 32555000=05353000= COL:= COL+35; 32560000=05354000= L1: IF REAL(M AND Q) ^= 0 THEN 32565000=05356000= BEGIN 32570000=05356000= @@ -6899,7 +6955,7 @@ EXIT: 32735000 IF GS > 1023 THEN 32745000=05376000= GS:= GS-1024; 32750000=05376000= IF PRTOG THEN 32755000=05376100= - WRITEPRT(IF Q THEN 6"PRT " ELSE 6"STACK", L, B2D(GS)); 32760000=05376100= + WRITEPRT(IF Q THEN 6"PRT " ELSE 6"STACK", L, B2D(GS)); 32760000=05376100= END GETSPACE; 32765000=05378000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%32770000=05378000= COMMENT ARRAYCHECK CHECKS A PARAMTER-INFO WORD FOR SORT/MERGE; 32775000=05379000= @@ -7064,9 +7120,9 @@ EXIT: 32735000 OPERATOR, 33570000=06042000= OPCLASS; 33575000=06042000= DO BEGIN 33580000=06043000= - OPERATOR:= 1 & ELBAT[I][36:17:10]; 33585000=06044000= + OPERATOR:= 1 & ELBAT[I][11:30:10]; 33585000=06044000= COMMENT THIS SETS UP THE OPERATOR WHICH WILL BE EMITTED. THE HIGH 33590000=06045000= - ORDER TEN BITS OF THE OPERATOR ARE LOCATED IN [17:10] 33595000=06046000= + ORDER TEN BITS OF THE OPERATOR ARE LOCATED IN [30:10] 33595000=06046000= OF THE ELBAT WORD; 33600000=06047000= OPCLASS:= ELCLASS; 33605000=06048000= STEPIT; 33610000=06049000= @@ -7129,7 +7185,7 @@ MAXANDMIN, 33885000 DELAY; % 33895000=06061100= DEFINE 33900000=06061200= MAXV = 6 #; % 33905000=06061200= - IF T2:= (T1:= ELBAT[I]).[27:6] < 9 THEN 33910000=06062000= + IF T2:= (T1:= ELBAT[I]).[20:6] < 9 THEN 33910000=06062000= GO S[T2+1]; 33915000=06062000= IF T2 ^= 25 THEN 33920000=06062110= EMITO(MKS); 33925000=06062110= @@ -7164,7 +7220,7 @@ MAXANDMIN, 33885000 AEXP; 34070000=06062185= IF ELCLASS ^= COMMA THEN 34075000=06062190= ERRX(80); 34080000=06062190= - EMITPAIR(9, SND); 34085000=06062190= + EMITPAIR(9, SND); 34085000=06062190= EMITD(1, 1, 8); 34090000=06062195= STEPIT; 34095000=06062195= AEXP; 34100000=06062195= @@ -7247,7 +7303,7 @@ ENTIER: 34480000 PANA; 34485000=06071000= EMITNUM(.5); 34490000=06071000= EMITO(SUB); 34495000=06071000= - EMITPAIR(JUNK, ISN); 34500000=06072000= + EMITPAIR(JUNK, ISN); 34500000=06072000= GO TO EXIT; 34505000=06072000= MAXANDMIN: 34510000=06072010= % 34515000=06072010= @@ -7262,12 +7318,12 @@ MAXANDMIN: 34510000 STEPIT; 34560000=06072060= EMITO(DUP); 34565000=06072060= AEXP; % 34570000=06072060= - EMITPAIR(JUNK, SND); % 34575000=06072070= + EMITPAIR(JUNK, SND); % 34575000=06072070= IF T2 = MAXV THEN 34580000=06072080= EMITO(LSS) 34585000=06072080= ELSE 34590000=06072080= EMITO(GTR); 34595000=06072080= - EMITPAIR(2, BFC); 34600000=06072090= + EMITPAIR(2, BFC); 34600000=06072090= EMITO(DEL); 34605000=06072090= EMITV(JUNK); 34610000=06072090= END; % 34615000=06072100= @@ -7306,7 +7362,7 @@ DELAY: 34650000 END 34780000=06072270= ELSE 34785000=06072270= STEPIT; % 34790000=06072270= - EMITPAIR(31, COM); 34795000=06072280= + EMITPAIR(31, COM); 34795000=06072280= EMITO(DEL); 34800000=06072280= EMITO(DEL); % 34805000=06072280= GO TO EXIT; % 34810000=06072290= @@ -7327,7 +7383,7 @@ STATUS: 34840000 EMIT(0); 34885000=06073300= EMIT(0); 34890000=06073300= PASSFILE; 34895000=06073300= - EMITPAIR(32, COM); 34900000=06073350= + EMITPAIR(32, COM); 34900000=06073350= T1:= 3; 34905000=06073350= END 34910000=06073400= ELSE 34915000=06073400= @@ -7344,8 +7400,8 @@ STATUS: 34840000 AEXP; 34970000=06073500= IF T1 = FI THEN 34975000=06073550= BEGIN 34980000=06073600= - EMITPAIR(0, XCH); 34985000=06073600= - EMITPAIR(32, COM); 34990000=06073600= + EMITPAIR(0, XCH); 34985000=06073600= + EMITPAIR(32, COM); 34990000=06073600= T1:= 3 34995000=06073650= END 35000000=06073650= ELSE 35005000=06073650= @@ -7353,7 +7409,7 @@ STATUS: 34840000 IF ELCLASS = RTPAREN THEN 35015000=06073650= BEGIN 35020000=06073700= EMIT(0); 35025000=06073700= - EMITPAIR(32, COM); 35030000=06073700= + EMITPAIR(32, COM); 35030000=06073700= T1:= 3 35035000=06073700= END 35040000=06073750= ELSE 35045000=06073750= @@ -7369,7 +7425,7 @@ STATUS: 34840000 END; 35095000=06073820= STEPIT; 35100000=06073830= AEXP; 35105000=06073830= - EMITPAIR(28, COM); 35110000=06073830= + EMITPAIR(28, COM); 35110000=06073830= T1:= 1; 35115000=06073830= END; 35120000=06073840= END; 35125000=06073840= @@ -7513,7 +7569,7 @@ L28: 35780000 L32: 35815000=06109000= COMMENT LITERALS - I.E. INTEGERS BETWEEN 0 AND 1023; 35820000=06109000= 35825000=06110000= - EMIT(0 & ELBAT[I][36:17:10]); 35830000=06110000= + EMIT(0 & ELBAT[I][11:30:10]); 35830000=06110000= STEPIT; 35835000=06110000= GO TO LAMPER; 35840000=06110000= L31: 35845000=06111000= @@ -7541,7 +7597,7 @@ L35: 35880000 IF ELBAT[I].ADDRESS = INTV THEN 35955000=06120100= BEGIN 35960000=06120200= PANA; 35965000=06120200= - EMITPAIR(JUNK, ISN); 35970000=06120200= + EMITPAIR(JUNK, ISN); 35970000=06120200= GO TO LDOT 35975000=06120200= END; 35980000=06120200= ERR(106); 35985000=06121000= @@ -7657,9 +7713,9 @@ EXIT: 36115000 LABEL 36535000=06182000= EXIT; 36540000=06182000= DO BEGIN 36545000=06183000= - OPERATOR:= 1 & ELBAT[I][36:17:10]; 36550000=06184000= + OPERATOR:= 1 & ELBAT[I][11:30:10]; 36550000=06184000= COMMENT THIS SETS UP THE OPERATOR WHICH WILL BE EMITTED. THE HIGH 36555000=06185000= - ORDER TEN BITS OF THE OPERATOR ARE LOCATED IN [17:10] 36560000=06186000= + ORDER TEN BITS OF THE OPERATOR ARE LOCATED IN [30:10] 36560000=06186000= OF THE ELBAT WORD; 36565000=06187000= OPCLASS:= ELCLASS; 36570000=06188000= STEPIT; 36575000=06189000= @@ -7858,7 +7914,7 @@ L29: 37510000 L30: 37540000=06255000= COMMENT TRUE OR FALSE; 37545000=06255000= 37550000=06256000= - EMIT(0 & ELBAT[I][45:26:1]); 37555000=06256000= + EMIT(0 & ELBAT[I][2:21:1]); 37555000=06256000= STEPIT; 37560000=06256000= GO TO T; 37565000=06256000= L34: 37570000=06258000= @@ -7921,8 +7977,8 @@ EXIT: 37775000 MANY, 37855000=06282600= SIGN; 37860000=06282600= DEFINE 37865000=06282800= - FORMALNAME = [9:2] = 2 #; 37870000=06282800= - PROCEDURE PLUG(C, A, S); 37875000=06283000= + FORMALNAME = [38:2] = 2 #; 37870000=06282800= + PROCEDURE PLUG(C, A, S); 37875000=06283000= VALUE 37880000=06283000= C, 37885000=06283000= A, 37890000=06283000= @@ -7943,16 +7999,16 @@ EXIT: 37775000 END PLUG; 37965000=06284000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%37970000=06284000= DO BEGIN 37975000=06284200= - OPERATOR:= 1 & ELBAT[I][36:17:10]; 37980000=06284400= + OPERATOR:= 1 & ELBAT[I][11:30:10]; 37980000=06284400= 37985000=06284600= COMMENT SET UP CODE FOR RELATIONAL OPERATOR TO BE 37990000=06284600= EMITTED LATER (AFTER PROCESSING SECOND HALF). 37995000=06284800= THE HIGH-ORDER BITS OF THE BINARY OPERATOR 38000000=06285000= - ARE TAKEN FROM THE [17:10] FIELD OF THE 38005000=06285200= + ARE TAKEN FROM THE [30:10] FIELD OF THE 38005000=06285200= ELBAT WORD FRO THE RELATIONAL SYMBOL; 38010000=06285400= IF MANY THEN 38015000=06285600= IF SIMPLE THEN 38020000=06285800= - PLUG(CONSTANA, A, SIGNA) 38025000=06285800= + PLUG(CONSTANA, A, SIGNA) 38025000=06285800= ELSE 38030000=06285800= EMITV(JUNK); 38035000=06285800= SIGNA:= FALSE; 38040000=06286000= @@ -7970,7 +8026,7 @@ COMMENT SET UP CODE FOR RELATIONAL OPERATOR TO BE 37990000 A:= C 38100000=06287800= ELSE 38105000=06287800= A:= ELBAT[I-1]; 38110000=06287800= - PLUG(CONSTANA, A, SIGNA) 38115000=06288200= + PLUG(CONSTANA, A, SIGNA) 38115000=06288200= END 38120000=06288400= ELSE 38125000=06288400= BEGIN 38130000=06288400= @@ -7978,7 +8034,7 @@ COMMENT SET UP CODE FOR RELATIONAL OPERATOR TO BE 37990000 STEPIT; 38140000=06288600= AEXP; 38145000=06288600= IF ELCLASS = RELOP THEN 38150000=06288800= - EMITPAIR(JUNK, SND); 38155000=06288800= + EMITPAIR(JUNK, SND); 38155000=06288800= END; 38160000=06289000= STACKCT:= 1; 38165000=06289200= EMIT(OPERATOR); 38170000=06289200= @@ -8011,7 +8067,7 @@ COMMENT SET UP CODE FOR RELATIONAL OPERATOR TO BE 37990000 COMMENT COMPILE 1ST EXPRSS; 38305000=06299000= STACKCT:= 0; 38310000=06299500= ELSEBRANCH:= BUMPL; 38315000=06300000= - EMITB(BFC, THEBRANCH, L); 38320000=06301000= + EMITB(BFC, THEBRANCH, L); 38320000=06301000= IF ELCLASS ^= ELSEV THEN 38325000=06302000= ERR(155) 38330000=06302000= ELSE 38335000=06302000= @@ -8026,7 +8082,7 @@ COMMENT SET UP CODE FOR RELATIONAL OPERATOR TO BE 37990000 BEXP; 38380000=06305000= STACKCT:= 1; 38385000=06305500= COMMENT THIS COMPILES PROPER TYPE SECOND EXPRSS; 38390000=06306000= - EMITB(BFW, ELSEBRANCH, L); 38395000=06307000= + EMITB(BFW, ELSEBRANCH, L); 38395000=06307000= EMIT(1); 38400000=06308000= L:= L-1; 38405000=06308000= COMMENT THIS IS USED BY EMITLNG TO CLEANUP CODE. COMPARE WITH 38410000=06309000= @@ -8176,7 +8232,7 @@ SKIP1: 39095000 EMITL(THIRD); 39130000=06334200= EMITL(1); 39135000=06334200= EMITV(GNAT(DIALER)); 39140000=06334500= - EMIT(TRB & THIRD[36:42:6]); 39145000=06334600= + EMIT(TRB & THIRD[11:5:6]); 39145000=06334600= END 39150000=06335000= ELSE 39155000=06335000= BEGIN 39160000=06335000= @@ -8189,7 +8245,7 @@ SKIP1: 39095000 BEGIN 39195000=06336100= IF FIRST+THIRD > 48 OR SECOND+THIRD > 48 THEN 39200000=06336200= FLAG(095); 39205000=06336200= - EMITD(SECOND, FIRST, THIRD); 39210000=06336300= + EMITD(SECOND, FIRST, THIRD); 39210000=06336300= END; 39215000=06336400= STEPIT; 39220000=06336500= EXIT: 39225000=06336600= @@ -8206,9 +8262,9 @@ EXIT: 39225000 SECOND; 39280000=06339000= LABEL 39285000=06339000= EXIT; 39290000=06339000= - IF DOTSYNTAX(FIRST, SECOND) THEN 39295000=06340000= + IF DOTSYNTAX(FIRST, SECOND) THEN 39295000=06340000= GO TO EXIT; 39300000=06340000= - EMITI(0, FIRST, SECOND); 39305000=06343000= + EMITI(0, FIRST, SECOND); 39305000=06343000= STEPIT; 39310000=06345000= EXIT: 39315000=06346000= END DOTIT; 39320000=06346000= @@ -8290,7 +8346,7 @@ EXIT: 39315000 IF S THEN 39700000=06398000= BEGIN 39705000=06398000= BANA; 39710000=06399000= - EMITPAIR(JUNK, ISD); 39715000=06399000= + EMITPAIR(JUNK, ISD); 39715000=06399000= EMITV(GNAT(ELBW)); 39720000=06400000= IF F THEN 39725000=06401000= GO TO EXIT; 39730000=06401000= @@ -8445,8 +8501,8 @@ ANOTHER: 40310000 END; 40475000=07025030= IF ELCLASS = PERIOD THEN 40480000=07026000= BEGIN 40485000=07027000= - GT5:= 6"ND;END."&6"E"[1:43:5]; 40490000=07028000= - MOVE(1, GT5, CBUFF[0]); 40495000=07029000= + GT5:= 6"ND;END."&6"E"[46:4:5]; 40490000=07028000= + MOVE(1, GT5, CBUFF[0]); 40495000=07029000= LASTUSED:= 4; 40500000=07030000= ELBAT[I:= I-2]:= SPECIAL[20]; 40505000=07031000= ELCLASS:= SEMICOLON 40510000=07032000= @@ -8464,7 +8520,7 @@ ANOTHER: 40310000 PROCEDURE OR NOT. 40570000=07042000= INDEX IS THE INDEX INTO INFO OF THE ADDITIONAL 40575000=07043000= INFORMATION; 40580000=07044000= - PROCEDURE ACTUALPARAPART(FBIT, SBIT, INDEX); 40585000=07045000= + PROCEDURE ACTUALPARAPART(FBIT, SBIT, INDEX); 40585000=07045000= VALUE 40590000=07046000= FBIT, 40595000=07046000= SBIT, 40600000=07046000= @@ -8667,15 +8723,15 @@ ANOTHER: 41195000 END; 41585000=07111300= IF NOT VBIT THEN 41590000=07111303= BEGIN 41595000=07111307= - EMITPAIR(JUNK, STD); 41600000=07111310= + EMITPAIR(JUNK, STD); 41600000=07111310= EMITN(JUNK); 41605000=07111310= EMITO(RTS); 41610000=07111315= ADJUST; 41615000=07111315= CONSTANTCLEAN; 41620000=07111315= EMITO(MKS); 41625000=07111320= - EMITB(BBW, BUMPL, T4+2); 41630000=07111320= - EMITB(BFW, T4+2, L); 41635000=07111325= - STUFFF(PROGDESCBLDR(0, L-3, 0)); 41640000=07111330= + EMITB(BBW, BUMPL, T4+2); 41630000=07111320= + EMITB(BFW, T4+2, L); 41635000=07111325= + STUFFF(PROGDESCBLDR(0, L-3, 0)); 41640000=07111330= END; 41645000=07111335= GO BS; 41650000=07111340= END OF FILE ATTRIBUTE PARAMETER EXPRESSION; 41655000=07111345= @@ -8722,13 +8778,13 @@ ANOTHER: 41195000 END; 41860000=07127000= COMMENT STREAM PROCEDURES MAY NOT HAVE EXPRESSIONS PASSED BY NAME;41865000=07128000= T2:= BAE; 41870000=07129000= - T3:= PROGDESCBLDR(0, L, 0); 41875000=07130000= + T3:= PROGDESCBLDR(0, L, 0); 41875000=07130000= COMMENT BUILD DESCRIPTOR FOR ACCIDENTAL ENTRY AND PREPARE JUMP 41880000=07131000= AROUND CODE FOR EXPRESSION; 41885000=07132000= T1:= EXPRSS; 41890000=07133000= COMMENT COMPILE EXPRESSION; 41895000=07133000= STORE: 41900000=07134000= - EMITPAIR(JUNK, STD); 41905000=07134000= + EMITPAIR(JUNK, STD); 41905000=07134000= EMITN(JUNK); 41910000=07134000= COMMENT THIS PROVIDES FOR PROTECTION IF ONE ATTEMPTS INSIDE OF A 41915000=07135000= PROCEDURE TO STORE INTO AN EXPRESSION - THE STORE GOES 41920000=07136000= @@ -8736,7 +8792,7 @@ ANOTHER: 41195000 LRTS: 41930000=07138000= EMITO(RTS); 41935000=07138000= CONSTANTCLEAN; 41940000=07138000= - EMITB(BFW, T2, L); 41945000=07138000= + EMITB(BFW, T2, L); 41945000=07138000= STUFFF(T3) 41950000=07139000= COMMENT LRTS IS RESPONSIBLE FOR THE CLEANUP ASSOCIATED WITH ALL 41955000=07139000= THE ACCIIDENTAL ENTRIES COMPILED BY ACTUALPARAPART. IT 41960000=07140000= @@ -8830,12 +8886,12 @@ ANOTHER: 41195000 IF TABLE(I-2) = FACTOP THEN 42400000=07199000= BEGIN 42405000=07199000= COMMENT WE HAVE A ROW DESIGNATOR AFTER ALL; 42410000=07200000= - EMITB(BFW, T2, T3); 42415000=07201000= + EMITB(BFW, T2, T3); 42415000=07201000= T2:= STLB; 42420000=07201000= GO TO LOWBD 42425000=07201000= END; 42430000=07201000= COMMENT WE NOW KNOW WE NEED ACCIDENTAL ENTRY; 42435000=07202000= - T3:= PROGDESCBLDR(0, T3, 0); 42440000=07203000= + T3:= PROGDESCBLDR(0, T3, 0); 42440000=07203000= T1:= 42445000=07204000= IF BOOARRAYID = ACLASS THEN 42450000=07204000= BTYPE 42455000=07204000= @@ -8872,7 +8928,7 @@ ANOTHER: 41195000 ELSE 42610000=07217000= IF ACLASS = SUPERLISTID THEN 42615000=07217500= BEGIN 42620000=07217510= - EMITPAIR(ADDRSF, LOD); 42625000=07217510= + EMITPAIR(ADDRSF, LOD); 42625000=07217510= GO TO BS 42630000=07217510= END; 42635000=07217510= FLAG(126); 42640000=07217520= @@ -8890,7 +8946,7 @@ L16: 42670000 LODPOINT: 42700000=07223000= L4: 42705000=07223000= L8: COMMENT LIST, SUPERLIST OR SUPERFILE; 42710000=07224000= - EMITPAIR(ADDRSF, LOD); 42715000=07225000= + EMITPAIR(ADDRSF, LOD); 42715000=07225000= NSBS: 42720000=07226000= IF SBIT THEN 42725000=07226000= BEGIN 42730000=07226000= @@ -8969,11 +9025,11 @@ L9: 43060000 ALL BUT VERY SIMPLE SWITCHES ARE MARKED FORMAL, WHETHER 43095000=07268000= THEY ARE OR NOT; 43100000=07269000= T2:= BAE; 43105000=07270000= - T3:= PROGDESCBLDR(0, L, 0); 43110000=07270000= + T3:= PROGDESCBLDR(0, L, 0); 43110000=07270000= EMITV(GNAT(WHOLE)); 43115000=07270000= GENGO(WHOLE); 43120000=07271000= EMITO(RTS); 43125000=07272000= - EMITB(BFW, T2, L); 43130000=07272000= + EMITB(BFW, T2, L); 43130000=07272000= STUFFF(T3); 43135000=07272000= GO TO NSBS; 43140000=07272000= L10: 43145000=07274000= @@ -8982,7 +9038,7 @@ L10: 43145000 TB1:= TRUE; 43160000=07275000= IF FORMALF THEN 43165000=07275000= GO LODPOINT; 43170000=07275000= -LP: IF T1:= TAKE(WHOLE:= GIT(WHOLE)).[40:8] = 0 THEN 43175000=07277000= +LP: IF T1:= TAKE(WHOLE:= GIT(WHOLE)).[7:8] = 0 THEN 43175000=07277000= BEGIN 43180000=07277000= COMMENT THE PRCOEDURE BEING PASSED HAS ZERO PARAMETERS; 43185000=07278000= IF TB1 THEN 43190000=07279000= @@ -9016,20 +9072,20 @@ LP: IF T1:= TAKE(WHOLE:= GIT(WHOLE)).[40:8] = 0 THEN 43175000 GOBBLE: 43330000=07304000= TB1:= FALSE; 43335000=07304000= T5:= BAE; 43340000=07304000= - T6:= PROGDESCBLDR(1, L, 0) 43345000=07305000= + T6:= PROGDESCBLDR(1, L, 0) 43345000=07305000= END; 43350000=07305000= EMITV(T4:= T3.ADDRESS); 43355000=07306000= - EMITPAIR(T4, STD) 43360000=07306000= + EMITPAIR(T4, STD) 43360000=07306000= END 43365000=07306000= END; 43370000=07306000= COMMENT THIS CALLS THE T2-TH PARAMETER BY VALUE; 43375000=07307000= IF NOT TB1 THEN 43380000=07309000= BEGIN 43385000=07309000= COMMENT THERE WERE VALUE CALLS SO FINISH CONSTRUCTION OF THINK; 43390000=07310000= - EMITPAIR(ADDRSF, LOD); 43395000=07311000= + EMITPAIR(ADDRSF, LOD); 43395000=07311000= EMITO(BFW); 43400000=07311000= CONSTANTCLEAN; 43405000=07312000= - EMITB(BFW, T5, L); 43410000=07312000= + EMITB(BFW, T5, L); 43410000=07312000= ADDRSF:= T6 43415000=07312000= END; 43420000=07312000= GO TO LODPOINT; 43425000=07313000= @@ -9103,18 +9159,18 @@ L25: 43760000 L26: 43765000=07357000= COMMENT BOOLEAN AND REAL ARRAYS; 43770000=07357000= 43775000=07358000= - EMITPAIR(ADDRSF, LOD); 43780000=07358000= + EMITPAIR(ADDRSF, LOD); 43780000=07358000= IF SBIT THEN 43785000=07359000= GO TO BS; 43790000=07359000= COMMENT LOWER BOUNDS ARE NOT PASSED TO STREAM PROCEDURES; 43795000=07360000= T1:= TAKE(WHOLE:= GIT(WHOLE)).NODIMPART; 43800000=07361000= FOR T2:= 1 STEP 1 UNTIL T1 DO 43805000=07363000= BEGIN 43810000=07363000= - IF T3:= (STLB:= TAKE(WHOLE+T2)).[35:11] > 1023 THEN 43815000=07365000= + IF T3:= (STLB:= TAKE(WHOLE+T2)).[12:11] > 1023 THEN 43815000=07365000= EMITV(T3) 43820000=07365000= ELSE 43825000=07365000= EMIT(STLB); 43830000=07365000= - IF STLB.[23:10] = ADD THEN 43835000=07366000= + IF STLB.[24:10] = ADD THEN 43835000=07366000= EMITO(CHS) 43840000=07366000= END; 43845000=07366000= COMMENT THIS CODE EMITTED CALLS ON LOWER BOUNDS; 43850000=07367000= @@ -9159,7 +9215,7 @@ EXIT: 44020000 COMMENT PROCSTMT COMPILES CODE FOR ALL PROCEDURE STATEMENTS AND 44045000=07386000= FUNCTION CALLS (EXCEPT FOR STREAM PROCEDURES). THE 44050000=07387000= PARAMETERS, FROM, TELLS WHO CALLED. IF STMT CALLED FROM 44055000=07388000= - IS TRUE, PROCSTMT ALSO HANDLES FUNCTION NAME ASSIGNMENT 44060000=07389000= + IS TRUE, PROCSTMT ALSO HANDLES FUNCTION NAME ASSIGNMENT 44060000=07389000= OPERATIONS; 44065000=07390000= PROCEDURE PROCSTMT(FROM); 44070000=07391000= VALUE 44075000=07391000= @@ -9193,7 +9249,7 @@ EXIT: 44020000 STEPIT; 44215000=07407000= EMITO(MKS); 44220000=07408000= IF ELCLASS = LEFTPAREN THEN 44225000=07410000= - ACTUALPARAPART(FORMALF, FALSE, GIT(HOLE)) 44230000=07411000= + ACTUALPARAPART(FORMALF, FALSE, GIT(HOLE)) 44230000=07411000= ELSE 44235000=07411000= IF FORMALF THEN 44240000=07411000= IF FROM THEN 44245000=07411100= @@ -9213,11 +9269,11 @@ EXIT: 44020000 EMITO(MKS); 44315000=07418000= EMITL(JUNK); 44320000=07419000= EMITL(PASSTYPE(HOLE)); 44325000=07419000= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 44330000=07420000= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 44330000=07420000= PASSALPHA(HOLE); 44335000=07420000= - EMITPAIR(GNAT(CHARI), LOD); 44340000=07421000= + EMITPAIR(GNAT(CHARI), LOD); 44340000=07421000= PASSMONFILE(TAKE(GIT(HOLE)).FUNCMONFILE); 44345000=07422000= - EMITNUM(1 & CARDNUMBER[1:4:44]); 44350000=07422100= + EMITNUM(1 & CARDNUMBER[46:43:44]); 44350000=07422100= EMITV(GNAT(PRINTI)); 44355000=07423000= END; 44360000=07424000= EXIT: 44365000=07425000= @@ -9239,13 +9295,13 @@ EXIT: 44365000 EMIT(0); 44445000=07441000= EMITO(MKS); 44450000=07441000= STEPIT; 44455000=07441000= - GT1:= (GT2:= TAKE(GT3:= GIT(ELBAT[I-1]))).[14:10]; 44460000=07442000= - GT4:= GT1-GT2.[7:6]; 44465000=07443000= + GT1:= (GT2:= TAKE(GT3:= GIT(ELBAT[I-1]))).[33:10]; 44460000=07442000= + GT4:= GT1-GT2.[40:6]; 44465000=07443000= FOR GT1:= GT1-1 STEP-1 UNTIL GT4 DO 44470000=07445000= EMITV(IF GT1 >= 512 THEN GT1+1024 ELSE GT1); 44475000=07445000= COMMENT THIS CODE CALLS LABELS FROM PRT WHICH ARE NEEDED FOR LONG 44480000=07446000= JUMPS INSIDE OF STREAM PROCEDURES; 44485000=07447000= - GT4:= GT2.[1:6]; 44490000=07448000= + GT4:= GT2.[46:6]; 44490000=07448000= FOR GT1:= 1 STEP 1 UNTIL GT4 DO 44495000=07449000= EMIT(0); 44500000=07449000= COMMENT THIS CODE CALLS ZERO LISTS TO MAKE SPACE FOR LOCALS INSIDE44505000=07450000= @@ -9254,7 +9310,7 @@ EXIT: 44365000 ERR(128) 44520000=07453000= ELSE 44525000=07453000= BEGIN 44530000=07453000= - ACTUALPARAPART(FALSE, TRUE, GT3); 44535000=07454000= + ACTUALPARAPART(FALSE, TRUE, GT3); 44535000=07454000= EMITV(ADDRS) 44540000=07454000= END; 44545000=07454000= END 44550000=07455000= @@ -9292,15 +9348,15 @@ COMMENT RELSESTMT COMPILES THE RELEASE STATEMENT: 44620000 ERR(100); 44710000=07462750= GO EXIT 44715000=07462750= END; 44720000=07462750= - IF ELCLASS = PROCID OR RANGE(BOOPROCID, INTPROCID) THEN 44725000=07463000= + IF ELCLASS = PROCID OR RANGE(BOOPROCID, INTPROCID) THEN 44725000=07463000= BEGIN 44730000=07463250= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 44735000=07463500= - EMITPAIR(38, COM); 44740000=07463500= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 44735000=07463500= + EMITPAIR(38, COM); 44740000=07463500= EMITO(DEL); 44745000=07463750= STEPIT; 44750000=07463750= GO PARENCHECK; 44755000=07463750= END; 44760000=07464000= - IF RANGE(BOOARRAYID, INTARRAYID) THEN 44765000=07464250= + IF RANGE(BOOARRAYID, INTARRAYID) THEN 44765000=07464250= BEGIN 44770000=07464500= REL:= TRUE; 44775000=07464750= AEXP; 44780000=07464750= @@ -9308,7 +9364,7 @@ COMMENT RELSESTMT COMPILES THE RELEASE STATEMENT: 44620000 IF TABLE(I-2) = FACTOP THEN 44790000=07465000= BEGIN 44795000=07465250= STACKCT:= STACKCT-1; 44800000=07465250= - EMITPAIR(38, COM); 44805000=07465500= + EMITPAIR(38, COM); 44805000=07465500= EMIT0(DEL); 44810000=07465500= GO PARENCHECK; 44815000=07465500= END 44820000=07466000= @@ -9320,7 +9376,7 @@ COMMENT RELSESTMT COMPILES THE RELEASE STATEMENT: 44620000 EMITL(0); 44850000=07466500= EMITO(XCH); 44855000=07466500= EMITL(0); 44860000=07466750= - EMITPAIR(32, COM); 44865000=07466750= + EMITPAIR(32, COM); 44865000=07466750= EMITO(DEL); 44870000=07466750= EMITO(DEL); 44875000=07467000= EMITO(DEL); 44880000=07467000= @@ -9385,7 +9441,7 @@ EXIT: 45090000 BEGIN 45175000=07486000= STEPIT; 45180000=07487000= BEXP; 45185000=07487000= - EMITB(BBC, BUMPL, TL) 45190000=07487000= + EMITB(BBC, BUMPL, TL) 45190000=07487000= END 45195000=07488000= END DOSTMT; 45200000=07488000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%45205000=07488000= @@ -9408,9 +9464,9 @@ EXIT: 45090000 BEGIN 45290000=07495000= STEPIT; 45295000=07495000= STMT; 45300000=07495000= - EMITB(BBW, BUMPL, BACK); 45305000=07495000= + EMITB(BBW, BUMPL, BACK); 45305000=07495000= CONSTANTCLEAN; 45310000=07496000= - EMITB(BFC, FRONT, L) 45315000=07496000= + EMITB(BFC, FRONT, L) 45315000=07496000= END 45320000=07496000= END WHILESTMT; 45325000=07496000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%45330000=07496000= @@ -9439,7 +9495,7 @@ EXIT: 45090000 GO GOCMP; 45445000=07508000= IF TB1 THEN 45450000=07509000= BEGIN 45455000=07509000= - GOGEN(ELBAT[I], BFW); 45460000=07509000= + GOGEN(ELBAT[I], BFW); 45460000=07509000= STEPIT; 45465000=07509000= CONSTANTCLEAN; 45470000=07510000= GO EXIT 45475000=07510000= @@ -9450,19 +9506,19 @@ EXIT: 45090000 COMMENT THIS IS A MONITORED SWITCH; 45500000=07513000= EMITO(MKS); 45505000=07514000= PASSALPHA(ELBW); 45510000=07514000= - EMITPAIR(GNAT(CHARI), LOD); 45515000=07515000= - PASSMONFILE(TAKE(GIT(ELBW)), SWITMONFILE); 45520000=07516000= - EMITNUM(0 & CARDNUMBER[1:4:44]); 45525000=07516100= + EMITPAIR(GNAT(CHARI), LOD); 45515000=07515000= + PASSMONFILE(TAKE(GIT(ELBW)), SWITMONFILE); 45520000=07516000= + EMITNUM(0 & CARDNUMBER[46:43:44]); 45525000=07516100= EMITV(GNAT(PRINTI)); 45530000=07517000= END; 45535000=07518000= BANA; 45540000=07519000= - EMITPAIR(JUNK, ISD); 45545000=07519000= - IF(GT1:= TAKE(GT2:= GIT(ELBW))).[24:12] = 0 AND ELBW.ADDRESS = 0 45550000=07521000= + EMITPAIR(JUNK, ISD); 45545000=07519000= + IF(GT1:= TAKE(GT2:= GIT(ELBW))).[23:12] = 0 AND ELBW.ADDRESS = 0 45550000=07521000= THEN 45555000=07521000= BEGIN 45560000=07521000= - PUT(GT1 & (BUMPL)[24:36:12], GT2); 45565000=07522000= - EMITB(BBW, L, GT4:= GT1.[36:12]); 45570000=07523000= - EMITB(BFW, GT4+13, L+3); 45575000=07524000= + PUT(GT1 & (BUMPL)[23:11:12], GT2); 45565000=07522000= + EMITB(BBW, L, GT4:= GT1.[11:12]); 45570000=07523000= + EMITB(BFW, GT4+13, L+3); 45575000=07524000= EMITO(NOP); 45580000=07525000= EMITO(NOP); 45585000=07525000= EMITO(NOP) 45590000=07525000= @@ -9497,7 +9553,7 @@ EXIT: 45710000 PARAMETER. GOGEN ASSUMES THAt THE LABEL IS LOCAL. THE 45735000=07532000= PARAMETER BRANCH TYPE TELL WHETHER THE JUMP IS CONDITIONAL45740000=07533000= OR NOT; 45745000=07534000= - PROCEDURE GOGEN(LABELBAT, BRANCHTYPE); 45750000=07535000= + PROCEDURE GOGEN(LABELBAT, BRANCHTYPE); 45750000=07535000= VALUE 45755000=07536000= LABELBAT, 45760000=07536000= BRANCHTYPE; 45765000=07536000= @@ -9505,8 +9561,8 @@ EXIT: 45710000 LABELBAT, 45775000=07537000= BRANCHTYPE; 45780000=07537000= BEGIN 45785000=07538000= - IF BOOLEAN(GT1:= TAKE(GT2:= GIT(LABELBAT))).[1:1] THEN 45790000=07540000= - EMITB(BRANCHTYPE, BUMPL, GT1.[36:12]) 45795000=07541000= + IF BOOLEAN(GT1:= TAKE(GT2:= GIT(LABELBAT))).[46:1] THEN 45790000=07540000= + EMITB(BRANCHTYPE, BUMPL, GT1.[11:12]) 45795000=07541000= COMMENT LABELR SETS THE SIGN OF THE ADDITIONAL INFO FOR A LABEL 45800000=07541000= NEGATIVE WHEN THE LABEL IS ENCOUNTERED. SO THIS MEANS 45805000=07542000= THAT WE NOW KNOW WHERE TO GO; 45810000=07543000= @@ -9514,7 +9570,7 @@ EXIT: 45710000 BEGIN 45820000=07544000= EMIT(GT1); 45825000=07544000= EMIT(BRANCHTYPE); 45830000=07544000= - PUT(GT1 & L[36:36:12], GT2) 45835000=07545000= + PUT(GT1 & L[11:11:12], GT2) 45835000=07545000= END 45840000=07545000= END GOGEN; 45845000=07545000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%45850000=07545000= @@ -9561,21 +9617,21 @@ EXIT: 45955000 STEPIT; 46055000=07569000= IF SIMPGO THEN 46060000=07571000= BEGIN 46065000=07571000= - GOGEN(ELBAT[I], BFC); 46070000=07572000= - GOGEN(T1, BFW); 46075000=07572000= + GOGEN(ELBAT[I], BFC); 46070000=07572000= + GOGEN(T1, BFW); 46075000=07572000= STEPIT; 46080000=07573000= GO TO EXIT 46085000=07573000= END 46090000=07573000= ELSE 46095000=07573000= BEGIN 46100000=07573000= EMITLNG; 46105000=07573000= - GOGEN(T1, BFC); 46110000=07573000= + GOGEN(T1, BFC); 46110000=07573000= STMT; 46115000=07574000= GO TO EXIT 46120000=07574000= END 46125000=07574000= END; 46130000=07574000= EMITLNG; 46135000=07575000= - GOGEN(T1, BFC); 46140000=07575000= + GOGEN(T1, BFC); 46140000=07575000= GO EXIT 46145000=07576000= END; 46150000=07576000= T1:= BUMPL; 46155000=07577000= @@ -9583,7 +9639,7 @@ EXIT: 45955000 IF ELCLASS ^= ELSEV THEN 46165000=07578000= BEGIN 46170000=07579000= DIALA:= DIALB:= 0; 46175000=07579000= - EMITB(BFC, T1, L); 46180000=07579000= + EMITB(BFC, T1, L); 46180000=07579000= GO EXIT 46185000=07579000= END; 46190000=07579000= STEPTIT; 46195000=07580000= @@ -9591,16 +9647,16 @@ EXIT: 45955000 BEGIN 46205000=07582000= T2:= L; 46210000=07583000= L:= T1-2; 46215000=07583000= - GOGEN(ELBAT[I], BFC); 46220000=07583000= + GOGEN(ELBAT[I], BFC); 46220000=07583000= L:= T2; 46225000=07583000= STEPIT; 46230000=07584000= GO EXIT 46235000=07584000= END; 46240000=07584000= T2:= BUMPL; 46245000=07585000= CONSTANTCLEAN; 46250000=07585000= - EMITB(BFC, T1, L); 46255000=07586000= + EMITB(BFC, T1, L); 46255000=07586000= STMT; 46260000=07586000= - EMITB(BFW, T2, L); 46265000=07586000= + EMITB(BFW, T2, L); 46265000=07586000= EXIT: 46270000=07587000= END IFSTMT; 46275000=07587000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%46280000=07587000= @@ -9635,7 +9691,7 @@ EXIT: 46270000 FLAG(134); 46425000=07600000= GO TO ROUND 46430000=07600000= END; 46435000=07600000= - LINK:= (ADDITIONAL:= TAKE(INDEX:= GIT(ELBATWORD))).[36:12]; 46440000=07602000= + LINK:= (ADDITIONAL:= TAKE(INDEX:= GIT(ELBATWORD))).[11:12]; 46440000=07602000= IF ADDITIONAL < 0 THEN 46445000=07603000= BEGIN 46450000=07604000= FLAG(135); 46455000=07604000= @@ -9644,7 +9700,7 @@ EXIT: 46270000 WHILE LINK ^= 0 DO 46470000=07606000= BEGIN 46475000=07606000= NEXTLINK:= GET(LINK-2); 46480000=07607000= - EMITB(GET(LINK-1), LINK, L); 46485000=07608000= + EMITB(GET(LINK-1), LINK, L); 46485000=07608000= LINK:= NEXTLINK; 46490000=07609000= IF LASTENTRY >= 126 THEN % DONT LET EMITNUM DO IT 46495000=07609100= BEGIN 46500000=07609200= @@ -9654,10 +9710,10 @@ EXIT: 46270000 (>1023 WORD) FORWARD REFERENCES TO A LABEL;46520000=07609400= C:= BUMPL; 46525000=07609500= CONSTANTCLEAN; 46530000=07609600= - EMITB(BFW, C, L) 46535000=07609700= + EMITB(BFW, C, L) 46535000=07609700= END; 46540000=07609700= END; 46545000=07609700= - PUT(-ADDITIONAL & L[36:36:12], INDEX); 46550000=07610000= + PUT(-ADDITIONAL & L[11:11:12], INDEX); 46550000=07610000= IF ELBATWORD < 0 THEN 46555000=07612000= BEGIN 46560000=07612000= COMMENT THIS LABEL IS EITHER APPEARS IN A DUMP 46565000=07612000= @@ -9668,9 +9724,9 @@ EXIT: 46270000 LABELS; 46590000=07616000= EMITO(MKS); 46595000=07617000= PASSALPHA(ELBATWORD); 46600000=07617000= - EMITPAIR(GNAT(CHARI), LOD); 46605000=07618000= + EMITPAIR(GNAT(CHARI), LOD); 46605000=07618000= PASSMONFILE(RR1); 46610000=07619000= - EMITNUM(0 & CARDNUMBER[1:4:44]); 46615000=07619100= + EMITNUM(0 & CARDNUMBER[46:43:44]); 46615000=07619100= EMITV(GNAT(PRINTI)); 46620000=07620000= END; 46625000=07621000= IF RR1:= ADDITIONAL.DUMPEE ^= 0 THEN 46630000=07623000= @@ -9680,7 +9736,7 @@ EXIT: 46270000 EMITV(RR1); 46650000=07625000= EMITL(1); 46655000=07625000= EMITO(ADD); 46660000=07625000= - EMITPAIR(RR1, STD); 46665000=07626000= + EMITPAIR(RR1, STD); 46665000=07626000= IF RR1:= ADDITIONAL.DUMPOR ^= 0 THEN 46670000=07628000= BEGIN 46675000=07628000= COMMENT EMIT CODE TO CALL 46680000=07628000= @@ -9741,7 +9797,7 @@ EXIT: 46745000 BOOLEAN 46955000=07646395= GOTOG; 46960000=07646395= REAL ARRAY 46965000=07646400= - TEDOC[0:7, 0:127]; 46970000=07646400= + TEDOC[0:7, 0:127]; 46970000=07646400= LABEL 46975000=07646410= LOOP, 46980000=07646410= XIT; 46985000=07646410= @@ -9761,11 +9817,11 @@ LOOP: 47045000 IF STEPI = SEMICOLON THEN 47055000=07646480= BEGIN 47060000=07646485= COMMENT NULL STATEMENT; 47065000=07646485= - TEDOC[N.[38:3], N.[41:7]]:= NULL; 47070000=07646490= + TEDOC[N.[9:3], N.[6:7]]:= NULL; 47070000=07646490= NULL:= N:= N+1; 47075000=07646495= GO TO LOOP; 47080000=07646495= END; 47085000=07646500= - TEDOC[N.[38:3], N.[41:7]]:= L-ADR; 47090000=07646510= + TEDOC[N.[9:3], N.[6:7]]:= L-ADR; 47090000=07646510= N:= N+1; 47095000=07646510= IF GOTOG:= SIMPGO THEN 47100000=07646515= ELBAT[I:= I-1]:= ELCLASS:= GOV; 47105000=07646515= @@ -9787,7 +9843,7 @@ LOOP: 47045000 EMIT(LINK); 47185000=07646543= LINK:= L:= L+1; 47190000=07646543= END; 47195000=07646543= - TEDOC[N.[38:3], N.[41:7]]:= L-ADR; 47200000=07646545= + TEDOC[N.[9:3], N.[6:7]]:= L-ADR; 47200000=07646545= N:= N+1; 47205000=07646548= END; 47210000=07646550= IF ELCLASS ^= ENDV THEN 47215000=07646555= @@ -9798,8 +9854,8 @@ LOOP: 47045000 N:= N-1; 47240000=07646556= WHILE NULL ^= 0 DO 47245000=07646560= BEGIN 47250000=07646565= - TEMP:= TEDOC[(NULL:= NULL-1).[38:3], NULL.[41:7]]; 47255000=07646565= - TEDOC[NULL.[38:3], NULL.[41:7]]:= L-ADR; 47260000=07646570= + TEMP:= TEDOC[(NULL:= NULL-1).[9:3], NULL.[6:7]]; 47255000=07646565= + TEDOC[NULL.[9:3], NULL.[6:7]]:= L-ADR; 47260000=07646570= NULL:= TEMP; 47265000=07646575= END; 47270000=07646580= ENDTOG:= TRUE; 47275000=07646585= @@ -9809,25 +9865,25 @@ LOOP: 47045000 UNTIL STEPI <= ENDV AND ELCLASS >= UNTILV OR NOT ENDTOG; 47295000=07646600= ENDTOG:= FALSE; 47300000=07646610= COMMENT DEFINE TEDOC AS TYPE-2 SEGMENT; 47305000=07646620= - MOVECODE(TEDOC, EDOC); 47310000=07646630= + MOVECODE(TEDOC, EDOC); 47310000=07646630= BUILDLINE:= BOOLEAN(2*REAL(BUILDLINE)); 47315000=07646635= TEMP:= SGNO; 47320000=07646640= IF LISTER OR SEGSTOG THEN 47325000=07646640= SEGMENTSTART; 47330000=07646640= SGNO:= SGAVL; 47335000=07646650= - Z:= PROGDESCBLDR(LDES, 0, PRT); 47340000=07646660= - SEGMENT(-N, SGNO, TEMP); 47345000=07646670= + Z:= PROGDESCBLDR(LDES, 0, PRT); 47340000=07646660= + SEGMENT(-N, SGNO, TEMP); 47345000=07646670= SGAVL:= SGAVL+1; 47350000=07646680= SGNO:= TEMP; 47355000=07646680= - BUILDLINE:= BUILDLINE.[46:1]; 47360000=07646685= - MOVECODE(TEDOC, EDOC); 47365000=07646690= + BUILDLINE:= BUILDLINE.[1:1]; 47360000=07646685= + MOVECODE(TEDOC, EDOC); 47365000=07646690= COMMENT FIX UP BRANCHES TO RESUME POINT; 47370000=07646700= IF(L-ADR) > 1019 THEN 47375000=07646705= ADJUST; % 47380000=07646705= WHILE LINK ^= 0 DO 47385000=07646710= BEGIN 47390000=07646720= TEMP:= GET(LINK-2); 47395000=07646720= - EMITB(BFW, LINK, L); 47400000=07646730= + EMITB(BFW, LINK, L); 47400000=07646730= LINK:= TEMP; 47405000=07646740= IF LASTENTRY >= 126 THEN 47410000=07646750= BEGIN 47415000=07646760= @@ -9836,7 +9892,7 @@ LOOP: 47045000 COMMENT PERMITS SEVERAL LONG BRANCHES IF NECESSARY; 47430000=07646770= C:= BUMPL; 47435000=07646780= CONSTANTCLEAN; 47440000=07646790= - EMITB(BFW, C, L); 47445000=07646800= + EMITB(BFW, C, L); 47445000=07646800= END; 47450000=07646810= END; 47455000=07646820= XIT: 47460000=07646840= @@ -9865,7 +9921,7 @@ COMMENT THE FOLLOWING PROCEDURE HANDLES THE FILL STATEMENT. 47480000 T = RR2 #, 47575000=07656000= J = RR3 #; 47580000=07656000= ARRAY 47585000=07656500= - TEDOC[0:7, 0:127], 47590000=07656500= + TEDOC[0:7, 0:127], 47590000=07656500= FILLTEMP[0:1022]; 47595000=07656500= BOOLEAN PROCEDURE FILLIT(A); 47600000=07657000= ARRAY 47605000=07657000= @@ -9903,7 +9959,7 @@ COMMENT THE FOLLOWING PROCEDURE HANDLES THE FILL STATEMENT. 47480000 ERROR(305); 47765000=07666000= GO GOOFUP 47770000=07666000= END; %>102347775000=07666000= - MOVE(T3, A[T2], A[T]); 47780000=07666500= + MOVE(T3, A[T2], A[T]); 47780000=07666500= T:= T+T3; 47785000=07666500= END; 47790000=07667000= GO CHECK; 47795000=07667500= @@ -9917,7 +9973,7 @@ COMMENT THE FOLLOWING PROCEDURE HANDLES THE FILL STATEMENT. 47480000 GO GOOFUP 47835000=07670000= END; % WHATISIT. 47840000=07670000= IF BOO THEN 47845000=07670500= - C:= C & ELBAT[I-1][1:21:1]; 47850000=07670500= + C:= C & ELBAT[I-1][46:26:1]; 47850000=07670500= IF ELCLASS = STRING THEN 47855000=07671000= BEGIN 47860000=07671500= IF(T2:= T+(COUNT+7) DIV 8-1) > 1022 THEN 47865000=07672000= @@ -9926,18 +9982,18 @@ COMMENT THE FOLLOWING PROCEDURE HANDLES THE FILL STATEMENT. 47480000 GO GOOFUP 47880000=07672500= END; % > 1023. 47885000=07672500= T3:= 6" "; 47890000=07673000= - MOVE(1, T3, A[T2]); 47895000=07673000= - MOVECHARACTERS(COUNT, ACCUM[1], 3, A[T], 0); 47900000=07673500= + MOVE(1, T3, A[T2]); 47895000=07673000= + MOVECHARACTERS(COUNT, ACCUM[1], 3, A[T], 0); 47900000=07673500= T:= T2; 47905000=07674000= END 47910000=07675000= ELSE 47915000=07675000= - MOVE(1, C, A[T]); 47920000=07675000= + MOVE(1, C, A[T]); 47920000=07675000= END 47925000=07676000= ELSE 47930000=07676000= - IF COUNT <= 19 AND ACCUM[1].[18:18] = 6"OCT" THEN 47935000=07676000= + IF COUNT <= 19 AND ACCUM[1].[29:18] = 6"OCT" THEN 47935000=07676000= BEGIN % GET RID OF "OCT" FOR OCTIZE. 47940000=07676500= - MOVECHARACTERS(COUNT-3, ACCUM[1], 6, ACCUM[1], 3); 47945000=07677000= - IF OCTIZE(ACCUM[1], A[T], 19-COUNT, COUNT-3) THEN 47950000=07677500= + MOVECHARACTERS(COUNT-3, ACCUM[1], 6, ACCUM[1], 3); 47945000=07677000= + IF OCTIZE(ACCUM[1], A[T], 19-COUNT, COUNT-3) THEN 47950000=07677500= FLAG(303); % NON-OCTAL CHARACTER. 47955000=07678000= END 47960000=07679000= ELSE 47965000=07679000= @@ -9981,17 +10037,17 @@ COMMENT THE FOLLOWING PROCEDURE HANDLES THE FILL STATEMENT. 47480000 STREAMTOG:= FALSE; 48155000=07691000= I:= I+1; 48160000=07691000= STEPIT; 48165000=07691000= - EMITPAIR(9, COM); 48170000=07691500= + EMITPAIR(9, COM); 48170000=07691500= EMITO(DEL); 48175000=07691500= GO EXIT; 48180000=07692000= END; 48185000=07692500= EMITNUM(SGAVL); 48190000=07693000= - EMITPAIR(7, COM); 48195000=07693000= + EMITPAIR(7, COM); 48195000=07693000= EMITO(DEL); 48200000=07693000= EMITO(DEL); 48205000=07693000= IF LISTER OR SEGSTOG THEN 48210000=07693500= SEGMENTSTART; 48215000=07693500= - MOVECODE(TEDOC, EDOC); 48220000=07694000= + MOVECODE(TEDOC, EDOC); 48220000=07694000= PARENCOUNTER:= T:= 0; 48225000=07694000= BUILDLINE:= BOOLEAN(2*REAL(BUILDLINE)); 48230000=07694500= IF FILLIT(FILLTEMP) THEN % DO NOTHING. 48235000=07695000= @@ -10001,12 +10057,12 @@ COMMENT THE FOLLOWING PROCEDURE HANDLES THE FILL STATEMENT. 47480000 ELSE 48255000=07696000= BEGIN 48260000=07696000= FOR J:= 0 STEP 32 UNTIL T DO 48265000=07696500= - MOVE(32, FILLTEMP[J], EDOC[J.[38:3], J.[41:7]]); 48270000=07697000= - SEGMENT(T, SGAVL, SGNO); 48275000=07697500= + MOVE(32, FILLTEMP[J], EDOC[J.[9:3], J.[6:7]]); 48270000=07697000= + SEGMENT(T, SGAVL, SGNO); 48275000=07697500= END; 48280000=07698000= - MOVECODE(TEDOC, EDOC); 48285000=07698500= + MOVECODE(TEDOC, EDOC); 48285000=07698500= STREAMTOG:= FALSE; 48290000=07698500= - BUILDLINE:= BUILDLINE.[46:1]; 48295000=07699000= + BUILDLINE:= BUILDLINE.[1:1]; 48295000=07699000= SGAVL:= SGAVL+1; 48300000=07699000= EXIT: 48305000=07700000= END FILLSTMT; 48310000=07700000= @@ -10103,7 +10159,7 @@ EXIT: 48305000 BEGIN 48765000=07727070= GT1:= BUMPL; 48770000=07727070= CONSTANTCLEAN; 48775000=07727075= - EMITB(BFW, GT1, L); 48780000=07727080= + EMITB(BFW, GT1, L); 48780000=07727080= END; 48785000=07727085= END; 48790000=07727090= STACKCT:= 0; 48795000=07727100= @@ -10317,7 +10373,7 @@ EXIT: 49280000 ERR(104); 49835000=07839000= GO TO XXX 49840000=07839000= END; 49845000=07839000= - EMITPAIR(30, COM); 49850000=07840000= + EMITPAIR(30, COM); 49850000=07840000= EMITO(DEL); 49855000=07840000= EMITO(DEL); 49860000=07840000= STEPIT; 49865000=07841000= @@ -10356,7 +10412,7 @@ EXIT: 49280000 ERR(104); 50030000=07855000= GO TO XXX; 50035000=07855000= END; 50040000=07855000= - EMITPAIR(32, COM); 50045000=07856000= + EMITPAIR(32, COM); 50045000=07856000= EMITO(DEL); 50050000=07856000= EMITO(DEL); 50055000=07856000= EMITO(DEL); 50060000=07857000= @@ -10428,7 +10484,7 @@ XXX: 50385000 END; 50390000=07914000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%50395000=07914000= PROCEDURE FAULTSTMT; 50400000=07920000= - COMMENT THIS IS WHAT HAPPENS FOR THE"~" 50405000=07920000= + COMMENT THIS IS WHAT HAPPENS FOR THE":="50405000=07920000= KIND OF STATEMENT. FOR THE RUN-TIME ERROR MESS; 50410000=07921000= BEGIN 50415000=07922000= REAL 50420000=07922000= @@ -10458,8 +10514,8 @@ XXX: 50385000 FAULTSTMT 50540000=07925100= ELSE 50545000=07925100= DEXP; 50550000=07925100= - EMITPAIR(ADRES, STR); 50555000=07926000= - FAULTOG:= FALSE & (ELBW.LVL < LEVEL OR FAULTOG.[46:1])[46:47:1]; 50560000=07926100= + EMITPAIR(ADRES, STR); 50555000=07926000= + FAULTOG:= FALSE & (ELBW.LVL < LEVEL OR FAULTOG.[1:1])[1:0:1]; 50560000=07926100= END FAULTSTMT NOW WASNT THAT SIMPLE; 50565000=07927000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%50570000=07927000= PROCEDURE KLUDGE(T); 50575000=07930000= @@ -10501,7 +10557,7 @@ XXX: 50385000 IF T < 0 THEN 50755000=07945000= COMMENT FROM WRITE...(<0 IS FROM READ); 50760000=07945000= BEGIN 50765000=07946000= - EMITPAIR(JUNK, STD); 50770000=07946000= + EMITPAIR(JUNK, STD); 50770000=07946000= EMITO(XCH); 50775000=07946000= EMITV(JUNK); 50780000=07946000= END; 50785000=07946000= @@ -10576,14 +10632,14 @@ EXIT: 50860000 ELSE 51130000=08017600= IF ELCLASS >= NONLITNO AND ELCLASS <= STRNGCON THEN 51135000=08017700= BEGIN 51140000=08017800= - INFO[0, K:= K+1]:= C; 51145000=08017800= - ELBAT[I]:= 0 & COMMENTV[2:41:7] & K[16:37:11] 51150000=08017950= + INFO[0, K:= K+1]:= C; 51145000=08017800= + ELBAT[I]:= 0 & COMMENTV[45:6:7] & K[31:10:11] 51150000=08017950= END FORCLASS; 51155000=08017950= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51160000=08017950= 51165000=08018000= COMMENT PLUG EMITS EITHER AN OPERAND CALL ON A VARIABLE OR A CALL ON A 51170000=08018000= CONSTANT DEPENDING ON THE REQUIREMENTS; 51175000=08019000= - PROCEDURE PLUG(C, A); 51180000=08020000= + PROCEDURE PLUG(C, A); 51180000=08020000= VALUE 51185000=08020000= C, 51190000=08020000= A; 51195000=08020000= @@ -10605,7 +10661,7 @@ EXIT: 50860000 ON ITS ACTIVITY. IT ALSO MAKES PROVISION FOR THE RESCAN 51275000=08024000= OF ELBAT (THIS IS THE ACTION WITH K - SEE CODE IN THE 51280000=08025000= TABLE ROUTINE FOR FURTHER DETAILS); 51285000=08026000= - BOOLEAN PROCEDURE SIMPLE(B, A, S); 51290000=08027000= + BOOLEAN PROCEDURE SIMPLE(B, A, S); 51290000=08027000= BOOLEAN 51295000=08027000= B, 51300000=08027000= S; 51305000=08027000= @@ -10623,8 +10679,8 @@ EXIT: 50860000 BEGIN 51365000=08033000= K:= K+1; 51370000=08033000= SIMPLE:= TRUE; 51375000=08033000= - ELBAT[I]:= 0 & COMMENTV[2:41:7] & K[16:37:11]; 51380000=08034000= - INFO[0, K]:= A:= C; 51385000=08035000= + ELBAT[I]:= 0 & COMMENTV[45:6:7] & K[31:10:11]; 51380000=08034000= + INFO[0, K]:= A:= C; 51385000=08035000= B:= TRUE 51390000=08035000= END 51395000=08036000= ELSE 51400000=08036000= @@ -10647,7 +10703,7 @@ EXIT: 50860000 ELSE 51485000=08045000= BEGIN 51490000=08045000= EMITL(2+L-BRET); 51495000=08046000= - EMITB(BBW, BUMPL, B); 51500000=08047000= + EMITB(BBW, BUMPL, B); 51500000=08047000= END; 51505000=08048000= EMITO(MUL); 51510000=08049000= EMIT(0) 51515000=08049000= @@ -10665,7 +10721,7 @@ EXIT: 50860000 BEGIN 51575000=08053000= CHECKER(VRET:= ALL); 51580000=08054000= ADDRES:= ALL.ADDRESS; 51585000=08055000= - FORMALV:= ALL.[9:2] = 2; 51590000=08056000= + FORMALV:= ALL.[38:2] = 2; 51590000=08056000= IF T:= ALL.CLASS > INTARRAYID OR T < BOOID OR GT1:= (T-BOOID) MOD 51595000=08058000= 4 < 1 51600000=08058000= THEN 51605000=08058000= @@ -10713,7 +10769,7 @@ EXIT: 50860000 ELSE 51815000=08076000= BEGIN 51820000=08076000= EMITL(2+L-VRET); 51825000=08077000= - EMITB(BBW, BUMPL, V); 51830000=08078000= + EMITB(BBW, BUMPL, V); 51830000=08078000= IF S THEN 51835000=08079000= EMITO(LOD) 51840000=08079000= END 51845000=08079000= @@ -10725,7 +10781,7 @@ EXIT: 50860000 BOOLEAN 51875000=08080000= NUMLE; 51880000=08080000= BEGIN 51885000=08081000= - PROCEDURE FIX(STORE, BACK, FORWART, START); 51890000=08082000= + PROCEDURE FIX(STORE, BACK, FORWART, START); 51890000=08082000= VALUE 51895000=08083000= STORE, 51900000=08083000= BACK, 51905000=08083000= @@ -10737,12 +10793,12 @@ EXIT: 50860000 FORWART, 51935000=08084000= START; 51940000=08084000= BEGIN 51945000=08085000= - EMITB(GET(FORWART-1), FORWART, START); 51950000=08086000= + EMITB(GET(FORWART-1), FORWART, START); 51950000=08086000= IF RETURNSTORE ^= 0 THEN 51955000=08088000= BEGIN 51960000=08088000= L:= STORE; 51965000=08089000= EMITNUM(B-BACK); 51970000=08089000= - EMITPAIR(RETURNSTORE, STD) 51975000=08090000= + EMITPAIR(RETURNSTORE, STD) 51975000=08090000= END 51980000=08090000= END FIX; 51985000=08090000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%51990000=08090000= @@ -10786,12 +10842,12 @@ EXIT: 50860000 END 52180000=08111000= ELSE 52185000=08111000= REGO:= I; 52190000=08111000= - IF SIMPLEB:= SIMPLE(CONSTANB, B, SIGNB) AND 52195000=08114000= + IF SIMPLEB:= SIMPLE(CONSTANB, B, SIGNB) AND 52195000=08114000= (STEPI = UNTILV OR ELCLASS = WHILEV) 52200000=08114000= THEN 52205000=08114000= BEGIN 52210000=08114000= COMMENT WE HAVE A SIMPLE STEP FUNCTION; 52215000=08115000= - PLUG(CONSTANB, B); 52220000=08116000= + PLUG(CONSTANB, B); 52220000=08116000= END 52225000=08117000= ELSE 52230000=08117000= BEGIN 52235000=08117000= @@ -10812,7 +10868,7 @@ EXIT: 50860000 EMITO(BFW) 52310000=08125000= END; 52315000=08125000= EMITO(REAL(SIGNB)*32+ADD); 52320000=08126000= - EMITB(BFW, BACKFIX, L); 52325000=08127000= + EMITB(BFW, BACKFIX, L); 52325000=08127000= IF ELCLASS = UNTILV THEN 52330000=08129000= BEGIN 52335000=08129000= COMMENT STEP-UNTIL ELEMENT; 52340000=08129000= @@ -10851,7 +10907,7 @@ EXIT: 50860000 COMMENT ONE EXPRESSION ELEMENT; 52505000=08144000= IF ELCLASS ^= COMMA THEN 52510000=08145000= BEGIN 52515000=08145000= - EMITB(BFW, BUMPL, L+2); 52520000=08146000= + EMITB(BFW, BUMPL, L+2); 52520000=08146000= BACKFIX:= L 52525000=08146000= END 52530000=08147000= ELSE 52535000=08147000= @@ -10873,7 +10929,7 @@ EXIT: 50860000 BEGIN 52615000=08154000= STEPIT; 52620000=08155000= FORLIST(TRUE); 52625000=08156000= - FIX(STOREFIX, BACKFIX, FORWARDBRANCH, STMTSTART) 52630000=08157000= + FIX(STOREFIX, BACKFIX, FORWARDBRANCH, STMTSTART) 52630000=08157000= END 52635000=08158000= ELSE 52640000=08158000= BEGIN 52645000=08158000= @@ -10897,14 +10953,14 @@ EXIT: 50860000 END 52735000=08167000= ELSE 52740000=08167000= BEGIN 52745000=08167000= - EMITB(BBW, BUMPL, BACKFIX); 52750000=08168000= + EMITB(BBW, BUMPL, BACKFIX); 52750000=08168000= RETURNSTORE:= 0 52755000=08168000= END; 52760000=08168000= STMTSTART:= FORWARDBRANCH; 52765000=08169000= B:= L; 52770000=08169000= CONSTANTCLEAN; 52775000=08170000= REGO:= L; 52780000=08170000= - FIX(STOREFIX, BACKFIX, FORWARDBRANCH, L) 52785000=08171000= + FIX(STOREFIX, BACKFIX, FORWARDBRANCH, L) 52785000=08171000= END; 52790000=08171000= EXIT: 52795000=08172000= END FORLIST; 52800000=08172000= @@ -10929,14 +10985,14 @@ EXIT: 50860000 IF FORMALV THEN 52895000=08179000= EMITN(ADDRES); 52900000=08179000= K:= 0; 52905000=08180000= - IF SIMPLE(CONSTANA, A, SIGNA) THEN 52910000=08181000= + IF SIMPLE(CONSTANA, A, SIGNA) THEN 52910000=08181000= IF FORCLASS(STEPV) THEN 52915000=08182000= - IF SIMPLE(CONSTANB, B, SIGNB) THEN 52920000=08183000= + IF SIMPLE(CONSTANB, B, SIGNB) THEN 52920000=08183000= IF FORCLASS(UNTILV) THEN 52925000=08184000= - IF SIMPLE(CONSTANC, C, SIGNC) THEN 52930000=08185000= + IF SIMPLE(CONSTANC, C, SIGNC) THEN 52930000=08185000= IF FORCLASS(DOV) THEN 52935000=08186000= BEGIN 52940000=08187000= - PLUG(CONSTANA, A); 52945000=08188000= + PLUG(CONSTANA, A); 52945000=08188000= IF SIGNA THEN 52950000=08189000= EMITO(CHS); 52955000=08189000= RETURNSTORE:= BUMPL; 52960000=08190000= @@ -10953,12 +11009,12 @@ EXIT: 50860000 LISTELEMENT 53015000=08201000= ELSE 53020000=08201000= STMT; 53025000=08201000= - SIGNC:= BOOLEAN(T1.[47:1]); 53030000=08202000= - SIGNB:= BOOLEAN(T1.[46:1]); 53035000=08203000= - CONSTANC:= BOOLEAN(T1.[45:1]); 53040000=08204000= - CONSTANB:= BOOLEAN(T1.[44:1]); 53045000=08205000= - STMTSTART:= T1.[32:12]; 53050000=08206000= - RETURNSTORE:= T1.[20:12]; 53055000=08207000= + SIGNC:= BOOLEAN(T1.[0:1]); 53030000=08202000= + SIGNB:= BOOLEAN(T1.[1:1]); 53035000=08203000= + CONSTANC:= BOOLEAN(T1.[2:1]); 53040000=08204000= + CONSTANB:= BOOLEAN(T1.[3:1]); 53045000=08205000= + STMTSTART:= T1.[15:12]; 53050000=08206000= + RETURNSTORE:= T1.[27:12]; 53055000=08207000= VRET:= T2; 53060000=08208000= B:= T3; 53065000=08209000= Q:= T4; 53070000=08210000= @@ -10966,19 +11022,19 @@ EXIT: 50860000 IF FORMALV THEN 53080000=08212000= EMITN(ADDRES); 53085000=08212000= EMITV(ADDRES); 53090000=08212000= - PLUG(CONSTANB, B); 53095000=08213000= + PLUG(CONSTANB, B); 53095000=08213000= EMITO(IF SIGNB THEN SUB ELSE ADD); 53100000=08214000= - EMITB(BFW, RETURNSTORE, L); 53105000=08215000= + EMITB(BFW, RETURNSTORE, L); 53105000=08215000= STORE(TRUE); 53110000=08216000= IF FORMALV THEN 53115000=08217000= CALL(OPDC); 53120000=08217000= - PLUG(CONSTANC, Q); 53125000=08218000= + PLUG(CONSTANC, Q); 53125000=08218000= IF SIGNC THEN 53130000=08219000= EMITO(CHS); 53135000=08219000= SIMPLEB:= TRUE; 53140000=08220000= TEST; 53145000=08220000= EMITLNG; 53150000=08220000= - EMITB(BBC, BUMPL, STMTSTART); 53155000=08221000= + EMITB(BBC, BUMPL, STMTSTART); 53155000=08221000= GO TO EXIT 53160000=08222000= END; 53165000=08222000= I:= 2; 53170000=08223000= @@ -11230,15 +11286,15 @@ EXIT: 53560000 EMIT(11); 54400000=08401050= EMIT(4); 54405000=08401050= EMITO(280); 54410000=08401050= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 54415000=08401060= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 54415000=08401060= EMITO(XCH); 54420000=08401070= EMITL(0); 54425000=08401070= EMITL(1); 54430000=08401070= END 54435000=08401090= ELSE 54440000=08401090= BEGIN 54445000=08401090= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 54450000=08402000= - IF NOT RANGE(FILEID, SUPERFILEID) THEN 54455000=08404000= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 54450000=08402000= + IF NOT RANGE(FILEID, SUPERFILEID) THEN 54455000=08404000= BEGIN 54460000=08404000= COMMENT ERROR 422 MEANS MISSING FILE IN READ 54465000=08404000= STATEMENT; 54470000=08405000= @@ -11336,7 +11392,7 @@ EXIT: 53560000 EMITO(ADD); 54930000=08415010= IF SEEKTOG THEN 54935000=08415020= EMITO(CHS); 54940000=08415020= - EMITPAIR(JUNK, ISN); 54945000=08415030= + EMITPAIR(JUNK, ISN); 54945000=08415030= IF ELCLASS = COMMA THEN %%% HAVE [AEXP, 54950000=08416000= IF STEPI = FACTOP THEN 54955000=08416010= STEPIT %%%[AEXP,* 54960000=08416010= @@ -11368,7 +11424,7 @@ EXIT: 53560000 IF STEPI ^= FACTOP THEN % 55090000=08418250= BEGIN 55095000=08418300= AEXP; 55100000=08418300= - EMITPAIR(JUNK, ISN) 55105000=08418300= + EMITPAIR(JUNK, ISN) 55105000=08418300= END 55110000=08418300= ELSE % 55115000=08418300= BEGIN 55120000=08418350= @@ -11377,7 +11433,7 @@ EXIT: 53560000 STEPIT 55135000=08418350= END 55140000=08418400= ELSE 55145000=08418400= - EMITPAIR(0, LNG); 55150000=08418400= + EMITPAIR(0, LNG); 55150000=08418400= EMITD(33, 33, 15); 55155000=08418500= EMITO(IF LOCKTOG THEN SSN ELSE SSP); 55160000=08418600= EMITL(REAL(SEEKTOG)); 55165000=08418650= @@ -11428,7 +11484,7 @@ EXIT: 53560000 EMITL(0); 55390000=08437075= GO TO PASSLIST; 55395000=08437075= END; 55400000=08438000= - IF RANGE(FRMTID, SUPERFRMTID) THEN 55405000=08440000= + IF RANGE(FRMTID, SUPERFRMTID) THEN 55405000=08440000= BEGIN 55410000=08440000= COMMENT THE SECOND PARAMETER IS A FORMAT; 55415000=08440000= PASSFORMAT; 55420000=08441000= @@ -11460,7 +11516,7 @@ EXIT: 53560000 COMMENT ERROR 426 MEANS IMPROPER DELIMITER FOR SECOND 55550000=08454000= PARAMETER; 55555000=08455000= STEPIT; 55560000=08456000= - IF RANGE(BOOARRAYID, INTARRAYID) THEN 55565000=08458000= + IF RANGE(BOOARRAYID, INTARRAYID) THEN 55565000=08458000= BEGIN 55570000=08458000= COMMENT THIS IS THE ROW DESIGNATOR CASE; 55575000=08458000= VARIABLE(FL); 55580000=08459000= @@ -11511,7 +11567,7 @@ PASSLIST: 55685000 ELSE 55805000=08489530= BEGIN 55810000=08489530= COMMENT A COMMON LIST; 55815000=08489530= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 55820000=08489550= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 55820000=08489550= END; 55825000=08489560= STEPIT; 55830000=08489570= IF CHECK(RTPAREN, 449) THEN 55835000=08489580= @@ -11537,34 +11593,34 @@ EXIT: 55860000 STEPIT; % NOW POINTED AT ATTRIBUTE (STEPIT TURNS OFF STOP DEFINE). 55935000=08493060= IF I:= FILEATTRIBUTES[0] = 0 THEN 55940000=08493070= BEGIN 55945000=08493080= - FILL FILEATTRIBUTES[*] WITH % NON-ASSGNBL ATTRBTS HAVE .[1:1]=155950000=08493090= - % BOOLEAN ATTRIBUTES HAVE .[2:1]=1,55955000=08493091= - % ALPHA ATTRIBUTES HAVE .[3:1]=1. 55960000=08493092= - % THIS NEXT NUMBER IS THE CURRENT # OF FILE ATTRIBUTES: 55965000=08493093= - 17 55970000=08493094= - ,"6ACCES"%***ANY ADDITIONAL ATTRIBUTES MUST BE INSERTED***55975000=08493095= - ,"5MYUSE"%******IMMEDIATELY AFTER THE LAST ATTRIBUTE******55980000=08493096= - ,"4SAVE0" 55985000=08493097= - ,"8OTHER" % "OTHERUSE". 55990000=08493098= - ,"404MFID0" 55995000=08493099= - ,"403FID00" 56000000=08493100= - ,"4REEL0" 56005000=08493101= - ,"4DATE0" 56010000=08493102= - ,"5CYCLE" 56015000=08493103= - ,"4TYPE0" 56020000=08493104= - ,"5AREAS" 56025000=08493105= - ,"8AREAS" % "AREASIZE". 56030000=08493106= - ,"2EU000" 56035000=08493107= - ,"5SPEED" 56040000=08493108= - ,"9TIMEL" % "TIMELIMIT" 56045000=08493109= - ,"+08IOSTA" % "IOSTATUS" 56050000=08493110= - ,"9SENSI" % "SENSITIVE" 56055000=08493111= - % THIS CARD MERELY OCCUPIES A SEQUENCE NUMBER. 56060000=08493120= - ; % END OF FILL STATEMENT. 56065000=08493130= + FILL FILEATTRIBUTES[*] WITH % NON-ASSGNBL ATTRBTS HAVE.[46:1]=155950000=08493090= + % BOOLEAN ATTRIBUTES HAVE.[45:1]=1,55955000=08493091= + % ALPHA ATTRIBUTES HAVE.[44:1]=1. 55960000=08493092= + % THIS NEXT NUMBER IS THE CURRENT # OF FILE ATTRIBUTES: 55965000=08493093= + 17 55970000=08493094= + ,6"6ACCES"%***ANY ADDITIONAL ATTRIBUTES MUST BE INSERTED***55975000=08493095= + ,6"5MYUSE"%******IMMEDIATELY AFTER THE LAST ATTRIBUTE******55980000=08493096= + ,6"4SAVE0" 55985000=08493097= + ,6"8OTHER" % "OTHERUSE". 55990000=08493098= + ,6"404MFID0" 55995000=08493099= + ,6"403FID00" 56000000=08493100= + ,6"4REEL0" 56005000=08493101= + ,6"4DATE0" 56010000=08493102= + ,6"5CYCLE" 56015000=08493103= + ,6"4TYPE0" 56020000=08493104= + ,6"5AREAS" 56025000=08493105= + ,6"8AREAS" % "AREASIZE". 56030000=08493106= + ,6"2EU000" 56035000=08493107= + ,6"5SPEED" 56040000=08493108= + ,6"9TIMEL" % "TIMELIMIT" 56045000=08493109= + ,6"+08IOSTA" % "IOSTATUS" 56050000=08493110= + ,6"9SENSI" % "SENSITIVE" 56055000=08493111= + % THIS CARD MERELY OCCUPIES A SEQUENCE NUMBER. 56060000=08493120= + ; % END OF FILL STATEMENT. 56065000=08493130= I:= FILEATTRIBUTES[0]; 56070000=08493140= END; 56075000=08493150= FOR I:= I STEP-1 UNTIL 1 DO 56080000=08493160= - IF FILEATTRIBUTES[I].[12:36] = Q THEN 56085000=08493160= + IF FILEATTRIBUTES[I].[35:36] = Q THEN 56085000=08493160= BEGIN 56090000=08493170= FILEATTRIBUTEINDX:= I; 56095000=08493170= GO EXIT 56100000=08493170= @@ -11639,9 +11695,7 @@ END OF COMMENT ; 56260000 ELSE 56445000=08493610= BEGIN 56450000=08493620= STEPIT; 56455000=08493625= - IF FALSE THEN 56460000=08493625= - BEGIN 56465000=08493625= - COMMENT$$DELETE THIS CARD TO GET ACTION LABEL56470000=08493625= + IF FALSE THEN BEGIN COMMENT$$DELETE THIS CARD TO GET ACTION LABEL56460000=08493625= IF STEPI=LFTBRKET THEN 56475000=08493630= BEGIN 56480000=08493640= STEPIT; 56485000=08493650= @@ -11658,10 +11712,10 @@ END OF COMMENT ; 56260000 IF N ^= FS THEN 56540000=08493705= FLAG(295); %**DELETE THIS CARD TO ALLOW GENRL FILATT ASSGNMT56545000=08493705= DONEMORE: 56550000=08493710= - IF BOOLEAN(FILEATTRIBUTES[ATTRIBUTEINDX].[1:1]) THEN 56555000=08493720= + IF BOOLEAN(FILEATTRIBUTES[ATTRIBUTEINDX].[46:1]) THEN 56555000=08493720= FLAG(293); 56560000=08493720= STEPIT; 56565000=08493730= - IF BOOLEAN(FILEATTRIBUTES[ATTRIBUTEINDX].[2:1]) THEN 56570000=08493750= + IF BOOLEAN(FILEATTRIBUTES[ATTRIBUTEINDX].[45:1]) THEN 56570000=08493750= BEXP 56575000=08493750= ELSE 56580000=08493750= AEXP; 56585000=08493750= @@ -11679,14 +11733,14 @@ END OF COMMENT ; 56260000 THEN 6"6ARASIZ" ELSE IF ATTRIBUTEINDX = 15 THEN 6"6TIMLMT" 56645000=08493830= ELSE IF ATTRIBUTEINDX = 16 THEN 6"6IOSTAT" ELSE IF 56650000=08493830= ATTRIBUTEINDX = 17 THEN 6"6SNSTIV" ELSE 0 & 56655000=08493830= - FILEATTRIBUTES[ATTRIBUTEINDX][6:12:36] & 56660000=08493830= - FILEATTRIBUTES[ATTRIBUTEINDX][1:3:1]); 56665000=08493830= - EMITL((ATTRIBUTEINDX-1) & REAL(N = FP OR N = FA)[39:47:1] & 56670000=08493850= - REAL(ASSOP)[38:47:1]); 56675000=08493850= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 56680000=08493860= + FILEATTRIBUTES[ATTRIBUTEINDX][41:35:36] & 56660000=08493830= + FILEATTRIBUTES[ATTRIBUTEINDX][46:44:1]); 56665000=08493830= + EMITL((ATTRIBUTEINDX-1) & REAL(N = FP OR N = FA)[8:0:1] & 56670000=08493850= + REAL(ASSOP)[9:0:1]); 56675000=08493850= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 56680000=08493860= EMITV(GNAT(FILATTINT)); 56685000=08493860= FILEATTRIBUTEHANDLER:= 56690000=08493880= - IF BOOLEAN(FILEATTRIBUTES[ATTRIBUTEINDX].[2:1]) THEN 56695000=08493890= + IF BOOLEAN(FILEATTRIBUTES[ATTRIBUTEINDX].[45:1]) THEN 56695000=08493890= BTYPE 56700000=08493890= ELSE 56705000=08493890= ATYPE; 56710000=08493890= @@ -11712,7 +11766,7 @@ EXIT: 56725000 COMMENT ERROR 434 MEANS MISSING LEFT PARENTHESIS IN 56810000=08505000= SPACE STATEMENT; 56815000=08506000= STEPIT; 56820000=08507000= - IF NOT RANGE(FILEID, SUPERFILEID) THEN 56825000=08509000= + IF NOT RANGE(FILEID, SUPERFILEID) THEN 56825000=08509000= BEGIN 56830000=08509000= COMMENT ERROR 435 MEANS IMPROPER FILE 56835000=08509000= IDENTIFIER IN SPACE STATEMENT; 56840000=08510000= @@ -11720,7 +11774,7 @@ EXIT: 56725000 GO TO EXIT; 56850000=08511000= END; 56855000=08512000= EMITO(MKS); 56860000=08513000= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 56865000=08515000= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 56865000=08515000= PASSFILE; 56870000=08515000= EMITL(0); 56875000=08515100= IF CHECK(COMMA, 436) THEN 56880000=08517000= @@ -11848,19 +11902,19 @@ EXIT: 56945000 EMIT(11); 57490000=08597500= EMIT(4); 57495000=08597500= EMITO(280); 57500000=08597500= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 57505000=08597600= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 57505000=08597600= EMITO(XCH); 57510000=08597700= END 57515000=08597900= ELSE 57520000=08597900= BEGIN 57525000=08597900= - IF NOT RANGE(FILEID, SUPERFILEID) THEN 57530000=08599000= + IF NOT RANGE(FILEID, SUPERFILEID) THEN 57530000=08599000= BEGIN 57535000=08599000= COMMENT ERROR 439 MEANS IMPROPER FILE 57540000=08599000= IDENTIFIER IN A WRITE STATEMENT; 57545000=08600000= ERR(439); 57550000=08601000= GO TO EXIT; 57555000=08601000= END; 57560000=08602000= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 57565000=08605000= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 57565000=08605000= PASSFILE; 57570000=08605000= END; 57575000=08605500= IF (RRB1:= ELCLASS = COMMA) OR ELCLASS = RTPAREN THEN 57580000=08607000= @@ -11889,7 +11943,7 @@ EXIT: 56945000 AEXP 57695000=08613300= END 57700000=08613400= ELSE 57705000=08613400= - EMITPAIR(0, LNG); 57710000=08613400= + EMITPAIR(0, LNG); 57710000=08613400= EMITD(33, 33, 15); 57715000=08613500= EMIT(0); 57720000=08613500= IF CHECK(RTPAREN, 104) THEN 57725000=08613600= @@ -11971,7 +12025,7 @@ EXIT: 56945000 BEGIN 58105000=08627000= AEXP; 58110000=08627000= EMITO(SSP); 58115000=08627000= - EMITPAIR(JUNK, ISN); 58120000=08627000= + EMITPAIR(JUNK, ISN); 58120000=08627000= %% HAVE [AEXP 58125000=08627100= IF ELCLASS = COMMA THEN %%% HAVE [AEXP, 58130000=08628000= IF STEPI = FACTOP THEN 58135000=08629000= @@ -12003,7 +12057,7 @@ CHKRTPAREN: 58235000 DELIMITER IN A WRITE STATEMENT; 58265000=08642000= CHKSECOND: 58270000=08643000= STEPIT; 58275000=08643000= - IF RANGE(FRMTID, SUPERFRMTID) THEN 58280000=08645000= + IF RANGE(FRMTID, SUPERFRMTID) THEN 58280000=08645000= BEGIN 58285000=08645000= COMMENT THIS IS THE FORMAT FORM OF THE WRITE; 58290000=08645000= PASSFORMAT; 58295000=08646000= @@ -12023,7 +12077,7 @@ CHKSECOND: 58270000 I:= I-1; 58365000=08653110= BANA; 58370000=08653110= EMITO(SSP); 58375000=08653110= - EMITPAIR(1, ADD); 58380000=08653110= + EMITPAIR(1, ADD); 58380000=08653110= IF ELCLASS ^= MULOP THEN 58385000=08653120= ERR(443) 58390000=08653125= ELSE 58395000=08653125= @@ -12037,7 +12091,7 @@ CHKSECOND: 58270000 I:= I-1; 58435000=08653140= BANA; 58440000=08653140= EMITO(SSP); 58445000=08653140= - EMITPAIR(1, ADD) 58450000=08653150= + EMITPAIR(1, ADD) 58450000=08653150= END 58455000=08653150= ELSE 58460000=08653150= EMITL(1); %%% FREE FIELD = [AEXP]/. 58465000=08653150= @@ -12057,7 +12111,7 @@ CHKSECOND: 58270000 I:= I-1; 58535000=08653210= BANA; 58540000=08653210= EMITO(SSP); 58545000=08653210= - EMITPAIR(1, ADD) 58550000=08653220= + EMITPAIR(1, ADD) 58550000=08653220= END 58555000=08653220= ELSE 58560000=08653220= EMITL(1); %%% FREE FIELD = /. 58565000=08653220= @@ -12088,7 +12142,7 @@ CHKSECOND: 58270000 COMMENT ERROR 443 MEANS IMPROPER DELIMITER FOR SECOND 58690000=08662000= PARAMETER IN WRITE STATEMENT; 58695000=08663000= STEPIT; 58700000=08664000= - IF RANGE(BOOARRAYID, INTARRAYID) THEN 58705000=08666000= + IF RANGE(BOOARRAYID, INTARRAYID) THEN 58705000=08666000= BEGIN 58710000=08666000= COMMENT THIS IS THE ROW DESIGNATOR CASE; 58715000=08666000= VARIABLE(FL); 58720000=08667000= @@ -12140,7 +12194,7 @@ PASSLIST: 58835000 ELSE 58950000=08696500= BEGIN 58955000=08696500= COMMENT A COMMON LIST ID; 58960000=08696500= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 58965000=08696520= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 58965000=08696520= END; 58970000=08696530= STEPIT; 58975000=08696540= IF CHECK(RTPAREN, 448) THEN 58980000=08696550= @@ -12217,10 +12271,10 @@ EXIT: 59165000 COMMENT ERROR NUMBER 450 MEANS MISSING LEFT PARENTHESIS 59335000=08724000= IN A LOCK STATEMENT; 59340000=08725000= STEPIT; 59345000=08726000= - IF NOT RANGE(FILEID, SUPERFILEID) THEN 59350000=08728000= + IF NOT RANGE(FILEID, SUPERFILEID) THEN 59350000=08728000= BEGIN 59355000=08728000= COMMENT MUST BE READ-ONLY ARRAY TYPE LOCK; 59360000=08728000= - IF NOT RANGE(BOOARRAYID, INTARRAYID) THEN 59365000=08728100= + IF NOT RANGE(BOOARRAYID, INTARRAYID) THEN 59365000=08728100= BEGIN 59370000=08728200= ERR(451); 59375000=08728200= GO TO EXIT 59380000=08728200= @@ -12320,7 +12374,7 @@ EXIT: 59610000 COMMENT ERROR 455 MEANS MISSING LEFT PARENTHESIS IN A 59850000=08787000= CLOSE STATEMENT; 59855000=08788000= STEPIT; 59860000=08789000= - IF NOT RANGE(FILEID, SUPERFILEID) THEN 59865000=08791000= + IF NOT RANGE(FILEID, SUPERFILEID) THEN 59865000=08791000= BEGIN 59870000=08791000= COMMENT ERROR 456 MEANS IMPROPER FILE PART IN A59875000=08791000= CLOSE STATEMENT; 59880000=08792000= @@ -12406,7 +12460,7 @@ EXIT: 60130000 COMMENT ERROR 460 MEANS MISSING LEFT PARENTHESIS IN A 60280000=08844000= REWIND STATEMENT; 60285000=08845000= STEPIT; 60290000=08846000= - IF NOT RANGE(FILEID, SUPERFILEID) THEN 60295000=08848000= + IF NOT RANGE(FILEID, SUPERFILEID) THEN 60295000=08848000= BEGIN 60300000=08848000= COMMENT ERROR 461 MEANS IMPROPER FILE PART IN A60305000=08848000= REWIND STATEMENT; 60310000=08849000= @@ -12432,20 +12486,20 @@ EXIT: 60380000 INTEGER 60410000=08860100= PRT; 60415000=08860100= ARRAY 60420000=08860100= - TEDOC[0:7, 0:127]; 60425000=08860100= - MOVECODE(TEDOC, EDOC); 60430000=08860150= + TEDOC[0:7, 0:127]; 60425000=08860100= + MOVECODE(TEDOC, EDOC); 60430000=08860150= GT5:= SGNO; 60435000=08860200= - GT1:= (2*SGAVL-1) & 2[4:46:2]; 60440000=08860200= + GT1:= (2*SGAVL-1) & 2[43:1:2]; 60440000=08860200= SGNO:= SGAVL; 60445000=08860200= F:= 0; 60450000=08860250= PRT:= GETSPACE(TRUE, -4); % FORMAT DESCR. 60455000=08860250= - PRT:= PROGDESCBLDR(LDES, 0, PRT); 60460000=08860300= + PRT:= PROGDESCBLDR(LDES, 0, PRT); 60460000=08860300= ELCLASS:= 6"<"; 60465000=08860350= TB1:= FORMATPHRASE; 60470000=08860350= - SEGMENT(-F, SGNO, GT5); 60475000=08860400= + SEGMENT(-F, SGNO, GT5); 60475000=08860400= SGAVL:= SGAVL+1; 60480000=08860400= SGNO:= GT5; 60485000=08860450= - MOVECODE(TEDOC, EDOC); 60490000=08860450= + MOVECODE(TEDOC, EDOC); 60490000=08860450= IF LASTELCLASS ^= 6">" THEN 60495000=08860500= ERR(136); 60500000=08860500= IF ELCLASS = 6"," THEN 60505000=08860600= @@ -12457,7 +12511,7 @@ EXIT: 60380000 ELBAT[I].CLASS:= 0; 60535000=08860700= I:= I-1; 60540000=08860700= EMITL(0); 60545000=08860750= - EMITPAIR(PRT, LOD); 60550000=08860750= + EMITPAIR(PRT, LOD); 60550000=08860750= END EXPLICITFORMAT; 60555000=08860800= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%60560000=08860800= COMMENT SORTSTMT AND MERGESTMT ANALYZE THEIR APPROPRIATE SYNTAXES 60565000=08861000= @@ -12526,7 +12580,7 @@ EXIT: 60380000 IF NOT OUTPROCHECK(ELBAT[I]) THEN 60880000=08909000= GO QUIT 60885000=08909000= ELSE 60890000=08909000= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 60895000=08910000= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 60895000=08910000= EMIT(0); 60900000=08911000= IF OPTOG THEN 60905000=08911000= BEGIN 60910000=08911000= @@ -12544,16 +12598,16 @@ EXIT: 60380000 := BUMPL; 60970000=08914000= IF NOT HVCHECK(ELBAT[I]) THEN 60975000=08914000= GO QUIT; 60980000=08914000= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 60985000=08915000= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 60985000=08915000= IF NOT COMMACHECK THEN 60990000=08915000= GO QUIT; 60995000=08915000= IF NOT EQLESCHECK(ELBAT[I]) THEN 61000000=08916000= GO QUIT; 61005000=08916000= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 61010000=08917000= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 61010000=08917000= IF NOT COMMACHECK THEN 61015000=08917000= GO QUIT; 61020000=08917000= AEXP; 61025000=08918000= - EMITB(BFW, FILER, FILEND:= BUMPL); 61030000=08918000= + EMITB(BFW, FILER, FILEND:= BUMPL); 61030000=08918000= FOR J:= 1 STEP 1 WHILE ELCLASS = COMMA DO 61035000=08919000= BEGIN 61040000=08920000= STEPIT; 61045000=08920000= @@ -12568,8 +12622,8 @@ EXIT: 60380000 GO QUIT 61090000=08922000= END; 61095000=08922000= EMITL(J); 61100000=08923000= - EMITB(BBW, BUMPL, FILER); 61105000=08923000= - EMITB(BFW, FILEND, L); 61110000=08923000= + EMITB(BBW, BUMPL, FILER); 61105000=08923000= + EMITB(BFW, FILEND, L); 61110000=08923000= IF CHECK(RTPAREN, 369) THEN 61115000=08924000= GO QUIT; 61120000=08924000= STEPIT; 61125000=08924000= @@ -12593,7 +12647,8 @@ QUIT: 61150000 QUIT; 61215000=08931000= DEFINE 61220000=08931000= RDS = 1, 280 #; 61225000=08931000= - STREAM PROCEDURE STUFFILE(IDLOC, FN, SFN); 61230000=08932000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%61226000 + STREAM PROCEDURE STUFFILE(IDLOC, FN, SFN); 61230000=08932000= VALUE 61235000=08933000= FN, 61240000=08933000= SFN; 61245000=08933000= @@ -12617,6 +12672,7 @@ QUIT: 61150000 SI:= SI+5; 61335000=08938000= DS:= 3 CHR; 61340000=08938000= END STUFFILE; 61345000=08939000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%61346000 BOOLEAN PROCEDURE INPROCHECK(ELBW); 61350000=08940000= VALUE 61355000=08940000= ELBW; 61360000=08940000= @@ -12640,24 +12696,24 @@ QUIT: 61150000 BEGIN 61450000=08946000= SFILENO:= FILENO; 61455000=08946000= FOR J:= 1 STEP 1 UNTIL 7 DO 61460000=08947000= - IF MKABS(IDARRAY[127]) < IDLOC.[33:15]+3 THEN 61465000=08948000= + IF MKABS(IDARRAY[127]) < IDLOC.[14:15]+3 THEN 61465000=08948000= FLAG(40) 61470000=08948000= ELSE 61475000=08948000= BEGIN 61480000=08949000= STUFFILE 61485000=08950000= - (IDLOC, (IF J <= 2 THEN 12 ELSE 2) & FILENO[30:36:12], J); 61490000=08950000= + (IDLOC, (IF J <= 2 THEN 12 ELSE 2) & FILENO[17:11:12], J); 61490000=08950000= FILENO:= FILENO+1; 61495000=08951000= END; 61500000=08952000= END; 61505000=08952000= EMITO(MKS); 61510000=08953000= EMITV(BLOCKCTR); 61515000=08953000= - EMITPAIR(1, ADD); 61520000=08953000= - EMITPAIR(BLOCKCTR, STD); 61525000=08954000= + EMITPAIR(1, ADD); 61520000=08953000= + EMITPAIR(BLOCKCTR, STD); 61525000=08954000= EMIT(0); 61530000=08954000= EMIT(0); 61535000=08954000= EMITN(2); 61540000=08955000= EMITPAIR(RDS); 61545000=08955000= - EMITPAIR(A:= GNAT(SORTA), STD); 61550000=08955000= + EMITPAIR(A:= GNAT(SORTA), STD); 61550000=08955000= EMITO(MKS); 61555000=08956000= EMITL(20); 61560000=08956000= EMITL(1000); 61565000=08956000= @@ -12699,7 +12755,7 @@ QUIT: 61150000 BEGIN 61745000=08969000= IF NOT (OUTPRO:= OUTPROCHECK(ELBAT[I])) THEN 61750000=08969000= GO QUIT; 61755000=08969000= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 61760000=08970000= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 61760000=08970000= EMITL(A); 61765000=08970000= EMITN(10) 61770000=08971000= END; 61775000=08971000= @@ -12708,7 +12764,7 @@ QUIT: 61150000 % INPUT OPTION. 61790000=08972500= IF ELCLASS = FILEID OR ELCLASS = SUPEFILEID THEN 61795000=08973000= BEGIN 61800000=08974000= - EMITPAIR(0, XCH); 61805000=08974000= + EMITPAIR(0, XCH); 61805000=08974000= PASSFILE; 61810000=08974000= I:= I-1 61815000=08974000= END 61820000=08975000= @@ -12717,7 +12773,7 @@ QUIT: 61150000 GO QUIT 61835000=08975000= ELSE 61840000=08975000= BEGIN 61845000=08976000= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 61850000=08976000= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 61850000=08976000= EMITO(XCH); 61855000=08976000= IF OUTPRO THEN 61860000=08977000= EMITO(DUP) 61865000=08977000= @@ -12734,7 +12790,7 @@ QUIT: 61150000 EMITN(A); 61920000=08980000= EMITO(INX); 61925000=08980000= EMITO(LOD); 61930000=08980000= - EMITPAIR(5, CDC); 61935000=08981000= + EMITPAIR(5, CDC); 61935000=08981000= EMIT(0); 61940000=08981000= IF NOT COMMACHECK THEN 61945000=08983000= GO QUIT; 61950000=08983000= @@ -12756,25 +12812,25 @@ QUIT: 61150000 % HIVALUE PROCEDURE. 62030000=08987500= IF NOT HVCHECK(ELBAT[I]) THEN 62035000=08988000= GO QUIT; 62040000=08988000= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 62045000=08989000= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 62045000=08989000= IF NOT COMMACHECK THEN 62050000=08990000= GO QUIT; 62055000=08990000= % COMPARE PROCEDURE. 62060000=08990500= IF NOT EQLESCHECK(ELBAT[I]) THEN 62065000=08991000= GO QUIT; 62070000=08991000= - EMITPAIR(ELBAT[I].ADDRESS, LOD); 62075000=08992000= + EMITPAIR(ELBAT[I].ADDRESS, LOD); 62075000=08992000= % RECORD LENGTH. 62080000=08992500= IF NOT COMMACHECK THEN 62085000=08993000= GO QUIT; 62090000=08993000= AEXP; 62095000=08993000= EMITO(SSN); 62100000=08993000= EMIT(0); 62105000=08993500= - EMITPAIR(A, SND); 62110000=08993500= + EMITPAIR(A, SND); 62110000=08993500= % CORE SIZE. 62115000=08993900= IF ELCLASS = COMMA THEN 62120000=08994000= BEGIN 62125000=08994010= STEPIT; 62130000=08994020= - CORESZ:= MAX(IF ELCLASS = NONLITNO THEN C ELSE 12000, CORESZ); 62135000=08994040= + CORESZ:= MAX(IF ELCLASS = NONLITNO THEN C ELSE 12000, CORESZ); 62135000=08994040= AEXP; 62140000=08994060= END 62145000=08994080= ELSE 62150000=08994080= @@ -12811,7 +12867,8 @@ QUIT: 62270000 IS SIMPLY A CALL ON THE PROGRAM ROUTINE; 62305000=09002000= PROCEDURE PROGRAM; 62310000=09003000= BEGIN 62315000=09004000= - STREAM PROCEDURE MDESC(WD, TOLOC); 62320000=09005000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%62316000 + STREAM PROCEDURE MDESC(WD, TOLOC); 62320000=09005000= VALUE 62325000=09005000= WD; 62330000=09005000= BEGIN 62335000=09006000= @@ -12821,16 +12878,16 @@ QUIT: 62270000 DI:= TOLOC; 62355000=09006000= DS:= WDS 62360000=09006000= END; 62365000=09006000= - 62370000=09007000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%62370000=09007000= COMMENT THE FOLLOWING PROCEDURE PRINTS OUT THE PRT, NAME, AND 62375000=09007000= SEGMENT NUMBER OF THE INTRINSIC PROCEDURES USED IN THE 62380000=09008000= OBJECT PROGRAM; 62385000=09009000= - STREAM PROCEDURE WRTINTRSC(SGNO, ALFA, PRT, FIL); 62390000=09010000= + STREAM PROCEDURE WRTINTRSC(SGNO, ALFA, PRT, FIL); 62390000=09010000= VALUE 62395000=09011000= SGNO, 62400000=09011000= PRT; 62405000=09011000= BEGIN 62410000=09012000= - LOCAL COUNT, DEST; 62415000=09012000= + LOCAL COUNT, DEST; 62415000=09012000= DI:= FIL; 62420000=09013000= DS:= 4 LIT 6"PRT("; 62425000=09013000= SI:= LOC PRT; 62430000=09013000= @@ -12858,48 +12915,49 @@ QUIT: 62270000 DI:= DI-5; 62540000=09022000= DS:= 4 FILL; % JUNK LEADING BLANKS. 62545000=09022000= END WRTINTRSC; 62550000=09023000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%62552000 DEFINE 62555000=09024000= STARTINTRSC = 426 #; 62560000=09024000= LABEL 62565000=09025000= L1; 62570000=09025000= IDLOC:= ELSEMKABS(IDARRAY[0]); 62575000=09026000= IDLOCTEMP:= IDLOC; 62580000=09027000= - FILL OPTIONS[**] WITH 6"5CHECK", 0, % 0, 1 62585000=09027002= -6"6DEBUG", 0, % 2, 3 62590000=09027004= -6"4DECK0", 0, % 4, 5 62595000=09027006= -6"6FORMA", 0, % 6, 7 62600000=09027008= -6"9INTRI", 0, % 8, 9 62605000=09027010= -6"5LISTA", 0, % 10, 11 62610000=09027012= -6"4LIST0", 0, % 12, 13 62615000=09027014= -6"5LISTP", 0, % 14, 15 62620000=09027016= -6"3MCP00", 0, % 16, 17 62625000=09027018= -6"4TAPE0", 0, % 18, 19 62630000=09027020= -6"4NEST0", 0, % 20, 21 62635000=09027022= -6"3NEW00", 0, % 22, 23 62640000=09027024= -6"7NEWIN", 0, % 24, 25 62645000=09027026= -6"4OMIT0", 0, % 26, 27 62650000=09027028= -6"1$0000", 0, % 28, 29 62655000=09027030= -6"3PRT00", 0, % 30, 31 62660000=09027032= -6"5PUNCH", 0, % 32, 33 62665000=09027034= -6"5PURGE", 0, % 34, 35 62670000=09027036= -6"4SEGS0", 0, % 36, 37 62675000=09027038= -6"3SEQ00", 0, % 38, 39 62680000=09027040= -6"6SEQER", 0, % 40, 41 62685000=09027042= -6"6SINGL", 0, % 42, 43 62690000=09027044= -6"5STUFF", 0, % 44, 45 62695000=09027046= -6"4VOID0", 0, % 46, 47 62700000=09027048= -6"5VOIDT", 0, % 48, 49 62705000=09027050= -6"4BEND0", 0, % 50, 51 62710000=09027052= -6"4XREF0", 0, % 52, 53 62715000=09027054= -6"7INCLU", 0, % 54,55 62720000=09027056= -6"8CODEF", 0, % 56,57 62725000=09027058= -0; 62730000=09027100= - LISTOG:= LISTER:= BOOLEAN(1-ERRORCOUNT.[46:1]); 62735000=09028000= + FILL OPTIONS[*] WITH 6"5CHECK", 0, % 0, 1 62585000=09027002= + 6"6DEBUG", 0, % 2, 3 62590000=09027004= + 6"4DECK0", 0, % 4, 5 62595000=09027006= + 6"6FORMA", 0, % 6, 7 62600000=09027008= + 6"9INTRI", 0, % 8, 9 62605000=09027010= + 6"5LISTA", 0, % 10, 11 62610000=09027012= + 6"4LIST0", 0, % 12, 13 62615000=09027014= + 6"5LISTP", 0, % 14, 15 62620000=09027016= + 6"3MCP00", 0, % 16, 17 62625000=09027018= + 6"4TAPE0", 0, % 18, 19 62630000=09027020= + 6"4NEST0", 0, % 20, 21 62635000=09027022= + 6"3NEW00", 0, % 22, 23 62640000=09027024= + 6"7NEWIN", 0, % 24, 25 62645000=09027026= + 6"4OMIT0", 0, % 26, 27 62650000=09027028= + 6"1$0000", 0, % 28, 29 62655000=09027030= + 6"3PRT00", 0, % 30, 31 62660000=09027032= + 6"5PUNCH", 0, % 32, 33 62665000=09027034= + 6"5PURGE", 0, % 34, 35 62670000=09027036= + 6"4SEGS0", 0, % 36, 37 62675000=09027038= + 6"3SEQ00", 0, % 38, 39 62680000=09027040= + 6"6SEQER", 0, % 40, 41 62685000=09027042= + 6"6SINGL", 0, % 42, 43 62690000=09027044= + 6"5STUFF", 0, % 44, 45 62695000=09027046= + 6"4VOID0", 0, % 46, 47 62700000=09027048= + 6"5VOIDT", 0, % 48, 49 62705000=09027050= + 6"4BEND0", 0, % 50, 51 62710000=09027052= + 6"4XREF0", 0, % 52, 53 62715000=09027054= + 6"7INCLU", 0, % 54,55 62720000=09027056= + 6"8CODEF", 0, % 56,57 62725000=09027058= + 0; 62730000=09027100= + LISTOG:= LISTER:= BOOLEAN(1-ERRORCOUNT.[1:1]); 62735000=09028000= OPTIONS[13]:= REAL(LISTER); 62740000=09028005= 62745000=09028010= COMMENT LISTOG IS NOT SET BY DEFAULT ON TIMESHARING; 62750000=09028010= NOHEADING:= TRUE; 62755000=09028050= - BUILDLINE.[47:1]:= SEQXEQTOG:= REMOTOG:= BOOLEAN(ERRORCOUNT.[47:1]);62760000=09028150= + BUILDLINE.[0:1]:= SEQXEQTOG:= REMOTOG:= BOOLEAN(ERRORCOUNT.[0:1]); 62760000=09028150= ERRORCOUNT:= 0; 62765000=09028900= ERRMAX:= 999; % MAY BE CHANGED IN DOLLARCARD. 62770000=09028910= BASENUM:= 10000; 62775000=09028920= @@ -12916,7 +12974,7 @@ COMMENT DEFAULT VALUES FOR "$SEQ" OPTION; 62795000 MAXSTACK:= 513; 62830000=09032000= NEXTINFO:= LASTINFO:= LASTSEQROW*256+LASTSEQUENCE+1; 62835000=09033000= PUTNBUMP(0); 62840000=09034000= - BLANKET(0, INFO[LASTSEQROW, LASTSEQUENCE]); % FOR "$ CHECK".62845000=09034500= + BLANKET(0, INFO[LASTSEQROW, LASTSEQUENCE]); % FOR "$ CHECK". 62845000=09034500= READACARD; % INITIALIZATION OF NCR,FCR, AND LCR, AND 62850000=09035000= % READS FIRST CARD INTO CARD BUFFER. 62855000=09036000= LASTUSED:= 1; % ASSUMES CARD ONLY UNTIL TOLD DIFFERENTLY.62860000=09037000= @@ -12926,29 +12984,29 @@ COMMENT DEFAULT VALUES FOR "$SEQ" OPTION; 62795000 MRCLEAN:= TRUE; 62880000=09040000= 62885000=09040100= COMMENT START FILLING TABLES NEEDED TO COMPILE A PROGRAM; 62890000=09040100= - FILL TEN[**] WITH 3"1141000000000000", 3"1131200000000000", 62895000=09058000= - 3"1121440000000000", 3"1111750000000000", 3"1102342000000000", 62900000=09059000= - 3"1073032400000000", 3"1063641100000000", 3"1054611320000000", 62905000=09060000= - 3"1045753604000000", 3"1037346545000000", 3"1011124027620000", 62910000=09061000= - 3"0001351035564000", 3"0011643245121000", 3"0022214116345200", 62915000=09062000= - 3"0032657142036440", 3"0043432772446150", 3"0054341571157602", 62920000=09063000= - 3"0065432127413543", 3"0076740555316473", 3"0111053071060221", 62925000=09064000= - 3"0121265707274266", 3"0131543271153343", 3"0142074147406234", 62930000=09065000= - 3"0152513201307703", 3"0163236041571663", 3"0174105452130240", 62935000=09066000= - 3"0205126764556310", 3"0216354561711772", 3"0231004771627437", 62940000=09067000= - 3"0241206170175347", 3"0251447626234641", 3"0261761573704011", 62945000=09068000= - 3"0272356132665013", 3"0303051561442216", 3"0313664115752661", 62950000=09069000= - 3"0324641141345435", 3"0336011371636745", 3"0347413670206536", 62955000=09070000= - 3"0361131664625027", 3"0371360241772234", 3"0401654312370703", 62960000=09071000= - 3"0412227375067064", 3"0422675274304701", 3"0433454553366062", 62965000=09072000= - 3"0444367706263476", 3"0455465667740415", 3"0467003245730521", 62970000=09073000= - 3"0501060411731665", 3"0511274514320242", 3"0521553637404312", 62975000=09074000= - 3"0532106607305375", 3"0542530351166674", 3"0553256443424453", 62980000=09075000= - 3"0564132154331566", 3"0575160607420123", 3"0606414751324150", 62985000=09076000= - 3"0621012014361120", 3"0631214417455344", 3"0641457523370635", 62990000=09077000= - 3"0651773450267005", 3"0662372362344606", 3"0673071057035747", 62995000=09078000= - 3"0703707272645341", 3"0714671151416632", 3"0726047403722400", 63000000=09079000= - 3"0737461304707100", 3"0751137556607072", 3"0761367512350710", 63005000=09080000= + FILL TEN[*] WITH 3"1141000000000000", 3"1131200000000000", 62895000=09058000= + 3"1121440000000000", 3"1111750000000000", 3"1102342000000000", 62900000=09059000= + 3"1073032400000000", 3"1063641100000000", 3"1054611320000000", 62905000=09060000= + 3"1045753604000000", 3"1037346545000000", 3"1011124027620000", 62910000=09061000= + 3"0001351035564000", 3"0011643245121000", 3"0022214116345200", 62915000=09062000= + 3"0032657142036440", 3"0043432772446150", 3"0054341571157602", 62920000=09063000= + 3"0065432127413543", 3"0076740555316473", 3"0111053071060221", 62925000=09064000= + 3"0121265707274266", 3"0131543271153343", 3"0142074147406234", 62930000=09065000= + 3"0152513201307703", 3"0163236041571663", 3"0174105452130240", 62935000=09066000= + 3"0205126764556310", 3"0216354561711772", 3"0231004771627437", 62940000=09067000= + 3"0241206170175347", 3"0251447626234641", 3"0261761573704011", 62945000=09068000= + 3"0272356132665013", 3"0303051561442216", 3"0313664115752661", 62950000=09069000= + 3"0324641141345435", 3"0336011371636745", 3"0347413670206536", 62955000=09070000= + 3"0361131664625027", 3"0371360241772234", 3"0401654312370703", 62960000=09071000= + 3"0412227375067064", 3"0422675274304701", 3"0433454553366062", 62965000=09072000= + 3"0444367706263476", 3"0455465667740415", 3"0467003245730521", 62970000=09073000= + 3"0501060411731665", 3"0511274514320242", 3"0521553637404312", 62975000=09074000= + 3"0532106607305375", 3"0542530351166674", 3"0553256443424453", 62980000=09075000= + 3"0564132154331566", 3"0575160607420123", 3"0606414751324150", 62985000=09076000= + 3"0621012014361120", 3"0631214417455344", 3"0641457523370635", 62990000=09077000= + 3"0651773450267005", 3"0662372362344606", 3"0673071057035747", 62995000=09078000= + 3"0703707272645341", 3"0714671151416632", 3"0726047403722400", 63000000=09079000= + 3"0737461304707100", 3"0751137556607072", 3"0761367512350710", 63005000=09080000= 3"0771665435043073"; 63010000=09080000= 63015000=09081000= COMMENT THIS IS THE FULL FOR THE SECOND ROW OF INFO: 63020000=09081000= @@ -12956,277 +13014,277 @@ COMMENT THIS IS THE FULL FOR THE SECOND ROW OF INFO: 63020000 THEN ORDINARY RESERVED WORDS, 63030000=09083000= THEN INTRINSIC FUNCTIONS; 63035000=09084000= FILL INFO[1,*] WITH 63040000=09085000= - OCT0670000600000400, "2SI000", COMMENT 256;63045000=09086000= - OCT0700001040000402, "2DI000", COMMENT 258;63050000=09087000= - OCT0710001460000404, "2CI000", COMMENT 260;63055000=09088000= - OCT0720001630000406, "5TALLY", COMMENT 262;63060000=09089000= - OCT0730000530000410, "2DS000", COMMENT 264;63065000=09090000= - OCT0740000150000412, "4SKIP0", COMMENT 266;63070000=09091000= - OCT0750001620000414, "4JUMP0", COMMENT 268;63075000=09092000= - OCT0760000740000416, "2DB000", COMMENT 270;63080000=09093000= - OCT0770000500000420, "2SB000", COMMENT 272;63085000=09094000= - OCT1010000730000422, "2SC000", COMMENT 274;63090000=09095000= - OCT1020001160000424, "3LOC00", COMMENT 276;63095000=09096000= - OCT1030001170000426, "2DC000", COMMENT 278;63100000=09097000= - OCT1040001430000430, "5LOCAL", COMMENT 280;63105000=09098000= - OCT1050000340000432, "3LIT00", COMMENT 282;63110000=09099000= - OCT1060001036400434, "3SET00", COMMENT 284;63115000=09100000= - OCT1060001066500436, "5RESET", COMMENT 286;63120000=09101000= - OCT1060001020500440, "3WDS00", COMMENT 288;63125000=09102000= - OCT1060001357700442, "3CHR00", COMMENT 290;63130000=09103000= - OCT1060001057300444, "3ADD00", COMMENT 292;63135000=09104000= - OCT1060001617200446, "3SUB00", COMMENT 294;63140000=09105000= - OCT1060000727600450, "3ZON00", COMMENT 296;63145000=09106000= - OCT1060000417500452, "3NUM00", COMMENT 298;63150000=09107000= - OCT1060000766700454, "3OCT00", COMMENT 300;63155000=09108000= - OCT1060000176600456, "3DEC00", COMMENT 302;63160000=09109000= - OCT1004000260000460, "6TOGGL", "E0000000", COMMENT 304;63165000=09110000= - OCT0430000050000000, "5ALPHA", COMMENT 307;63170000=09111000= - OCT1330001030000000, "3AND00", COMMENT 309;63175000=09112000= - OCT0430000170000525, "5ARRAY", COMMENT 311;63180000=09113000= - OCT0660000000000000, "5BEGIN", COMMENT 313;63185000=09114000= - OCT0430000030000503, "7BOOLE", "AN000000", COMMENT 315;63190000=09115000= - OCT0470000000000000, "5CLOSE", COMMENT 318;63195000=09116000= - OCT1070000000000655, "7COMME", "NT000000", COMMENT 320;63200000=09117000= - OCT0430000230000000, "6DEFIN", "E0000000", COMMENT 323;63205000=09118000= - OCT1360006000000000, "3DIV00", COMMENT 326;63210000=09119000= - OCT0550000000000000, "2DO000", COMMENT 328;63215000=09120000= - OCT0520000000000000, "6DOUBL", "E0000000", COMMENT 330;63220000=09121000= - OCT0430000100000000, "4DUMP0", COMMENT 333;63225000=09122000= - OCT0570000000000000, "4ELSE0", COMMENT 335;63230000=09123000= - OCT0600000000000000, "3END00", COMMENT 337;63235000=09124000= - OCT1300002030000000, "3EQV00", COMMENT 339;63240000=09125000= - OCT0360000000000644, "5FALSE", COMMENT 341;63245000=09126000= - OCT0430000210000000, "4FILE0", COMMENT 343;63250000=09127000= - OCT0610000001200000, "4FILL0", 63255000=09128000= - OCT0530000000000000, "3FOR00", COMMENT 347;63260000=09129000= - OCT0430000200000554, "6FORMA", "T0000000", COMMENT 349;63265000=09130000= - OCT1100000000000000, "7FORWA", "RD000000", COMMENT 352;63270000=09131000= - OCT0640000000000604, "2GO000", COMMENT 355;63275000=09132000= - OCT0630000000000000, "2IF000", COMMENT 357;63280000=09133000= - OCT0430000130000000, "2IN000", COMMENT 359;63285000=09134000= - OCT0430000060000000, "7INTEG", "ER000000", COMMENT 361;63290000=09135000= - OCT1310000000000000, "3IMP00", COMMENT 364;63295000=09136000= - OCT0430000070000000, "5LABEL", COMMENT 366;63300000=09137000= - OCT0430000110000613, "4LIST0", COMMENT 368;63305000=09138000= - OCT0500000000000000, "4LOCK0", COMMENT 370;63310000=09139000= - OCT1360016000000000, "3MOD00", COMMENT 372;63315000=09140000= - OCT0430000140000000, "7MONIT", "OR000000", COMMENT 374;63320000=09141000= - OCT1250000000000000, "3NOT00", COMMENT 377;63325000=09142000= - OCT1320000430000624, "2OR000", COMMENT 379;63330000=09143000= - OCT0430000120000000, "3OUT00", COMMENT 381;63335000=09144000= - OCT0430000010000476, "3OWN00", COMMENT 383;63340000=09145000= - OCT0430000160000463, "9PROCE", "DURE0000", COMMENT 385;63345000=09146000= - OCT0440000000000000, "4READ0", COMMENT 388;63350000=09147000= - OCT0430000040000000, "4REAL0", COMMENT 390;63355000=09148000= - OCT0650000000000000, "7RELEA", "SE000000", COMMENT 392;63360000=09149000= - OCT0510000000000000, "6REWIN", "D0000000", COMMENT 395;63365000=09150000= - OCT0430000020000773, "4SAVE0", COMMENT 398;63370000=09151000= - OCT0460000000000000, "5SPACE", COMMENT 400;63375000=09152000= - OCT1110000000000000, "4STEP0", COMMENT 402;63380000=09153000= - OCT0430000220000000, "6STREA", "M0000000", COMMENT 404;63385000=09154000= - OCT0430000150000562, "6SWITC", "H0000000", COMMENT 407;63390000=09155000= - OCT1120000000000000, "4THEN0", COMMENT 410;63395000=09156000= - OCT1130000000000000, "2TO000", COMMENT 412;63400000=09157000= - OCT0360000010000000, "4TRUE0", COMMENT 414;63405000=09158000= - OCT0560000000000000, "5UNTIL", COMMENT 416;63410000=09159000= - OCT1140000000000000, "5VALUE", COMMENT 418;63415000=09160000= - OCT0540000000000540, "5WHILE", COMMENT 420;63420000=09161000= - OCT1150000000000000, "4WITH0", COMMENT 422;63425000=09162000= - OCT0450000000000531, "5WRITE", COMMENT 424;63430000=09163000= - OCT0130000000140673, "3ABS00", OCT0000000000700000,%426 63435000=09164000= - OCT0130000000060000, "6ARCTA", "N0000000", OCT0000000001600000,%429;63440000=09165000= - OCT0130000000040000, "3COS00", OCT0000000001500000,%433;63445000=09166000= - OCT0130000000360000, "6ENTIE", "R0000000", OCT0000000001100000,%436 63450000=09167000= - OCT0130000000040000, "3EXP00", OCT0000000002000000,%440;63455000=09168000= - OCT0130000000040000, "2LN000", OCT0000000001700000,%443;63460000=09169000= - OCT0130000000240000, "4SIGN0", OCT0000000001000000,%446 63465000=09170000= - OCT0130000000040000, "3SIN00", OCT0000000001400000,%449;63470000=09171000= - OCT0130000000040515, "4SQRT0", OCT0000000001300000,%452;63475000=09172000= - OCT0130000000440000, "4TIME0", OCT0000000001200000,%455 63480000=09173000= - OCT0140000000040000, "3ZIP00", 0, COMMENT 455;63485000=09174000= - OCT0130000000060000, "9OUTPU", "T(W)0000", OCT0000000000100000,%461;63490000=09175000= - OCT0130000050060000, ":BLOCK", " CONTROL", OCT0000000000200000,%465;63495000=09176000= - OCT0130000000060000, "8INPUT", "(W)00000", OCT0000000000300000,%469;63500000=09177000= - OCT0000000000060000, "4SORT0", 0, OCT0000000000400000,% 473 63505000=09178000= - OCT0130000000040000, "4DUMP0", OCT0000000000500000,%477;63510000=09179000= - OCT0130000000060000, "#X TO ", "THE I000", OCT0000000000600000,%480;63515000=09180000= - OCT0130000000060000, ":GO TO", " SOLVER ", OCT0000000002100000,%484;63520000=09181000= - OCT0130000140060000, ":ALGOL", " WRITE ", OCT0000000002200000,%488;63525000=09182000= - OCT0130000150060000, ":ALGOL", " READ ", OCT0000000002300000,%492;63530000=09183000= - OCT0130000160060000, ":ALGOL", " SELECT ", OCT0000000002400000,%496;63535000=09184000= - OCT0000000000040000, "5MERGE", OCT0000000002700000,% 500 63540000=09184100= - OCT0130000000560652, "6STATU", "S0000000", OCT0000000003000000,%503 63545000=09184200= - OCT0130000000640000, "3MAX00", OCT0000000003100047,%507 63550000=09184300= - OCT0430000240000000, "6AUXME", "M0000000"; %510 63555000=09185000= + 3"0670000600000400", 6"2SI000", COMMENT 256; 63045000=09086000= + 3"0700001040000402", 6"2DI000", COMMENT 258; 63050000=09087000= + 3"0710001460000404", 6"2CI000", COMMENT 260; 63055000=09088000= + 3"0720001630000406", 6"5TALLY", COMMENT 262; 63060000=09089000= + 3"0730000530000410", 6"2DS000", COMMENT 264; 63065000=09090000= + 3"0740000150000412", 6"4SKIP0", COMMENT 266; 63070000=09091000= + 3"0750001620000414", 6"4JUMP0", COMMENT 268; 63075000=09092000= + 3"0760000740000416", 6"2DB000", COMMENT 270; 63080000=09093000= + 3"0770000500000420", 6"2SB000", COMMENT 272; 63085000=09094000= + 3"1010000730000422", 6"2SC000", COMMENT 274; 63090000=09095000= + 3"1020001160000424", 6"3LOC00", COMMENT 276; 63095000=09096000= + 3"1030001170000426", 6"2DC000", COMMENT 278; 63100000=09097000= + 3"1040001430000430", 6"5LOCAL", COMMENT 280; 63105000=09098000= + 3"1050000340000432", 6"3LIT00", COMMENT 282; 63110000=09099000= + 3"1060001036400434", 6"3SET00", COMMENT 284; 63115000=09100000= + 3"1060001066500436", 6"5RESET", COMMENT 286; 63120000=09101000= + 3"1060001020500440", 6"3WDS00", COMMENT 288; 63125000=09102000= + 3"1060001357700442", 6"3CHR00", COMMENT 290; 63130000=09103000= + 3"1060001057300444", 6"3ADD00", COMMENT 292; 63135000=09104000= + 3"1060001617200446", 6"3SUB00", COMMENT 294; 63140000=09105000= + 3"1060000727600450", 6"3ZON00", COMMENT 296; 63145000=09106000= + 3"1060000417500452", 6"3NUM00", COMMENT 298; 63150000=09107000= + 3"1060000766700454", 6"3OCT00", COMMENT 300; 63155000=09108000= + 3"1060000176600456", 6"3DEC00", COMMENT 302; 63160000=09109000= + 3"1004000260000460", 6"6TOGGL",6"E0000000", COMMENT 304; 63165000=09110000= + 3"0430000050000000", 6"5ALPHA", COMMENT 307; 63170000=09111000= + 3"1330001030000000", 6"3AND00", COMMENT 309; 63175000=09112000= + 3"0430000170000525", 6"5ARRAY", COMMENT 311; 63180000=09113000= + 3"0660000000000000", 6"5BEGIN", COMMENT 313; 63185000=09114000= + 3"0430000030000503", 6"7BOOLE",6"AN000000", COMMENT 315; 63190000=09115000= + 3"0470000000000000", 6"5CLOSE", COMMENT 318; 63195000=09116000= + 3"1070000000000655", 6"7COMME",6"NT000000", COMMENT 320; 63200000=09117000= + 3"0430000230000000", 6"6DEFIN",6"E0000000", COMMENT 323; 63205000=09118000= + 3"1360006000000000", 6"3DIV00", COMMENT 326; 63210000=09119000= + 3"0550000000000000", 6"2DO000", COMMENT 328; 63215000=09120000= + 3"0520000000000000", 6"6DOUBL",6"E0000000", COMMENT 330; 63220000=09121000= + 3"0430000100000000", 6"4DUMP0", COMMENT 333; 63225000=09122000= + 3"0570000000000000", 6"4ELSE0", COMMENT 335; 63230000=09123000= + 3"0600000000000000", 6"3END00", COMMENT 337; 63235000=09124000= + 3"1300002030000000", 6"3EQV00", COMMENT 339; 63240000=09125000= + 3"0360000000000644", 6"5FALSE", COMMENT 341; 63245000=09126000= + 3"0430000210000000", 6"4FILE0", COMMENT 343; 63250000=09127000= + 3"0610000001200000", 6"4FILL0", 63255000=09128000= + 3"0530000000000000", 6"3FOR00", COMMENT 347; 63260000=09129000= + 3"0430000200000554", 6"6FORMA",6"T0000000", COMMENT 349; 63265000=09130000= + 3"1100000000000000", 6"7FORWA",6"RD000000", COMMENT 352; 63270000=09131000= + 3"0640000000000604", 6"2GO000", COMMENT 355; 63275000=09132000= + 3"0630000000000000", 6"2IF000", COMMENT 357; 63280000=09133000= + 3"0430000130000000", 6"2IN000", COMMENT 359; 63285000=09134000= + 3"0430000060000000", 6"7INTEG",6"ER000000", COMMENT 361; 63290000=09135000= + 3"1310000000000000", 6"3IMP00", COMMENT 364; 63295000=09136000= + 3"0430000070000000", 6"5LABEL", COMMENT 366; 63300000=09137000= + 3"0430000110000613", 6"4LIST0", COMMENT 368; 63305000=09138000= + 3"0500000000000000", 6"4LOCK0", COMMENT 370; 63310000=09139000= + 3"1360016000000000", 6"3MOD00", COMMENT 372; 63315000=09140000= + 3"0430000140000000", 6"7MONIT",6"OR000000", COMMENT 374; 63320000=09141000= + 3"1250000000000000", 6"3NOT00", COMMENT 377; 63325000=09142000= + 3"1320000430000624", 6"2OR000", COMMENT 379; 63330000=09143000= + 3"0430000120000000", 6"3OUT00", COMMENT 381; 63335000=09144000= + 3"0430000010000476", 6"3OWN00", COMMENT 383; 63340000=09145000= + 3"0430000160000463", 6"9PROCE",6"DURE0000", COMMENT 385; 63345000=09146000= + 3"0440000000000000", 6"4READ0", COMMENT 388; 63350000=09147000= + 3"0430000040000000", 6"4REAL0", COMMENT 390; 63355000=09148000= + 3"0650000000000000", 6"7RELEA",6"SE000000", COMMENT 392; 63360000=09149000= + 3"0510000000000000", 6"6REWIN",6"D0000000", COMMENT 395; 63365000=09150000= + 3"0430000020000773", 6"4SAVE0", COMMENT 398; 63370000=09151000= + 3"0460000000000000", 6"5SPACE", COMMENT 400; 63375000=09152000= + 3"1110000000000000", 6"4STEP0", COMMENT 402; 63380000=09153000= + 3"0430000220000000", 6"6STREA",6"M0000000", COMMENT 404; 63385000=09154000= + 3"0430000150000562", 6"6SWITC",6"H0000000", COMMENT 407; 63390000=09155000= + 3"1120000000000000", 6"4THEN0", COMMENT 410; 63395000=09156000= + 3"1130000000000000", 6"2TO000", COMMENT 412; 63400000=09157000= + 3"0360000010000000", 6"4TRUE0", COMMENT 414; 63405000=09158000= + 3"0560000000000000", 6"5UNTIL", COMMENT 416; 63410000=09159000= + 3"1140000000000000", 6"5VALUE", COMMENT 418; 63415000=09160000= + 3"0540000000000540", 6"5WHILE", COMMENT 420; 63420000=09161000= + 3"1150000000000000", 6"4WITH0", COMMENT 422; 63425000=09162000= + 3"0450000000000531", 6"5WRITE", COMMENT 424; 63430000=09163000= + 3"0130000000140673", 6"3ABS00", 3"0000000000700000",%426 63435000=09164000= + 3"0130000000060000", 6"6ARCTA",6"N0000000",3"0000000001600000",%429;63440000=09165000= + 3"0130000000040000", 6"3COS00", 3"0000000001500000",%433; 63445000=09166000= + 3"0130000000360000", 6"6ENTIE",6"R0000000",3"0000000001100000",%436 63450000=09167000= + 3"0130000000040000", 6"3EXP00", 3"0000000002000000",%440; 63455000=09168000= + 3"0130000000040000", 6"2LN000", 3"0000000001700000",%443; 63460000=09169000= + 3"0130000000240000", 6"4SIGN0", 3"0000000001000000",%446 63465000=09170000= + 3"0130000000040000", 6"3SIN00", 3"0000000001400000",%449; 63470000=09171000= + 3"0130000000040515", 6"4SQRT0", 3"0000000001300000",%452; 63475000=09172000= + 3"0130000000440000", 6"4TIME0", 3"0000000001200000",%455 63480000=09173000= + 3"0140000000040000", 6"3ZIP00", 0, COMMENT 455; 63485000=09174000= + 3"0130000000060000", 6"9OUTPU",6"T(W)0000",3"0000000000100000",%461;63490000=09175000= + 3"0130000050060000", 6":BLOCK",6" CONTROL",3"0000000000200000",%465;63495000=09176000= + 3"0130000000060000", 6"8INPUT",6"(W)00000",3"0000000000300000",%469;63500000=09177000= + 3"0000000000060000", 6"4SORT0", 0, 3"0000000000400000",% 473 63505000=09178000= + 3"0130000000040000", 6"4DUMP0", 3"0000000000500000",%477; 63510000=09179000= + 3"0130000000060000", 6"#X TO ",6"THE I000",3"0000000000600000",%480;63515000=09180000= + 3"0130000000060000", 6":GO TO",6" SOLVER ",3"0000000002100000",%484;63520000=09181000= + 3"0130000140060000", 6":ALGOL",6" WRITE ",3"0000000002200000",%488;63525000=09182000= + 3"0130000150060000", 6":ALGOL",6" READ ",3"0000000002300000",%492;63530000=09183000= + 3"0130000160060000", 6":ALGOL",6" SELECT ",3"0000000002400000",%496;63535000=09184000= + 3"0000000000040000", 6"5MERGE", 3"0000000002700000",% 500 63540000=09184100= + 3"0130000000560652", 6"6STATU",6"S0000000",3"0000000003000000",%503 63545000=09184200= + 3"0130000000640000", 6"3MAX00", 3"0000000003100047",%507 63550000=09184300= + 3"0430000240000000", 6"6AUXME",6"M0000000"; %510 63555000=09185000= 63560000=09185100= 63565000=09186000= COMMENT THIS IS THE FILL FOR STACKHEAD; 63570000=09187000= FILL STACKHEAD[*] WITH 63575000=09188000= -320,359,313,458,385, 0,337,347,383,361,379,412, 0, 0, 0,372, 63580000=09189000= -355,309, 0, 0,368, 0,446, 0, 0,549,311,410, 0, 0,400, 0, 63585000=09190000= - 0, 0, 0, 0,503,315, 0, 0,330, 0, 0, 0, 0, 0, 0,440, 63590000=09191000= -390,449,349, 0,414, 0, 0, 0,452, 0, 0, 0, 0, 0, 0, 0, 63595000=09192000= -381,328, 0, 0, 0, 0, 0, 0, 0, 0, 0,436, 0,402,407, 0, 63600000=09193000= - 0, 0,377, 0, 0, 0,416,455,355, 0, 0,357, 0,552,374, 0, 63605000=09194000= - 0, 0,433, 0,418,398,343, 0, 0,326,339, 0, 0, 0,366, 0, 63610000=09195000= - 0, 0, 0, 0, 0,422, 0,392, 0, 0, 0,424, 0; 63615000=09196000= +320,359,313,458,385, 0,337,347,383,361,379,412, 0, 0, 0,372, 63580000=09189000= +355,309, 0, 0,368, 0,446, 0, 0,549,311,410, 0, 0,400, 0, 63585000=09190000= + 0, 0, 0, 0,503,315, 0, 0,330, 0, 0, 0, 0, 0, 0,440, 63590000=09191000= +390,449,349, 0,414, 0, 0, 0,452, 0, 0, 0, 0, 0, 0, 0, 63595000=09192000= +381,328, 0, 0, 0, 0, 0, 0, 0, 0, 0,436, 0,402,407, 0, 63600000=09193000= + 0, 0,377, 0, 0, 0,416,455,355, 0, 0,357, 0,552,374, 0, 63605000=09194000= + 0, 0,433, 0,418,398,343, 0, 0,326,339, 0, 0, 0,366, 0, 63610000=09195000= + 0, 0, 0, 0, 0,422, 0,392, 0, 0, 0,424, 0; 63615000=09196000= FILL SUPERSTACK[*] WITH 63620000=09196100= - 0, 0,313, 0,307, 0,337,347,383, 0,379,412, 0, 0, 0,372, 63625000=09196200= -335,309, 0, 0, 0, 0, 0, 0, 0, 0,420,410, 0, 0, 0, 0, 63630000=09196300= - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63635000=09196400= -390, 0,364, 0,414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63640000=09196500= - 0,328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,402, 0, 0, 63645000=09196600= - 0, 0,377, 0,510, 0,416, 0,355, 0, 0,357, 0, 0, 0, 0, 63650000=09196700= - 0, 0, 0, 0, 0,398, 0, 0, 0,326,339, 0, 0, 0,366, 0, 63655000=09196800= - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,424, 0; 63660000=09196900= + 0, 0,313, 0,307, 0,337,347,383, 0,379,412, 0, 0, 0,372, 63625000=09196200= +335,309, 0, 0, 0, 0, 0, 0, 0, 0,420,410, 0, 0, 0, 0, 63630000=09196300= + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63635000=09196400= +390, 0,364, 0,414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63640000=09196500= + 0,328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,402, 0, 0, 63645000=09196600= + 0, 0,377, 0,510, 0,416, 0,355, 0, 0,357, 0, 0, 0, 0, 63650000=09196700= + 0, 0, 0, 0, 0,398, 0, 0, 0,326,339, 0, 0, 0,366, 0, 63655000=09196800= + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,424, 0; 63660000=09196900= COMMENT THIS IS THE FILL FOR THE SPECIAL CHARACTORS; 63665000=09197000= FILL SPECIAL[*] WITH 63670000=09198000= - OCT1200000000200000, COMMENT #; OCT0000000000100000, COMMENT @; 63675000=09199000= - OCT0000000000000000, OCT1160000000120000, COMMENT :; 63680000=09200000= - OCT1340000450002763, COMMENT >; OCT1340000250002662, COMMENT }; 63685000=09201000= - OCT1350000200000000, COMMENT +; OCT0000000000000000, 63690000=09202000= - OCT1220000000060000, COMMENT .; OCT1210000000000000, COMMENT [; 63695000=09203000= - OCT1270000000000000, COMMENT &; OCT0420000000000000, COMMENT (; 63700000=09204000= - OCT1340010450003571, COMMENT <; OCT1260000000000000, COMMENT ~; 63705000=09205000= - OCT1360001000000000, COMMENT |; OCT0000000000000000, 63710000=09206000= - OCT0000000000040000, COMMENT $; OCT1370000000000000, COMMENT *; 63715000=09207000= - OCT1350000600000000, COMMENT -; OCT1240000000160000, COMMENT ); 63720000=09208000= - OCT0620000000000000, COMMENT .,; OCT1340010250003470, COMMENT {; 63725000=09209000= - OCT0000000000000000, OCT1360002000000000, COMMENT /; 63730000=09210000= - OCT1170000000000000, COMMENT ,; OCT0000000000020000, COMMENT %; 63735000=09211000= - OCT1340001050002561, COMMENT !; OCT1340011050002460, COMMENT =; 63740000=09212000= - OCT1230000000000000, COMMENT ]; OCT0000000000140000, COMMENT "; 63745000=09213000= + 3"1200000000200000", COMMENT #; 3"0000000000100000", COMMENT @; 63675000=09199000= + 3"0000000000000000", 3"1160000000120000", COMMENT :; 63680000=09200000= + 3"1340000450002763", COMMENT >; 3"1340000250002662", COMMENT >=; 63685000=09201000= + 3"1350000200000000", COMMENT +; 3"0000000000000000", 63690000=09202000= + 3"1220000000060000", COMMENT .; 3"1210000000000000", COMMENT [; 63695000=09203000= + 3"1270000000000000", COMMENT &; 3"0420000000000000", COMMENT (; 63700000=09204000= + 3"1340010450003571", COMMENT <; 3"1260000000000000", COMMENT <-; 63705000=09205000= + 3"1360001000000000", COMMENT x; 3"0000000000000000", 63710000=09206000= + 3"0000000000040000", COMMENT $; 3"1370000000000000", COMMENT *; 63715000=09207000= + 3"1350000600000000", COMMENT -; 3"1240000000160000", COMMENT ); 63720000=09208000= + 3"0620000000000000", COMMENT .,; 3"1340010250003470", COMMENT <=; 63725000=09209000= + 3"0000000000000000", 3"1360002000000000", COMMENT /; 63730000=09210000= + 3"1170000000000000", COMMENT ,; 3"0000000000020000", COMMENT %; 63735000=09211000= + 3"1340001050002561", COMMENT ^=; 3"1340011050002460", COMMENT =; 63740000=09212000= + 3"1230000000000000", COMMENT ]; 3"0000000000140000", COMMENT "; 63745000=09213000= 0,0; 63750000=09214000= COMMENT THIS IS THE FILL FOR THE REALLY SPECIAL CHARACTERS FOR DATACOM;63755000=09214100= -FILL INFO[2,*] WITH OCT0030000120000000, "2LB000", % THESE ENTRIES ARE 63760000=09214105= - OCT0030000130000000, "2RB000", % DESIGNED TO LOOK 63765000=09214110= - OCT0030000140000000, "3GTR00", % LIKE DEFINE 63770000=09214115= - OCT0030000150000000, "3GEQ00", % DECLARATIONS AT 63775000=09214120= - OCT0030000160000000, "3EQL00", % BLOCK LEVEL 0. 63780000=09214125= - OCT0030000170000000, "3NEQ00", 63785000=09214130= - OCT0030000200000000, "3LEQ00", 63790000=09214135= - OCT0030000210000000, "3LSS00", 63795000=09214140= - OCT0030000220000000, "5TIMES", 63800000=09214145= - OCT0030000230000000, "5INPUT", 63805000=09214150= - OCT0030000240000000, "2IO000", 63810000=09214155= - OCT0030000250000000, "6SERIA","L0000000", 63815000=09214160= - OCT0030000260000000, "6RANDO","M0000000", 63820000=09214165= - OCT0030000270000000, "6UPDAT","E0000000", 63825000=09214170= - OCT0030000300000000, "6OUTPU","T0000000", 63830000=09214180= - OCT0030000310000000, "7CANTU","SE000000", 63835000=09214190= - OCT0130000000740000, "3MIN00", OCT0000000003200000,%549 63840000=09214200= - OCT0130000001040000, "5DELAY", OCT0000000003300000,%552 63845000=09214210= - OCT0000000000060000, ":SUPER", " MOVER ", OCT0000000003400000,%555 63850000=09214220= - OCT0000000000060000, ":DYNAM", "IC DIALS", OCT0000000004000000,%559 63855000=09214230= - OCT0130000000060000, ":FILE ", "ATTRBUTS", OCT0000000015000000,%563 63860000=09214240= - OCT0000000000040000, "5DCPWR", OCT0000000005600000,%567 63865000=09214250= - OCT0000000000040000, "5DCMTH", OCT0000000005500000,%570 63870000=09214255= - OCT0130000001140000, "5DSQRT", OCT0000000012300000,%573 63875000=09214260= - OCT0130000001240000, "4CEXP0", OCT0000000010000000,%576 63880000=09214270= - OCT0130000001340000, "3CLN00", OCT0000000010200000,%579 63885000=09214295= - OCT0130000001440000, "4CSIN0", OCT0000000010600000,%582 63890000=09214300= - OCT0130000001540000, "4CCOS0", OCT0000000011000000,%585 63895000=09214305= - OCT0130000001640000, "5CSQRT", OCT0000000012400000,%588 63900000=09214310= - OCT0130000001740000, "4DEXP0", OCT0000000007700000,%591 63905000=09214315= - OCT0130000002040000, "3DLN00", OCT0000000010100000,%594 63910000=09214320= - OCT0130000002140000, "4DSIN0", OCT0000000010500000,%597 63915000=09214325= - OCT0130000002240000, "4DCOS0", OCT0000000010700000,%600 63920000=09214330= - OCT0130000002360000, "7DARCT","AN0000000", OCT0000000011300000,%603 63925000=09214340= - OCT0130000002460000, "6DLOG1","000000000", OCT0000000010400000,%607 63930000=09214345= - OCT0130000002560000, "8DARCT","AN2000000", OCT0000000011500000,%611 63935000=09214350= - OCT0130000002640000, "4DMOD0", OCT0000000006500000,%615 63940000=09214355= - OCT0130000002740000, "4CABS0", OCT0000000005300000,%618 63945000=09214360= - OCT0130000003060000, "7ARCTA","N20000000", OCT0000000011400000,%621 63950000=09214365= - OCT0130000003160000, "6DROUN","D00000000", OCT0000000006100000,%625 63955000=09214370= - OCT0130000000040000, "5LOG10", OCT0000000010300000,%629 63960000=09214375= - OCT0130000000040000, "5COTAN", OCT0000000011200000,%632 63965000=09214380= - OCT0130000000060000, "6ARCSI","N00000000", OCT0000000011600000,%635 63970000=09214385= - OCT0130000000040000, "5ARCOS", OCT0000000011700000,%639 63975000=09214390= - OCT0130000000040000, "4SINH0", OCT0000000012000000,%642 63980000=09214395= - OCT0130000000040000, "4COSH0", OCT0000000012100000,%645 63985000=09214400= - OCT0130000000040000, "4TANH0", OCT0000000012200000,%648 63990000=09214405= - OCT0130000000040000, "3ERF00", OCT0000000012500000,%651 63995000=09214410= - OCT0130000000040000, "5GAMMA", OCT0000000012600000,%654 64000000=09214415= - OCT0130000000040000, "5LNGAM", OCT0000000012700000,%657 64005000=09214420= - OCT0130000000040000, "3TAN00", OCT0000000011100000,%660 64010000=09214425= - OCT0130000260000000, "4FAST0", %663 64015000=09214426= - OCT0130000270000000, "4SLOW0", %665 64020000=09214427= - OCT0130000240000000, "7PROTE", "CT000000", %667 64025000=09214428= - OCT2000000000004050, COMMENT POWERS OF TEN ; %670 64030000=09214430= - OCT0430000250000000, "5FIELD", %671 64035000=09214432= - 0, ">SORT ", "TEMPORAR", "Y0000000", % SORTA %673 64040000=09214435= - " " ; COMMENT LASTSEQUENCE,LASTSEQROW ; %674 64045000=09214440= +FILL INFO[2,*] WITH 3"0030000120000000", 6"2LB000", % THESE ENTRIES ARE 63760000=09214105= + 3"0030000130000000", 6"2RB000", % DESIGNED TO LOOK 63765000=09214110= + 3"0030000140000000", 6"3GTR00", % LIKE DEFINE 63770000=09214115= + 3"0030000150000000", 6"3GEQ00", % DECLARATIONS AT 63775000=09214120= + 3"0030000160000000", 6"3EQL00", % BLOCK LEVEL 0. 63780000=09214125= + 3"0030000170000000", 6"3NEQ00", 63785000=09214130= + 3"0030000200000000", 6"3LEQ00", 63790000=09214135= + 3"0030000210000000", 6"3LSS00", 63795000=09214140= + 3"0030000220000000", 6"5TIMES", 63800000=09214145= + 3"0030000230000000", 6"5INPUT", 63805000=09214150= + 3"0030000240000000", 6"2IO000", 63810000=09214155= + 3"0030000250000000", 6"6SERIA",6"L0000000", 63815000=09214160= + 3"0030000260000000", 6"6RANDO",6"M0000000", 63820000=09214165= + 3"0030000270000000", 6"6UPDAT",6"E0000000", 63825000=09214170= + 3"0030000300000000", 6"6OUTPU",6"T0000000", 63830000=09214180= + 3"0030000310000000", 6"7CANTU",6"SE000000", 63835000=09214190= + 3"0130000000740000", 6"3MIN00", 3"0000000003200000",%54963840000=09214200= + 3"0130000001040000", 6"5DELAY", 3"0000000003300000",%55263845000=09214210= + 3"0000000000060000", 6":SUPER",6" MOVER ", 3"0000000003400000",%55563850000=09214220= + 3"0000000000060000", 6":DYNAM",6"IC DIALS", 3"0000000004000000",%55963855000=09214230= + 3"0130000000060000", 6":FILE ",6"ATTRBUTS", 3"0000000015000000",%56363860000=09214240= + 3"0000000000040000", 6"5DCPWR", 3"0000000005600000",%56763865000=09214250= + 3"0000000000040000", 6"5DCMTH", 3"0000000005500000",%57063870000=09214255= + 3"0130000001140000", 6"5DSQRT", 3"0000000012300000",%57363875000=09214260= + 3"0130000001240000", 6"4CEXP0", 3"0000000010000000",%57663880000=09214270= + 3"0130000001340000", 6"3CLN00", 3"0000000010200000",%57963885000=09214295= + 3"0130000001440000", 6"4CSIN0", 3"0000000010600000",%58263890000=09214300= + 3"0130000001540000", 6"4CCOS0", 3"0000000011000000",%58563895000=09214305= + 3"0130000001640000", 6"5CSQRT", 3"0000000012400000",%58863900000=09214310= + 3"0130000001740000", 6"4DEXP0", 3"0000000007700000",%59163905000=09214315= + 3"0130000002040000", 6"3DLN00", 3"0000000010100000",%59463910000=09214320= + 3"0130000002140000", 6"4DSIN0", 3"0000000010500000",%59763915000=09214325= + 3"0130000002240000", 6"4DCOS0", 3"0000000010700000",%60063920000=09214330= + 3"0130000002360000", 6"7DARCT",6"AN0000000",3"0000000011300000",%60363925000=09214340= + 3"0130000002460000", 6"6DLOG1",6"000000000",3"0000000010400000",%60763930000=09214345= + 3"0130000002560000", 6"8DARCT",6"AN2000000",3"0000000011500000",%61163935000=09214350= + 3"0130000002640000", 6"4DMOD0", 3"0000000006500000",%61563940000=09214355= + 3"0130000002740000", 6"4CABS0", 3"0000000005300000",%61863945000=09214360= + 3"0130000003060000", 6"7ARCTA",6"N20000000",3"0000000011400000",%62163950000=09214365= + 3"0130000003160000", 6"6DROUN",6"D00000000",3"0000000006100000",%62563955000=09214370= + 3"0130000000040000", 6"5LOG10", 3"0000000010300000",%62963960000=09214375= + 3"0130000000040000", 6"5COTAN", 3"0000000011200000",%63263965000=09214380= + 3"0130000000060000", 6"6ARCSI",6"N00000000",3"0000000011600000",%63563970000=09214385= + 3"0130000000040000", 6"5ARCOS", 3"0000000011700000",%63963975000=09214390= + 3"0130000000040000", 6"4SINH0", 3"0000000012000000",%64263980000=09214395= + 3"0130000000040000", 6"4COSH0", 3"0000000012100000",%64563985000=09214400= + 3"0130000000040000", 6"4TANH0", 3"0000000012200000",%64863990000=09214405= + 3"0130000000040000", 6"3ERF00", 3"0000000012500000",%65163995000=09214410= + 3"0130000000040000", 6"5GAMMA", 3"0000000012600000",%65464000000=09214415= + 3"0130000000040000", 6"5LNGAM", 3"0000000012700000",%65764005000=09214420= + 3"0130000000040000", 6"3TAN00", 3"0000000011100000",%66064010000=09214425= + 3"0130000260000000", 6"4FAST0", %66364015000=09214426= + 3"0130000270000000", 6"4SLOW0", %66564020000=09214427= + 3"0130000240000000", 6"7PROTE",6"CT000000", %66764025000=09214428= + 3"2000000000004050", COMMENT POWERS OF TEN ; %67064030000=09214430= + 3"0430000250000000", 6"5FIELD", %67164035000=09214432= + 0, 6">SORT ",6"TEMPORAR",6"Y0000000", % SORTA %67364040000=09214435= + 6" " ; COMMENT LASTSEQUENCE,LASTSEQROW ; %67464045000=09214440= 64050000=09214500= COMMENT NOW LINK THESE ENTRIES INTO STACKHEAD; 64055000=09214500= FOR NEXTINFO:= 512 STEP 2 UNTIL 534, 537 STEP 3 UNTIL 546, 567 STEP 64060000=09214515= - 3 UNTIL 603, 607 STEP 4 UNTIL 615, 618, 621 STEP 4 UNTIL 629, 632 64065000=09214515= - , 635, 639 STEP 3 UNTIL 660, 663 STEP 2 UNTIL 667, 671 64070000=09214520= + 3 UNTIL 603, 607 STEP 4 UNTIL 615, 618, 621 STEP 4 UNTIL 629, 632,64065000=09214515= + 635, 639 STEP 3 UNTIL 660, 663 STEP 2 UNTIL 667, 671 64070000=09214520= DO 64075000=09214520= PUT(TAKE(NEXTINFO) & STACKHEAD[GT2:= TAKE(NEXTINFO+1) MOD 125] 64080000=09214530= - [35:35:13], LASTINFO:= STACKHEAD[GT2]:= NEXTINFO); 64085000=09214530= + [12:12:13], LASTINFO:= STACKHEAD[GT2]:= NEXTINFO); 64085000=09214530= NEXTINFO:= LASTINFO:= LASTSEQROW*256+LASTSEQUENCE+1; 64090000=09214980= - BUILDLINE.[45:1]:= TRUE; 64095000=09214985= + BUILDLINE.[2:1]:= TRUE; 64095000=09214985= PUTNBUMP(0); 64100000=09214990= - FILL MACRO[**] WITH 64105000=09215100= - OCT0131, COMMENT SFS A 00 ; 64110000=09216000= - OCT0116, COMMENT SFD A 01 ; 64115000=09217000= - OCT0000, COMMENT SYNTAX ERROR02 ; 64120000=09218000= - OCT0140, COMMENT INC A 03 ; 64125000=09219000= - OCT0130, COMMENT SRS A 04 ; 64130000=09220000= - OCT0117 COMMENT SRD A 05 ; 64135000=09221000= - OCT0000, COMMENT SYNTAX ERROR06 ; 64140000=09222000= - OCT0000, COMMENT SYNTAX ERROR07 ; 64145000=09223000= - OCT00310143, COMMENT CRF A, SFS 008 ; 64150000=09224000= - OCT00160143, COMMENT CRF A, SFD 009 ; 64155000=09225000= - OCT00470143, COMMENT CRF A, JFW 0 10 ; 64160000=09226000= - OCT00400143, COMMENT CRF A, INC 011 ; 64165000=09227000= - OCT00300143, COMMENT CRF A, SRS 012 ; 64170000=09228000= - OCT00170143, COMMENT CRF A, SRD 013 ; 64175000=09229000= - OCT0000, COMMENT SYNTAX ERROR14 ; 64180000=09230000= - OCT0000, COMMENT SYNTAX ERROR15 ; 64185000=09231000= - OCT0153, COMMENT RSA A 16 ; 64190000=09232000= - OCT0104, COMMENT RDA A 17 ; 64195000=09233000= - OCT0150, COMMENT RCA A 18 ; 64200000=09234000= - OCT004201430042, COMMENT SEC 0, CRF A, SEC 0 19 ; 64205000=09235000= - OCT0122, COMMENT SES A 20 ; 64210000=09236000= - OCT0106, COMMENT SED A 21 ; 64215000=09237000= - OCT0000, COMMENT SYNTAX ERROR22 ; 64220000=09238000= - OCT0000, COMMENT SYNTAX ERROR23 ; 64225000=09239000= - OCT0056, COMMENT TSA 0 24 ; 64230000=09240000= - OCT0000, COMMENT SYNTAX ERROR25 ; 64235000=09241000= - OCT0000, COMMENT SYNTAX ERROR26 ; 64240000=09242000= - OCT0000, COMMENT SYNTAX ERROR27 ; 64245000=09243000= - OCT0000, COMMENT SYNTAX ERROR28 ; 64250000=09244000= - OCT0007, COMMENT TDA 0 29 ; 64255000=09245000= - OCT0000, COMMENT SYNTAX ERROR30 ; 64260000=09246000= - OCT0000, COMMENT SYNTAX ERROR31 ; 64265000=09247000= - OCT0115, COMMENT SSA A 32 ; 64270000=09248000= - OCT0114, COMMENT SDA A 33 ; 64275000=09249000= - OCT0154, COMMENT SCA A 34 ; 64280000=09250000= - OCT0141; COMMENT STC A 35 ; 64285000=09251000= + FILL MACRO[*] WITH 64105000=09215100= + 3"0131", COMMENT SFS A 00 ; 64110000=09216000= + 3"0116", COMMENT SFD A 01 ; 64115000=09217000= + 3"0000", COMMENT SYNTAX ERROR02 ; 64120000=09218000= + 3"0140", COMMENT INC A 03 ; 64125000=09219000= + 3"0130", COMMENT SRS A 04 ; 64130000=09220000= + 3"0117", COMMENT SRD A 05 ; 64135000=09221000= + 3"0000", COMMENT SYNTAX ERROR06 ; 64140000=09222000= + 3"0000", COMMENT SYNTAX ERROR07 ; 64145000=09223000= + 3"00310143", COMMENT CRF A, SFS 008 ; 64150000=09224000= + 3"00160143", COMMENT CRF A, SFD 009 ; 64155000=09225000= + 3"00470143", COMMENT CRF A, JFW 0 10 ; 64160000=09226000= + 3"00400143", COMMENT CRF A, INC 011 ; 64165000=09227000= + 3"00300143", COMMENT CRF A, SRS 012 ; 64170000=09228000= + 3"00170143", COMMENT CRF A, SRD 013 ; 64175000=09229000= + 3"0000", COMMENT SYNTAX ERROR14 ; 64180000=09230000= + 3"0000", COMMENT SYNTAX ERROR15 ; 64185000=09231000= + 3"0153", COMMENT RSA A 16 ; 64190000=09232000= + 3"0104", COMMENT RDA A 17 ; 64195000=09233000= + 3"0150", COMMENT RCA A 18 ; 64200000=09234000= + 3"004201430042", COMMENT SEC 0, CRF A, SEC 0 19 ; 64205000=09235000= + 3"0122", COMMENT SES A 20 ; 64210000=09236000= + 3"0106", COMMENT SED A 21 ; 64215000=09237000= + 3"0000", COMMENT SYNTAX ERROR22 ; 64220000=09238000= + 3"0000", COMMENT SYNTAX ERROR23 ; 64225000=09239000= + 3"0056", COMMENT TSA 0 24 ; 64230000=09240000= + 3"0000", COMMENT SYNTAX ERROR25 ; 64235000=09241000= + 3"0000", COMMENT SYNTAX ERROR26 ; 64240000=09242000= + 3"0000", COMMENT SYNTAX ERROR27 ; 64245000=09243000= + 3"0000", COMMENT SYNTAX ERROR28 ; 64250000=09244000= + 3"0007", COMMENT TDA 0 29 ; 64255000=09245000= + 3"0000", COMMENT SYNTAX ERROR30 ; 64260000=09246000= + 3"0000", COMMENT SYNTAX ERROR31 ; 64265000=09247000= + 3"0115", COMMENT SSA A 32 ; 64270000=09248000= + 3"0114", COMMENT SDA A 33 ; 64275000=09249000= + 3"0154", COMMENT SCA A 34 ; 64280000=09250000= + 3"0141"; COMMENT STC A 35 ; 64285000=09251000= FILL TEXT[0,*] WITH 0,0,0,0,0,0,0,0,0,0, 64290000=09251010= - "[# ", 64295000=09251020= - "]# ", 64300000=09251030= - "># ", 64305000=09251040= - "}# ", 64310000=09251050= - "=# ", 64315000=09251060= - "!# ", 64320000=09251070= - "{# ", 64325000=09251080= - "<# ", 64330000=09251090= - "|# ", 64335000=09251100= - "1# ", 64340000=09251101= - "3# ", 64345000=09251102= - "0# ", 64350000=09251103= - "1# ", 64355000=09251104= - "2# ", 64360000=09251105= - "2# ", 64365000=09251106= - "0# " 64370000=09251107= + 6"[# ", 64295000=09251020= + 6"]# ", 64300000=09251030= + 6"># ", 64305000=09251040= + 3"17"6"# ", 64310000=09251050= + 6"=# ", 64315000=09251060= + 3"74"6"# ", 64320000=09251070= + 3"57"6"# ", 64325000=09251080= + 6"<# ", 64330000=09251090= + 3"40"6"# ", 64335000=09251100= + 6"1# ", 64340000=09251101= + 6"3# ", 64345000=09251102= + 6"0# ", 64350000=09251103= + 6"1# ", 64355000=09251104= + 6"2# ", 64360000=09251105= + 6"2# ", 64365000=09251106= + 6"0# " 64370000=09251107= ; 64375000=09251200= -NEXTTEXT:= 26; 64380000=09251300= + NEXTTEXT:= 26; 64380000=09251300= DO 64385000=09252000= UNTIL STEPI = BEGINV; 64390000=09252000= - BUILDLINE.[45:1]:= FALSE; 64395000=09252050= + BUILDLINE.[2:1]:= FALSE; 64395000=09252050= COMMENT THE FOLLOWING IS THE FIRST CODE EXECUTED IN ANY PROGRAM. 64400000=09253000= THE OUTER BLOCK(NUMBER 1) CONSISTS OF THE FOLLOWING CODE: 64405000=09254000= LITC 0 --- THIS PUTS A BOTTOM ON THE STACK 64410000=09255000= @@ -13258,10 +13316,10 @@ NEXTTEXT:= 26; 64380000 THE END. CARD OFF AN INPUT TAPE; 64540000=09275250= IF NEWTOG THEN 64545000=09275300= BEGIN 64550000=09275350= - FILL LIBARRAY[**] WITH 6"END;END.", 6" ", 6"LAST CAR", 64555000=09275400= - 6"D ON OCR", 6"DING TAPE", 6"E ", 6" ", 6" " 64560000=09275400= - , 6" ", 6"999999999"; 64565000=09275450= - WRITE(NEWTAPE, 10, LIBARRAY[**]) 64570000=09275550= + FILL LIBARRAY[*] WITH 6"END;END.", 6" ", 6"LAST CAR", 64555000=09275400= + 6"D ON OCR", 6"DING TAPE", 6"E ", 6" ", 6" ",64560000=09275400= + 6" ", 6"999999999"; 64565000=09275450= + WRITE(NEWTAPE, 10, LIBARRAY[*]) 64570000=09275550= END; 64575000=09275550= COMMENT THE FOLLOWING CODE SEARCHES THROUGH INFO TO DETERMINE 64580000=09277000= WHICH INTRINSICS HAVE BEEN USED.IF AN INTRINSIC HAS BEEN 64585000=09278000= @@ -13271,13 +13329,13 @@ NEXTTEXT:= 26; 64380000 PRT AS AN ABSENT DATA DESCRIPTOR.IT MAY BE RECOGNIZED IN 64605000=09282000= INFO BECAUSE IT IS MINUS. THE FIRST WORD IN EACH OF THESE 64610000=09283000= ENTRIES LOOKS LIKE THE REST OF INFO EXCEPT THAT THE INCR 64615000=09284000= - FIELD IS BROKEN INTO 2 PARTS, [33:2] IS USED TO ADD TO THE 64620000=09285000= + FIELD IS BROKEN INTO 2 PARTS, [14:2] IS USED TO ADD TO THE 64620000=09285000= INDEX OF CURRENT WORD TO LINK TO NEXT ENTRY.THE REST OF 64625000=09286000= THE INCR FIELD IS USED BY IMPFUN. THE ADDITIONAL INFO 64630000=09287000= PORTION INDICATES AN INDEX THAT ALLOWS THE MCP TO ASSIGN 64635000=09288000= DRUM ADDRESSES TO THE INTRINSICS; 64640000=09289000= GT1:= GT3:= STARTINTRSC; 64645000=09291000= -L1: GT1:= GT1+(GT2:= INFO[GT1.LINKR, GT1.LINKC]).[33:2]; 64650000=09292000= +L1: GT1:= GT1+(GT2:= INFO[GT1.LINKR, GT1.LINKC]).[14:2]; 64650000=09292000= IF GT2 >= 0 THEN % NOT POWERS OF TEN TABLE 64655000=09293000= BEGIN 64660000=09294000= IF GT2.ADDRESS ^= 0 THEN % IT WAS USED 64665000=09294000= @@ -13285,30 +13343,30 @@ L1: GT1:= GT1+(GT2:= INFO[GT1.LINKR, GT1.LINKC]).[33:2]; 64650000 SGNO:= SGAVL; 64675000=09295000= SGAVL:= SGAVL+1; 64680000=09295000= GT2:= PROGDESCBLDR 64685000=09296100= - (INFO[GT1.LINKR, GT1.LINKC].[1:1]*2+1, 0, GT2.ADDRESS); 64690000=09296100= - PDPRT[PDINX.[37:5], PDINX.[42:6]]:= 1 & 64695000=09298000= - INFO[GT1.LINKR, GT1.LINKC][13:18:15] & SGNO[28:38:10] & 1 64700000=09298100= - [2:47:1]; 64705000=09298100= + (INFO[GT1.LINKR, GT1.LINKC].[46:1]*2+1, 0, GT2.ADDRESS); 64690000=09296100= + PDPRT[PDINX.[10:5], PDINX.[5:6]]:= 1 & 64695000=09298000= + INFO[GT1.LINKR, GT1.LINKC][34:29:15] & SGNO[19:9:10] & 1 64700000=09298100= + [45:0:1]; 64705000=09298100= PDINX:= PDINX+1; 64710000=09299000= IF PRTOG THEN % WRITE OUT INTRINSICS USED. 64715000=09300000= BEGIN 64720000=09300100= GT3:= GT3+1; 64725000=09300100= - BLANKET(14, LIN); % BLANK BUFFER. 64730000=09300150= - WRTINTRSC(SGNO, INFO[GT3.LINKR, GT3.LINKC], 64735000=09301000= - B2D(GT2.[38:10]), LIN); 64740000=09301000= + BLANKET(14, LIN); % BLANK BUFFER. 64730000=09300150= + WRTINTRSC(SGNO, INFO[GT3.LINKR, GT3.LINKC], 64735000=09301000= + B2D(GT2.[9:10]), LIN); 64740000=09301000= IF NOHEADING THEN 64745000=09302000= DATIME; 64750000=09302000= WRITELINE; 64755000=09302000= END 64760000=09304000= END; 64765000=09304000= - GT3:= GT1:= GT1+INFO[GT1.LINKR, GT1.LINKC].[33:15]+1; 64770000=09305000= + GT3:= GT1:= GT1+INFO[GT1.LINKR, GT1.LINKC].[14:15]+1; 64770000=09305000= GO TO L1; 64775000=09305100= END; 64780000=09306000= L:= L-1; 64785000=09306100= COMMENT WIPES OUT EXTRANEOUS BFW EMITTED BY BLOCK; 64790000=09306100= EMITL(5); 64795000=09307000= EMITO(COM); 64800000=09307000= - ENIL[0, 1]:= 1023 & 99999999[10:20:28]; 64805000=09307100= + ENIL[0, 1]:= 1023 & 99999999[37:27:28]; 64805000=09307100= ENILPTR:= 1; 64810000=09307100= SEGMENT((L+3) DIV 4, 1, 0); 64815000=09308000= 64820000=09309000= @@ -13317,16 +13375,16 @@ COMMENT IF THE POWERS-OF-TEN TABLE HAS BEEN USED, IT IS WRITTEN OUT 64825000 IF GT1:= GT2.ADDRESS ^= 0 THEN 64835000=09311000= BEGIN 64840000=09312000= SGAVL:= (SGNO:= SGAVL)+1; 64845000=09312000= - GT2:= PROGDESCBLDR(2, 0, GT2.ADDRESS); 64850000=09313000= - MOVE(69, TEN, EDOC[0, 0]); 64855000=09314000= + GT2:= PROGDESCBLDR(2, 0, GT2.ADDRESS); 64850000=09313000= + MOVE(69, TEN, EDOC[0, 0]); 64855000=09314000= BUILDLINE:= BOOLEAN(2*REAL(BUILDLINE)); 64860000=09314100= - SEGMENT(-69, SGNO, 0); 64865000=09315000= - BUILDLINE:= BUILDLINE.[46:1]; 64870000=09315100= + SEGMENT(-69, SGNO, 0); 64865000=09315000= + BUILDLINE:= BUILDLINE.[1:1]; 64870000=09315100= END; 64875000=09316000= BEGIN 64880000=09317000= ARRAY 64885000=09317000= - PRT[0:7, 0:127], 64890000=09317000= - SEGDICT[0:7, 0:127]; 64895000=09317000= + PRT[0:7, 0:127], 64890000=09317000= + SEGDICT[0:7, 0:127]; 64895000=09317000= INTEGER 64900000=09318000= PRTADR, 64905000=09318000= SEGMNT, 64910000=09318000= @@ -13334,23 +13392,23 @@ COMMENT IF THE POWERS-OF-TEN TABLE HAS BEEN USED, IT IS WRITTEN OUT 64825000 64920000=09333000= COMMENT THE PRT AND SEGMENT DICTIONARY ARE NOW BUILT; 64925000=09333000= FOR I:= 0 STEP 1 UNTIL PDINX-1 DO 64930000=09348000= - IF(GT1:= PDPRT[I.[37:5], I.[42:6]]).[38:10] = 0 THEN 64935000=09349000= + IF(GT1:= PDPRT[I.[10:5], I.[5:6]]).[9:10] = 0 THEN 64935000=09349000= BEGIN 64940000=09350000= - PRTADR:= GT1.[8:10]; 64945000=09350000= - SEGMNT:= GT1.[28:10]; 64950000=09350000= - LINK:= SEGDICT[SEGMNT.[36:5], SEGMNT.[41:7]].[8:10]; 64955000=09351000= - MDESC(GT1.[18:10] & SEGMNT[18:33:15] & 64960000=09354100= - (IF LINK = 0 THEN SEGMNT+2048 ELSE LINK)[6:36:12] & 64965000=09354100= - GT1[4:4:2] & 5[1:45:3], 64970000=09354100= - PRT[PRTADR DIV 128, PRTADR MOD 128]); 64975000=09354100= - SEGDICT[SEGMNT.[36:5], SEGMNT.[41:7]].[8:10]:= PRTADR; 64980000=09355000= + PRTADR:= GT1.[39:10]; 64945000=09350000= + SEGMNT:= GT1.[19:10]; 64950000=09350000= + LINK:= SEGDICT[SEGMNT.[11:5], SEGMNT.[6:7]].[39:10]; 64955000=09351000= + MDESC(GT1.[29:10] & SEGMNT[29:14:15] & 64960000=09354100= + (IF LINK = 0 THEN SEGMNT+2048 ELSE LINK)[41:11:12] & 64965000=09354100= + GT1[43:43:2] & 5[46:2:3], 64970000=09354100= + PRT[PRTADR DIV 128, PRTADR MOD 128]); 64975000=09354100= + SEGDICT[SEGMNT.[11:5], SEGMNT.[6:7]].[39:10]:= PRTADR; 64980000=09355000= END 64985000=09357000= ELSE 64990000=09357000= BEGIN 64995000=09357000= - SEGMNT:= GT1.[28:10]; 65000000=09357000= - SEGDICT[SEGMNT.[36:5], SEGMNT.[41:7]]:= 65005000=09359000= - SEGDICT[SEGMNT.[36:5], SEGMNT.[41:7]] & GT1[23:38:10] & 65010000=09360000= - GT1[33:13:15] & GT1[4:3:1] & GT1[1:1:2]; 65015000=09360000= + SEGMNT:= GT1.[19:10]; 65000000=09357000= + SEGDICT[SEGMNT.[11:5], SEGMNT.[6:7]]:= 65005000=09359000= + SEGDICT[SEGMNT.[11:5], SEGMNT.[6:7]] & GT1[24:9:10] & 65010000=09360000= + GT1[14:34:15] & GT1[43:44:1] & GT1[46:46:2]; 65015000=09360000= END; 65020000=09361000= COMMENT SET UP NEWINX = TOTAL SEGMENT SIZE; 65025000=09361005= NEWINX:= AKKUM; 65030000=09361005= @@ -13381,65 +13439,65 @@ COMMENT ADD IN CORE ESTIMATE FOR SORT; 65130000 COMMENT AT THIS POINT GTI1 HAS THE NEEDED TOTAL CORE REQD; 65155000=09361210= 65160000=09393000= COMMENT WRITE OUT FILE PARAMETER BLOCK; 65165000=09393000= - GTI1:= MIN((IDLOC-IDLOCTEMP).[33:15]+1, 128); % AHA 65170000=09394000= - MOVE(GT1, IDARRAY[0], EDOC[0, 0]); 65175000=09395000= + GTI1:= MIN((IDLOC-IDLOCTEMP).[14:15]+1, 128); % AHA 65170000=09394000= + MOVE(GT1, IDARRAY[0], EDOC[0, 0]); 65175000=09395000= ZEROUT(IDARRAY[0], 0, 30); 65180000=09395500= - IDARRAY[4]:= MOVEANDBLOCK(EDOC, GT1, 0); 65185000=09396000= + IDARRAY[4]:= MOVEANDBLOCK(EDOC, GT1, 0); 65185000=09396000= IDARRAY[5]:= GT1; 65190000=09397000= 65195000=09398000= COMMENT WRITE OUT SEGMENT DICTIONARY; 65200000=09398000= - IDARRAY[0]:= MOVEANDBLOCK(SEGDICT, SGAVL, 1); 65205000=09399000= + IDARRAY[0]:= MOVEANDBLOCK(SEGDICT, SGAVL, 1); 65205000=09399000= IF BUILDLINE THEN 65210000=09399100= - IDARRAY[0]:= IDARRAY[0] & MOVEANDBLOCK(LDICT, SGAVL, 2) 65215000=09399150= - [18:33:15]; 65220000=09399150= + IDARRAY[0]:= IDARRAY[0] & MOVEANDBLOCK(LDICT, SGAVL, 2) 65215000=09399150= + [29:14:15]; 65220000=09399150= IDARRAY[1]:= SGAVL; 65225000=09400000= 65230000=09401000= COMMENT WRITE OUT PRT; 65235000=09401000= - IDARRAY[2]:= MOVEANDBLOCK(PRT, PRTIMAX, 3); 65240000=09402000= + IDARRAY[2]:= MOVEANDBLOCK(PRT, PRTIMAX, 3); 65240000=09402000= IDARRAY[3]:= PRTIMAX; 65245000=09403000= 65250000=09404000= COMMENT MARK FIRST EXECUTABLE SEGMENT; 65255000=09404000= IDARRAY[6]:= 1; 65260000=09405000= 65265000=09405100= COMMENT PASS NUMBER OF FILES; 65270000=09405100= - IDARRAY[7]:= (FILENO-1) & GTI1[18:27:15]; 65275000=09405200= + IDARRAY[7]:= (FILENO-1) & GTI1[29:20:15]; 65275000=09405200= 65280000=09406000= COMMENT WRITE DISK SEGMENT ZERO; 65285000=09406000= GT1:= DA; 65290000=09407000= DA:= 0; 65295000=09407000= - MOVE(30, IDARRAY[0], PRT[0, 0]); 65300000=09407000= + MOVE(30, IDARRAY[0], PRT[0, 0]); 65300000=09407000= GT2:= MOVEANDBLOCK(PRT, 30, 6); 65305000=09407010= DA:= GT1; 65310000=09407010= IF CODEFILE THEN 65315000=09407020= WRITE(LINE); 65320000=09407020= IF SAVETIME >= 0 AND ERRORCOUNT = 0 THEN 65325000=09407050= - LOCK(CODE, SAVE); 65330000=09407100= - CLOSE(CARD, RELEASE); % RELEASE PRIMARY INPUT FILE. 65335000=09407200= - CLOSE(TAPE, RELEASE); % RELEASE SECONDARY INPUT FILE. 65340000=09407300= + LOCK(CODE, SAVE); 65330000=09407100= + CLOSE(CARD, RELEASE); % RELEASE PRIMARY INPUT FILE. 65335000=09407200= + CLOSE(TAPE, RELEASE); % RELEASE SECONDARY INPUT FILE. 65340000=09407300= LOCK(NEWTAPE, **); % CLOSE WITH CRUNCH. 65345000=09407400= IF LISTER OR NOT NOHEADING THEN 65350000=09408000= BEGIN 65355000=09409000= - FORMAT PAN("NUMBER OF ERRORS DETECTED =",I4,". COMPILAT" 65360000=09409200= + FORMAT PAN("NUMBER OF ERRORS DETECTED =",I4,". COMPILAT" 65360000=09409200= ,"ION TIME = ",I5," SECONDS."X22,2A4/ 65365000=09410000= "PRT SIZE =",I4,"; TOTAL SEGMENT SIZE =",I6, 65370000=09411000= " WORDS; DISK SIZE =",I4," SEGS; NO. PGM. SEGS =", 65375000=09412000= I4/"ESTIMATED CORE STORAGE REQUIRED =",I6," WORDS.", 65380000=09413000= /"ESTIMATED AUXILIARY MEMORY REQUIRED =",I6," WORDS.", 65385000=09414000= /"NUMBER OF CARD-IMAGES PROCESSED =",F7.0); 65390000=09414100= -FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000=09414101= + FORMAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000=09414101= MOVECHARACTERS 65400000=09415000= - (4, INFO[LASTSEQROW, LASTSEQUENCE-1], 0, GT1, 4); 65405000=09415000= + (4, INFO[LASTSEQROW, LASTSEQUENCE-1], 0, GT1, 4); 65405000=09415000= MOVECHARACTERS 65410000=09416000= - (4, INFO[LASTSEQROW, LASTSEQUENCE-1], 4, GT2, 4); 65415000=09416000= + (4, INFO[LASTSEQROW, LASTSEQUENCE-1], 4, GT2, 4); 65415000=09416000= IF CHECKTOG THEN 65420000=09416001= - WRITE(LINE[DBL], SERR, 65425000=09416006= + WRITE(LINE[DBL], SERR, 65425000=09416006= IF NUMSEQUENCEERRORS = 0 THEN 6"A" ELSE 6"I", IF 65430000=09416006= NUMSEQUENCEERRORS = 0 THEN 6" NO" ELSE NUMSEQUENCEERRORS)65435000=09416006= ; 65440000=09416006= - WRITE(LINE[DBL], PAN, ERRORCOUNT, (TIME(1)-TIME1)/60, GT1, 65445000=09419000= - GT2, PRTIMAX, AKKUM, 65450000=09419000= + WRITE(LINE[DBL], PAN, ERRORCOUNT, (TIME(1)-TIME1)/60, GT1, 65445000=09419000= + GT2, PRTIMAX, AKKUM, 65450000=09419000= IF DA <= CHUNK THEN DA ELSE((DA+CHUNK-1) DIV CHUNK)*CHUNK, 65455000=09419000= - SGAVL-1, GTI1, AUXMEMREQ, CARDCOUNT); 65460000=09419000= + SGAVL-1, GTI1, AUXMEMREQ, CARDCOUNT); 65460000=09419000= END 65465000=09420000= END 65470000=09420000= END PROGRAM; 65475000=09420000= @@ -13456,12 +13514,12 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 EXTRA WORD FOR EACH LEFT PARENTHESIS WITH NO REPEAT PART. 65530000=10007000= THIS IS AN IMPLIED STROKE TO CONTROL END OF LINE CONDI- 65535000=10008000= TIONS. THE WORD IS BROKEN UP INTO NINE FIELDS: 65540000=10009000= - S = [1:1], 65545000=10010000= - REPEAT = [38:10], 65550000=10011000= - SKIP = [32:6], 65555000=10012000= - CODE = [2:4], 65560000=10013000= - W = [6:6], 65565000=10014000= - W1 = [28:4], W2 = [24:4], D1 = [20:4], D2 = [16:4], 65570000=10015000= + S = [46:1], 65545000=10010000= + REPEAT = [9:10], 65550000=10011000= + SKIP = [15:6], 65555000=10012000= + CODE = [45:4], 65560000=10013000= + W = [41:6], 65565000=10014000= + W1 = [19:4], W2 = [23:4], D1 = [27:4], D2 = [31:4], 65570000=10015000= S IS A DISTINGUISHER BETWEEN EDITING PHRASES AND OTHER 65575000=10016000= TYPE WORDS. CODE IS THE INTERNAL CODE TO DISTINGUISH 65580000=10017000= BETWEEN THE VARIOUS EDITING PHRASES OR BETWEEN THE OTHER 65585000=10018000= @@ -13485,7 +13543,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 IF CODE =14 THEN L, 65675000=10032000= IF CODE = 15 THEN R, 65680000=10032100= W IS THE FIELD WIDTH. 65685000=10033000= - FOR STRINGS [12:36] IS W CHARACTORS OF ALPHA, RIGHT 65690000=10034000= + FOR STRINGS [35:36] IS W CHARACTORS OF ALPHA, RIGHT 65690000=10034000= ADJUSTED. THE REST OF THE FIELDS ARE MEANINGLESS. 65695000=10035000= REPEAT IS THE REPEAT FIELD - FOR LEFTPARENS WITH NO 65700000=10036000= REPEAT FIELD, REPEAT = 0. FOR RIGHTPARENS, REPEAT TELLS 65705000=10037000= @@ -13498,13 +13556,13 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 THEN FOR D, W1=W2=D1=D2=SKIP=0. 65740000=10044000= FOR X, W = SKIP = WIDTH MOD 64 AND W1 = WIDTH DIV 64. 65745000=10045000= W2 = D1 = D2 =0. 65750000=10046000= - FOR T, W=(WIDTH-1) MOD 64, W1=(WIDTH-1) DIV 64, AND 65755000=10046010= + FOR T, W=(WIDTH-1) MOD 64, W1=(WIDTH-1) DIV 64, AND 65755000=10046010= W2=D1=D2=0. 65760000=10046020= - FOR A, W1 = W, SKIP = 0 IF W < 6, OTHERWISE 65765000=10047000= - W1 = 6, SKIP = W-6, W2=D1=D2=0. 65770000=10048000= + FOR A, W1 = W, SKIP = 0 IF W < 6, OTHERWISE 65765000=10047000= + W1 = 6, SKIP = W-6, W2=D1=D2=0. 65770000=10048000= FOR I: SKIP = IF W > 16 THEN W-16 ELSE 0. 65775000=10049000= IF W > 8 THEN W1 = 8, W2 = W-SKIP-8. 65780000=10050000= - IF W < 8 THEN W1 = W, W2 = 0, ALWAYS D1=D2=0. 65785000=10051000= + IF W < 8 THEN W1 = W, W2 = 0, ALWAYS D1=D2=0. 65785000=10051000= FOR F IF D < 8 THEN D1 = D, D2=0, 65790000=10052000= IF D > 8 THEN D1 = 8, D2=D-8, 65795000=10053000= IF D >16 THEN ERROR. 65800000=10054000= @@ -13513,9 +13571,9 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 IF W-D-1 > 8 THEN W1=8, W2=W-D-1-SKIP-8, 65815000=10057000= IF W-D-1 < 8 THEN W1=W-D-1,W2=0. 65820000=10058000= FOR E D1 AND D2 ARE CALCULATED AS IN F EXCEPT THAT WE 65825000=10059000= - D+1 FOR D, SKIP = W-D-6, W1=W2=0. 65830000=10060000= - FOR O, W1=W2=D1=D2=SKIP=0, 65835000=10061000= - FOR L, W2=D1=D2=0, IF W > 5 THEN W1=5 ELSE W1 = W, 65840000=10062000= + D+1 FOR D, SKIP = W-D-6, W1=W2=0. 65830000=10060000= + FOR O, W1=W2=D1=D2=SKIP=0, 65835000=10061000= + FOR L, W2=D1=D2=0, IF W > 5 THEN W1=5 ELSE W1 = W, 65840000=10062000= SKIP = W-W1, 65845000=10063000= FOR U: SKIP = W1 = W2 = D1 = D2 = 0. 65850000=10063100= FOR B: SEE U-PHRASE DESCRIPTION. 65855000=10063110= @@ -13532,8 +13590,8 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 REAL 65910000=10068000= W; 65915000=10068000= BEGIN 65920000=10069000= - MOVE(1, W, EDOC(F.[38:3], F.[41:7]]);IF DEBUGTOG THEN BEGIN 65925000=10075000= - DEBUGWORD(B2D(F), W, LIN);WRITELINE 65930000=10075000= + MOVE(1, W, EDOC(F.[9:3], F.[6:7]]);IF DEBUGTOG THEN BEGIN 65925000=10075000= + DEBUGWORD(B2D(F), W, LIN);WRITELINE 65930000=10075000= END; 65935000=10075000= IF(F:= F+1) > 1024 THEN 65940000=10076000= FLAG(307); 65945000=10076000= @@ -13549,7 +13607,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 L2, 65995000=10085000= L3; 66000000=10085000= PROCEDURE 66005000=10086000= - EMITFORMAT(S, CODE, REPEAT, SKIP, W, W1, W2, D1, D2); 66010000=10086000= + EMITFORMAT(S, CODE, REPEAT, SKIP, W, W1, W2, D1, D2); 66010000=10086000= VALUE 66015000=10087000= S, 66020000=10087000= CODE, 66025000=10087000= @@ -13574,12 +13632,12 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 BEGIN 66120000=10090000= IF W > 63 THEN 66125000=10090000= FLAG(163); 66130000=10090000= - W:= REPEAT & W[6:42:6] & SKIP[32:42:6] & W1[28:44:4] & W2[24:44:4]66135000=10095000= - & D1[20:44:4] & D2[16:44:4] & CODE[2:44:4] & REAL(S)[1:47:1]; 66140000=10098000= + W:= REPEAT & W[41:5:6] & SKIP[15:5:6] & W1[19:3:4] & W2[23:3:4] 66135000=10095000= + & D1[27:3:4] & D2[31:3:4] & CODE[45:3:4] & REAL(S)[46:0:1]; 66140000=10098000= WHIPOUT(W) 66145000=10099000= END EMITFORMAT; 66150000=10099000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%66155000=10099000= - STREAM PROCEDURE PACKALPHA(PLACE, LETTER, CTR); 66160000=10100000= + STREAM PROCEDURE PACKALPHA(PLACE, LETTER, CTR); 66160000=10100000= VALUE 66165000=10101000= LETTER, 66170000=10101000= CTR; 66175000=10101000= @@ -13596,6 +13654,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 SI:= SI+7; 66230000=10105000= DS:= CHR 66235000=10105000= END PACKALPHA; 66240000=10105000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%66242000 INTEGER 66245000=10106000= REPEAT, 66250000=10106000= SKIP, 66255000=10106000= @@ -13638,14 +13697,14 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 REPEAT:= REAL(ELCLASS ^= 6"<"); 66440000=10113000= IF ELCLASS = 6"*" THEN 66445000=10113100= BEGIN 66450000=10113100= - REPEAT.[12:1]:= 1; 66455000=10113100= + REPEAT.[35:1]:= 1; 66455000=10113100= NEXTENT; 66460000=10113200= END 66465000=10113300= END; 66470000=10113300= IF ELCLASS = 6"(" OR ELCLASS = 6"<" THEN 66475000=10115000= BEGIN 66480000=10115000= SKIP:= F; 66485000=10116000= - EMITFORMAT(TRUE, RLEFT, REPEAT, 1, 0, 0, 0, 0, 0); 66490000=10117000= + EMITFORMAT(TRUE, RLEFT, REPEAT, 1, 0, 0, 0, 0, 0); 66490000=10117000= DO BEGIN 66495000=10118000= NEXTENT; 66500000=10118000= EL: IF FORMATPHRASE THEN 66505000=10119000= @@ -13654,7 +13713,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 UNTIL ELCLASS ^= 6","; 66520000=10120000= WHILE ELCLASS = 6"/" DO 66525000=10122000= BEGIN 66530000=10122000= - EMITFORMAT(TRUE, RSTROKE, 0, 1, 0, 0, 0, 0, 0); 66535000=10122000= + EMITFORMAT(TRUE, RSTROKE, 0, 1, 0, 0, 0, 0, 0); 66535000=10122000= NEXTENT 66540000=10123000= END; 66545000=10123000= IF ELCLASS ^= 6")" AND ELCLASS ^= 6">" THEN 66550000=10124100= @@ -13662,10 +13721,10 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 IF LASTELCLASS = 6"," THEN 66560000=10124200= GO TO EX; 66565000=10124200= IF REPEAT = 0 THEN 66570000=10125000= - EMITFORMAT(TRUE, RSTROKE, 1, 0, 0, 0, 0, 0, 0); 66575000=10126000= + EMITFORMAT(TRUE, RSTROKE, 1, 0, 0, 0, 0, 0, 0); 66575000=10126000= REPEAT:= F-SKIP; 66580000=10127000= F:= SKIP; 66585000=10127000= - WHIPOUT(EDOC[F.[38:3], F.[41:7]] & REPEAT[28:38:10]); 66590000=10127100= + WHIPOUT(EDOC[F.[9:3], F.[6:7]] & REPEAT[19:9:10]); 66590000=10127100= F:= SKIP+REPEAT; 66595000=10127200= S:= TRUE; 66600000=10127200= CODE:= RRIGHT 66605000=10127200= @@ -13706,7 +13765,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 IF ELCLASS = 6"+" OR ELCLASS = 6"-" THEN 66780000=10134540= NEXTENT; 66785000=10134540= IF ELCLASS = 6"*" THEN 66790000=10134545= - REPEAT.[12:1]:= 1 66795000=10134545= + REPEAT.[35:1]:= 1 66795000=10134545= ELSE 66800000=10134545= IF ELCLASS > 0 THEN 66805000=10134550= BEGIN 66810000=10134550= @@ -13715,7 +13774,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 END 66825000=10134580= ELSE 66830000=10134580= REPEAT:= -ELCLASS; 66835000=10134580= - EMITFORMAT(TRUE, RSCALE, REPEAT, 0, W, 0, 0, 0, 0); 66840000=10134590= + EMITFORMAT(TRUE, RSCALE, REPEAT, 0, W, 0, 0, 0, 0); 66840000=10134590= GO TO L2 66845000=10134610= END 66850000=10135000= ELSE 66855000=10135000= @@ -13730,14 +13789,14 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 RESULT:= 5; 66900000=10140000= COUNT:= 0; 66905000=10140000= SCANNER; 66910000=10140000= - IF ELCLASS:= ACCUM[1].[18:6] = CODE THEN 66915000=10142000= + IF ELCLASS:= ACCUM[1].[29:6] = CODE THEN 66915000=10142000= BEGIN 66920000=10142000= IF SKIP ^= 1 THEN 66925000=10143000= WHIPOUT(W); 66930000=10143000= GO TO L2 66935000=10144000= END; 66940000=10144000= CODE:= 6"""; 66945000=10145000= - PACKALPHA(W, ELCLASS, SKIP); 66950000=10146000= + PACKALPHA(W, ELCLASS, SKIP); 66950000=10146000= END 66955000=10147000= UNTIL SKIP:= SKIP+1 = 7; 66960000=10147000= WHIPOUT(W) 66965000=10149000= @@ -13754,7 +13813,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 IF ELCLASS = 6"*" OR ELCLASS <= 0 THEN 67020000=10150130= BEGIN %%% PHRASE IS AT LEAST UW OR U*. 67025000=10150135= IF ELCLASS = 6"*" THEN 67030000=10150140= - REPEAT.[13:1]:= 1 67035000=10150145= + REPEAT.[34:1]:= 1 67035000=10150145= ELSE 67040000=10150145= W:= -ELCLASS; 67045000=10150145= NEXTENT; 67050000=10150150= @@ -13764,7 +13823,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 IF ELCLASS = 6"*" OR ELCLASS <= 0 THEN 67070000=10150170= BEGIN %%% PHRASE IS UW*.D*. 67075000=10150175= IF ELCLASS = 6"*" THEN 67080000=10150185= - REPEAT.[14:1]:= 1 67085000=10150190= + REPEAT.[33:1]:= 1 67085000=10150190= ELSE 67090000=10150190= SKIP:= -ELCLASS; 67095000=10150190= NEXTENT; 67100000=10150195= @@ -13775,20 +13834,20 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 END 67125000=10150220= ELSE 67130000=10150220= W:= -63; %%% PHRASE IS D. 67135000=10150220= - EMITFORMAT(FALSE, RD, REPEAT, SKIP, W, REAL(CODE = 6"B"), 67140000=10150230= + EMITFORMAT(FALSE, RD, REPEAT, SKIP, W, REAL(CODE = 6"B"), 67140000=10150230= REAL(W < 0), 0, 0); 67145000=10150230= GO TO EXIT; 67150000=10150260= END OF U PHRASE HANDLER; 67155000=10150270= IF GETINT THEN 67160000=10150280= BEGIN 67165000=10150280= W:= 11; 67170000=10150280= - REPEAT.[13:1]:= 1 67175000=10150280= + REPEAT.[34:1]:= 1 67175000=10150280= END 67180000=10150290= ELSE 67185000=10150290= ELCLASS:= -(W:= ELCLASS); 67190000=10150290= IF CODE = 6"I" THEN 67195000=10152000= BEGIN 67200000=10152000= - SKIP:= DIVIDE(W, W1, W2); 67205000=10153000= + SKIP:= DIVIDE(W, W1, W2); 67205000=10153000= CODE:= RI 67210000=10153000= END 67215000=10154000= ELSE 67220000=10154000= @@ -13814,12 +13873,12 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 IF GETINT THEN 67320000=10159100= BEGIN 67325000=10159100= ELCLASS:= 3; 67330000=10159100= - REPEAT.[14:1]:= 1 67335000=10159100= + REPEAT.[33:1]:= 1 67335000=10159100= END; 67340000=10159100= - IF DIVIDE(ELCLASS+D1, D1, D2) > 0 THEN 67345000=10160000= + IF DIVIDE(ELCLASS+D1, D1, D2) > 0 THEN 67345000=10160000= GO TO EX; 67350000=10160000= IF CODE = RF OR CODE = RR THEN 67355000=10161000= - SKIP:= DIVIDE(W-ELCLASS-1, W1, W2) 67360000=10162000= + SKIP:= DIVIDE(W-ELCLASS-1, W1, W2) 67360000=10162000= ELSE 67365000=10162000= IF SKIP:= W-ELCLASS-6 < 0 THEN 67370000=10162000= GO TO EX 67375000=10163000= @@ -13828,8 +13887,8 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 IF CODE = 6"X" THEN 67390000=10164000= BEGIN 67395000=10164000= CODE:= RX; 67400000=10164000= - W1:= W.[38:4]; 67405000=10164000= - SKIP:= W:= W.[42:6] 67410000=10165000= + W1:= W.[9:4]; 67405000=10164000= + SKIP:= W:= W.[5:6] 67410000=10165000= END 67415000=10165500= ELSE 67420000=10165500= IF CODE = 6"T" THEN 67425000=10165500= @@ -13838,8 +13897,8 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 ELSE 67440000=10165505= BEGIN 67445000=10165505= CODE:= RT; 67450000=10165505= - W1:= W.[38:4]; 67455000=10165505= - W:= W.[42:6] 67460000=10165505= + W1:= W.[9:4]; 67455000=10165505= + W:= W.[5:6] 67460000=10165505= END 67465000=10166000= ELSE 67470000=10166000= IF CODE = 6"A" THEN 67475000=10167000= @@ -13862,9 +13921,9 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 BEGIN 67560000=10167700= NEXTENT; 67565000=10167700= IF GETINT THEN 67570000=10167800= - REPEAT.[14:1]:= 1 67575000=10167800= + REPEAT.[33:1]:= 1 67575000=10167800= ELSE 67580000=10167800= - GT1:= DIVIDE(ELCLASS, D1, D2); 67585000=10167900= + GT1:= DIVIDE(ELCLASS, D1, D2); 67585000=10167900= ELCLASS:= -ELCLASS; 67590000=10167910= END; 67595000=10168000= END 67600000=10168000= @@ -13880,7 +13939,7 @@ FOMRAT SERR("THERE WERE ",V8," SEQUENCE ERRORS"); 65395000 ELSE 67650000=10170000= GO EX 67655000=10170000= END; 67660000=10170000= - EMITFORMAT(S, CODE, REPEAT, SKIP, W, W1, W2, D1, D2); 67665000=10171000= + EMITFORMAT(S, CODE, REPEAT, SKIP, W, W1, W2, D1, D2); 67665000=10171000= L2: NEXTENT; 67670000=10172000= GO TO EXIT; 67675000=10172000= EX: FORMATPHRASE:= TRUE; 67680000=10173000= @@ -13908,7 +13967,7 @@ EXIT: 67690000 COMMENT DIVIDE PARTIONS THE PARAMETER NUMBER INTO THREE PARTS. THE 67790000=10181000= RESULT IS PASSED BACK THROUGH P1,P2, AND THE FUNCTION 67795000=10182000= IDENTIFIER. SEE CODE FOR DETAILS; 67800000=10183000= - INTEGER PROCEDURE DIVIDE(NUMBER, P1, P2); 67805000=10184000= + INTEGER PROCEDURE DIVIDE(NUMBER, P1, P2); 67805000=10184000= VALUE 67810000=10185000= NUMBER; 67815000=10185000= INTEGER 67820000=10185000= @@ -13972,7 +14031,7 @@ EXIT: 67690000 BETWEEN CROSSHATCHES SCANNED AFTER A DEFINE DECLARATION 68110000=10225000= AND THOSE SCANNED DURING THE RECALL PROCESS. THE LATER 68115000=10226000= ONLY CAUSES AN UNSETUP; 68120000=10227000= - PROCEDURE DEFINEGEN(MACRO, J); 68125000=10228000= + PROCEDURE DEFINEGEN(MACRO, J); 68125000=10228000= VALUE 68130000=10228000= MACRO, 68135000=10228000= J; 68140000=10228000= @@ -13984,6 +14043,7 @@ EXIT: 67690000 OWN INTEGER 68170000=10230000= CHARCOUNT, 68175000=10230000= REMCOUNT; 68180000=10230000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%68182000 COMMENT CHARCOUNT CONTAINS NUMBER OFCHARACTORS OF THE DEFINE THAT WE68185000=10231000= HAVE PUT INTO INFO. REMCOUNT CONTAINS NUMBER OF CHARACT- 68190000=10232000= ORS REMAINING IN THIS ROW OF INFO; 68195000=10233000= @@ -13991,7 +14051,8 @@ EXIT: 67690000 REAL 68205000=10234000= CHAR; 68210000=10234000= BEGIN 68215000=10235000= - STREAM PROCEDURE PACKINFO(INFO, ISKIP, COUNT, ASKIP, ACCUM); 68220000=10236000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%68216000 + STREAM PROCEDURE PACKINFO(INFO, ISKIP, COUNT, ASKIP, ACCUM); 68220000=10236000= VALUE 68225000=10237000= ISKIP, 68230000=10237000= COUNT, 68235000=10237000= @@ -14004,10 +14065,11 @@ EXIT: 67690000 SI:= SI+3; 68270000=10239000= DS:= COUNT CHR 68275000=10240000= END PACKINFO; 68280000=10240000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%68282000 INTEGER 68285000=10241000= COUNT, 68290000=10241000= SKIPCOUNT; 68295000=10241000= - IF(COUNT:= CHAR.[12:6])+CHARCOUNT > 2047 THEN 68300000=10243000= + IF(COUNT:= CHAR.[35:6])+CHARCOUNT > 2047 THEN 68300000=10243000= BEGIN 68305000=10243000= FLAG(142); 68310000=10243000= TB1:= TRUE 68315000=10243000= @@ -14021,12 +14083,12 @@ EXIT: 67690000 END 68355000=10249000= ELSE 68360000=10249000= REMCOUNT:= REMCOUNT-COUNT; 68365000=10249000= - GT1:= CHARCOUNT DIV 8:= NEXTTEXT; 68370000=10250000= - PACKINFO(TEXT[GT1.LINKR, GT1.LINKC], CHARCOUNT.[45:3], 68375000=10252000= - COUNT, 00, CHAR); 68380000=10252000= + GT1:= CHARCOUNT DIV 8 + NEXTTEXT; 68370000=10250000= + PACKINFO(TEXT[GT1.LINKR, GT1.LINKC], CHARCOUNT.[2:3], 68375000=10252000= + COUNT, 00, CHAR); 68380000=10252000= IF SKIPCOUNT ^= 0 THEN 68385000=10253000= PACKINFO 68390000=10255000= - (TEXT[NEXTTEXT.LINKR+1, 0], 0, SKIPCOUNT, COUNT, CHAR); 68395000=10255000= + (TEXT[NEXTTEXT.LINKR+1, 0], 0, SKIPCOUNT, COUNT, CHAR); 68395000=10255000= CHARCOUNT:= CHARCOUNT+SKIPCOUNT+COUNT 68400000=10256000= END 68405000=10257000= END PUTOGETHER; 68410000=10257000= @@ -14050,8 +14112,8 @@ EXIT: 67690000 DINFO; 68500000=10259200= BOOLEAN 68505000=10259400= TSSTREAMTOG; % 1289 68510000=10259400= - DINFO:= J.[18:15]; 68515000=10259600= - J:= J.[33:15]; 68520000=10259700= + DINFO:= J.[29:15]; 68515000=10259600= + J:= J.[14:15]; 68520000=10259700= TB1:= FALSE; 68525000=10260000= TSSTREAMTOG:= STREAMTOG; % 1289 68530000=10260050= STREAMTOG:= TRUE; 68535000=10260100= @@ -14098,9 +14160,9 @@ SKSC: 68580000 IF J ^= 0 THEN 68740000=10264600= FOR N:= 1 STEP 1 UNTIL J DO 68745000=10264650= BEGIN 68750000=10264700= - IF EQUAL(ACCUM[1].[12:6]+3, ACCUM[1].DEFINFO[(N-1)*10]) THEN 68755000=10264760= + IF EQUAL(ACCUM[1].[35:6]+3, ACCUM[1].DEFINFO[(N-1)*10]) THEN 68755000=10264760= BEGIN 68760000=10264800= - DEFINEPARAM(DINFO+1, N); 68765000=10264810= + DEFINEPARAM(DINFO+1, N); 68765000=10264810= GO PACKIN; 68770000=10264820= END; 68775000=10264830= END; 68780000=10264900= @@ -14180,7 +14242,7 @@ EXIT: 68955000 VARIABLES AND EXPRESSIONS; 69150000=10300000= L:= (T1:= L)+1; 69155000=10301000= COMMENT SAVE L FOR LATER FIXUP; 69160000=10301000= - EMITPAIR(LSTRTN, STD); 69165000=10302000= + EMITPAIR(LSTRTN, STD); 69165000=10302000= COMMENT PREPARE LSTRTN FOR 69170000=10302000= NEXT TIME AROUND; 69175000=10303000= IF (GT1:= TABLE(I+1) = COMMA OR GT1 = RTPAREN OR GT1 = RTBRKET) 69180000=10307000= @@ -14226,7 +14288,7 @@ EXIT: 68955000 IF EXPRSS = DTYPE THEN 69380000=10327000= ERR(156); 69385000=10327000= STORE: 69390000=10328000= - EMITPAIR(JUNK, STD); 69395000=10328000= + EMITPAIR(JUNK, STD); 69395000=10328000= EMITN(JUNK) 69400000=10328000= END; 69405000=10328000= LRTS: 69410000=10329000= @@ -14259,7 +14321,7 @@ EXIT: 68955000 JUMPLACE, 69545000=10346000= LISTPLACE; 69550000=10346000= JUMPLACE:= BAE; 69555000=10347000= - LISTGEN:= LISTPLACE:= PROGDESCBLDR(0, L, 0); 69560000=10348000= + LISTGEN:= LISTPLACE:= PROGDESCBLDR(0, L, 0); 69560000=10348000= COMMENT BUILDS ACCIDENTAL ENTRY FOR LIST; 69565000=10349000= EMITV(LSTRTN); 69570000=10350000= EMITO(BFW); 69575000=10350000= @@ -14275,14 +14337,14 @@ EXIT: 68955000 UNTIL ELCLASS ^= COMMA; 69625000=10358000= EMITL(1); 69630000=10359000= EMITO(CHS); 69635000=10359000= - EMITPAIR(LSTRTN, SND); 69640000=10360000= + EMITPAIR(LSTRTN, SND); 69640000=10360000= EMITO(RTS); 69645000=10361000= COMMENT SET END FLAG OF -1; 69650000=10362000= CONSTANTCLEAN; 69655000=10363000= DIALA:= DIALB:= 0; 69660000=10364000= LISTMODE:= FALSE; 69665000=10365000= ADJUST; 69670000=10365100= - EMITB(BFW, JUMPLACE, L); 69675000=10366000= + EMITB(BFW, JUMPLACE, L); 69675000=10366000= STUFFF(LISTPLACE); 69680000=10367000= IF ELCLASS ^= RTPAREN THEN 69685000=10368000= ERR(104) 69690000=10368000= @@ -14388,26 +14450,26 @@ EXIT: 68955000 WITH THE CURRENT LEVEL COUNTER AND THE ADDITIONAL 70190000=10464000= MONITORING INFORMATION. 70195000=10465000= *********FORMAT OF INFO FOR MONITORED ITEMS**********70200000=10466000= - ALL MONITORED ITEMS- MONITOR BIT [1:1] IN THE ELBAT 70205000=10467000= + ALL MONITORED ITEMS- MONITOR BIT [46:1] IN THE ELBAT 70205000=10467000= WORD WILL BE SET. 70210000=10468000= SIMPLE VARIABLES- A NEW ENTRY IS MADE IN INFO WITH 70215000=10469000= ONE EXTRA WORD WHICH CONTAINS THE ADDRESS OF 70220000=10470000= - THE MONITOR FILE IN [37:11], I WILL HAVE A 70225000=10471000= - DEFINE SVARMONFILE = [37:11]#. 70230000=10472000= + THE MONITOR FILE IN [10:11], I WILL HAVE A 70225000=10471000= + DEFINE SVARMONFILE = [10:11]#. 70230000=10472000= ARRAYS- A NEW ENTRY IS MADE IN INFO WITH THE SAME 70235000=10473000= NUMBER OF WORDS AS THE ORIGIONAL ENTRY. THE 70240000=10474000= - MONITOR FILE IS REMEMBERED IN [27:11] OF THE 70245000=10475000= + MONITOR FILE IS REMEMBERED IN [20:11] OF THE 70245000=10475000= FIRST WORD OF ADDITIONAL INFO. I WILL HAVE A 70250000=10476000= - DEFINE ARRAYMONFILE = [27:11]#. 70255000=10477000= + DEFINE ARRAYMONFILE = [20:11]#. 70255000=10477000= SUBSCRIPTED VARIABLES- THE TECHNIQUE FOR HANDLING 70260000=10478000= SUBSCRIPTED VARIABLES IS IDENTICLE TO THE 70265000=10479000= TECHNIQUE FOR ARRAYS EXCEPT THAT EACH WORD70270000=10480000= OF INFO CONTAINING LOWER BOUND INFORMATION70275000=10481000= ALSO CONTAINS MONITOR INFORMATION. EITHER70280000=10482000= A LITERAL OR AN ADDRESS WILL BE CONTAINED 70285000=10483000= - IN BITS [12:11]. IN [11:1] IS A BIT THAT 70290000=10484000= + IN BITS [35:11]. IN [36:1] IS A BIT THAT 70290000=10484000= DESIGNATES WHETHER AN OPDC OR A LITC 70295000=10485000= - SHOULD BE GENERATED USING [12:11]. IF THE70300000=10486000= + SHOULD BE GENERATED USING [35:11]. IF THE70300000=10486000= BIT IS 1 THEN AN OPDC WILL BE GENERATED, 70305000=10487000= ELSE A LITC. IF AN OPDC IS GENERATED IT 70310000=10488000= MAY BE ON A SIMPLE VARIABLE, OR ON AN 70315000=10489000= @@ -14416,16 +14478,16 @@ EXIT: 68955000 SI* TO THE PRINTI ROUTINE. 70330000=10492000= LABELS- THE FIRST WORD OF ADDITIONAL INFO CONTAINS 70335000=10493000= THE ADDRESS OF THE FILE DESCRIPTOR IN THE 70340000=10494000= - ORIGIONAL ENTRY IN BITS [13:11]. I WILL HAVE A70345000=10495000= - DEFINE LABLMONFILE = [13:11]#. 70350000=10496000= + ORIGIONAL ENTRY IN BITS [34:11]. I WILL HAVE A70345000=10495000= + DEFINE LABLMONFILE = [34:11]#. 70350000=10496000= SWITCHES- THE MONITOR IS THE SAME AS THAT FOR LABELS.70355000=10497000= - I WILL HAVE A DEFINE SWITMONFILE = [13:11]#. 70360000=10498000= + I WILL HAVE A DEFINE SWITMONFILE = [34:11]#. 70360000=10498000= FUNCTION DESIGNATORS- A NEW ENTRY IS MADE IN INFO 70365000=10499000= WITH THE SAME NUMBER OF WORDS AS THE 70370000=10500000= ORIGIONAL ENTRY. THE MONITOR FILE IS 70375000=10501000= - REMEMBERED IN [27:11] OF THE FIRST WORD OF 70380000=10502000= + REMEMBERED IN [20:11] OF THE FIRST WORD OF 70380000=10502000= ADDITIONAL INFO. I WILL HAVE A DEFINE 70385000=10503000= - FUNCMONFILE = [27:11]#; 70390000=10504000= + FUNCMONFILE = [20:11]#; 70390000=10504000= DEFINE 70395000=10505000= FILEIDENT = RR7 #; 70400000=10505000= COMMENT FILEIDENT CONTAINS THE 70405000=10505000= @@ -14473,7 +14535,7 @@ EXIT: 68955000 ADDITIONAL WORD OF INFO FOR 70615000=10533000= MONITORED ARRAYS; 70620000=10534000= DEFINE 70625000=10535000= - INSERTFILE = 27:37:11 #; 70630000=10535000= + INSERTFILE = 20:10:11 #; 70630000=10535000= COMMENT INSERTFILE IS THE 70635000=10535000= CONCATENATE DEFINE FOR 70640000=10536000= STUFFING THE MONITOR FILE 70645000=10537000= @@ -14538,14 +14600,14 @@ START: 70855000 MARKMONITORED: 70940000=10573000= STEPIT; 70945000=10573000= ACCUM[0]:= -ABS(ELBAT[I]); 70950000=10573000= - IF RANGE(BOOID, INTID) THEN 70955000=10575000= + IF RANGE(BOOID, INTID) THEN 70955000=10575000= BEGIN 70960000=10575000= COMMENT THIS CODE HANDLES SIMPLE VARIABLES; 70965000=10575000= E; 70970000=10576000= PUTNBUMP(FILEIDENT); 70975000=10576000= GO CHKCOMMA; 70980000=10577000= END; 70985000=10578000= - IF RANGE(BOOARRAYID, INTARRAYID) THEN 70990000=10580000= + IF RANGE(BOOARRAYID, INTARRAYID) THEN 70990000=10580000= BEGIN 70995000=10580000= COMMENT THIS CODE HANDLES ARRAYS AND 71000000=10580000= SUBSCRIPTED VARIABLES; 71005000=10581000= @@ -14572,7 +14634,7 @@ MARKMONITORED: 70940000 IS NEEDED TO CALL THE SUBSCRIPT; 71110000=10597000= SUBSCRIPT:= ELBAT[I].ADDRESS; 71115000=10598000= OPLIT:= 0; 71120000=10598500= - IF NOT RANGE(INTRNSICPROCID, INTID) THEN 71125000=10600000= + IF NOT RANGE(INTRNSICPROCID, INTID) THEN 71125000=10600000= IF CHECK(LITNO, 402) THEN 71130000=10601000= GO TO EXIT 71135000=10602000= ELSE 71140000=10602000= @@ -14592,7 +14654,7 @@ MARKMONITORED: 70940000 ADDRESS SAVED IN SUBSCRIPT. SUBSCRIPT71210000=10613000= MUST BE MARKED FOR AN OPDC; 71215000=10614000= JUMPCHKNX; 71220000=10615000= - SUBSCRIPT:= PROGDESCBLDR(ADES, L, 0); 71225000=10616000= + SUBSCRIPT:= PROGDESCBLDR(ADES, L, 0); 71225000=10616000= AEXP; 71230000=10616000= EMITO(RTS); 71235000=10616000= JUMPCHKX; 71240000=10616500= @@ -14602,11 +14664,11 @@ MARKMONITORED: 70940000 COMMENT STUFF F AT THIS 71260000=10619000= POINT IF MODE > 0; 71265000=10620000= STUFFF(SUBSCRIPT); 71270000=10621000= - EMITPAIR(SUBSCRIPT, STD); 71275000=10622000= + EMITPAIR(SUBSCRIPT, STD); 71275000=10622000= END; 71280000=10623000= END; 71285000=10624000= - PUT(TAKE(NXTINFOTEMP:= NXTINFOTEMP+1) & SUBSCRIPT[12:37:11] & 71290000=10627000= - OPLIT[11:47:01], NXTINFOTEMP); 71295000=10627000= + PUT(TAKE(NXTINFOTEMP:= NXTINFOTEMP+1) & SUBSCRIPT[35:10:11] & 71290000=10627000= + OPLIT[36:0:01], NXTINFOTEMP); 71295000=10627000= IF ELCLASS = COMMA THEN 71300000=10629000= GO TO STORESUBS; 71305000=10629000= IF CHECK(RTBRKET, 403) THEN 71310000=10631000= @@ -14634,11 +14696,11 @@ MARKMONITORED: 70940000 ERROR(405); 71420000=10647000= GO TO EXIT; 71425000=10647000= END; 71430000=10648000= - PUT(TAKEFRST & FILEIDENT[13:37:11], GIT(ELBAT[I])); 71435000=10650000= - PUT(TAKE(ELBATWORD) & (0-ABS(ELBATWORD))[1:1:34], ELBATWORD); 71440000=10652000= + PUT(TAKEFRST & FILEIDENT[34:10:11], GIT(ELBAT[I])); 71435000=10650000= + PUT(TAKE(ELBATWORD) & (0-ABS(ELBATWORD))[46:46:34], ELBATWORD); 71440000=10652000= GO CHKCOMMA; 71445000=10652000= END; 71450000=10653000= - IF RANGE(BOOPROCID, INTPROCID) THEN 71455000=10655000= + IF RANGE(BOOPROCID, INTPROCID) THEN 71455000=10655000= BEGIN 71460000=10655000= COMMENT THIS CODE HANDLES FUNCTIONS; 71465000=10655000= E; % 71470000=10656000= @@ -14646,8 +14708,8 @@ MARKMONITORED: 70940000 BEGIN 71480000=10656011= %%% COPY FORWARD BIT FROM ELBAT[I] INFO ENTRY INTO MONITOR"S INFO 71485000=10656012= %%% ENTRY, AND THEN TURN OFF THE ELBAT[I] INFO ENTRY"S FORWARD BIT. 71490000=10656013= - PUT(TAKE(LASTINFO+1) & TAKE(RR2.LINK+1)[1:1:1], LASTINFO+1); 71495000=10656014= - PUT(ABS(TAKE(RR2.LINK+1)), RR2.LINK+1); 71500000=10656015= + PUT(TAKE(LASTINFO+1) & TAKE(RR2.LINK+1)[46:46:1], LASTINFO+1); 71495000=10656014= + PUT(ABS(TAKE(RR2.LINK+1)), RR2.LINK+1); 71500000=10656015= END; 71505000=10656016= PUTNBUMP(NOPAR:= TAKEFRST & FILEIDENT[INSERTFILE]); 71510000=10657000= TESTVARB:= (NOPAR:= NOPAR.NOPARPART)+ 71515000=10659000= @@ -14692,16 +14754,16 @@ EXIT: 71640000 A DUMP LIST ELEMENT A DUMPEE. BOTH DUMPORS AND DUMPEES 71710000=10690000= HAVE A COUNTER ASSOCIATED WITH THEM WHICH IS INCREMENTED 71715000=10691000= BY ONE EACH TIME THE LABEL IS PASSED. THE ADDRESS OF THIS71720000=10692000= - COUNTER IS KEPT IN BITS [2:11] OF THE FIRST ADDITIONAL 71725000=10693000= + COUNTER IS KEPT IN BITS [45:11] OF THE FIRST ADDITIONAL 71725000=10693000= WORD OF INFO. THE ADDRESS OF THE PROGRAM DESCRIPTOR FOR 71730000=10694000= - THE CODE GENERATED BY DMUP IS KEPT IN BITS [24:11] OF THE 71735000=10695000= + THE CODE GENERATED BY DMUP IS KEPT IN BITS [23:11] OF THE 71735000=10695000= FIRST ADDITIONAL WORD OF INFO FOR THE DUMPOR. 71740000=10696000= THE CODE THAT IS GENERATED IS OF TWO TYPES. CODE TO 71745000=10697000= INITIALIZE THE COUNTERS MENTIONED ABOVE IS EXECUTED UPON 71750000=10698000= ENTRY TO THE BLOCK CONTAINING THE DUMP DECLARATION. THE 71755000=10699000= OTHER TYPE CODE IS ONLY EXECUTED WHEN THE DUMPOR IS PASSED71760000=10700000= . THIS CODE THEN COMPARES THE DUMPORS COUNTER WITH THE 71765000=10701000= - DUMP INDICATOR, IF THEY ARE NOT EQUAL IT JUMPS TO EXIT. 71770000=10702000= + DUMP INDICATOR, IF THEY ARE NOT EQUAL IT JUMPS TO EXIT. 71770000=10702000= IF THEY ARE EQUAL IT THEN PROCEEDS TO CALL PRINTI ONCE 71775000=10703000= FOR EACH DUMP LIST ELEMENT. FOR A DESCRIPTION OF PRINTI 71780000=10704000= SEE THE COMMENTS FOR THE MERRIMAC ROUTINE; 71785000=10705000= @@ -14774,7 +14836,7 @@ EXIT: 71640000 VARIABLE USED TO INDEX INTO THE72120000=10748000= LABELCTR ARRAY; 72125000=10749000= DEFINE 72130000=10750000= - DUMPE = 2:37:11 #; 72135000=10750000= + DUMPE = 45:10:11 #; 72135000=10750000= COMMENT DUMPE IS THE 72140000=10750000= CONCATENATE DEFINE FOR INSERTING72145000=10751000= THE COUNTER ASSOCIATED WITH THIS72150000=10752000= @@ -14805,7 +14867,7 @@ EXIT: 71640000 DETERMINE WHETHER OR NOT DUMPING 72275000=10769000= SHOULD OCCUR; 72280000=10770000= DEFINE 72285000=10771000= - DUMPR = 24:37:11 #; 72290000=10771000= + DUMPR = 23:10:11 #; 72290000=10771000= COMMENT DUMPR IS THE 72295000=10771000= CONCATENATE DEFINE USED TO 72300000=10772000= INSERT THE ADDRESS OF THE 72305000=10773000= @@ -14847,7 +14909,7 @@ START: 72440000 COMMENT ERROR 410 MEANS MISSING LEFT PAREN IN DUMP DEC; 72485000=10799000= JUMPCHKNX; 72490000=10800000= ADJUST; 72495000=10800000= - DUMPLOC:= PROGDESCBLDR(ADES, L, 0); 72500000=10801000= + DUMPLOC:= PROGDESCBLDR(ADES, L, 0); 72500000=10801000= TESTLOC:= L; 72505000=10801000= L:= L+3; 72510000=10801000= LABELCTRINX:= -1; 72515000=10802000= @@ -14857,7 +14919,7 @@ STARTCALL: 72530000 EMITO(MKS); 72535000=10803000= STEPIT; 72540000=10803000= ELBATWORD:= -ABS(ELBAT[I]); 72545000=10804000= - IF RANGE(BOOARRAYID, INTARRAYID) THEN 72550000=10806000= + IF RANGE(BOOARRAYID, INTARRAYID) THEN 72550000=10806000= BEGIN 72555000=10806000= COMMENT THIS CODE HANDLES ARRAYS AND 72560000=10806000= SUBSCRIPTED VARIABLES; 72565000=10807000= @@ -14870,15 +14932,15 @@ STARTCALL: 72530000 AEXP; 72600000=10812000= EMITO(DUP); 72605000=10812000= SUBSCTR:= 1; 72610000=10813000= - IF (LWRBND:= TAKE(GIT(ELBATWORD)+SUBSCTR)).[35:13] ^= 0 THEN 72615000=10816000= + IF (LWRBND:= TAKE(GIT(ELBATWORD)+SUBSCTR)).[12:13] ^= 0 THEN 72615000=10816000= BEGIN 72620000=10816000= COMMENT SUBTRACT OFF THE 72625000=10816000= LOWER BOUND BEFORE INDEXING;72630000=10817000= - IF LWRBND.[46:2] = 0 THEN 72635000=10819000= + IF LWRBND.[1:2] = 0 THEN 72635000=10819000= EMIT(LWRBND) 72640000=10820000= ELSE 72645000=10820000= - EMITV(LWRBND.[35:11]); 72650000=10820000= - EMIT(LWRBND.[23:12]); 72655000=10821000= + EMITV(LWRBND.[12:11]); 72650000=10820000= + EMIT(LWRBND.[24:12]); 72655000=10821000= END; 72660000=10822000= IF DIMCTR-SUBSCTR = 0 THEN 72665000=10824000= BEGIN 72670000=10824000= @@ -14903,15 +14965,15 @@ STARTCALL: 72530000 EMITL(JUNK); 72765000=10837000= EMITO(SND); 72770000=10837000= SUBSCTR:= SUBSCTR+1; 72775000=10838000= - IF (LWRBND:= TAKE(GIT(ELBATWORD)+SUBSCTR)).[35:13] ^= 0 THEN 72780000=10841000= + IF (LWRBND:= TAKE(GIT(ELBATWORD)+SUBSCTR)).[12:13] ^= 0 THEN 72780000=10841000= BEGIN 72785000=10841000= COMMENT SUBTRACT OFF THE 72790000=10841000= LOWER BOUND BEFORE INDEXING;72795000=10842000= - IF LWRBND.[46:2] = 0 THEN 72800000=10844000= + IF LWRBND.[1:2] = 0 THEN 72800000=10844000= EMIT(LWRBND) 72805000=10845000= ELSE 72810000=10845000= - EMITV(LWRBND.[35:11]); 72815000=10845000= - EMIT(LWRBND.[23:12]); 72820000=10846000= + EMITV(LWRBND.[12:11]); 72815000=10845000= + EMIT(LWRBND.[24:12]); 72820000=10846000= END; 72825000=10847000= IF DIMCTR-SUBSCTR = 0 THEN 72830000=10849000= BEGIN 72835000=10849000= @@ -14940,14 +15002,14 @@ STARTCALL: 72530000 ERR(413); 72950000=10866000= GO TO EXIT; 72955000=10866000= END; 72960000=10867000= - EMITPAIR(ELBATWORD.ADDRESS, LOD); 72965000=10868000= + EMITPAIR(ELBATWORD.ADDRESS, LOD); 72965000=10868000= EMITL(NODIM); 72970000=10868000= FORMATTYPE:= 4; 72975000=10869000= I:= I-1; 72980000=10869000= GO CALLPRINTI; 72985000=10869000= END; 72990000=10870000= FORMATTYPE:= 1; 72995000=10871000= - IF RANGE(BOOID, INTID) THEN 73000000=10873000= + IF RANGE(BOOID, INTID) THEN 73000000=10873000= BEGIN 73005000=10873000= COMMENT THIS CODE HANDLES SIMPLE VARIABLES; 73010000=10873000= EMITV(ELBATWORD.ADDRESS); 73015000=10874000= @@ -14960,18 +15022,18 @@ STARTCALL: 72530000 PUT(TAKEFRST & (LABELCTR[LABELCTRINX:= LABELCTRINX+1]-IF DUMPETEMP 73050000=10882000= := TAKEFRST.DUMPEE = 0 THEN GETSPACE(FALSE, -7) 73055000=10882000= % LABEL DESCRIPTOR. 73060000=10882000= -ELSE DUMPETEMP)[DUMPE], GIT(ELBATWORD)); 73065000=10883000= +ELSE DUMPETEMP)[DUMPE], GIT(ELBATWORD)); 73065000=10883000= EMITV(LABELCTR[LABELCTRINX]); 73070000=10885000= - PUT(TAKE(ELBATWORD) & ELBATWORD[1:1:34], ELBATWORD); 73075000=10886000= + PUT(TAKE(ELBATWORD) & ELBATWORD[46:46:34], ELBATWORD); 73075000=10886000= EMITL(3); 73080000=10887000= IF FALSE THEN 73085000=10887000= CALLPRINTI: 73090000=10888000= EMITL(PASSTYPE(ELBATWORD)); 73095000=10888000= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 73100000=10889000= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 73100000=10889000= PASSALPHA(ELBATWORD); 73105000=10889000= - EMITPAIR(GNAT(CHARI), LOD); 73110000=10890000= + EMITPAIR(GNAT(CHARI), LOD); 73110000=10890000= PASSMONFILE(FILEIDENT); 73115000=10891000= - EMITNUM(FORMATTYPE & CARDNUMBER[1:4:44]); 73120000=10891100= + EMITNUM(FORMATTYPE & CARDNUMBER[46:43:44]); 73120000=10891100= EMITV(GNAT(PRINTI)); 73125000=10891200= IF STEPI = COMMA THEN 73130000=10893000= BEGIN 73135000=10893000= @@ -14999,18 +15061,18 @@ ELSE DUMPETEMP)[DUMPE], GIT(ELBATWORD)); 73065000 GO TO EXIT; 73245000=10909000= COMMENT ERROR 417 MEANS MISSING DUMP LABEL; 73250000=10910000= PUT 73255000=10912000= - (TAKE(ELBATWORD:= -ABS(ELBAT[I])) & ELBATWORD[1:1:34], ELBATWORD)73260000=10912000= + (TAKE(ELBATWORD:=-ABS(ELBAT[I])) & ELBATWORD[46:46:34], ELBATWORD)73260000=10912000= ; 73265000=10912000= IF NOT LOCAL(ELBATWORD) THEN 73270000=10912100= FLAG(417); 73275000=10912100= PUT(TAKEFRST & (LABELCTR[LABELCTRINX:= LABELCTRINX+1]:= IF DUMPETEMP73280000=10915000= := TAKEFRST.DUMPEE = 0 THEN DUMPETEMP:= GETSPACE(FALSE, -7) 73285000=10915000= % LABEL DESCR. 73290000=10915000= -ELSE DUMPETEMP)[DUMPE], GIT(ELBATWORD)); 73295000=10916000= +ELSE DUMPETEMP)[DUMPE], GIT(ELBATWORD)); 73295000=10916000= EMITL(0); 73300000=10917000= DO BEGIN 73305000=10918000= COMMENT THIS CODE INITIALIZES THE LABEL COUNTERS;73310000=10918000= - EMITPAIR(LABELCTR[LABELCTRINX], SND) 73315000=10920000= + EMITPAIR(LABELCTR[LABELCTRINX], SND) 73315000=10920000= END 73320000=10921000= UNTIL LABELCTRINX:= LABELCTRINX-1 < 0; 73325000=10921000= L:= L-1; 73330000=10922000= @@ -15034,9 +15096,9 @@ ELSE DUMPETEMP)[DUMPE], GIT(ELBATWORD)); 73295000 PRIMARY; 73420000=10927000= EMITV(DUMPETEMP); 73425000=10927000= EMITO(EQL); 73430000=10928000= - EMITB(BFC, TESTLOC+6, LEXIT); 73435000=10928000= + EMITB(BFC, TESTLOC+6, LEXIT); 73435000=10928000= L:= FINALL; 73440000=10929000= - PUT(TAKE(GIT(ELBAT[I-3])) & DUMPLOC[DUMPR], GIT(ELBAT[I-3])); 73445000=10930000= + PUT(TAKE(GIT(ELBAT[I-3])) & DUMPLOC[DUMPR], GIT(ELBAT[I-3])); 73445000=10930000= IF ELCLASS = COMMA THEN 73450000=10932000= BEGIN 73455000=10932000= COMMENT GO AROUND ONE MORE TIME; 73460000=10932000= @@ -15058,14 +15120,14 @@ EXIT: 73495000 OF EFFICIENCY. IF A SWITCH IS ONLY CALLED ONE THE CODE 73540000=10944000= IS QUITE A BIT BETTER. AFTER SWITCHGEN GOTOG IS TRUE IF 73545000=10945000= A COMMUNICATE MUST BE USED. THE BLOCK ROUTINE MARKS SUCH 73550000=10946000= - SWITCHES FORMAL. THIS IS, OF COURSE, A FICTION, FOR 73555000=10947000= + SWITCHES FORMAL. THIS IS, OF COURSE, A FICTION, FOR 73555000=10947000= SIMPLE SWITCHES SWITCHGEN LEAVES THE INDEX TO INFO IN EDOC73560000=10948000= SO THAT PURGE CAN FIND THE LABELS. IT SHOULD BE NOTED 73565000=10949000= THAT A SWITCH EXPECTS THE SWITCH INDEX TO BE FOUND IN 73570000=10950000= JUNK. THE RESULT RETURNED BY SWITCHGEN IS WHETHER OR NOT 73575000=10951000= TO STUFF F INOT A SWITCH DESCRIPTOR, SINCE A SWITCH DE- 73580000=10952000= SCRIPTOR IS AN ACCIDENTAL ENTRY DESCRIPTOR; 73585000=10953000= - BOOLEAN PROCEDURE SWITCHGEN(BEFORE, PD); 73590000=10954000= + BOOLEAN PROCEDURE SWITCHGEN(BEFORE, PD); 73590000=10954000= VALUE 73595000=10954100= BEFORE; 73600000=10954100= BOOLEAN 73605000=10954100= @@ -15104,7 +15166,7 @@ EXIT: 73495000 END; 73770000=10964000= LX: IF STEPI = LABELID AND ELBAT[I].LVL = LEVEL THEN 73775000=10966000= BEGIN 73780000=10966000= - INFO[0, N]:= ELBAT[I]; 73785000=10967000= + INFO[0, N]:= ELBAT[I]; 73785000=10967000= IF N:= N+1 = 256 THEN 73790000=10969000= BEGIN 73795000=10969000= ERR(147); 73800000=10969000= @@ -15118,7 +15180,7 @@ LX: IF STEPI = LABELID AND ELBAT[I].LVL = LEVEL THEN 73775000 FOR K:= 0 STEP 1 UNTIL N DO 73840000=10973000= BEGIN 73845000=10973000= COMMENT SAVE LINKS TO LABELS IN EDOC; 73850000=10973000= - EMIT((GT1:= INFO[0, K]).[35:1]); 73855000=10974000= + EMIT((GT1:= INFO[0, K]).[12:1]); 73855000=10974000= EMIT(GT1) 73860000=10975000= END; 73865000=10975000= SWITCHGEN:= FALSE 73870000=10976000= @@ -15128,16 +15190,16 @@ LX: IF STEPI = LABELID AND ELBAT[I].LVL = LEVEL THEN 73775000 BEF: 73890000=10978000= L:= BUMPL; 73895000=10978000= N:= N-1; 73900000=10978000= - PUT(TAKE(LASTINFO) & (PD:= PROGDESCBLDR(ADES, TL, PD))[16:37:11]73905000=10978600= - , LASTINFO); % GET PRT LOC AND SAVE 73910000=10978600= + PUT(TAKE(LASTINFO) & (PD:= PROGDESCBLDR(ADES, TL, PD))[31:10:11] 73905000=10978600= + , LASTINFO); % GET PRT LOC AND SAVE 73910000=10978600= FOR K:= 0 STEP 1 UNTIL N DO 73915000=10980000= BEGIN 73920000=10980000= COMMENT EMIT CODE FOR SIMPLE LABELS SEEN; 73925000=10980000= ADJUST; 73930000=10981000= T1:= L; 73935000=10981000= - EMITL(GNAT(GT1:= INFO[0, K])); 73940000=10982000= + EMITL(GNAT(GT1:= INFO[0, K])); 73940000=10982000= GENGO(GT1); 73945000=10983000= - INFO[0, K]:= T1; 73950000=10984000= + INFO[0, K]:= T1; 73950000=10984000= EMITO(RTS); 73955000=10985000= CONSTANTCLEAN 73960000=10986000= END; 73965000=10986000= @@ -15146,7 +15208,7 @@ LX: IF STEPI = LABELID AND ELBAT[I].LVL = LEVEL THEN 73775000 DO BEGIN 73980000=10988000= ADJUST; 73985000=10988000= STEPIT; 73990000=10989000= - INFO[0, N]:= L; 73995000=10989000= + INFO[0, N]:= L; 73995000=10989000= IF N:= N+1 = 256 THEN 74000000=10991000= BEGIN 74005000=10991000= ERR(147); 74010000=10991000= @@ -15157,13 +15219,13 @@ LX: IF STEPI = LABELID AND ELBAT[I].LVL = LEVEL THEN 73775000 END 74035000=10993000= UNTIL ELCLASS ^= COMMA; 74040000=10993000= ADJUST; 74045000=10993000= - EMITB(BFW, TL+12, L); 74050000=10994000= + EMITB(BFW, TL+12, L); 74050000=10994000= EMITO(BFC); 74055000=10994000= EMIT(0); 74060000=10995000= EMITO(RTS); 74065000=10995000= N:= N-1; 74070000=10995000= FOR K:= 0 STEP 1 UNTIL N DO 74075000=10997000= - EMITB(BBW, BUMPL, INFO[0, K]); 74080000=10997000= + EMITB(BBW, BUMPL, INFO[0, K]); 74080000=10997000= SWITCHGEN:= TRUE 74085000=10998000= END; 74090000=10998000= T1:= L; 74095000=10999000= @@ -15327,11 +15389,11 @@ L1: STEPIT; 74870000 IF ELCLASS = ADOP THEN 74885000=12060800= BEGIN 74890000=12060900= T:= ELBAT[I].ADDRESS; 74895000=12061000= - EMITPAIR(9, STD); 74900000=12061100= + EMITPAIR(9, STD); 74900000=12061100= EMITO(XCH); 74905000=12061100= EMITV(9); 74910000=12061100= EMITO(T); 74915000=12061100= - EMITPAIR(9, STD); 74920000=12061200= + EMITPAIR(9, STD); 74920000=12061200= EMITO(T); 74925000=12061200= EMITV(9); 74930000=12061200= L4: IF S:= S-1 < 1 THEN 74935000=12061300= @@ -15446,10 +15508,10 @@ EXIT: 75370000 ELSE 75480000=12116000= DO BEGIN 75485000=12116000= J:= J+1; 75490000=12116000= - TEXT[NEXTTEXT.LINKR, NEXTTEXT.LINKC]:= TAKE(P); 75495000=12117000= + TEXT[NEXTTEXT.LINKR, NEXTTEXT.LINKC]:= TAKE(P); 75495000=12117000= NEXTTEXT:= NEXTTEXT+1; 75500000=12118000= PUT 75505000=12122000= - (TAKE(P) & NEXTTEXT[11:32:16] & DEFSTACKHEAD[35:35:13], P)75510000=12122000= + (TAKE(P) & NEXTTEXT[36:15:16] & DEFSTACKHEAD[12:12:13], P) 75510000=12122000= ; 75515000=12122000= DEFSTACKHEAD:= P.LINK; 75520000=12123000= P:= GIT(K:= P); 75525000=12123500= @@ -15461,7 +15523,7 @@ EXIT: 75370000 MACROID:= FALSE; 75555000=12127000= END; 75560000=12128000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%75565000=12128000= - PROCEDURE DEFINEPARAM(DINFO, N); 75570000=12150000= + PROCEDURE DEFINEPARAM(DINFO, N); 75570000=12150000= 75575000=12150100= COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000=12150100= WORD) FOR AN INFO TABLE ENTRY FOR A PARAMETER OF A 75585000=12150200= @@ -15476,7 +15538,8 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 BEGIN 75630000=12152000= INTEGER 75635000=12153000= J; 75640000=12153000= - STREAM PROCEDURE MAKEPARAM(INF, ACC, C, Q, N); 75645000=12154000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%75642000 + STREAM PROCEDURE MAKEPARAM(INF, ACC, C, Q, N); 75645000=12154000= VALUE 75650000=12154000= C, 75655000=12154000= Q, 75660000=12154000= @@ -15497,9 +15560,10 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 DI:= DI+2; 75735000=12160000= DS:= 1 CHR; 75740000=12160000= END MAKEPARAM; 75745000=12161000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%75746000 ACCUM[1]:= 0; 75750000=12161500= - MAKEPARAM(INFO[DINFO.LINKR, DINFO.LINKC], ACCUM[1], 75755000=12163000= - J:= INFO[DINFO.LINKR, DINFO.LINKC].[12:6], 7770+J, N); 75760000=12163000= + MAKEPARAM(INFO[DINFO.LINKR, DINFO.LINKC], ACCUM[1], 75755000=12163000= + J:= INFO[DINFO.LINKR, DINFO.LINKC].[35:6], 7770+J, N); 75760000=12163000= SCRAM:= ACCUM[1] MOD 125; 75765000=12164000= COUNT:= J+2; 75770000=12165000= END DEFINEPARAM; 75775000=12166000= @@ -15512,9 +15576,10 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 INTEGER 75810000=13003000= IOT; 75815000=13003000= BEGIN 75820000=13004000= - STREAM PROCEDURE GET7(ACCUM, RESULT); 75825000=13005000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%75822000 + STREAM PROCEDURE GET7(ACCUM, RESULT); 75825000=13005000= BEGIN 75830000=13006000= - LOCAL T, T1; 75835000=13007000= + LOCAL T, T1; 75835000=13007000= LABEL 75840000=13007000= EXIT; 75845000=13007000= SI:= ACCUM; 75850000=13008000= @@ -15539,8 +15604,9 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 DS:= 7 CHR; 75945000=13017000= EXIT: 75950000=13019000= END; 75955000=13019000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%75956000 STREAM PROCEDURE 75960000=13020000= - ENTERID(IDLOC, FILENO, TYPE, MULFID, FILID, FILID1, N); 75965000=13020000= + ENTERID(IDLOC, FILENO, TYPE, MULFID, FILID, FILID1, N); 75965000=13020000= VALUE 75970000=13021000= FILENO, 75975000=13021000= TYPE, 75980000=13021000= @@ -15576,6 +15642,7 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 SI:= SI+5; 76130000=13036000= DS:= 3 CHR 76135000=13038000= END; 76140000=13038000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%76142000 REAL 76145000=13039000= MULFID, 76150000=13039000= FILID, 76155000=13039000= @@ -15648,7 +15715,7 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 J:= K; 76490000=13080000= P2:= P3:= P4:= FALSE; 76495000=13080000= GTA1[0]:= 0; 76500000=13080000= - GET7(ACCUM[1], FILID); 76505000=13080000= + GET7(ACCUM[1], FILID); 76505000=13080000= MULFID:= 0; 76510000=13081000= TYPE:= 2; 76515000=13081000= ENTER(FILEID); 76520000=13081000= @@ -15718,25 +15785,25 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 END; 76840000=13088130= IF ELCLASS = STRNGCON THEN 76845000=13089000= BEGIN 76850000=13090000= - GET7(ACCUM[1], G); 76855000=13091000= + GET7(ACCUM[1], G); 76855000=13091000= IF STEPI = STRNGCON THEN 76860000=13093000= BEGIN 76865000=13094000= - GET7(ACCUM[1], FILID); 76870000=13095000= + GET7(ACCUM[1], FILID); 76870000=13095000= STEPIT; 76875000=13096000= MULFID:= G 76880000=13098000= END 76885000=13100000= ELSE 76890000=13100000= FILID:= G; 76895000=13100000= END; 76900000=13101000= - IF MKABS(IDARRAY[127])-IDLOC.[33:15] < (26+KOUNT).[41:4] THEN76905000=13101200= + IF MKABS(IDARRAY[127])-IDLOC.[14:15] < (26+KOUNT).[6:4] THEN 76905000=13101200= FLAG(040) 76910000=13101200= ELSE 76915000=13101200= - ENTERID(IDLOC, FILENO, TYPE, MULFID, FILID, 76920000=13103000= - INFO[(LASTINFO+1).LINKR, (LASTINFO+1).LINKC], KOUNT); 76925000=13103000= + ENTERID(IDLOC, FILENO, TYPE, MULFID, FILID, 76920000=13103000= + INFO[(LASTINFO+1).LINKR, (LASTINFO+1).LINKC], KOUNT); 76925000=13103000= IF ELCLASS ^= LEFTPAREN THEN 76930000=13105000= FLAG(26); 76935000=13105000= ARRAYFLAG:= BOOLEAN(3); 76940000=13106000= - EMITL(REAL(NOT (P2 OR P3)).[46:2]); 76945000=13108000= + EMITL(REAL(NOT (P2 OR P3)).[1:2]); 76945000=13108000= EMITL(FILENO); 76950000=13109000= FILENO:= FILENO+1; 76955000=13109000= CHECKDISJOINT(TAKE(LASTINFO).ADDRESS); 76960000=13110000= @@ -15744,7 +15811,7 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 AEXP; 76970000=13111000= EMITL(M); 76975000=13111000= COMMENT GUESS AT THE NO. OF BUFFERS DECLARED; 76980000=13112000= - IF(IOTEMP:= GET(L-2)).[46:2] = 0 THEN 76985000=13113000= + IF(IOTEMP:= GET(L-2)).[1:2] = 0 THEN 76985000=13113000= CURRENT:= IOTEMP DIV 4 76990000=13114000= ELSE 76995000=13114000= CURRENT:= 2; 77000000=13114000= @@ -15758,7 +15825,7 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 STEPIT; 77040000=13148000= AEXP; 77045000=13148000= ; 77050000=13148100= - IF(IOTEMP:= GET(L-1)).[46:2] = 0 THEN 77055000=13148200= + IF(IOTEMP:= GET(L-1)).[1:2] = 0 THEN 77055000=13148200= IOTEMP:= IOTEMP DIV 4 77060000=13148300= ELSE 77065000=13148300= IOTEMP:= 256; 77070000=13148300= @@ -15772,7 +15839,7 @@ COMMENT DEFINEPARAM GENERATES EVERYTHING (EXCEPT THE ELBAT 75580000 IF GT1:= FILEATTRIBUTEINDX(FALSE) = 0 THEN 77110000=13157000= BEGIN 77115000=13157010= AEXP; 77120000=13157010= - IF(IOTEMPO:= GET(L-1)).[46:2] = 0 THEN 77125000=13157020= + IF(IOTEMPO:= GET(L-1)).[1:2] = 0 THEN 77125000=13157020= IF IOTEMPO DIV 4 > IOTEMP THEN 77130000=13157030= IOTEMP:= IOTEMPO DIV 4; 77135000=13157040= CALL5; 77140000=13157040= @@ -15836,7 +15903,7 @@ START: 77375000 GO TO OVER; 77430000=13196370= IF ELCLASS ^= ASSIGNOP THEN 77435000=13196380= FLAG(41); 77440000=13196380= - COMMENT MISSING ~; 77445000=13196390= + COMMENT MISSING :=; 77445000=13196390= EMITO(MKS); 77450000=13196400= CHECKDISJOINT(ADDRSF); 77455000=13196410= G:= L; 77460000=13196420= @@ -15847,7 +15914,7 @@ START: 77375000 EMITV(5); 77485000=13196460= COMMENT CREATE AN ARRAY TO HOLD 77490000=13196460= LIST DESCRIPTORS FOR SWITCH LIST; 77495000=13196470= - COMMENT USED TO USE EMITN(XITR), DOESN"T ANYMORE; 77500000=13196480= + COMMENT USED TO USE EMITN(XITR), DOESN"T ANYMORE; 77500000=13196480= J:= -1; 77505000=13196490= STOPENTRY:= FALSE; 77510000=13196490= DO BEGIN 77515000=13196510= @@ -15900,7 +15967,7 @@ OVER: 77600000 STOPPER; 77750000=13217000= BEGIN 77755000=13218000= INTEGER 77760000=13219000= - POINTER; 77765000=13219000= + POINTAH; 77765000=13219000= LABEL 77770000=13220000= RECOV; 77775000=13220000= DEFINE 77780000=13220000= @@ -15911,14 +15978,14 @@ OVER: 77600000 OCR, 77805000=13221000= TL, 77810000=13221000= ADD; 77815000=13221000= - POINTER:= LASTINFO; 77820000=13222000= - WHILE POINTER >= STOPPER DO 77825000=13224000= + POINTAH:= LASTINFO; 77820000=13222000= + WHILE POINTAH >= STOPPER DO 77825000=13224000= BEGIN 77830000=13225000= - IF ELCLASS:= (GT1:= TAKE(POINTER)).CLASS = NONLITNO THEN 77835000=13227000= + IF ELCLASS:= (GT1:= TAKE(POINTAH)).CLASS = NONLITNO THEN 77835000=13227000= BEGIN 77840000=13227000= NCII:= NCII-1; 77845000=13228000= - EMITNUM(TAKE(POINTER+1)); 77850000=13229000= - EMITSTORE(MAXSTACK, STD); 77855000=13230000= + EMITNUM(TAKE(POINTAH+1)); 77850000=13229000= + EMITSTORE(MAXSTACK, STD); 77855000=13230000= MAXSTACK:= (G:= MAXSTACK)+1; 77860000=13231000= J:= L; 77865000=13232000= L:= GT1.LINK; 77870000=13232000= @@ -15928,7 +15995,7 @@ OVER: 77600000 END 77890000=13238000= UNTIL (L:= GT4) = 4095; 77895000=13238000= L:= J; 77900000=13239000= - POINTER:= POINTER-GT1.INCR 77905000=13241000= + POINTAH:= POINTAH-GT1.INCR 77905000=13241000= END 77910000=13243000= ELSE 77915000=13243000= BEGIN 77920000=13243000= @@ -15937,33 +16004,33 @@ OVER: 77600000 IF ELCLASS = LABELID THEN 77935000=13247000= BEGIN 77940000=13247000= ADD:= GT1.ADDRESS; 77945000=13248000= - IF NOT BOOLEAN(OCR:= TAKE(GIT(POINTER))).[1:1] THEN 77950000=13250000= - IF OCR.[36:12] ^= 0 OR ADD ^= 0 THEN 77955000=13251000= + IF NOT BOOLEAN(OCR:= TAKE(GIT(POINTAH))).[46:1] THEN 77950000=13250000= + IF OCR.[11:12] ^= 0 OR ADD ^= 0 THEN 77955000=13251000= BEGIN 77960000=13251000= GT1:= 160; 77965000=13251000= GO TO RECOV 77970000=13251000= END; 77975000=13251000= IF ADD ^= 0 THEN 77980000=13252000= - GT1:= PROGDESCBLDR(2, OCR, ADD) 77985000=13253000= + GT1:= PROGDESCBLDR(2, OCR, ADD) 77985000=13253000= END 77990000=13253000= ELSE 77995000=13253000= IF ELCLASS = SWITCHID THEN 78000000=13254000= BEGIN 78005000=13254000= - IF TAKE(POINTER+1) < 0 THEN 78010000=13256000= + IF TAKE(POINTAH+1) < 0 THEN 78010000=13256000= BEGIN 78015000=13256000= GT1:= 162; 78020000=13256000= GO TO RECOV 78025000=13256000= END; 78030000=13256000= - OCR:= (J:= TAKE(GIT(POINTER))).[24:12]; 78035000=13257000= - N:= GET((J:= J.[36:12])+4); 78040000=13258000= + OCR:= (J:= TAKE(GIT(POINTAH))).[23:12]; 78035000=13257000= + N:= GET((J:= J.[11:12])+4); 78040000=13258000= TL:= L; 78045000=13258000= IF ADD:= GT1.ADDRESS ^= 0 THEN 78050000=13260000= BEGIN 78055000=13260000= - GT5:= PROGDESCBLDR(0, J, ADD); 78060000=13261000= + GT5:= PROGDESCBLDR(0, J, ADD); 78060000=13261000= IF OCR ^= 0 THEN 78065000=13263000= BEGIN 78070000=13263000= L:= OCR-2; 78075000=13263000= - CALLSWITCH(POINTER); 78080000=13263000= + CALLSWITCH(POINTAH); 78080000=13263000= EMITO(BFW); 78085000=13263000= END; 78090000=13263000= L:= J+11; 78095000=13264000= @@ -15981,31 +16048,31 @@ OVER: 77600000 FOR J:= 4 STEP 4 UNTIL N DO 78155000=13272000= BEGIN 78160000=13272000= GT1:= GET(L)*4096+GET(L+1); 78165000=13273000= - GOGEN(GT1, BFW) 78170000=13274000= + GOGEN(GT1, BFW) 78170000=13274000= END; 78175000=13274000= END; 78180000=13274000= L:= TL 78185000=13277000= END 78190000=13278000= ELSE 78195000=13278000= IF ELCLASS >= PROCID AND ELCLASS <= INTPROCID THEN 78200000=13279000= - IF TAKE(POINTER+1) < 0 THEN 78205000=13280000= + IF TAKE(POINTAH+1) < 0 THEN 78205000=13280000= BEGIN 78210000=13280000= GT1:= 161; 78215000=13280000= RECOV: 78220000=13281000= - MOVE(9, INFO[POINTER.LINKR, POINTER.LINKC], ACCUM); 78225000=13281000= + MOVE(9, INFO[POINTAH.LINKR, POINTAH.LINKC], ACCUM); 78225000=13281000= Q:= ACCUM[1]; 78230000=13282000= FLAG(GT1); 78235000=13282000= ERRORTOG:= TRUE 78240000=13282000= END 78245000=13283000= END; 78250000=13283000= - XREFDUMP(POINTER); % DUMP XREF INFO 78255000=13283500= - GT2:= TAKE(POINTER+1); 78260000=13284000= + XREFDUMP(POINTAH); % DUMP XREF INFO 78255000=13283500= + GT2:= TAKE(POINTAH+1); 78260000=13284000= GT3:= GT2.PURPT; 78265000=13285000= - STACKHEAD(0 & GT2[12:12:36]) MOD 125]:= TAKE(POINTER).LINK; 78270000=13286000= - POINTER:= POINTER-GT3 78275000=13288000= + STACKHEAD(0 & GT2[35:35:36]) MOD 125]:= TAKE(POINTAH).LINK; 78270000=13286000= + POINTAH:= POINTAH-GT3 78275000=13288000= END 78280000=13289000= END; 78285000=13289000= - LASTINFO:= POINTER; 78290000=13290000= + LASTINFO:= POINTAH; 78290000=13290000= NEXTINFO:= STOPPER 78295000=13292000= END; 78300000=13292000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%78305000=13292000= @@ -16025,7 +16092,7 @@ COMMENT 78320000 LINKR 78375000=13304000= THEN 78380000=13304000= BEGIN 78385000=13304000= - PUT(0 & (RINX*256-NEXTINFO)[27:40:8], NEXTINFO); 78390000=13304000= + PUT(0 & (RINX*256-NEXTINFO)[20:7:8], NEXTINFO); 78390000=13304000= NEXTINFO:= 256*RINX 78395000=13305000= END; 78400000=13305000= IF SPECTOG THEN 78405000=13305100= @@ -16036,7 +16103,7 @@ COMMENT 78320000 ACCUM[0].LINK:= STACKHEAD[SCRAM]; 78430000=13308000= STACKHEAD[SCRAM]:= NEXTINFO; 78435000=13308000= ACCUM[1].PURPT:= NEXTINFO:= LASTINFO; 78440000=13309000= - MOVE(WORDCOUNT, ACCUM, INFO[NEXTINFO.LINKR, NEXTINFO.LINKC]); 78445000=13310000= + MOVE(WORDCOUNT, ACCUM, INFO[NEXTINFO.LINKR, NEXTINFO.LINKC]); 78445000=13310000= IF XREF THEN % MAKE DECLARATION REFERENCE 78450000=13310050= IF(ACCUM[0].CLASS ^= DEFINEID OR NOT BOOLEAN(ACCUM[0].FORMAL)) 78455000=13310080= THEN % NOT DEFINE PARAMETER 78460000=13310080= @@ -16049,13 +16116,13 @@ COMMENT 78320000 IF SPECTOG THEN % JUST GO BACK AND FIX UP XREF ENTRY 78495000=13310500= XMARK(DECLREF) 78500000=13310550= ELSE 78505000=13310550= - XREFIT(NEXTINFO, CARDNUMBER, IF PTOG AND NOT STREAMTOG THEN 78510000=13310580= + XREFIT(NEXTINFO, CARDNUMBER, IF PTOG AND NOT STREAMTOG THEN 78510000=13310580= NORMALREF ELSE DECLREF); 78515000=13310580= END 78520000=13310700= ELSE % DEFINE PARAMETERS - DONT CROSS REF. 78525000=13310700= XREFINFO[NEXTINFO]:= 0 78530000=13310800= ELSE 78535000=13310800= - IF DEFINING.[1:1] THEN % WE ARE DOING XREFING 78540000=13310900= + IF DEFINING.[46:1] THEN % WE ARE DOING XREFING 78540000=13310900= XREFINFO[NEXTINFO]:= 0; 78545000=13310950= LASTINFO:= NEXTINFO; 78550000=13311000= IF NEXTINFO:= NEXTINFO+WORDCOUNT >= 8192 THEN 78555000=13312000= @@ -16159,7 +16226,7 @@ COMMENT 78975000 STACKHEAD[SCRAM]:= TAKE(LINKT).LINK 79045000=13363000= ELSE 79050000=13363000= L: IF A:= TAKE(LINKT).LINK = LINKP THEN 79055000=13365000= - PUT((TAKE(LINKT)) & (TAKE(A))[35:35:13], LINKT) 79060000=13366000= + PUT((TAKE(LINKT)) & (TAKE(A))[12:12:13], LINKT) 79060000=13366000= ELSE 79065000=13366000= BEGIN 79070000=13366000= LINKT:= A; 79075000=13366000= @@ -16173,8 +16240,8 @@ COMMENT 78975000 GT1:= LEVELF 79115000=13371000= ELSE 79120000=13371000= GT1:= LEVEL; 79125000=13371000= - ACCUM[0]:= ABS(ELBAT[I] & KLASSF[2:41:7] & REAL(FORMALF)[9:47:1] & 79130000=13375000= - REAL(VONF)[10:47:1] & GT1[11:43:5] & ADDRSF[16:37:11]) 79135000=13375000= + ACCUM[0]:= ABS(ELBAT[I] & KLASSF[45:6:7] & REAL(FORMALF)[38:0:1] & 79130000=13375000= + REAL(VONF)[37:0:1] & GT1[36:4:5] & ADDRSF[31:10:11]) 79135000=13375000= END; 79140000=13375000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%79145000=13375000= PROCEDURE ARRAE; 79150000=13376000= @@ -16347,7 +16414,7 @@ TWO: 79830000 I:= I-1; 79985000=13499000= T2:= GETSPACE(P2, -1); %TEMP. 79990000=13500000= AEXP; 79995000=13501000= - EMITSTORE(T2, ISN); 80000000=13501000= + EMITSTORE(T2, ISN); 80000000=13501000= T2:= T2*4+SUBC+2; 80005000=13502000= IF ELCLASS ^= COLON THEN 80010000=13503000= FLAG(017); 80015000=13504000= @@ -16424,12 +16491,12 @@ COMMENT KEEP COUNT OF NO. OF ARRAYS DECLARED; 80340000 EMITL(REAL(P3)+2*REAL(P2)+REAL(P4)*64); 80370000=13553000= EMITV(5) 80375000=13555000= END; 80380000=13555000= - PUT(LBJ, SAVEINFO2-1); 80385000=13556000= + PUT(LBJ, SAVEINFO2-1); 80385000=13556000= DO BEGIN 80390000=13557000= T:= TAKE(SAVEINFO); 80395000=13558000= K:= T.INCR; 80400000=13559000= T.INCR:= SAVEINFO2-SAVEINFO-1; 80405000=13560000= - PUT(T, SAVEINFO); 80410000=13561000= + PUT(T, SAVEINFO); 80410000=13561000= END 80415000=13563000= UNTIL SAVEINFO:= SAVEINFO+K = SAVEINFO2-1; 80420000=13563000= IF STEPI ^= COMMA THEN 80425000=13564000= @@ -16471,7 +16538,7 @@ START: 80570000 REAL 80605000=13591000= X; 80610000=13591000= BEGIN 80615000=13592000= - INFO[NEXTINFO.LINKR, NEXTINFO.LINKC]:= X; 80620000=13593000= + INFO[NEXTINFO.LINKR, NEXTINFO.LINKC]:= X; 80620000=13593000= NEXTINFO:= NEXTINFO+1 80625000=13595000= END; 80630000=13595000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%80635000=13595000= @@ -16486,7 +16553,7 @@ COMMENT THIS PROCEDURE IS CALLED AT THE START OF ANY EXECUTABLE CODE 80650000 IF AJUMP THEN 80680000=13604000= BEGIN 80685000=13605000= ADJUST; 80690000=13605000= - EMITB(BFW, SAVEL, L) 80695000=13607000= + EMITB(BFW, SAVEL, L) 80695000=13607000= END 80700000=13608000= ELSE 80705000=13608000= IF FIRSTX = 4095 THEN 80710000=13609000= @@ -16519,12 +16586,12 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 80760000 IF NOHEADING THEN 80845000=13633000= DATIME; 80850000=13633000= IF SINGLTOG THEN 80855000=13633100= - WRITE(LINE, PRINTSEGNO, SGAVL) 80860000=13633200= + WRITE(LINE, PRINTSEGNO, SGAVL) 80860000=13633200= ELSE 80865000=13633200= - WRITE(LINE[DBL], PRINTSEGNO, SGAVL); 80870000=13633200= + WRITE(LINE[DBL], PRINTSEGNO, SGAVL); 80870000=13633200= END SEGMENTSTART; 80875000=13633300= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%80880000=13633300= - PROCEDURE SEGMENT(SIZE, NO, NOO); 80885000=13634000= + PROCEDURE SEGMENT(SIZE, NO, NOO); 80885000=13634000= VALUE 80890000=13635000= SIZE, 80895000=13635000= NO, 80900000=13635000= @@ -16537,28 +16604,28 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 80760000 INTEGER 80935000=13637100= DUMMY; % THIS IS HERE SO THAT OUR CODE SEGMENT 80940000=13637100= % IS NOT TOO BIG 80945000=13637200= - PDPRT[PDINX.[37:5], PDINX.[42:6]]:= SIZE & NO[28:38:10] & 80950000=13640000= - MOVEANDBLOCK(EDOC, ABS(SIZE), -ABS(NO))[13:33:15] & 80955000=13641000= - REAL(SAVEPRTOG)[3:47:1]; 80960000=13641000= + PDPRT[PDINX.[10:5], PDINX.[5:6]]:= SIZE & NO[19:9:10] & 80950000=13640000= + MOVEANDBLOCK(EDOC, ABS(SIZE), -ABS(NO))[34:14:15] & 80955000=13641000= + REAL(SAVEPRTOG)[44:0:1]; 80960000=13641000= PDINX:= PDINX+1; 80965000=13642000= SIZE:= ABS(SIZE); 80970000=13642000= IF SIZE > SEGSIZEMAX THEN 80975000=13643000= SEGSIZEMAX:= SIZE; 80980000=13643000= AKKUM:= AKKUM+SIZE; 80985000=13644000= IF SAVEPRTOG THEN 80990000=13645000= - AUXMEMREQ:= AUXMEMREQ+16*(SIZE.[38:6]+1); 80995000=13645000= + AUXMEMREQ:= AUXMEMREQ+16*(SIZE.[9:6]+1); 80995000=13645000= IF LISTER OR SEGSTOG THEN 81000000=13646000= BEGIN 81005000=13647000= IF NOHEADING THEN 81010000=13648000= DATIME; 81015000=13648000= IF SINGLTOG THEN 81020000=13649000= - WRITE(LINE, PRINTSIZE, NO, SIZE, NOO) 81025000=13650000= + WRITE(LINE, PRINTSIZE, NO, SIZE, NOO) 81025000=13650000= ELSE 81030000=13650000= - WRITE(LINE, PRINTSIZE, NO, SIZE, NOO); 81035000=13650000= + WRITE(LINE, PRINTSIZE, NO, SIZE, NOO); 81035000=13650000= END; 81040000=13651000= - LDICT[NO.[38:3], NO.[41:7]]:= 81045000=13653000= + LDICT[NO.[9:3], NO.[6:7]]:= 81045000=13653000= IF BUILDLINE THEN 81050000=13653000= - MOVENADBLOCK(ENIL, ENILPTR+1, 4) & SIZE[18:33:15] 81055000=13655000= + MOVENADBLOCK(ENIL, ENILPTR+1, 4) & SIZE[29:14:15] 81055000=13655000= ELSE 81060000=13655000= -1; 81065000=13655000= END OF SEGMENT; 81070000=13656000= @@ -16588,7 +16655,7 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 80760000 ENTRY(TYPE) 81190000=13727000= END ENTER; 81195000=13727000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%81200000=13727000= - PROCEDURE HTTEOAP(GOTSTORAGE, RELAD, STOPPER, PRTAD); 81205000=13731000= + PROCEDURE HTTEOAP(GOTSTORAGE, RELAD, STOPPER, PRTAD); 81205000=13731000= VALUE 81210000=13732000= GOTSTORAGE, 81215000=13732000= RELAD, 81220000=13732000= @@ -16619,19 +16686,19 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 80760000 MAXSTACK:= STACKCTR; 81345000=13748000= CONSTANTCLEAN; 81350000=13749000= IF K:= MAXSTACK-514 > 0 OR GOTSTORAGE OR BT OR NCII > 0 OR FAULTOG. 81355000=13750000= - [46:1] 81360000=13751000= + [1:1] 81360000=13751000= THEN 81365000=13751000= BEGIN 81370000=13752000= ADJUST; 81375000=13752000= LS:= L; 81380000=13752000= - IF BT OR GOTSTORAGE OR FAULTOG.[46:1] THEN 81385000=13754000= + IF BT OR GOTSTORAGE OR FAULTOG.[1:1] THEN 81385000=13754000= BEGIN 81390000=13755000= % 81395000=13755500= EMITV(BLOCKCTR); 81400000=13756000= EMITL(1); 81405000=13757000= EMITO(ADD); 81410000=13758000= - IF GOTSTORAGE OR FAULTOG.[46:1] THEN 81415000=13760000= - EMITSTORE(BLOCKCTR, SND) 81420000=13762500= + IF GOTSTORAGE OR FAULTOG.[1:1] THEN 81415000=13760000= + EMITSTORE(BLOCKCTR, SND) 81420000=13762500= END 81425000=13762500= % 81430000=13762500= ELSE 81435000=13763000= @@ -16644,17 +16711,17 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 80760000 BEGIN 81470000=13767200= IF FAULTLEVEL = LEVEL THEN 81475000=13767200= FAULTLEVEL:= 32; 81480000=13767200= - EMITPAIR(0, MDS); 81485000=13767300= + EMITPAIR(0, MDS); 81485000=13767300= EMITO(CHS); 81490000=13767300= END OF THIS PART OF ERROR KLUDGE; 81495000=13767400= EMIT(0); % DC & DISK 81500000=13767500= BUMPL; 81505000=13768000= - EMITB(BBC, L, IF RELAD = 4095 THEN 0 ELSE RELAD); % DC & DISK 81510000=13769000= + EMITB(BBC, L, IF RELAD = 4095 THEN 0 ELSE RELAD); % DC & DISK 81510000=13769000= CONSTANTCLEAN 81515000=13771000= END 81520000=13771000= ELSE 81525000=13771000= PURGE(STOPPER); 81530000=13771000= - Z:= PROGDESCBLDR(PDES, IF LS = 4095 THEN 0 ELSE LS, PRTAD); 81535000=13772000= + Z:= PROGDESCBLDR(PDES, IF LS = 4095 THEN 0 ELSE LS, PRTAD); 81535000=13772000= END HTTEOAP; 81540000=13773000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%81545000=13773000= PROCEDURE FORMATGEN; 81550000=13774000= @@ -16666,12 +16733,12 @@ COMMENT JUMPCHKNX DETERMINES WHETHER ANY EXECUTABLE CODE HAS BEEN 80760000 BOOLEAN 81580000=13777000= TB2; 81585000=13777000= ARRAY 81590000=13777500= - TEDOC[0:7, 0:127]; 81595000=13777500= - MOVECODE(TEDOC, EDOC); 81600000=13777600= + TEDOC[0:7, 0:127]; 81595000=13777500= + MOVECODE(TEDOC, EDOC); 81600000=13777600= BUILDLINE:= BOOLEAN(2*REAL(BUILDLINE)); 81605000=13777700= TB2:= GTA1[J-1] = SWITCHV; 81610000=13778000= GT5:= SGNO; 81615000=13779000= -L: GT1:= (2*SGAVL-1) & 2[4:46:2]; 81620000=13780000= +L: GT1:= (2*SGAVL-1) & 2[43:1:2]; 81620000=13780000= STOPENTRY:= TRUE; 81625000=13780000= IF LISTER OR SEGSTOG THEN 81630000=13780002= SEGMENTSTART; 81635000=13780002= @@ -16679,13 +16746,13 @@ L: GT1:= (2*SGAVL-1) & 2[4:46:2]; 81620000 F:= 0; 81645000=13783000= PRT:= GETSPACE(TRUE, 1); 81650000=13783000= STOPGSP:= TRUE; % FORMAT. 81655000=13783000= - Z:= PROGDESCBLDR(LDES, 0, PRT); 81660000=13784000= + Z:= PROGDESCBLDR(LDES, 0, PRT); 81660000=13784000= IF TB2 THEN 81665000=13785000= BEGIN 81670000=13786000= ENTRY(SUPERFRMTID); 81675000=13787000= IF ELCLASS ^= ASSIGNOP THEN 81680000=13787000= FLAG(36); 81685000=13787000= - PUT(TAKE(LASTINFO) & PRT[16:37:11], LASTINFO); 81690000=13788000= + PUT(TAKE(LASTINFO) & PRT[31:10:11], LASTINFO); 81690000=13788000= RR4:= NEXTINFO; 81695000=13789000= PUTNBUMP(0); 81700000=13789000= DO BEGIN 81705000=13791000= @@ -16715,12 +16782,12 @@ L: GT1:= (2*SGAVL-1) & 2[4:46:2]; 81620000 IF ELCLASS ^= LEFTPAREN THEN 81825000=13806000= FLAG(32); 81830000=13806000= ELCLASS:= 6"<"; 81835000=13806000= - PUT(TAKE(LASTINFO) & PRT[16:37:11] & F[27:40:8], LASTINFO); 81840000=13807000= + PUT(TAKE(LASTINFO) & PRT[31:10:11] & F[20:7:8], LASTINFO); 81840000=13807000= TB1:= FORMATPHRASE; 81845000=13808000= END 81850000=13810000= UNTIL ELCLASS ^= 6"," OR TB1:= F >= 256; 81855000=13810000= END; 81860000=13813000= - SEGMENT(-F, SGNO, GT5); 81865000=13814000= + SEGMENT(-F, SGNO, GT5); 81865000=13814000= SGAVL:= SGAVL+1; 81870000=13814000= IF TB1 AND ELCLASS = 6"," THEN 81875000=13815000= BEGIN 81880000=13815000= @@ -16733,8 +16800,8 @@ L: GT1:= (2*SGAVL-1) & 2[4:46:2]; 81620000 ELBAT[I].CLASS:= SEMICOLON; 81915000=13816000= STOPGSP:= STOPENTRY:= FALSE; 81920000=13817000= SGNO:= GT5; 81925000=13818000= - MOVECODE(TEDOC, EDOC); 81930000=13818500= - BUILDLINE:= BUILDLINE.[46:1]; 81935000=13818600= + MOVECODE(TEDOC, EDOC); 81930000=13818500= + BUILDLINE:= BUILDLINE.[1:1]; 81935000=13818600= END FORMATGEN; 81940000=13819000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%81945000=13819000= PROCEDURE CHECKBOUNDLVL; 81950000=13819100= @@ -16768,9 +16835,9 @@ L: GT1:= (2*SGAVL-1) & 2[4:46:2]; 81620000 J:= J+1; 82090000=13907000= SCATTERELBAT; 82095000=13908000= A:= ACCUM[1]; 82100000=13908000= - IF TP:= REAL((Q = 6"6INTOV") & (Q = 6"6EXPOV")[46:47:1] & 82105000=13910000= - (Q = 6"5INDEX")[45:47:1] & (Q = 6"4ZERO0")[44:47:1] & 82110000=13910000= - (Q = 6"4FLAG0")[43:47:1]) = 0 82115000=13911000= + IF TP:= REAL((Q = 6"6INTOV") & (Q = 6"6EXPOV")[1:0:1] & 82105000=13910000= + (Q = 6"5INDEX")[2:0:1] & (Q = 6"4ZERO0")[3:0:1] & 82110000=13910000= + (Q = 6"4FLAG0")[4:0:1]) = 0 82115000=13911000= THEN 82120000=13911000= ERR(61) 82125000=13911000= ELSE 82130000=13911000= @@ -16778,13 +16845,13 @@ L: GT1:= (2*SGAVL-1) & 2[4:46:2]; 81620000 IF TABLE(I+1) = ASSIGNOP THEN 82140000=13911100= BEGIN 82145000=13911200= STEPIT; 82150000=13911200= - COMMENT OVER THE ~; 82155000=13911200= + COMMENT OVER THE :=; 82155000=13911200= IF GT1:= STEPI > IDMAX AND GT1 < FAULTID THEN 82160000=13911300= ERR(3); 82165000=13911300= LEVELF:= ELBAT[I].LVL; 82170000=13911400= END 82175000=13911500= ELSE 82180000=13911500= - COUNT:= (ACCUM[1]:= A).[12:6]; 82185000=13911500= + COUNT:= (ACCUM[1]:= A).[35:6]; 82185000=13911500= IF LEVELF = LEVEL THEN 82190000=13912000= ERR(1) 82195000=13912000= ELSE 82200000=13912000= @@ -16796,10 +16863,10 @@ L: GT1:= (2*SGAVL-1) & 2[4:46:2]; 81620000 IF MODE = 0 THEN 82230000=13914000= BEGIN 82235000=13914000= EMITL(0); 82240000=13914000= - EMITPAIR(ADDRSF, STD); 82245000=13915000= + EMITPAIR(ADDRSF, STD); 82245000=13915000= END; 82250000=13915000= EMITN(ADDRSF); 82255000=13915000= - EMIT(6"!E"); 82260000=13916000= + EMIT(3"74"6"E"); 82260000=13916000= COMMENT C-TO-F; 82265000=13916000= MAKEUPACCUM; 82270000=13917000= E; 82275000=13917000= @@ -16881,16 +16948,16 @@ COMMENT SOP IS TRUE IF THE BLOCK WAS CALLED BY ITSELF THROUGH THE 82370000 DEFINE 82655000=14022000= NLOCS = 10 #, 82660000=14022000= LOCBEGIN = PRTI #, 82665000=14023000= - LBP = [36:12] #, 82670000=14023100= + LBP = [11:12] #, 82670000=14023100= SPACEITDOWN = BEGIN 82675000=14023100= WRITE(LINE[DBL]); 82680000=14023100= WRITE(LINE[DBL]) 82685000=14023100= END #; 82690000=14023100= ARRAY 82695000=14024000= - TEDOC[0:7, 0:127], 82700000=14024000= + TEDOC[0:7, 0:127], 82700000=14024000= LOCALS[0:NLOCS]; 82705000=14024000= ARRAY 82710000=14024100= - TENIL[0:7, 0:127]; 82715000=14024100= + TENIL[0:7, 0:127]; 82715000=14024100= INTEGER 82720000=14024200= OLDLASTADDRESS; 82725000=14024200= INTEGER 82730000=14024300= @@ -16943,15 +17010,15 @@ COMMENT SOP IS TRUE IF THE BLOCK WAS CALLED BY ITSELF THROUGH THE 82370000 EMITO(BFW); 82965000=14046000= CONSTANTCLEAN 82970000=14048000= END; 82975000=14048000= - MOVECODE(TEDOC, EDOC); 82980000=14049000= - MOVECODE(TENIL, ENIL); 82985000=14049000= + MOVECODE(TEDOC, EDOC); 82980000=14049000= + MOVECODE(TENIL, ENIL); 82985000=14049000= OLDLASTADDRESS:= LASTADDRESS; 82990000=14049100= LASTADDRESS:= -1; 82995000=14049100= OLDENILPTR:= ENILPTR; 83000000=14049200= ENILPTR:= 0; 83005000=14049200= - ENILSPOT:= 0 & CARDNUMBER[10:20:28]; 83010000=14049300= + ENILSPOT:= 0 & CARDNUMBER[37:27:28]; 83010000=14049300= ENILPTR:= 1; 83015000=14049300= - MOVE(NLOCS, LOCBEGIN, LOCALS); 83020000=14050000= + MOVE(NLOCS, LOCBEGIN, LOCALS); 83020000=14050000= FIRSTXO:= FIRSTX; 83025000=14051000= FIRSTX:= 4095; 83030000=14052000= IF LEVEL < 31 THEN 83035000=14053000= @@ -16977,7 +17044,7 @@ COMMENT SOP IS TRUE IF THE BLOCK WAS CALLED BY ITSELF THROUGH THE 82370000 STACKCTRO:= STACKCTR; 83135000=14058000= FAULTOGO:= FAULTOG; 83140000=14058100= FAULTOG:= GOTSTORAGE:= FALSE; 83145000=14059000= - SAVEPRTOG:= (SAVEPRTOGO:= SAVEPRTOG) OR SOP.[46:1]; 83150000=14059100= + SAVEPRTOG:= (SAVEPRTOGO:= SAVEPRTOG) OR SOP.[1:1]; 83150000=14059100= IF LISTER OR SEGSTOG THEN 83155000=14060000= SEGMENTSTART; 83160000=14060000= SGNO:= SGAVL; 83165000=14061000= @@ -17027,14 +17094,14 @@ START: 83180000 BEGIN 83385000=14106000= T2:= -T2; 83390000=14107000= T2.LBP:= 4*(F-N)+2; 83395000=14108000= - PUT(T2, BUP+T1+N) 83400000=14110000= + PUT(T2, BUP+T1+N) 83400000=14110000= END; 83405000=14110000= N:= N-1 83410000=14112000= END 83415000=14114000= END 83420000=14115000= ELSE 83425000=14115000= G.ADDRESS:= F:= F+1; 83430000=14115000= - PUT(G, BUP); 83435000=14116000= + PUT(G, BUP); 83435000=14116000= G.INCR:= GT1; 83440000=14116000= IF FWDTOG THEN 83445000=14116100= COMMENT CHECK CORRESPONDENCE W/ FWD; 83450000=14116100= @@ -17048,7 +17115,7 @@ START: 83180000 FLAG(50) 83490000=14116600= END 83495000=14117000= ELSE 83500000=14117000= - PUT(G, MARK+PJ); 83505000=14118000= + PUT(G, MARK+PJ); 83505000=14118000= BUP:= BUP-TAKE(BUP+1).PURPT 83510000=14119000= END 83515000=14120000= UNTIL PJ:= PJ-1 = 0 83520000=14121000= @@ -17180,10 +17247,10 @@ LISTDEC: 84015000 % EMITTED B4 DOING THE PUT-TAKE BELOW. 84150000=14176000= F:= LISTGEN; 84155000=14177000= PUT(TAKE(SAVEINFO) & 84160000=14179000= - (IF MODE = 0 THEN F ELSE F:= GETSPACE(FALSE, SAVEINFO+1)) 84165000=14179000= + (IF MODE = 0 THEN F ELSE F:= GETSPACE(FALSE, SAVEINFO+1)) 84165000=14179000= % LIST DESCR. 84170000=14179000= -[16:11], SAVEINFO); 84175000=14180000= - EMITSTORE(F, STD); 84180000=14181000= + [31:11], SAVEINFO); 84175000=14180000= + EMITSTORE(F, STD); 84180000=14181000= END 84185000=14182000= UNTIL ELCLASS ^= COMMA; 84190000=14182000= STOPENTRY:= STOPGSP:= FALSE; 84195000=14183000= @@ -17224,7 +17291,7 @@ SWITCHDEC: 84285000 BEGIN 84370000=14209000= IF TAKE(LINKF+1) >= 0 THEN 84375000=14211000= FLAG(1); 84380000=14211000= - PUT(-TAKE(LINKF+1), LINKF+1); 84385000=14211000= + PUT(-TAKE(LINKF+1), LINKF+1); 84385000=14211000= TB1:= TRUE; 84390000=14212000= GT2:= ADDRSF; 84395000=14212000= GT1:= TAKEFRST; 84400000=14213000= @@ -17244,7 +17311,7 @@ SWITCHDEC: 84285000 JUMPCHKNX; 84470000=14222000= PUTNBUMP(L); 84475000=14222000= G:= L; 84480000=14222000= - IF FORMALF:= SWITCHGEN(TB1, GT1) THEN 84485000=14224000= + IF FORMALF:= SWITCHGEN(TB1, GT1) THEN 84485000=14224000= BEGIN 84490000=14225000= JUMPCHKX; 84495000=14227000= STUFFF(GT1); 84500000=14228000= @@ -17252,22 +17319,22 @@ SWITCHDEC: 84285000 IF TB1 THEN 84510000=14231000= GT1:= GT2 84515000=14231000= ELSE 84520000=14231000= - GT1:= GETSPACE(FALSE, LASTINFO+1); % SWITCH. 84525000=14232000= - EMITSTORE(GT1, STD) 84530000=14234000= + GT1:= GETSPACE(FALSE, LASTINFO+1); % SWITCH. 84525000=14232000= + EMITSTORE(GT1, STD) 84530000=14234000= END; 84535000=14234000= END 84540000=14237000= ELSE 84545000=14237000= BEGIN 84550000=14237000= IF ELCLASS ^= FORWARDV THEN 84555000=14238000= FLAG(33); 84560000=14238000= - PUT(-TAKE(LASTINFO+1), LASTINFO+1); 84565000=14239000= - PUTNBUMP(GT1:= GETSPACE(TRUE, LASTINFO+1)); %SWITCH. 84570000=14240000= + PUT(-TAKE(LASTINFO+1), LASTINFO+1); 84565000=14239000= + PUTNBUMP(GT1:= GETSPACE(TRUE, LASTINFO+1)); %SWITCH. 84570000=14240000= IF MODE > 0 THEN 84575000=14241000= GT1:= GETSPACE(FALSE, -1); %TEMP. STOR. 84580000=14241000= STEPIT; 84585000=14242000= FORMALF:= TRUE 84590000=14244000= END; 84595000=14244000= - PUT(TAKE(LASTINFO) & REAL(FORMALF)[9:47:1] & GT1[16:37:11], 84600000=14245000= + PUT(TAKE(LASTINFO) & REAL(FORMALF)[38:0:1] & GT1[31:10:11], 84600000=14245000= LASTINFO); 84605000=14245000= IF TB1 THEN 84610000=14246000= BEGIN 84615000=14247000= @@ -17289,11 +17356,11 @@ DEFINEDEC: 84650000 LINKB; 84695000=14254100= STOPENTRY:= STOPGSP:= TRUE; 84700000=14255000= I:= I-1; 84705000=14255000= - DEFINING:= BOOLEAN(REAL(DEFINING) & 1[47:47:1]); 84710000=14255500= + DEFINING:= BOOLEAN(REAL(DEFINING) & 1[0:0:1]); 84710000=14255500= DO BEGIN 84715000=14257000= STOPDEFINE:= TRUE; 84720000=14258000= STEPIT; 84725000=14259000= - MOVE(9, ACCUM[1], GTA1); 84730000=14259000= + MOVE(9, ACCUM[1], GTA1); 84730000=14259000= K:= COUNT+1; 84735000=14259010= J:= GTA1[0]; 84740000=14259010= ENTRY(DEFINEDID); 84745000=14259010= @@ -17315,14 +17382,14 @@ DEFINEDEC: 84650000 ERR(172); 84825000=14259075= GO START 84830000=14259075= END; 84835000=14259075= - MOVE(9, ACCUM[1], DEFINFO[(J-1)*10]); 84840000=14259080= - DEFINEPARAM(DINFO+1, J); 84845000=14259085= + MOVE(9, ACCUM[1], DEFINFO[(J-1)*10]); 84840000=14259080= + DEFINEPARAM(DINFO+1, J); 84845000=14259085= ACCUM[0]:= 0 & DEFINEDID CLASS & 1 FORMAL; 84850000=14259090= LINKA:= LASTINFO; 84855000=14259094= LINKB:= NEXTINFO; 84860000=14259094= E; 84865000=14259096= IF LASTINFO ^= LINKB THEN % NEW INFO ROW ENTERED. 84870000=14259098= - PUT(TAKE(LINKA) & (LASTINFO-LINKA)[27:40:8], LINKA)84875000=14259100= + PUT(TAKE(LINKA) & (LASTINFO-LINKA)[20:7:8], LINKA) 84875000=14259100= ; 84880000=14259100= STACKHEAD[SCRAM]:= TAKE(LASTINFO).LINK; 84885000=14259102= STOPDEFINE:= TRUE; 84890000=14259104= @@ -17332,8 +17399,8 @@ DEFINEDEC: 84650000 ERR(173); 84910000=14259120= STOPDEFINE:= TRUE; 84915000=14259130= STEPIT; 84920000=14259140= - PUT(-TAKE(DINFO), DINFO); % MARK AS PARAMETRIC 84925000=14259150= - PUT(TAKE(LASTINFO) & 0[27:40:8], LASTINFO); 84930000=14259155= + PUT(-TAKE(DINFO), DINFO); % MARK AS PARAMETRIC 84925000=14259150= + PUT(TAKE(LASTINFO) & 0[20:7:8], LASTINFO); 84930000=14259155= END; 84935000=14259160= IF ELCLASS ^= RELOP OR ACCUM[1] ^= 6"1=0000" THEN 84940000=14261000= BEGIN 84945000=14262000= @@ -17343,12 +17410,12 @@ DEFINEDEC: 84650000 END; 84965000=14265000= MACROID:= TRUE; 84970000=14265900= LASTINFO:= DINFO; 84975000=14265930= - PUT(TAKE(DINFO) & NEXTTEXT[11:32:16], DINFO); 84980000=14265950= - DEFINEGEN(FALSE, J & DINFO[18:33:15]); 84985000=14266000= + PUT(TAKE(DINFO) & NEXTTEXT[36:15:16], DINFO); 84980000=14265950= + DEFINEGEN(FALSE, J & DINFO[29:14:15]); 84985000=14266000= MACROID:= FALSE; 84990000=14266100= END 84995000=14268000= UNTIL STEPI ^= COMMA; 85000000=14268000= - DEFINING:= BOOLEAN(REAL(DEFINING) & 0[47:47:1]); 85005000=14268500= + DEFINING:= BOOLEAN(REAL(DEFINING) & 0[0:0:1]); 85005000=14268500= START: 85010000=14269000= STOPENTRY:= STOPGSP:= FALSE; 85015000=14269000= END; 85020000=14269000= @@ -17395,7 +17462,7 @@ FIELDDEC: 85030000 BEGIN 85225000=14269580= SAVEIT: 85230000=14269600= PUT 85235000=14269620= - (TAKE(SAVEINFO) & SB SBITF & NB NBITF, SAVEINFO)85240000=14269620= + (TAKE(SAVEINFO) & SB SBITF & NB NBITF, SAVEINFO) 85240000=14269620= ; 85245000=14269620= STEPIT; 85250000=14269640= IF FOUNDLB THEN % BETTER HAVE RIGHT BRACKET. 85255000=14269660= @@ -17492,10 +17559,10 @@ COMMENT CHECK TO SEE IF DECLARED FORWARD PREVIOUSLY ;85665000 IF G:= TAKE(LINKF+1) >= 0 THEN 85710000=14310000= FLAG(006) 85715000=14310000= ELSE 85720000=14310000= - PUT(-G, LINKF+1); 85725000=14310000= + PUT(-G, LINKF+1); 85725000=14310000= XMARK(DECLREF); % PROCEDURE DECLARED FORWARD. MARK LAST 85730000=14310500= % XREF ENTRY AS A DECLARATION. 85735000=14310501= - IF REAL(NEXTSAVE) ^= G.[3:1] THEN 85740000=14311100= + IF REAL(NEXTSAVE) ^= G.[44:1] THEN 85740000=14311100= FLAG(051); 85745000=14311100= FWDTOG:= TRUE; 85750000=14312000= PROAD:= ADDRSF; 85755000=14313000= @@ -17510,7 +17577,7 @@ COMMENT CHECK TO SEE IF DECLARED FORWARD PREVIOUSLY ;85665000 ENTRY(TYPEV); 85800000=14319000= MARK:= NEXTINFO; 85805000=14319000= PUTNBUMP(0); 85810000=14319000= - PROINFO:= TAKE(LASTINFO) & LASTINFO[35:35:13]; 85815000=14320000= + PROINFO:= TAKE(LASTINFO) & LASTINFO[12:12:13]; 85815000=14320000= PROAD:= ADDRSF; 85820000=14320000= P2:= STOPENTRY:= FALSE 85825000=14322000= END; 85830000=14322000= @@ -17537,14 +17604,14 @@ COMMENT: THE FOLLOWING 8 STATEMENTS FOOL THE SCANNER AND BLOCK,PUTTING 85895000 ENTRY(SECRET); 85935000=14333000= IF FWDTOG THEN 85940000=14333100= BEGIN 85945000=14333100= - IF GT1:= TAKE(MARK).[40:8] ^= PJ THEN % 85950000=14333100= + IF GT1:= TAKE(MARK).[7:8] ^= PJ THEN % 85950000=14333100= FLAG(48); 85955000=14333200= COMMENT WRONG NUMBER OF PARAMETERS; 85960000=14333200= 85965000=14333300= COMMENT SO THAT WE DONT CLOBBER INFO; 85970000=14333300= END 85975000=14334000= ELSE 85980000=14334000= - PUT(PJ, MARK); 85985000=14334000= + PUT(PJ, MARK); 85985000=14334000= P:= PJ; 85990000=14335000= IF ELCLASS ^= RTPAREN THEN 85995000=14337000= FLAG(008); 86000000=14337000= @@ -17562,7 +17629,7 @@ COMMENT MARK PARAMETERS VALUE IF THERE IS A VALUE PART; 86020000 IF G:= ELBAT[I].ADDRESS = 0 OR G > PJ THEN 86060000=14350000= FLAG(010); 86065000=14351000= G:= TAKE(ELBAT[I]); 86070000=14352000= - PUT(G & 1[10:47:1], ELBAT[I]) 86075000=14354000= + PUT(G & 1[37:0:1], ELBAT[I]) 86075000=14354000= END 86080000=14356000= UNTIL STEPI ^= COMMA; 86085000=14356000= IF ELCLASS ^= SEMICOLON THEN 86090000=14358000= @@ -17608,12 +17675,12 @@ HF: BEGIN 86270000 IF STREAMTOG THEN 86290000=14386000= BEGIN 86295000=14386000= JUMPCHKNX; 86300000=14387000= - G:= PROGDESCBLDR(CHAR, L, PROAD); 86305000=14387000= + G:= PROGDESCBLDR(CHAR, L, PROAD); 86305000=14387000= PJ:= P; 86310000=14387000= PTOG:= FALSE; 86315000=14388000= IF FUNCTOG THEN 86320000=14390000= - PUT((Z:= TAKE(PROINFO)) & LOCLID[2:41:7] & (PJ:= PJ+1) 86325000=14392000= - [16:37:11], PROINFO); 86330000=14392000= + PUT((Z:= TAKE(PROINFO)) & LOCLID[45:6:7] & (PJ:= PJ+1) 86325000=14392000= + [31:10:11], PROINFO); 86330000=14392000= IF STEPI = BEGINV THEN 86335000=14394000= BEGIN 86340000=14395000= WHILE STEPI = DECLARATORS OR ELCLASS = LOCALV DO 86345000=14397000= @@ -17652,8 +17719,8 @@ HF: BEGIN 86270000 DEFINE 86510000=14419100= RSA = 43 #; 86515000=14419100= DEFINE 86520000=14420000= - LOC = [36:12] #, 86525000=14420000= - LASTGT = [24:12] #; 86530000=14420000= + LOC = [11:12] #, 86525000=14420000= + LASTGT = [23:12] #; 86530000=14420000= J:= LASTINFO; 86535000=14421000= NLOC:= NLAB:= 0; 86540000=14422000= DO BEGIN 86545000=14424000= @@ -17663,7 +17730,7 @@ HF: BEGIN 86270000 BEGIN 86565000=14428000= IF GT1 < 0 THEN 86570000=14429000= PUT(TAKE(GT2:= MARK+P-GT1.ADDRESS+1) & 86575000=14431000= - FILEID[2:41:7], GT2); 86580000=14431000= + FILEID[45:6:7], GT2); 86580000=14431000= END 86585000=14433000= ELSE 86590000=14433000= NLOC:= NLOC+1; 86595000=14433000= @@ -17675,7 +17742,7 @@ HF: BEGIN 86270000 IF (GT3:= TAKE(GIT(J))).LASTGT ^= 0 AND GT3.LOC = 0 86625000=14438000= THEN 86630000=14438000= BEGIN 86635000=14439000= - MOVE(9, INFO[0, J], ACCUM[0]); 86640000=14440000= + MOVE(9, INFO[0, J], ACCUM[0]); 86640000=14440000= Q:= ACCUM[1]; 86645000=14441000= FLAG(267); 86650000=14442000= ERRORTOG:= TRUE; 86655000=14443000= @@ -17683,28 +17750,28 @@ HF: BEGIN 86270000 END; 86665000=14445000= XREFDUMP(J); % DUMP XREF INFO 86670000=14445100= G:= (GT2:= TAKE(J+1)).PURPT; 86675000=14446000= - IF GT1.[2:8] ^= STLABID*2+1 THEN 86680000=14447000= - STACKHEAD[(0 & GT2[12:12:36]) MOD 125]:= TAKE(J).LINK; 86685000=14448000= + IF GT1.[45:8] ^= STLABID*2+1 THEN 86680000=14447000= + STACKHEAD[(0 & GT2[35:35:36]) MOD 125]:= TAKE(J).LINK; 86685000=14448000= END 86690000=14449000= UNTIL J:= J-G <= 1; 86695000=14449000= - PUT(P & NLAB[7:42:6] & (NLOC+REAL(FUNCTOG))[1:42:6] & (LPRT+1)86700000=14451000= - [13:37:11], MARK); 86705000=14451000= + PUT(P & NLAB[40:5:6] & (NLOC+REAL(FUNCTOG))[46:5:6] & (LPRT+1)86700000=14451000= + [34:10:11], MARK); 86705000=14451000= GT1:= L; 86710000=14451100= L:= FILETHING; 86715000=14451100= WHILE L ^= 4095 DO 86720000=14451200= BEGIN 86725000=14451300= FILETHING:= GET(L); 86730000=14451300= - EMITC(PJ+1, RSA); 86735000=14451400= + EMITC(PJ+1, RSA); 86735000=14451400= L:= FILETHING; 86740000=14451500= END; 86745000=14451600= L:= GT1; 86750000=14451700= FILETHING:= 4095; 86755000=14451700= IF FUNCTOG THEN 86760000=14452000= BEGIN 86765000=14453000= - EMITC(TAKE(PROINFO).ADDRESS, SES); 86770000=14454000= - EMITC(PJ+2, SED); 86775000=14455000= - EMITC(1, TRW); 86780000=14456000= - PUT(Z, PROINFO); 86785000=14457000= + EMITC(TAKE(PROINFO).ADDRESS, SES); 86770000=14454000= + EMITC(PJ+2, SED); 86775000=14455000= + EMITC(1, TRW); 86780000=14456000= + PUT(Z, PROINFO); 86785000=14457000= END; 86790000=14458000= EMIT(0); 86795000=14459000= STREAMWORDS; 86800000=14460000= @@ -17719,9 +17786,9 @@ HF: BEGIN 86270000 BEGIN 86845000=14466000= IF STEPI = FORWARDV THEN 86850000=14468000= BEGIN 86855000=14469000= - XREFIT(PROINFO, 0, FORWARDREF); % WE NEED THIS SO WE CAN FIND86860000=14469100= + XREFIT(PROINFO, 0, FORWARDREF); % WE NEED THIS SO WE CAN FIND 86860000=14469100= % THE FORWARD DECL. DURING XREF 86865000=14469101= - PUT(-TAKE(G:= PROINFO.LINK+1) & REAL(NEXTSAVE)[3:47:1], G); 86870000=14470000= + PUT(-TAKE(G:= PROINFO.LINK+1) & REAL(NEXTSAVE)[44:0:1], G); 86870000=14470000= PURGE(PINFOO); 86875000=14471000= STEPIT 86880000=14473000= END 86885000=14475000= @@ -17740,7 +17807,7 @@ HF: BEGIN 86270000 IF ELCLASS = BEGINV THEN 86950000=14479000= IF TABLE(I+1) = DECLARATORS THEN 86955000=14480000= BEGIN 86960000=14481000= - BLOCK(TRUE & NEXTSAVE[46:47:1]); 86965000=14482000= + BLOCK(TRUE & NEXTSAVE[1:0:1]); 86965000=14482000= ; 86970000=14483000= PURGE(PINFOO); 86975000=14483000= GO TO STOP 86980000=14484000= @@ -17751,12 +17818,12 @@ HF: BEGIN 86270000 IF NEXTSAVE THEN 87005000=14487010= FLAG(052); 87010000=14487010= STMT; 87015000=14488000= - IF FAULTOG.[46:1] THEN 87020000=14488500= + IF FAULTOG.[1:1] THEN 87020000=14488500= BEGIN 87025000=14488500= EMITL(10); 87030000=14488500= EMITO(COM); 87035000=14488500= END; 87040000=14488500= - HTTEOAP(FALSE, RELAD, PINFOO, PROAD); 87045000=14489000= + HTTEOAP(FALSE, RELAD, PINFOO, PROAD); 87045000=14489000= END; 87050000=14490000= STOP: 87055000=14492000= SUBLEVEL:= TSUBLEVEL; 87060000=14492000= @@ -17784,7 +17851,7 @@ CALLSTATEMENT: 87135000 II, 87170000=14507030= SSCRAM, 87175000=14507030= SCOUNT; 87180000=14507030= - MOVE(10, ACCUM, INFO[31, 240]); 87185000=14507040= + MOVE(10, ACCUM, INFO[31, 240]); 87185000=14507040= II:= I; 87190000=14507050= SSCRAM:= SCRAM; 87195000=14507050= SCOUNT:= COUNT; 87200000=14507050= @@ -17792,9 +17859,9 @@ CALLSTATEMENT: 87135000 IF ((I:= STACKHEAD[SCRAM]) < 256) THEN 87210000=14507080= IF I ^= 0 THEN 87215000=14507080= BEGIN 87220000=14507090= - ELBAT[76]:= INFO[0, I] & I[35:35:13]; 87225000=14507095= - COUNT:= INFO[0, I+1].[12:6]; 87230000=14507100= - MOVE(COUNT, INFO[0, I], ACCUM); 87235000=14507105= + ELBAT[76]:= INFO[0, I] & I[12:12:13]; 87225000=14507095= + COUNT:= INFO[0, I+1].[35:6]; 87230000=14507100= + MOVE(COUNT, INFO[0, I], ACCUM); 87235000=14507105= I:= 76; 87240000=14507110= SCATTERELBAT; 87245000=14507110= FORMALF:= TRUE; 87250000=14507120= @@ -17805,7 +17872,7 @@ CALLSTATEMENT: 87135000 I:= II; 87275000=14507160= SCRAM:= SSCRAM; 87280000=14507160= COUNT:= SCOUNT; 87285000=14507160= - MOVE(10, INFO[31, 240], ACCUM); 87290000=14507170= + MOVE(10, INFO[31, 240], ACCUM); 87290000=14507170= BUP:= PJ; 87295000=14507180= FLAG(12); 87300000=14507180= SPECTOG:= TRUE; 87305000=14507180= @@ -17833,13 +17900,13 @@ CALLSTATEMENT: 87135000 RELAD:= FIRSTX; 87415000=14534000= IF STACKCTR > MAXSTACK THEN 87420000=14536000= MAXSTACK:= STACKCTR; 87425000=14536000= - IF GOTSTORAGE OR JUMPCTR = LEVEL OR FAULTOG.[46:1] THEN 87430000=14538000= - IF NOT (GOTSTORAGE OR FAULTOG.[46:1]) THEN 87435000=14540000= + IF GOTSTORAGE OR JUMPCTR = LEVEL OR FAULTOG.[1:1] THEN 87430000=14538000= + IF NOT (GOTSTORAGE OR FAULTOG.[1:1]) THEN 87435000=14540000= BEGIN 87440000=14541000= EMITV(BLOCKCTR); 87445000=14542000= EMITL(1); 87450000=14543000= EMITO(SUB); 87455000=14544000= - EMITSTORE(BLOCKCTR, STD); 87460000=14545000= + EMITSTORE(BLOCKCTR, STD); 87460000=14545000= GOTSTORAGE:= TRUE 87465000=14547000= END 87470000=14549000= ELSE 87475000=14549000= @@ -17849,7 +17916,7 @@ CALLSTATEMENT: 87135000 END; 87495000=14552000= FUNCTOG:= FUNCTOGO; 87500000=14553000= IF SOP THEN 87505000=14555000= - HTTEOAP(GOTSTORAGE, FIRSTX, NINFOO, BLKAD) 87510000=14556000= + HTTEOAP(GOTSTORAGE, FIRSTX, NINFOO, BLKAD) 87510000=14556000= ELSE 87515000=14556000= BEGIN 87520000=14557000= IF LEVEL = 1 THEN 87525000=14557500= @@ -17860,16 +17927,16 @@ CALLSTATEMENT: 87135000 EMITO(BFW); 87550000=14558500= END; 87555000=14558600= CONSTANTCLEAN; 87560000=14559000= - IF GOTSTORAGE OR NCII > 0 OR LEVEL = 1 OR FAULTOG.[46:1] THEN 87565000=14561000= + IF GOTSTORAGE OR NCII > 0 OR LEVEL = 1 OR FAULTOG.[1:1] THEN 87565000=14561000= BEGIN 87570000=14562000= ADJUST; 87575000=14563000= RELAD:= L; 87580000=14563000= - IF GOTSTORAGE OR FAULTOG.[46:1] THEN 87585000=14564100= + IF GOTSTORAGE OR FAULTOG.[1:1] THEN 87585000=14564100= BEGIN 87590000=14564100= EMITV(BLOCKCTR); 87595000=14564100= EMITL(1); 87600000=14564100= EMITO(ADD); 87605000=14565000= - EMITSTORE(BLOCKCTR, STD); 87610000=14565000= + EMITSTORE(BLOCKCTR, STD); 87610000=14565000= END; 87615000=14566000= IF LEVEL = 1 THEN 87620000=14567000= IF G:= NCII+MAXSTACK-512 > 0 THEN 87625000=14567000= @@ -17880,11 +17947,11 @@ CALLSTATEMENT: 87135000 IF LEVEL = 1 THEN 87650000=14569100= IF FAULTLEVEL = 1 THEN 87655000=14569100= BEGIN 87660000=14569200= - EMITPAIR(0, MDS); 87665000=14569200= + EMITPAIR(0, MDS); 87665000=14569200= EMITO(CHS); 87670000=14569200= END; 87675000=14569200= BUMPL; 87680000=14570000= - EMITB(BBW, L, IF FIRSTX = 4095 THEN 0 ELSE FIRSTX); 87685000=14571000= + EMITB(BBW, L, IF FIRSTX = 4095 THEN 0 ELSE FIRSTX); 87685000=14571000= CONSTANTCLEAN 87690000=14573000= END 87695000=14573000= ELSE 87700000=14573000= @@ -17892,20 +17959,20 @@ CALLSTATEMENT: 87135000 IF RELAD = 4095 THEN 87710000=14574000= RELAD:= 0; 87715000=14574000= NEXTTEXT:= NTEXTO; 87720000=14574500= - G:= PROGDESCBLDR(LDES-REAL(LEVEL = 1), RELAD, BLKAD) 87725000=14576000= + G:= PROGDESCBLDR(LDES-REAL(LEVEL = 1), RELAD, BLKAD) 87725000=14576000= END; 87730000=14576000= - ENILSPOT:= 1023 & CARDNUMBER[10:20:28]; 87735000=14576100= - SEGMENT((L+3) DIV 4, SGNO, SGNOO); 87740000=14577000= + ENILSPOT:= 1023 & CARDNUMBER[37:27:28]; 87735000=14576100= + SEGMENT((L+3) DIV 4, SGNO, SGNOO); 87740000=14577000= ENILPTR:= OLDENILPTR; 87745000=14593000= LASTADDRESS:= OLDLASTADDRESS; 87750000=14593000= - MOVECODE(TENIL, ENIL); 87755000=14594000= - MOVECODE(TEDOC, EDOC); 87760000=14595000= + MOVECODE(TENIL, ENIL); 87755000=14594000= + MOVECODE(TEDOC, EDOC); 87760000=14595000= L:= LOLD; 87765000=14595000= - DOUBLE(SGNO, SGNOO, := , SGNOO, SGNO); 87770000=14596000= + DOUBLE(SGNO, SGNOO, := , SGNOO, SGNO); 87770000=14596000= IF NOT SOP AND LEVEL ^= 1 THEN 87775000=14598000= BEGIN 87780000=14599000= ADJUST; 87785000=14600000= - G:= PROGDESCBLDR(LDES, L, ADDRSF); 87790000=14601000= + G:= PROGDESCBLDR(LDES, L, ADDRSF); 87790000=14601000= IF ELCLASS = FACTOP THEN 87795000=14601100= BEGIN 87800000=14601200= COMMENT SPECIAL CASE FOR COBOL ONLY; 87805000=14601200= @@ -17924,13 +17991,13 @@ CALLSTATEMENT: 87135000 STACKCTR:= STACKCTRO; 87870000=14610000= SAVEPRTOG:= SAVEPRTOGO; 87875000=14610100= NCII:= NCIIO; 87880000=14611000= - FAULTOG:= FAULTOGO AND (FALSE & FAULTLEVEL < LEVEL[46:47:1]); 87885000=14611000= + FAULTOG:= FAULTOGO AND (FALSE & FAULTLEVEL < LEVEL[1:0:1]); 87885000=14611000= END; 87890000=14612000= END BLOCK; 87895000=14613000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%87900000=14613000= 87905000=15000000= COMMENT THIS SECTION CONTAINS THE VARIABLE ROUTINE AND ITS SIDEKICKS; 87910000=15000000= - PROCEDURE CLSMPMN(ELBATWORD, TYPEDPROC); 87915000=15001000= + PROCEDURE CLSMPMN(ELBATWORD, TYPEDPROC); 87915000=15001000= VALUE 87920000=15002000= ELBATWORD, 87925000=15002000= TYPEDPROC; 87930000=15002000= @@ -17942,18 +18009,18 @@ CALLSTATEMENT: 87135000 COMMENT CALL SIMPLE MONITOR IS USED TO CALL PRINTI FOR 87960000=15004000= SIMPLE VARIABLES. SEE THE MERRIMAC ROUTINE FOR A 87965000=15005000= DESCRIPTION OF PRINTI; 87970000=15006000= - EMITPAIR(JUNK, SND); 87975000=15007000= + EMITPAIR(JUNK, SND); 87975000=15007000= EMITO(MKS); 87980000=15007000= EMITV(JUNK); 87985000=15007000= EMITL(PASSTYPE(ELBATWORD)); 87990000=15008000= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 87995000=15009000= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 87995000=15009000= PASSALPHA(ELBATWORD); 88000000=15009000= - EMITPAIR(GNAT(CHARI), LOD); 88005000=15010000= + EMITPAIR(GNAT(CHARI), LOD); 88005000=15010000= IF TYPEDPROC THEN 88010000=15010010= - PASSMONFILE(TAKE(GIT(ELBATWORD)).[27:11]) 88015000=15010010= + PASSMONFILE(TAKE(GIT(ELBATWORD)).[20:11]) 88015000=15010010= ELSE 88020000=15010010= PASSMONFILE(TAKE(GIT(ELBATWORD)).SVARMONFILE); 88025000=15010020= - EMITNUM(1 & CARDNUMBER[1:4:44]); 88030000=15011000= + EMITNUM(1 & CARDNUMBER[46:43:44]); 88030000=15011000= EMITV(GNAT(PRINTI)); 88035000=15012000= END CLSMPMN; 88040000=15013000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%88045000=15013000= @@ -17986,12 +18053,12 @@ CALLSTATEMENT: 87135000 DEFINE 88180000=15030000= LTEMP = RR11 #; 88185000=15030000= COMMENT LTEMP IS A TEMP FOR L; 88190000=15030000= - EMITV(IF BOOLEAN(L.[46:1]) THEN CPLUS2 ELSE CPLUS1); 88195000=15033000= + EMITV(IF BOOLEAN(L.[1:1]) THEN CPLUS2 ELSE CPLUS1); 88195000=15033000= LTEMP:= BUMPL; 88200000=15033000= EMITWORD(GETALPHA( 88205000=15037000= - INFO[(INDEX:= ELBATWORD.LINK+1).LINKR, INDEX.LINKC], IF SIZEALPHA88210000=15037000= + INFO[(INDEX:= ELBATWORD.LINK+1).LINKR, INDEX.LINKC], IF SIZEALPHA 88210000=15037000= := TAKE(INDEX).ALPHASIZE > 7 THEN 7 ELSE SIZEALPHA)); 88215000=15037000= - EMITB(BFW, LTEMP, L); 88220000=15037000= + EMITB(BFW, LTEMP, L); 88220000=15037000= END PASSALPHA; 88225000=15038000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%88230000=15038000= COMMENT THE FOLLOWING BLOCK HANDLES THE FOLLOWING CASES 88235000=15039000= @@ -18030,9 +18097,9 @@ CALLSTATEMENT: 87135000 P1; 88400000=15070000= BEGIN 88405000=15071000= REAL 88410000=15072000= - TALL, COMMENT ELBAT WORD FOR VARIABLE; 88415000=15072000= - T1, COMMENT 1ST INTEGER OF PARTIAL WORD SYNTAX; 88420000=15073000= - T2, COMMENT 2ND INTEGER OF PARTIAL WORD SYNTAX; 88425000=15074000= + TALL, COMMENT ELBAT WORD FOR VARIABLE; 88415000=15072000= + T1, COMMENT 1ST INTEGER OF PARTIAL WORD SYNTAX; 88420000=15073000= + T2, COMMENT 2ND INTEGER OF PARTIAL WORD SYNTAX; 88425000=15074000= J; 88430000=15075000= COMMENT SUBSCRIPT COUNTER ; 88435000=15075000= REAL 88440000=15075500= @@ -18054,7 +18121,7 @@ CALLSTATEMENT: 87135000 END; 88520000=15081000= 88525000=15082000= COMMENT 211 VARIABLE-FUNCTION IDENTIFIER USED OUTSIDE OF ITS SCOPE*; 88530000=15082000= - TALL:= TALL & (ELCLASS+4)[2:41:7] & 514[16:37:11]; 88535000=15083000= + TALL:= TALL & (ELCLASS+4)[45:6:7] & 514[31:10:11]; 88535000=15083000= END 88540000=15085000= ELSE 88545000=15085000= CHECKER(TALL); 88550000=15085000= @@ -18064,7 +18131,7 @@ COMMENT 211 VARIABLE-FUNCTION IDENTIFIER USED OUTSIDE OF ITS SCOPE*; 88530000 L1, 88570000=15088000= EXIT; 88575000=15088000= DEFINE 88580000=15089000= - FORMALNAME = [9:2] = 2 #; 88585000=15089000= + FORMALNAME = [38:2] = 2 #; 88585000=15089000= J:= ELCLASS; 88590000=15089010= IF STEPI = ASSIGNOP THEN 88595000=15090000= BEGIN 88600000=15091000= @@ -18088,9 +18155,9 @@ COMMENT 211 VARIABLE-FUNCTION IDENTIFIER USED OUTSIDE OF ITS SCOPE*; 88530000 BEXP 88690000=15099000= ELSE 88695000=15099000= AEXP; 88700000=15099000= - EMITD(48-T2, T1, T2); 88705000=15100000= + EMITD(48-T2, T1, T2); 88705000=15100000= IF TALL < 0 THEN 88710000=15101000= - CLSMPMN(TALL, J >= BOOPROCID AND J <= INTPROCID); 88715000=15101000= + CLSMPMN(TALL, J >= BOOPROCID AND J <= INTPROCID); 88715000=15101000= STACKCT:= 0; 88720000=15101500= GT1:= 88725000=15102000= IF TALL.CLASS = INTID THEN 88730000=15102000= @@ -18109,13 +18176,13 @@ COMMENT 211 VARIABLE-FUNCTION IDENTIFIER USED OUTSIDE OF ITS SCOPE*; 88530000 EMITO(GT1) 88795000=15106000= END 88800000=15107000= ELSE 88805000=15107000= - EMITPAIR(TALL.ADDRESS, GT1); 88810000=15107000= + EMITPAIR(TALL.ADDRESS, GT1); 88810000=15107000= END 88815000=15110000= ELSE 88820000=15110000= BEGIN 88825000=15110000= IF ELCLASS = PERIOD THEN 88830000=15111000= BEGIN 88835000=15112000= - IF DOTSYNTAX(T1, T2) THEN 88840000=15112000= + IF DOTSYNTAX(T1, T2) THEN 88840000=15112000= GO TO EXIT; 88845000=15112000= IF STEPI = ASSIGNOP THEN 88850000=15113000= BEGIN 88855000=15113100= @@ -18124,7 +18191,7 @@ COMMENT 211 VARIABLE-FUNCTION IDENTIFIER USED OUTSIDE OF ITS SCOPE*; 88530000 ERR(201); % PARTIAL WORD NOT LEFT-MOST 88870000=15115100= GO TO EXIT; 88875000=15115200= END; 88880000=15115300= - XREFIT(TALL, REMEMBERSEQNO, ASSIGNREF); 88885000=15116000= + XREFIT(TALL, REMEMBERSEQNO, ASSIGNREF); 88885000=15116000= GO TO L1; 88890000=15116100= END; 88895000=15116200= END; 88900000=15118000= @@ -18139,7 +18206,7 @@ COMMENT 202 VARIABLE- A VARIABLE APPEARS WHICH IS NOT FOLLOWED * 88935000 88945000=15122000= COMMENT 201 VARIABLE- A PARTIAL WORD DESIGNATOR IS NOT THE * 88950000=15122000= LEFT-MOST OF A LEFT PART LIST *;88955000=15123000= - EMITI(TALL, T1, T2); 88960000=15124000= + EMITI(TALL, T1, T2); 88960000=15124000= END; 88965000=15126000= EXIT: 88970000=15127000= END OF BLOCK OF SIMPLE VARIABLES 88975000=15129000= @@ -18222,13 +18289,13 @@ COMMENT 201 VARIABLE- A PARTIAL WORD DESIGNATOR IS NOT THE * 88950000 INTO INFO TO PICK OUT SPECIAL MONITOR 89360000=15193000= INFORMATION; 89365000=15194000= DEFINE 89370000=15195000= - SPMON = [11:12] #; 89375000=15195000= + SPMON = [36:12] #; 89375000=15195000= COMMENT SPMON DESIGNATES THE BIT89380000=15195000= POSITION OF THE SPECIAL MONITOR 89385000=15196000= INFORMATION FOR SUBSCRIPTED 89390000=15197000= VARIABLES; 89395000=15198000= DEFINE 89400000=15199000= - OPBIT = [11:1] #; 89405000=15199000= + OPBIT = [36:1] #; 89405000=15199000= COMMENT OPBIT TELLS WHETHER TO 89410000=15199000= EMIT AN OPDC OR LITC FOR PASSING 89415000=15200000= THE SUBSCRIPTS FOR MONITORED 89420000=15201000= @@ -18240,7 +18307,7 @@ COMMENT 201 VARIABLE- A PARTIAL WORD DESIGNATOR IS NOT THE * 88950000 BOUND WORD FROM INFO FOR MONITORED 89450000=15205000= SUBSCRIPTED VARIABLES; 89455000=15206000= DEFINE 89460000=15207000= - SPMONADR = [12:11] #; 89465000=15207000= + SPMONADR = [35:11] #; 89465000=15207000= COMMENT SPMONADR CONTAINS 89470000=15207000= THE ADDRESS THAT WILL BE 89475000=15208000= EMITTED IN AN OPDC OR LITC 89480000=15209000= @@ -18251,7 +18318,7 @@ COMMENT 201 VARIABLE- A PARTIAL WORD DESIGNATOR IS NOT THE * 88950000 IS SET TRUE IF THE VARIABLE IN 89505000=15212000= TALL IS SPECIAL MONITORED. 89510000=15213000= ; 89515000=15214000= - PROCEDURE M4(TALL, J); 89520000=15215000= + PROCEDURE M4(TALL, J); 89520000=15215000= VALUE 89525000=15216000= TALL, 89530000=15216000= J; 89535000=15216000= @@ -18289,7 +18356,7 @@ COMMENT 201 VARIABLE- A PARTIAL WORD DESIGNATOR IS NOT THE * 88950000 ERR(207); 89695000=15233000= GO TO EXIT 89700000=15233000= END; 89705000=15233000= - THENUMBEROFDECLAREDDIMENSIONS:= TAKE(GIT(TALL)).[40:8]; 89710000=15233100= + THENUMBEROFDECLAREDDIMENSIONS:= TAKE(GIT(TALL)).[7:8]; 89710000=15233100= J:= 0; 89715000=15234000= STACKCT:= 0; 89720000=15234500= 89725000=15235000= @@ -18310,9 +18377,9 @@ COMMENT **** MONITOR FUNCTION M1 GOES HERE ; 89760000 TESTVARB:= (NODIM:= TAKE(INC:= GIT(TALL)).NODIMPART)+INC; 89800000=15245000= DO 89805000=15246000= IF BOOLEAN(LWRBND:= TAKE(INC:= INC+1)). OPBIT THEN 89810000=15248000= - EMITL(LWRBND, SPMONADR) 89815000=15249000= + EMITL(LWRBND, SPMONADR) 89815000=15249000= ELSE 89820000=15249000= - EMITV(LWRBND, SPMONADR) 89825000=15250000= + EMITV(LWRBND, SPMONADR) 89825000=15250000= UNTIL INC >= TESTVARB 89830000=15251000= END; 89835000=15251000= END; 89840000=15252000= @@ -18362,23 +18429,23 @@ COMMENT 204 VARIABLE- COMPILER EXPECTS A ] IN A ROW DESIGNATER *;89995000 COMMENT 205 VARIABLE- A ROW DESIGNATER APPEARS OUTSIDE OF A FILL * 90060000=15264000= STATEMENT OR ACTUAL PARAMETER LIST. *;90065000=15265000= IF J = 0 THEN 90070000=15266000= - EMITPAIR(TALL.ADDRESS, LOD); 90075000=15267000= + EMITPAIR(TALL.ADDRESS, LOD); 90075000=15267000= 90080000=15268000= COMMENT ***** MONITOR FUNCTION M2 GOES HERE ; 90085000=15268000= IF TALL < 0 THEN 90090000=15269000= BEGIN 90095000=15270000= COMMENT DO NOT MONITOR AFTER ALL; 90100000=15270000= - EMITNUM(5 & CARDNUMBER[1:4:44]); 90105000=15271000= + EMITNUM(5 & CARDNUMBER[46:43:44]); 90105000=15271000= EMITN(GNAT(PRINTI)); 90110000=15271100= END; 90115000=15272000= IF P1 = FA THEN 90120000=15272900= FOR X:= 1 STEP 1 UNTIL STLB DO 90125000=15273000= BEGIN 90130000=15273100= - IF(Z:= TAKE(GIT(TALL)+J+X)).[35:11] > 1023 THEN 90135000=15273200= + IF(Z:= TAKE(GIT(TALL)+J+X)).[12:11] > 1023 THEN 90135000=15273200= EMITV(Z) 90140000=15273200= ELSE 90145000=15273200= EMIT(Z); 90150000=15273200= - IF Z.[23:10] = ADD THEN 90155000=15273300= + IF Z.[24:10] = ADD THEN 90155000=15273300= EMITO(CHS); 90160000=15273300= END; 90165000=15273400= STEPIT; 90170000=15274000= @@ -18388,21 +18455,21 @@ COMMENT ***** MONITOR FUNCTION M2 GOES HERE ; 90085000 COMMENT ***** MONITOR FUNCTION M3 GOES HERE ; 90190000=15278000= 90195000=15279000= IF TALL < 0 THEN 90200000=15279000= - EMITPAIR(JUNK, ISN); 90205000=15279000= + EMITPAIR(JUNK, ISN); 90205000=15279000= J:= J+1; 90210000=15280000= - IF (GT1:= TAKE(GIT(TALL)+J)).[35:13] ^= 0 THEN 90215000=15281000= + IF (GT1:= TAKE(GIT(TALL)+J)).[12:13] ^= 0 THEN 90215000=15281000= BEGIN 90220000=15282000= - IF GT1.[46:2] = 0 THEN 90225000=15283000= + IF GT1.[1:2] = 0 THEN 90225000=15283000= EMIT(GT1) 90230000=15284000= ELSE 90235000=15284000= - EMITV(GT1.[35:11]); 90240000=15284000= - EMIT(GT1.[23:12]); 90245000=15285000= + EMITV(GT1.[12:11]); 90240000=15284000= + EMIT(GT1.[24:12]); 90245000=15285000= END OF LOWER BOUND ADJUSTMENT; 90250000=15286000= IF ELCLASS = COMMA THEN 90255000=15287000= BEGIN 90260000=15288000= 90265000=15289000= COMMENT ***** MONITOR FUNCTION M4 GOES HERE ; 90270000=15289000= - M4(TALL, J); 90275000=15290000= + M4(TALL, J); 90275000=15290000= EMITO(LOD); 90280000=15291000= IF J+1 > THENUMBEROFDECLAREDDIMENSIONS THEN 90285000=15291100= BEGIN 90290000=15291200= @@ -18429,12 +18496,12 @@ COMMENT 206 VARIABLE- MISSING RIGHT BRACKET ON SUBSCRIPTED VARIABLE*; 90365000 STACKCT:= 0; 90395000=15299500= IF STEPI = ASSIGNOP THEN 90400000=15300000= BEGIN 90405000=15301000= - XREFIT(TALL, REMEMBERSEQNO, ASSIGNREF); % ASSIGNMENT TO90410000=15301100= + XREFIT(TALL, REMEMBERSEQNO, ASSIGNREF); % ASSIGNMENT TO 90410000=15301100= % SUBSCRIPTED VARIABLE. 90415000=15301200= 90420000=15302000= COMMENT ***** MONITOR FUNCTION M4 GOES HERE ; 90425000=15302000= LAST: 90430000=15303000= - M4(TALL, J); 90435000=15303000= + M4(TALL, J); 90435000=15303000= IF T1 = 0 THEN 90440000=15304000= BEGIN 90445000=15305000= IF P1 = FR THEN 90450000=15305000= @@ -18450,7 +18517,7 @@ COMMENT ***** MONITOR FUNCTION M4 GOES HERE ; 90425000 BEXP 90500000=15307000= ELSE 90505000=15307000= AEXP; 90510000=15307000= - EMITD(48-T2, T1, T2); 90515000=15308000= + EMITD(48-T2, T1, T2); 90515000=15308000= EMITO(XCH); 90520000=15309000= 90525000=15310000= COMMENT ***** MONITOR FUNCTION M6 GOES BEFORE EMITO(XCH); 90530000=15310000= @@ -18461,14 +18528,14 @@ COMMENT ***** MONITOR FUNCTION M6 GOES BEFORE EMITO(XCH); 90530000 VALUE FROM JUNK; 90555000=15314000= EMITO(IF TALL.CLASS = INTARRAYID THEN ISN ELSE SND); 90560000=15318000= IF P1 ^= FS THEN 90565000=15320000= - EMITPAIR(JUNK, SND); 90570000=15320000= + EMITPAIR(JUNK, SND); 90570000=15320000= EMITL(J); 90575000=15321000= EMITL(PASSTYPE(TALL)); 90580000=15321000= - EMITPAIR(GNAT(POWERSOFTEN), LOD); 90585000=15322000= + EMITPAIR(GNAT(POWERSOFTEN), LOD); 90585000=15322000= PASSALPHA(TALL); 90590000=15323000= - EMITPAIR(GNAT(CHARI), LOD); 90595000=15324000= + EMITPAIR(GNAT(CHARI), LOD); 90595000=15324000= PASSMONFILE(TAKE(GIT(TALL)).ARRAYMONFILE); 90600000=15325000= - EMITNUM((IF SPCLMON THEN 3 ELSE 2) & CARDNUMBER[1:4:44]); 90605000=15327000= + EMITNUM((IF SPCLMON THEN 3 ELSE 2) & CARDNUMBER[46:43:44]); 90605000=15327000= EMITV(GNAT(PRINTI)); 90610000=15328000= IF P1 ^= FS THEN 90615000=15330000= EMITV(JUNK); 90620000=15330000= @@ -18482,12 +18549,12 @@ COMMENT ***** MONITOR FUNCTION M6 GOES BEFORE EMITO(XCH); 90530000 END OF ASSIGNMENT STATEMENT SUBSCRIPTED VARIABLES; 90660000=15338000= IF ELCLASS = PERIOD THEN 90665000=15339000= BEGIN 90670000=15340000= - IF DOTSYNTAX(T1, T2) THEN 90675000=15341000= + IF DOTSYNTAX(T1, T2) THEN 90675000=15341000= GO TO EXIT; 90680000=15341000= IF STEPI = ASSIGNOP THEN 90685000=15342000= IF P1 = FS THEN % PARTIAL WORD IS LEFT-MOST 90690000=15342100= BEGIN 90695000=15342200= - XREFIT(TALL, REMEMBERSEQNO, ASSIGNREF); % PARTIAL90700000=15342300= + XREFIT(TALL, REMEMBERSEQNO, ASSIGNREF); % PARTIAL 90700000=15342300= % WORD ASSIGNMENT TO SUBSCR. VAR. 90705000=15342400= GO TO LAST; 90710000=15342500= END 90715000=15343000= @@ -18517,7 +18584,7 @@ COMMENT ***** MONITOR FUNCTION M10 GOES HERE ; 90780000 IF TALL < 0 THEN 90835000=15358000= BEGIN 90840000=15358000= COMMENT DO NOT MONITOR AFTER ALL; 90845000=15358000= - EMITNUM(5 & CARDNUMBER[1:4:44]); 90850000=15359000= + EMITNUM(5 & CARDNUMBER[46:43:44]); 90850000=15359000= IF SPCLMON THEN 90855000=15361000= EMITV(GNAT(PRINTI)) 90860000=15362000= ELSE 90865000=15362000= @@ -18538,7 +18605,7 @@ COMMENT ***** MONITOR FUNCTION M10 GOES HERE ; 90780000 COMMENT 210 VARIABLE-MISSING LEFT ARROW OR PERIOD. *;90940000=15368000= IF T1 ^= 0 THEN 90945000=15369000= BEGIN 90950000=15369000= - EMITI(0, T1, T2); 90955000=15369000= + EMITI(0, T1, T2); 90955000=15369000= IF P1 ^= FI THEN 90960000=15369100= P1:= 0; 90965000=15369100= END; 90970000=15369200= @@ -18552,7 +18619,7 @@ COMMENT ***** MONITOR FUNCTION M9 ; 91005000 IF TALL < 0 THEN 91010000=15373000= BEGIN 91015000=15373000= COMMENT MONITOR FUNCTION M9; 91020000=15373000= - EMITNUM(5 & CARDNUMBER[1:4:44]); 91025000=15374000= + EMITNUM(5 & CARDNUMBER[46:43:44]); 91025000=15374000= EMITV(GNAT(PRINTI)); 91030000=15374100= END; 91035000=15375000= EXIT: 91040000=15376000= @@ -18567,10 +18634,10 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 BEGIN 91085000=16002000= DEFINE 91090000=16003000= LFTPAREN = LEFTPAREN #, 91095000=16003000= - LOC = [36:12] #, 91100000=16003000= - LASTGT = [24:12] #, 91105000=16004000= - LOCFLD = 36:36:12 #, 91110000=16004000= - LGTFLD = 24:24:12 #; 91115000=16004000= + LOC = [11:12] #, 91100000=16003000= + LASTGT = [23:12] #, 91105000=16004000= + LOCFLD = 11:11:12 #, 91110000=16004000= + LGTFLD = 23:23:12 #; 91115000=16004000= DEFINE 91120000=16005000= LEVEL = LVL #, 91125000=16005000= ADDOP = ADOP #; 91130000=16005000= @@ -18609,10 +18676,10 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 COMMENT 7.5.10.1 SET COUNT ; 91295000=16022000= JNS = 38 #; 91300000=16023000= COMMENT 7.5.5.7 JUMP OUT LOOP ; 91305000=16023000= - 91310000=16024000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%91310000=16024000= COMMENT FIXC EMITS BASICLY FORWARD JUMPS. HOWEVER IN THE CASE 91315000=16024000= OF INSTRUCTIONS INTERPTED AS JUMPS BECAUSE OF A CRF ON 91320000=16025000= - A VALUE = 0 AND THE JUMP } 64 SYLLABLES A JFW 1 AND 91325000=16026000= + A VALUE = 0 AND THE JUMP >= 64 SYLLABLES A JFW 1 AND 91325000=16026000= A RCA L (L IS STACK ADDRESS OF A PSEUDO LABEL WHICH 91330000=16027000= MUST ALSO BE MANUFACTURED) IS EMITTED. ; 91335000=16028000= PROCEDURE FIXC(S); 91340000=16029000= @@ -18637,30 +18704,30 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 EMIT(S); 91435000=16038000= D:= D-2; 91440000=16038000= END; 91445000=16039000= - EMITC(D, F); 91450000=16040000= + EMITC(D, F); 91450000=16040000= L:= SAVL 91455000=16041000= END 91460000=16042000= ELSE 91465000=16042000= BEGIN 91470000=16042000= IF F ^= JFW THEN 91475000=16043000= BEGIN 91480000=16043000= - EMITC(1, F); 91485000=16044000= - EMITC(1, JFW) 91490000=16045000= + EMITC(1, F); 91485000=16044000= + EMITC(1, JFW) 91490000=16045000= END; 91495000=16045000= - EMITC(PJ:= PJ+1, RCA); 91500000=16046000= + EMITC(PJ:= PJ+1, RCA); 91500000=16046000= L:= SAVL; 91505000=16047000= ADJUST; 91510000=16048000= - LPRT:= PROGDESCBLDR(2, L, 0); 91515000=16049000= + LPRT:= PROGDESCBLDR(2, L, 0); 91515000=16049000= COMMENT NOW ENTER PSEUDO LABEL INTO INFO WITH ADDRESS=PJ-1; 91520000=16050000= - PUTNBUMP(0 & (STLABID*2+1)[2:40:8] & PJ[16:37:11] & 2[27:40:8]);91525000=16052000= - PUTNBUMP(0 & (NEXTINFO-LASTINFO-1)[4:40:8]); 91530000=16053000= + PUTNBUMP(0 & (STLABID*2+1)[45:7:8] & PJ[31:10:11] & 2[20:7:8]); 91525000=16052000= + PUTNBUMP(0 & (NEXTINFO-LASTINFO-1)[43:7:8]); 91530000=16053000= PUTNBUMP(0); 91535000=16054000= LASTINFO:= NEXTINFO-3; 91540000=16055000= END; 91545000=16056000= END FIXC; 91550000=16057000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%91555000=16057000= COMMENT EMITJUMP IS CALLED BY GOTOS AND JUMPCHAIN. 91560000=16058000= - THIS ROUTINE WILL EMIT A JUMP IF THE DISTANCE IS { 63 91565000=16059000= + THIS ROUTINE WILL EMIT A JUMP IF THE DISTANCE IS <= 63 91565000=16059000= SYLLABLES ,OTHERWISE, IT GETS A PRT CELL AND STUFFS THE 91570000=16060000= STACK ADDRESS INTO THE LABEL ENTRY IN INFO AND EMITS AN 91575000=16061000= RCA ON THIS STACK CELL. AT EXECUTION TIME ACTUAL PARAPART 91580000=16062000= @@ -18681,10 +18748,10 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 BEGIN 91655000=16071000= IF ADDR:= TAKE(E).ADDRESS = 0 THEN 91660000=16072000= BEGIN 91665000=16073000= - PUT(TAKE(E) & (ADDR:= PJ:= PJ+1)[16:37:11], E); 91670000=16074000= - LPRT:= PROGDESCBLDR(2, T, 0); 91675000=16075000= + PUT(TAKE(E) & (ADDR:= PJ:= PJ+1)[31:10:11], E); 91670000=16074000= + LPRT:= PROGDESCBLDR(2, T, 0); 91675000=16075000= END; 91680000=16076000= - EMITC(ADDR, RCA); 91685000=16077000= + EMITC(ADDR, RCA); 91685000=16077000= END 91690000=16079000= ELSE 91695000=16079000= EMITC(D, IF D < 0 THEN JRV ELSE JFW); 91700000=16079000= @@ -18718,7 +18785,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 A VARIABLE NEST INDEX CAUSES THE CODE, 91840000=16099000= CRF V, BNS 0 ,NOP,NOP, TO BE GENERATED INITIALLY. 91845000=16100000= AT THE RIGHT PAREN THE BNS IS FIXED WITH THE LENGTH OF 91850000=16101000= - THE NEST (NUMBER OF SYLLABLES) IF THE LENGTH{63,OTHERWISE 91855000=16102000= + THE NEST (NUMBER OF SYLLABLES) IF THE LENGTH<=63,OTHERWISE91855000=16102000= IT IS FIXED WITH A 1 AND THE NOPS REPLACED WITH JFW 1, 91860000=16103000= RCA P. THIS IS DONE BECAUSE THE VALUE OF V AT EXECUTION 91865000=16104000= MAY = 0 AND THIS CODE CAUSES A JUMP AROUND THE NEST. 91870000=16105000= @@ -18740,14 +18807,14 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 BNSFIX; 91950000=16118000= IF ELCLASS ^= LITNO THEN 91955000=16119000= BEGIN 91960000=16120000= - EMITC(ELBAT[I].ADDRESS, CRF); 91965000=16121000= + EMITC(ELBAT[I].ADDRESS, CRF); 91965000=16121000= BNSFIX:= L; 91970000=16121000= EMIT(BNS); 91975000=16122000= EMIT(NOP); 91980000=16122000= EMIT(NOP); 91985000=16122000= END 91990000=16124000= ELSE 91995000=16124000= - EMITC(ELBAT[I].ADDRESS, BNS); 92000000=16124000= + EMITC(ELBAT[I].ADDRESS, BNS); 92000000=16124000= IF STEPI ^= LFTPAREN THEN 92005000=16125000= BEGIN 92010000=16125000= ERR(262); 92015000=16125000= @@ -18772,8 +18839,8 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 BEGIN 92110000=16135000= COMMENT PREPARE TO CALL JUMPCHAIN FORJUMPOUTS; 92115000=16136000= ADJUST; 92120000=16137000= - PUT(TAKE(GIT(JOINFO)) & L[LOCFLD], GIT(JOINFO)); 92125000=16138000= - JUMPCHAIN(TAKE(JOINFO) & JOINFO[35:35:13]); 92130000=16139000= + PUT(TAKE(GIT(JOINFO)) & L[LOCFLD], GIT(JOINFO)); 92125000=16138000= + JUMPCHAIN(TAKE(JOINFO) & JOINFO[12:12:13]); 92130000=16139000= END; 92135000=16140000= IF BNSFIX ^= 0 THEN 92140000=16141000= FIXC(BNSFIX); 92145000=16141000= @@ -18787,12 +18854,12 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 WORD (IN THE PROGRAMSTREAM). 92185000=16147000= IF A GO TO HAS NOT BEEN ENCOUNTERED BEFORE THE LABEL 92190000=16148000= THEN THE NEST LEVEL FIELD IS ENTERED AND THE DEFINED BIT, 92195000=16149000= - [1:1], SET TO ONE. FOR DEFINED LABELS,IF WHERE A GO TO 92200000=16150000= + [46:1], SET TO ONE. FOR DEFINED LABELS,IF WHERE A GO TO 92200000=16150000= HAS APPEARED, A CHECK IS MADE THAT THE CURRENT NEST LEVEL 92205000=16151000= MATCHES THE LEVEL OF THE LABEL. 92210000=16152000= MULTIPLE OCCURANCES ARE ALSO CHECKED FOR AND FLAGGED. 92215000=16153000= FINALLY,JUMPCHAIN IS CALLED TO FIX UP ANY FORWARD GO TOS 92220000=16154000= - AND GET A PRT LOCATION FOR ANY JUMPS }64 SYLLABLES. ; 92225000=16155000= + AND GET A PRT LOCATION FOR ANY JUMPS >=64 SYLLABLES. ; 92225000=16155000= PROCEDURE LABELS; 92230000=16156000= BEGIN 92235000=16157000= ADJUST; 92240000=16158000= @@ -18807,14 +18874,14 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 ELSE 92285000=16163000= IF GT1 > 0 THEN 92290000=16164000= BEGIN 92295000=16165000= - PUT(-(TAKE(GT1) & NESTLEVEL[11:43:5]), GT1); 92300000=16166000= - PUT(-L, GT2) 92305000=16168000= + PUT(-(TAKE(GT1) & NESTLEVEL[36:4:5]), GT1); 92300000=16166000= + PUT(-L, GT2) 92305000=16168000= END 92310000=16170000= ELSE 92315000=16170000= BEGIN 92320000=16170000= IF GT1.LEVEL ^= NESTLEVEL THEN 92325000=16171000= FLAG(257); 92330000=16171000= - PUT((-L) & TAKE(GT2)[LGTFLD], GT2); 92335000=16172000= + PUT((-L) & TAKE(GT2)[LGTFLD], GT2); 92335000=16172000= JUMPCHAIN(GT1); 92340000=16173000= END; 92345000=16174000= END; 92350000=16176000= @@ -18837,8 +18904,8 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 PROCEDURE IFS; 92435000=16191000= BEGIN 92440000=16191000= DEFINE 92445000=16192000= - COMPARECODE = [42:6] #, 92450000=16192000= - TESTCODE = [36:6] #, 92455000=16192000= + COMPARECODE = [5:6] #, 92450000=16192000= + TESTCODE = [11:6] #, 92455000=16192000= EQUALV = 48 #; 92460000=16192000= LABEL 92465000=16193000= IFSB, 92470000=16193000= @@ -18857,7 +18924,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 GO TO IFSW[STEPI-SBV+1]; 92535000=16197000= IF ELCLASS = LOCLID THEN 92540000=16198000= BEGIN 92545000=16199000= - EMITC(ELBAT[I].ADDRESS, CRF); 92550000=16200000= + EMITC(ELBAT[I].ADDRESS, CRF); 92550000=16200000= ADDR:= 0; 92555000=16201000= END 92560000=16204000= ELSE 92565000=16204000= @@ -18880,17 +18947,17 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 GO EXIT 92650000=16208000= END; 92655000=16208000= IF STEPI = DCV THEN 92660000=16209000= - EMITC(ADDR, ELBAT[I-1], COMPARECODE) 92665000=16210000= + EMITC(ADDR, ELBAT[I-1], COMPARECODE) 92665000=16210000= ELSE 92670000=16210000= IF ELCLASS = STRNGCON THEN 92675000=16210000= BEGIN 92680000=16211000= - IF ACCUM[1].[12:6] ^= 1 OR ELBAT[I-3].CLASS ^= IFV THEN 92685000=16211100= + IF ACCUM[1].[35:6] ^= 1 OR ELBAT[I-3].CLASS ^= IFV THEN 92685000=16211100= BEGIN 92690000=16211200= ERR(271); 92695000=16211200= GO EXIT 92700000=16211200= END 92705000=16211300= ELSE 92710000=16211300= - EMITC(ACCUM[1].[18:6], ELBAT[I-1].TESTCODE) 92715000=16211400= + EMITC(ACCUM[1].[29:6], ELBAT[I-1].TESTCODE) 92715000=16211400= END 92720000=16212000= ELSE 92725000=16212000= IF ELCLASS = LOCLID THEN 92730000=16212000= @@ -18902,9 +18969,9 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 END 92760000=16212400= ELSE 92765000=16212400= BEGIN 92770000=16212400= - EMITC(0, ELBAT[I-1].TESTCODE); % RESET TFFF. 92775000=16212500= - EMITC(ELBAT[I].ADDRESS, CRF); 92780000=16212600= - EMITC(0, ELBAT[I-1].TESTCODE); % COMPARE. 92785000=16212700= + EMITC(0, ELBAT[I-1].TESTCODE); % RESET TFFF. 92775000=16212500= + EMITC(ELBAT[I].ADDRESS, CRF); 92780000=16212600= + EMITC(0, ELBAT[I-1].TESTCODE); % COMPARE. 92785000=16212700= END 92790000=16213000= END 92795000=16213000= ELSE 92800000=16213000= @@ -18915,7 +18982,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 END 92825000=16214000= ELSE 92830000=16214000= IF ELBAT[I-1].COMPARECODE = EQUALV THEN 92835000=16214000= - EMITC(17, TAN) 92840000=16214100= + EMITC(17, TAN) 92840000=16214100= ELSE 92845000=16214100= BEGIN 92850000=16214100= FLAG(270); 92855000=16214100= @@ -18923,7 +18990,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 END; 92865000=16214100= GO IFTOG; 92870000=16215000= IFSB: 92875000=16216000= - EMITC(1, BIT); 92880000=16216000= + EMITC(1, BIT); 92880000=16216000= IFTOG: 92885000=16217000= IF STEPI ^= THENV THEN 92890000=16217000= BEGIN 92895000=16217000= @@ -18960,7 +19027,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 COMMENT GOTOS HANDLES GO TO AND THE LAST PART OF JUMP OUT TO 93050000=16240000= STATEMENTS. 93055000=16241000= IF THE LABEL HAS BEEN ENCOUNTERED THEN EMITJUMP IS CALLED 93060000=16242000= - AN PRODUCES A JRV OR RCA IN THE CASE OF JUMPS}64 SYLLABL 93065000=16243000= + AN PRODUCES A JRV OR RCA IN THE CASE OF JUMPS>=64 SYLLABL 93065000=16243000= ES. OTHERWISE, A LINK IS EMITTED POINTING ANY PREVIOUS 93070000=16244000= GO TOS IN THE CASE OF FORWARD JUMPS. 93075000=16245000= FINALLY, IF THE NEST LEVEL IS DEFINED THEN IT IS CHECKED 93080000=16246000= @@ -18981,17 +19048,17 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 EMITJUMP(GT1) 93155000=16256000= ELSE 93160000=16256000= BEGIN 93165000=16257000= - PUT(0 & L[24:36:12], GIT(GT1)); 93170000=16257000= + PUT(0 & L[23:11:12], GIT(GT1)); 93170000=16257000= IF GT1 > 0 THEN 93175000=16258000= BEGIN 93180000=16259000= - PUT(-(TAKE(GT1) & (NESTLEVEL-JUMPLEVEL)[11:43:5]), GT1); 93185000=16260000= + PUT(-(TAKE(GT1) & (NESTLEVEL-JUMPLEVEL)[36:4:5]), GT1); 93185000=16260000= EMITN(1023); 93190000=16261000= END 93195000=16264000= ELSE 93200000=16264000= BEGIN 93205000=16264000= IF GT1.LEVEL ^= NESTLEVEL-JUMPLEVEL THEN 93210000=16265000= FLAG(257); 93215000=16265000= - EMIT(GT2, LASTGT); 93220000=16266000= + EMIT(GT2, LASTGT); 93220000=16266000= END; 93225000=16267000= END; 93230000=16268000= JUMPLEVEL:= 0; 93235000=16269000= @@ -19015,10 +19082,10 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 ERR(256) 93325000=16284000= ELSE 93330000=16284000= BEGIN 93335000=16285000= - EMITC(GT1.ADDRESS, SED); 93340000=16286000= + EMITC(GT1.ADDRESS, SED); 93340000=16286000= EMIT(FILETHING); 93345000=16287000= FILETHING:= L-1; 93350000=16287000= - INFO[GT1.LINKR, GT1.LINKC].MON:= 1; 93355000=16288000= + INFO[GT1.LINKR, GT1.LINKC].MON:= 1; 93355000=16288000= END RELEASES; 93360000=16289000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%93365000=16289000= COMMENT INDEXS COMPILE STATEMENTS BEGINING WITH SI,DI,CI,TALLY 93370000=16290000= @@ -19037,7 +19104,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 IN THIS PROCEDURE,INDEXS,THE VARIABLE "ADDR" CONTAINS THE 93435000=16303000= PROPER REPEAT PART BY THE TIME THE LABEL "GENERATE' IS 93440000=16304000= ENCOUNTERED. THE SYLLABLES ARE FETCHED FROM MACRO[TYPE] 93445000=16305000= - ONE AT A TIME AND IF THE REPEAT PART ! 0 THEN"ADDR" IS 93450000=16306000= + ONE AT A TIME AND IF THE REPEAT PART ^= 0 THEN"ADDR" IS 93450000=16306000= USED AS THE REPEAT PART,THUS BUILDING A SYLLABLE WITH 93455000=16307000= THE PROPER ADDRESS AND OPERATOR . 93460000=16308000= NOTE: IF MACRO[TYPE] = 0 THEN THIS SIGNIFIES A SYNTAX 93465000=16309000= @@ -19095,7 +19162,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 GO TO L; 93725000=16340000= IF ELCLASS = LITNO AND TCLASS = TALLYV THEN 93730000=16341000= BEGIN 93735000=16342000= - EMITC(ELBAT[I].ADDRESS, SEC); 93740000=16342000= + EMITC(ELBAT[I].ADDRESS, SEC); 93740000=16342000= GO TO EXIT 93745000=16342000= END; 93750000=16342000= END; 93755000=16343000= @@ -19109,17 +19176,17 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 END; 93795000=16347000= J:= 8; 93800000=16348000= TCLASS:= 0; 93805000=16348000= - L1: MOVECHARACTERS(2, MACRO[INDEX], J:= J-2, TCLASS, 6); 93810000=16349000= + L1: MOVECHARACTERS(2, MACRO[INDEX], J:= J-2, TCLASS, 6); 93810000=16349000= IF TCLASS ^= 0 THEN 93815000=16350000= BEGIN 93820000=16351000= - EMITC(IF TCLASS >= 64 THEN ADDR ELSE 0, TCLASS); 93825000=16352000= + EMITC(IF TCLASS >= 64 THEN ADDR ELSE 0, TCLASS); 93825000=16352000= GO TO L1 93830000=16354000= END; 93835000=16354000= EXIT: 93840000=16355000= END INDEXS; 93845000=16355000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%93850000=16355000= COMMENT DSS COMPILES DESINTATION STREAM STATEMENTS. 93855000=16356000= - DS~ LIT"STRING" IS HANDLED AS A SPECIAL CASE BECAUE THE 93860000=16357000= + DS:= LIT"STRING" IS HANDLED AS A SPECIAL CASE BECAUE THE 93860000=16357000= STRING MUST BE SCANED FROM RIGHT TO LEFT,REPEATEDLY IF 93865000=16358000= NECESSARY, AND EMITTED TO THE PROGRAM STREAM. IN 93870000=16359000= ALL OTHER CASES,THE ELBAT WORD CONTAINS THE OPERATOR IN 93875000=16360000= @@ -19136,7 +19203,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 EXIT, 93930000=16365000= L1; 93935000=16365000= DEFINE 93940000=16366000= - OPCODE = [27:6] #; 93945000=16366000= + OPCODE = [20:6] #; 93945000=16366000= IF STEPI ^= ASSIGNOP THEN 93950000=16367000= BEGIN 93955000=16367000= ERR(251); 93960000=16367000= @@ -19144,7 +19211,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 END; 93970000=16367000= IF STEPI = LOCLID THEN 93975000=16368000= BEGIN 93980000=16369000= - EMITC(ELBAT[I].ADDRESS, CRF); 93985000=16370000= + EMITC(ELBAT[I].ADDRESS, CRF); 93985000=16370000= ADDR:= 0; 93990000=16371000= IF STEPI = LITV THEN 93995000=16372000= GO TO L1 94000000=16374000= @@ -19158,11 +19225,11 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 ELSE 94040000=16378000= ADDR:= 1; 94045000=16378000= IF ELCLASS = TRNSFER OR ELCLASS = FILLV THEN 94050000=16379000= - EMITC(ADDR, ELBAT[I].OPCODE) 94055000=16380000= + EMITC(ADDR, ELBAT[I].OPCODE) 94055000=16380000= ELSE 94060000=16380000= IF ELCLASS = LITV THEN 94065000=16381000= BEGIN 94070000=16382000= - EMITC(ADDR, TRP); 94075000=16383000= + EMITC(ADDR, TRP); 94075000=16383000= IF STEPI ^= STRING AND ELCLASS ^= STRNGCON AND ELCLASS ^= LITNO 94080000=16384100= AND ELCLASS ^= NONLITNO 94085000=16384100= THEN 94090000=16384100= @@ -19171,18 +19238,18 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 GO TO EXIT 94105000=16384500= END; 94110000=16384500= IF ELCLASS = LITNO OR ELCLASS = NONLITNO THEN 94115000=16384700= - MOVECHARACTERS(COUNT:= IF ADDR < 8 THEN ADDR ELSE 8, C, 94120000=16384900= + MOVECHARACTERS(COUNT:= IF ADDR < 8 THEN ADDR ELSE 8, C, 94120000=16384900= 8-COUNT, ACCUM[1], 3); 94125000=16384900= IF ADDR MOD 2 ^= 0 THEN 94130000=16385000= BEGIN 94135000=16386000= - EMIT(ACCUM[1].[18:6]); 94140000=16387000= + EMIT(ACCUM[1].[29:6]); 94140000=16387000= J:= 1; 94145000=16387000= END; 94150000=16388000= FOR K:= J+2 STEP 2 UNTIL ADDR DO 94155000=16389000= BEGIN 94160000=16390000= FOR L:= 6, 7 DO 94165000=16391000= - MOVECHARACTERS(1, ACCUM[1], 94170000=16393000= - 2+(IF J:= J+1 > COUNT THEN J:= 1 ELSE J), T, L); 94175000=16393000= + MOVECHARACTERS(1, ACCUM[1], 94170000=16393000= + 2+(IF J:= J+1 > COUNT THEN J:= 1 ELSE J), T, L); 94175000=16393000= EMIT(T); 94180000=16394000= END 94185000=16396000= END 94190000=16397000= @@ -19201,7 +19268,7 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 ADDR; 94255000=16405000= IF STEPI = LOCLID THEN 94260000=16406000= BEGIN 94265000=16407000= - EMITC(ELBAT[I].ADDRESS, CRF); 94270000=16408000= + EMITC(ELBAT[I].ADDRESS, CRF); 94270000=16408000= ADDR:= 0; 94275000=16408000= STEPIT; 94280000=16408000= END 94285000=16410000= @@ -19214,10 +19281,10 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 ELSE 94320000=16414000= ADDR:= 1; 94325000=16414000= IF ELCLASS = SBV THEN 94330000=16415000= - EMITC(ADDR, BSS) 94335000=16416000= + EMITC(ADDR, BSS) 94335000=16416000= ELSE 94340000=16416000= IF ELCLASS = DBV THEN 94345000=16417000= - EMITC(ADDR, BSD) 94350000=16418000= + EMITC(ADDR, BSD) 94350000=16418000= ELSE 94355000=16418000= ERR(250); 94360000=16418000= END SKIPS; 94365000=16419000= @@ -19248,12 +19315,12 @@ COMMENT THIS SECTION GENERATES CODE FOR STREAM PROCEDURES; 91075000 IF JOINFO = 0 THEN 94490000=16440000= BEGIN 94495000=16441000= JOINFO:= NEXTINFO; 94500000=16442000= - PUTNBUMP(0 & (STLABID*2+1)[2:40:8] & 2[27:40:8]); 94505000=16444000= - PUTNBUMP(0 & (JOINFO-LASTINFO)[4:40:8]); 94510000=16445000= + PUTNBUMP(0 & (STLABID*2+1)[45:7:8] & 2[20:7:8]); 94505000=16444000= + PUTNBUMP(0 & (JOINFO-LASTINFO)[43:7:8]); 94510000=16445000= PUTNBUMP(0); 94515000=16446000= LASTINFO:= JOINFO; 94520000=16447000= END; 94525000=16448000= - ELBAT[I:= I-1]:= TAKE(JOINFO) & JOINFO[35:35:13]; 94530000=16449000= + ELBAT[I:= I-1]:= TAKE(JOINFO) & JOINFO[12:12:13]; 94530000=16449000= END; 94535000=16450000= I:= I-1; 94540000=16450000= END; 94545000=16451000= @@ -19354,7 +19421,7 @@ FINI: 95005000 TIME1:= TIME(1); 95020000=17000000= PROGRAM; 95025000=17000000= ENDOFITALL: 95030000=17001000= - IF(XREF OR DEFINING.[1:1) AND XLUN > 0 THEN 95035000=17001000= + IF(XREF OR DEFINING.[46:1) AND XLUN > 0 THEN 95035000=17001000= BEGIN 95040000=17002000= DEFINE 95045000=17002000= LSS = < #, 95050000=17002000= @@ -19363,14 +19430,14 @@ ENDOFITALL: 95030000 LEQ = <= #; 95065000=17002000= DEFINE 95070000=17002005= XREFINFO[INDEX] = 95075000=17002005= - INFO[((INDEX).CF DIV 2).[33:7], ((INDEX).CF DIV 2)95080000=17002006= + INFO[((INDEX).CF DIV 2).[14:7], ((INDEX).CF DIV 2)95080000=17002006= .LINKC] #, 95085000=17002007= - CF = [33:15] #, 95090000=17002008= - FF = [18:15] #, 95095000=17002009= + CF = [14:15] #, 95090000=17002008= + FF = [29:15] #, 95095000=17002009= NEWID[INDEX] = (IF BOOLEAN(INDEX) THEN XREFINFO[INDEX].FF ELSE 95100000=17002010= XREFINFO[INDEX].CF) #; 95105000=17002010= ARRAY 95110000=17002012= - TIMINGS[0:2, 0:3]; 95115000=17002012= + TIMINGS[0:2, 0:3]; 95115000=17002012= PROCEDURE SAVETIMES(I); 95120000=17002015= VALUE 95125000=17002020= I; 95130000=17002020= @@ -19380,7 +19447,7 @@ ENDOFITALL: 95030000 INTEGER 95150000=17002030= J; 95155000=17002030= FOR J:= 1 STEP 1 UNTIL 3 DO 95160000=17002035= - TIMINGS[I, J]:= TIME(J); 95165000=17002040= + TIMINGS[I, J]:= TIME(J); 95165000=17002040= END; 95170000=17002045= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95175000=17002045= PROCEDURE UPDATETIMES(I); 95180000=17002050= @@ -19392,7 +19459,7 @@ ENDOFITALL: 95030000 INTEGER 95210000=17002065= J; 95215000=17002065= FOR J:= 1 STEP 1 UNTIL 3 DO 95220000=17002070= - TIMINGS[I, J]:= TIME(J)-TIMINGS[I, J]; 95225000=17002075= + TIMINGS[I, J]:= TIME(J)-TIMINGS[I, J]; 95225000=17002075= END; 95230000=17002080= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95235000=17002080= WRITE(LINE[PAGE]); 95240000=17002520= @@ -19400,7 +19467,7 @@ ENDOFITALL: 95030000 LASTADDRESS:= 0; 95250000=17002530= FOR XREFPT:= XREFPT STEP 1 UNTIL 29 DO 95255000=17003000= XREFAY2[XREFPT]:= 100000000; 95260000=17003000= - WRITE(DSK2, 30, XREFAY2[**]); 95265000=17004000= + WRITE(DSK2, 30, XREFAY2[*]); 95265000=17004000= TOTALNO:= XLUN; % REMEMBER NUMBER OF IDENTIFIERS. 95270000=17004500= XREFPT:= XLUN:= 0; 95275000=17004600= FOR I:= 0 STEP 1 UNTIL 8191 DO 95280000=17004700= @@ -19413,7 +19480,7 @@ ENDOFITALL: 95030000 LABEL 95315000=17009000= L, 95320000=17009000= EOF; 95325000=17009000= - READ(DSK1, 10, A[**])[EOF]; 95330000=17010000= + READ(DSK1, 10, A[*])[EOF]; 95330000=17010000= GO TO L; 95335000=17011000= EOF: 95340000=17012000= INPUT1:= TRUE; 95345000=17012000= @@ -19421,7 +19488,7 @@ ENDOFITALL: 95030000 L: 95355000=17015000= END; 95360000=17015000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95365000=17015000= - PROCEDURE OUTPUT1(B, A); 95370000=17016000= + PROCEDURE OUTPUT1(B, A); 95370000=17016000= VALUE 95375000=17017000= B; 95380000=17017000= BOOLEAN 95385000=17018000= @@ -19442,12 +19509,11 @@ ENDOFITALL: 95030000 ELSE 95460000=17025200= XREFINFO[A[8]].CF:= XLUN:= XLUN+1; 95465000=17025300= A[8].IDNOF:= XLUN; 95470000=17025400= - WRITE(DSK1, 10, A[**]); 95475000=17026000= + WRITE(DSK1, 10, A[*]); 95475000=17026000= END; 95480000=17027000= END; 95485000=17028000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95490000=17028000= - BOOLEAN 95495000=17029000= - STREAM PROCEDURE COMPS1(A, B); 95500000=17029000= + BOOLEAN STREAM PROCEDURE COMPS1(A, B); 95495000=17029000= BEGIN 95505000=17030000= SI:= A; 95510000=17031000= DI:= B; 95515000=17032000= @@ -19462,6 +19528,7 @@ ENDOFITALL: 95030000 END; 95560000=17033800= COMPS1:= TALLY; 95565000=17034000= END; 95570000=17035000= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95572000 STREAM PROCEDURE HVS1(A); 95575000=17036000= BEGIN 95580000=17037000= DI:= A; 95585000=17038000= @@ -19470,11 +19537,12 @@ ENDOFITALL: 95030000 DS:= 7 WDS; 95600000=17041000= DS:= 8 LIT 3"777777777"; % ID,NO, AND SEG.NO. FIELDS 95605000=17041100= END; 95610000=17042000= - BOOLEAN PROCEDURE COMP1(A, B); 95615000=17042100= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95612000 + BOOLEAN PROCEDURE COMP1(A, B); 95615000=17042100= ARRAY 95620000=17042200= A, 95625000=17042200= B[0]; 95630000=17042200= - IF REAL(COMP1:= COMPS1(A, B)) = 2 THEN % IDS EQUAL 95635000=17042300= + IF REAL(COMP1:= COMPS1(A, B)) = 2 THEN % IDS EQUAL 95635000=17042300= COMP1:= A[8].IDNOF < B[8].IDNOF; 95640000=17042350= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95645000=17042350= PROCEDURE HV1(A); 95650000=17042400= @@ -19484,14 +19552,15 @@ ENDOFITALL: 95030000 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95670000=17042600= XLUN:= 0; 95675000=17043000= REWIND(DSK1); 95680000=17044000= - SORT(OUTPUT1, INPUT1, 0, HV1, COMP1, 10, IF TOTALNO < 1000 95685000=17045100= + SORT(OUTPUT1, INPUT1, 0, HV1, COMP1, 10, IF TOTALNO < 1000 95685000=17045100= THEN 7000 ELSE 10000); 95690000=17045100= END; 95695000=17046000= BEGIN 95700000=17047000= ARRAY 95705000=17047100= IDTYPE[0:(IDMAX+4)*4-1]; 95710000=17047100= - STREAM PROCEDURE SETUPHEADING(S, D, SEG, SEQNO, FWDTOG, 95715000=17047350= - LBLTOG, FWDSEQNO, TYPE, OWNTOG, PARAMTOG, VALTOG); 95720000=17047350= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95712000 + STREAM PROCEDURE SETUPHEADING(S, D, SEG, SEQNO, FWDTOG, 95715000=17047350= + LBLTOG, FWDSEQNO, TYPE, OWNTOG, PARAMTOG, VALTOG); 95720000=17047350= VALUE 95725000=17047400= SEQG, 95730000=17047400= SEQNO, 95735000=17047400= @@ -19528,7 +19597,8 @@ ENDOFITALL: 95030000 (DS:= 17 LIT 6" -- FORWARD AT ";SI:= LOC FWDSEQNO;DS:= 8 DEC);95890000=17050800= (DS:= 16 LIT 6" -- OCCURS AT ";SI:= LOC FWDSEQNO;DS:= 8 DEC); 95895000=17051100= END OF SETUPHEADING; 95900000=17051200= - STREAM PROCEDURE ADDASEQNO(SEQNO, N, STARS, D); 95905000=17051400= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95902000 + STREAM PROCEDURE ADDASEQNO(SEQNO, N, STARS, D); 95905000=17051400= VALUE 95910000=17051500= SEQNO, 95915000=17051500= N, 95920000=17051500= @@ -19543,6 +19613,7 @@ ENDOFITALL: 95030000 DS:= LIT 6" "; 95965000=17052300= (DI:= DS-1;DS:= LIT 6"*"); 95970000=17052400= END; 95975000=17052500= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%95976000 STREAM PROCEDURE BLANKET(D); 95980000=17052600= BEGIN 95985000=17052700= DI:= D; 95990000=17052800= @@ -19550,29 +19621,30 @@ ENDOFITALL: 95030000 SI:= D; 96000000=17053000= DS:= 16 WDS; 96005000=17053100= END OF BLANKET; 96010000=17053200= + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%96012000 PROCEDURE PRINTXREFSTATISTICS; 96015000=17053300= BEGIN 96020000=17053400= - SWITCH FORMAT STATS := 96025000=17053500= - (///, "CROSS REFERENCE STATISTICS", /, 96030000=17053600= - "----- --------- ----------", /), 96035000=17053700= - ("PHASE ONE - SORT",I6," IDENTIFIERS"), 96040000=17053800= - ("PHASE TWO - SORT",I7," REFERENCES"), 96045000=17053900= - ("PHASE THREE - PRINT CROSS REFERENCE (",I7," LINES)"), 96050000=17054000= - (X5,I4,":",2I1," ELAPSED TIME (MIN:SEC)"), 96055000=17054100= - (X5,I4,":",2I1," PROCESSOR TIME"), 96060000=17054200= - (X5,I4,":",2I1," I/O TIME",/); 96065000=17054300= + SWITCH FORMAT STATS := 96025000=17053500= + (///, "CROSS REFERENCE STATISTICS", /, 96030000=17053600= + "----- --------- ----------", /), 96035000=17053700= + ("PHASE ONE - SORT",I6," IDENTIFIERS"), 96040000=17053800= + ("PHASE TWO - SORT",I7," REFERENCES"), 96045000=17053900= + ("PHASE THREE - PRINT CROSS REFERENCE (",I7," LINES)"), 96050000=17054000= + (X5,I4,":",2I1," ELAPSED TIME (MIN:SEC)"), 96055000=17054100= + (X5,I4,":",2I1," PROCESSOR TIME"), 96060000=17054200= + (X5,I4,":",2I1," I/O TIME",/); 96065000=17054300= INTEGER 96070000=17054400= I, 96075000=17054400= J, 96080000=17054400= K; 96085000=17054400= - WRITE(LINE, STATS[0]); 96090000=17054500= + WRITE(LINE, STATS[0]); 96090000=17054500= FOR I:= 0 STEP 1 UNTIL 2 DO 96095000=17054600= BEGIN 96100000=17054700= - WRITE(LINE, STATS[I+1], TIMINGS[I, 0]); 96105000=17054800= + WRITE(LINE, STATS[I+1], TIMINGS[I, 0]); 96105000=17054800= FOR J:= 1 STEP 1 UNTIL 3 DO 96110000=17054900= BEGIN 96115000=17055000= - K:= (TIMINGS[I, J]+30) DIV 60; % ROUND TO NEAREST SECON96120000=17055010= - WRITE(LINE, STATS[J+3], K DIV 60, (K:= K MOD 60) DIV 10, 96125000=17055025= + K:= (TIMINGS[I, J]+30) DIV 60; % ROUND TO NEAREST SECON 96120000=17055010= + WRITE(LINE, STATS[J+3], K DIV 60, (K:= K MOD 60) DIV 10, 96125000=17055025= K MOD 10); 96130000=17055025= END; 96135000=17055030= END; 96140000=17055100= @@ -19597,10 +19669,10 @@ ENDOFITALL: 95030000 I = LASTADDRESS #; 96235000=17073100= IF XREFPT:= XREFPT+1 = 30 THEN 96240000=17074000= BEGIN 96245000=17075000= - READ(DSK2, 30, XREFAY2[**])[EOF]; 96250000=17076000= + READ(DSK2, 30, XREFAY2[*])[EOF]; 96250000=17076000= XREFPT:= 0; 96255000=17077000= END; 96260000=17078000= - IF(I:= XREFAY2[XREFPT]).[21:27] GTR 99999999 THEN 96265000=17079000= + IF(I:= XREFAY2[XREFPT]).[26:27] GTR 99999999 THEN 96265000=17079000= GO TO EOF; 96270000=17079000= A[0]:= I & NEWID[I.REFIDNOF] REFIDNOF; 96275000=17080000= REFCOUNT:= REFCOUNT+1; 96280000=17080100= @@ -19609,43 +19681,44 @@ ENDOFITALL: 95030000 INPUT2:= TRUE; 96295000=17082000= BLANKET(PAY); 96300000=17083000= XREFAY1[8]:= XREFPT:= LASTADDRESS:= 0; 96305000=17084000= - FILL IDTYPE[**] WITH 6"UNKNOWN. ", % 0 96310000=17084020= -6"STREAM LABEL. ", % 1 96315000=17084030= -6"STREAM VARIABLE. ", % 2 96320000=17084040= -6"DEFINE. ", % 3 96325000=17084050= -6"LIST. ", % 4 96330000=17084060= -6"FORMAT. ", % 5 96335000=17084070= -6"SWITCH FORMAT. ", % 6 96340000=17084080= -6"FILE. ", % 7 96345000=17084090= -6"SWITCH FILE. ", % 8 96350000=17084100= -6"SWITCH LABEL. ", % 9 96355000=17084110= -6"PROCEDURE. ", % 10 96360000=17084120= -6"INTRINSIC. ", % 11 96365000=17084130= -6"STREAM PROCEDURE. ", % 12 96370000=17084140= -6"BOOLEAN STREAM PROCEDURE. ", % 13 96375000=17084150= -6"REAL STREAM PROCEDURE. ", % 14 96380000=17084160= -6"ALPHA STREAM PROCEDURE. ", % 15 96385000=17084170= -6"INTEGER STREAM PROCEDURE. ", % 16 96390000=17084180= -6"BOOLEAN PROCEDURE. ", % 17 96395000=17084182= -6"REAL PROCEDURE. ", % 18 96400000=17084184= -6"ALPHA PROCEDURE. ", % 19 96405000=17084186= -6"INTEGER PROCEDURE. ", % 20 96410000=17084188= -6"BOOLEAN. ", % 21 96415000=17084190= -6"REAL. ", % 22 96420000=17084200= -6"ALPHA. ", % 23 96425000=17084210= -6"INTEGER. ", % 24 96430000=17084220= -6"BOOLEAN ARRAY. ", % 25 96435000=17084230= -6"REAL ARRAY. ", % 26 96440000=17084240= -6"ALPHA ARRAY. ", % 27 96445000=17084250= -6"INTEGER ARRAY. ", % 28 96450000=17084260= -6"LABEL. ", % 29 96455000=17084270= -6"FIELD. ", % 30 (CLASS = 125) 96460000=17084275= -6"FAULT. ", % 32 (CLASS = 126) 96465000=17084280= -6"SWITCH LIST. "; % 31 (CLASS = 127) 96470000=17084290= + FILL IDTYPE[*] WITH 96310000=17084020= + 6"UNKNOWN. ", % 0 96312000=17084020= + 6"STREAM LABEL. ", % 1 96315000=17084030= + 6"STREAM VARIABLE. ", % 2 96320000=17084040= + 6"DEFINE. ", % 3 96325000=17084050= + 6"LIST. ", % 4 96330000=17084060= + 6"FORMAT. ", % 5 96335000=17084070= + 6"SWITCH FORMAT. ", % 6 96340000=17084080= + 6"FILE. ", % 7 96345000=17084090= + 6"SWITCH FILE. ", % 8 96350000=17084100= + 6"SWITCH LABEL. ", % 9 96355000=17084110= + 6"PROCEDURE. ", % 10 96360000=17084120= + 6"INTRINSIC. ", % 11 96365000=17084130= + 6"STREAM PROCEDURE. ", % 12 96370000=17084140= + 6"BOOLEAN STREAM PROCEDURE. ", % 13 96375000=17084150= + 6"REAL STREAM PROCEDURE. ", % 14 96380000=17084160= + 6"ALPHA STREAM PROCEDURE. ", % 15 96385000=17084170= + 6"INTEGER STREAM PROCEDURE. ", % 16 96390000=17084180= + 6"BOOLEAN PROCEDURE. ", % 17 96395000=17084182= + 6"REAL PROCEDURE. ", % 18 96400000=17084184= + 6"ALPHA PROCEDURE. ", % 19 96405000=17084186= + 6"INTEGER PROCEDURE. ", % 20 96410000=17084188= + 6"BOOLEAN. ", % 21 96415000=17084190= + 6"REAL. ", % 22 96420000=17084200= + 6"ALPHA. ", % 23 96425000=17084210= + 6"INTEGER. ", % 24 96430000=17084220= + 6"BOOLEAN ARRAY. ", % 25 96435000=17084230= + 6"REAL ARRAY. ", % 26 96440000=17084240= + 6"ALPHA ARRAY. ", % 27 96445000=17084250= + 6"INTEGER ARRAY. ", % 28 96450000=17084260= + 6"LABEL. ", % 29 96455000=17084270= + 6"FIELD. ", % 30 (CLASS = 125) 96460000=17084275= + 6"FAULT. ", % 32 (CLASS = 126) 96465000=17084280= + 6"SWITCH LIST. "; % 31 (CLASS = 127) 96470000=17084290= L: 96475000=17086000= END; 96480000=17086000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%96485000=17086000= - PROCEDURE OUTPUT2(B, A); 96490000=17087000= + PROCEDURE OUTPUT2(B, A); 96490000=17087000= VALUE 96495000=17088000= B; 96500000=17088000= BOOLEAN 96505000=17089000= @@ -19684,12 +19757,12 @@ ENDOFITALL: 95030000 IF B THEN % END OF SORT - LIST OUT REST OF SEQ. NO. 96670000=17091300= IF XREFPT ^= 0 THEN % WE GOT SOME TO LIST OUT 96675000=17091400= BEGIN 96680000=17091500= - WRITE(LINE[DBL], 15, PAY[**]); 96685000=17091510= + WRITE(LINE[DBL], 15, PAY[*]); 96685000=17091510= LINECOUNT:= LINECOUNT+1; 96690000=17091520= END 96695000=17091600= ELSE % NOTHING TO LIST OUT 96700000=17091600= ELSE % NOT END OF SORT 96705000=17091700= - IF NOT MATCH(LASTADDRESS, A[0]) AND A[0].REFIDNOF ^= 0 AND 96710000=17091900= + IF NOT MATCH(LASTADDRESS, A[0]) AND A[0].REFIDNOF ^= 0 AND 96710000=17091900= A[0].REFIDNOF >= XREFAY1[8].IDNOF 96715000=17091900= THEN 96720000=17091900= IF A[0].TYPEREF = FORWARDREF THEN % 96725000=17092000= @@ -19712,45 +19785,47 @@ ENDOFITALL: 95030000 BEGIN 96810000=17093700= IF A[0].REFIDNOF > XREFAY1[8].IDNOF THEN 96815000=17093850= DO 96820000=17093950= - READ(DSK1, 10, XREFAY1[**])[EOF2] 96825000=17094050= + READ(DSK1, 10, XREFAY1[*])[EOF2] 96825000=17094050= UNTIL A[0].REFIDNOF <= XREFAY1[8].IDNOF; 96830000=17094050= IF A[0].REFIDNOF < XREFAY1[8].IDNOF THEN 96835000=17094100= GO TO SKIP; 96840000=17094150= IF XREFPT > 0 THEN % THERE IS STUFF TO PRINT 96845000=17094200= BEGIN 96850000=17094240= IF SINGLTOG THEN 96855000=17094250= - WRITE(LINE, 15, PAY[**]) 96860000=17094350= + WRITE(LINE, 15, PAY[*]) 96860000=17094350= ELSE 96865000=17094350= - WRITE(LINE[DBL], 15, PAY[**]); 96870000=17094400= + WRITE(LINE[DBL], 15, PAY[*]); 96870000=17094400= LINECOUNT:= LINECOUNT+1; 96875000=17094410= END 96880000=17094500= ELSE 96885000=17094500= IF NOT SINGLTOG THEN 96890000=17094500= WRITE(LINE); 96895000=17094550= XREFPT:= 0; 96900000=17094600= - BLANKET(PAY[**]); 96905000=17094650= - SETUPHEADING(XREFAY1[**], PAY[**], 96910000=17095320= - XREFAY1[8].SEGNOF, A[0].SEQNOF, FWDTOG, LBLTOG, 96915000=17095320= - FWDSEQNO.IDTYPE[(IF(I:= XREFAY1[9].CLASS) >= FIELDID 96920000=17095320= - THEN(IDMAX+I-FIELDID+1) ELSE IF I > IDMAX THEN 0 ELSE 96925000=17095320= - I)*4], REAL(I >= BOOID AND XREFAY1[9].[9:2] = 1), REAL96930000=17095320= - ((I >= BOOID OR I = LOCLID) AND 96935000=17095320= - BOOLEAN(XREFAY1[9].[9:1])), XREFAY1[9].[10:1]); 96940000=17095320= + BLANKET(PAY[*]); 96905000=17094650= + SETUPHEADING(XREFAY1[*], PAY[*], XREFAY1[8].SEGNOF, 96910000=17095320= + A[0].SEQNOF, FWDTOG, LBLTOG, FWDSEQNO, 96915000=17095320= + IDTYPE[(IF(I:= XREFAY1[9].CLASS) >= FIELDID THEN 96920000=17095320= + (IDMAX+I-FIELDID+1) 96925000=17095320= + ELSE IF I > IDMAX THEN 0 ELSE I)*4], 96925100 + REAL(I >= BOOID AND XREFAY1[9].[38:2] = 1), 96930000=17095320= + REAL((I >= BOOID OR I = LOCLID) AND 96935000=17095320= + BOOLEAN(XREFAY1[9].[38:1])), 96940000=17095320= + XREFAY1[9].[37:1]); 96940100 FWDTOG:= LBLTOG:= FALSE; 96945000=17095400= - WRITE(LINE, 15, PAY[**]); 96950000=17095500= + WRITE(LINE, 15, PAY[*]); 96950000=17095500= LINECOUNT:= LINECOUNT+1; 96955000=17095510= - BLANKET(PAY[**]); 96960000=17095550= + BLANKET(PAY[*]); 96960000=17095550= END 96965000=17095700= ELSE % IT MUST BE A NORMAL REFERENCE 96970000=17095700= IF A[0].SEQNOF ^= LASTADDRESS.SEQNOF THEN 96975000=17095750= BEGIN 96980000=17095800= - ADDASEQNO(A[0].SEQNOF, XREFPT, A[0].[5:1], PAY[**]); 96985000=17096000= + ADDASEQNO(A[0].SEQNOF, XREFPT, A[0].[42:1], PAY[*]); 96985000=17096000= IF(XREFPT:= XREFPT+1) = 11 THEN %FULL 96990000=17096100= BEGIN 96995000=17096200= - WRITE(LINE, 15, PAY[**]); 97000000=17096300= + WRITE(LINE, 15, PAY[*]); 97000000=17096300= LINECOUNT:= LINECOUNT+1; 97005000=17096350= XREFPT:= 0; 97010000=17096400= - BLANKET(PAY[**]); 97015000=17096450= + BLANKET(PAY[*]); 97015000=17096450= END 97020000=17096575= END 97025000=17096575= ELSE % REFERENCE TO SAME SEQ. NO. SKIP IT 97030000=17096575= @@ -19768,7 +19843,7 @@ ENDOFITALL: 95030000 A[0]; 97090000=17113000= A[0]:= 3"777777777777777"; % BIGGEST FLOATING PT. NO. 97095000=17114000= %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%97100000=17114000= - BOOLEAN PROCEDURE COMP2(A, B); 97105000=17115000= + BOOLEAN PROCEDURE COMP2(A, B); 97105000=17115000= ARRAY 97110000=17116000= A, 97115000=17116000= B[0]; 97120000=17116000= @@ -19777,15 +19852,15 @@ ENDOFITALL: 95030000 TRUE 97135000=17117200= ELSE 97140000=17117200= IF A[0].REFIDNOF = B[0].REFIDNOF THEN 97145000=17117300= - IF A[0].[1:4] LSS B[0].[1:4] THEN 97150000=17117400= + IF A[0].[46:4] LSS B[0].[46:4] THEN 97150000=17117400= TRUE 97155000=17117600= ELSE 97160000=17117600= - IF A[0].[1:4] = B[0].[1:4] THEN 97165000=17117700= + IF A[0].[46:4] = B[0].[46:4] THEN 97165000=17117700= IF A[0].SEQNOF < B[0].SEQNOF THEN 97170000=17117702= TRUE 97175000=17117706= ELSE 97180000=17117706= IF A[0].SEQNOF = B[0].SEQNOF THEN 97185000=17117708= - BOOLEAN(A[0].[5:1]) 97190000=17117712= + BOOLEAN(A[0].[42:1]) 97190000=17117712= ELSE 97195000=17117712= FALSE 97200000=17117720= ELSE 97205000=17117720= @@ -19797,7 +19872,7 @@ ENDOFITALL: 95030000 FIRSTTIME:= TRUE; % LET OUTPUT PROCEDURE KNOW ABOUT FIRST CAL 97235000=17117920= XREFPT:= 29; 97240000=17118000= REWIND(DSK2); 97245000=17118000= - SORT(OUTPUT2, INPUT2, 0, HV2, COMP2, 1, 6000); 97250000=17119000= + SORT(OUTPUT2, INPUT2, 0, HV2, COMP2, 1, 6000); 97250000=17119000= UPDATETIMES(2); % UPDATE TIMES FOR PRINTING CROSS REFERENCE 97255000=17119100= PRINTXREFSTATISTICS; 97260000=17119200= END; 97265000=17120000=