$JOB ASSEMBLY OF MONITOR, COMPILER SECTIONS 1 THROUGH 6 OF $00000010 $* FORTRAN II PROCESSOR, 7090-FO-928 00000020 $* VERSION 3, MODIFICATION LEVEL 35 (35)00000030 $EXECUTE IBSFAP $00000050 * 32K 709/7090 FORTRAN SECTION SIX F6A00000 * FAP F6A00030 COUNT 4000 F6A00040 * 32K 709/7090 FORTRAN SECTION SIX F6A00050 LBL 9F30,X F6A00055 REM F6A00060 ABS F6A00070 SST FORTRAN $F6A00071 TITLE F6A00080 EJECT F6A00970 TOPTAB SYN BOTIOP-1 TOP OF AVAILABLE TABLE BUFFERS F6A00972 CITSIZ SYN 200 LENGTH OF CIT TAPE RECORD F6A00973 TABTAP SYN 2 TABLE TAPE F6A00974 SLSTAP SYN 2 SINGLE COMPILE LISTING TAPE F6A00975 CITTAP SYN 3 CIT INPUT TAPE F6A00976 SBNTAP SYN 3 SINGLE COMPILE BINARY OUTPUT TAPE F6A00977 COTTAP SYN 4 CIT OUTPUT TAPE F6A00978 REM F6A00990 TTL COMMON SUBROUTINES AND ERASABLE F6A01000 REM F6A01010 ORG SYSCUR $F6A01020 BCI 1,9F3000 $F6A01030 ORG (LODR) $F6A01070 TXI ASTART,,300 8R ENTRY PT,,RECNO F6A01080 REM F6A01090 REM F6A01110 REM SECTION SIX COMMON SUBROUTINES F6A01120 REM F6A01130 ORG BOTTOM F6A01140 REM F6A01150 HEAD X F6A01160 REM F6A01170 MEMRY PZE BOTTAB,,TOPTAB PARAMETER TO DEFINE LIMITS OF TABLES F6A01180 REM F6A01190 REM ERROR LIST F6A01200 ERR00 TXL DELET,,0 MACHINE ERROR (SEE LISTING FOR DETAILS) F6A01210 ERR02 TXI (DIAG),,-2 IFN (IN XR2) GREATER THAN 4095 F6A01220 ERR03 TXI (DIAG),,-3 TAPE TABLES OVERFLOWED AVAILABLE MEMORY F6A01230 ERR04 TXI (DIAG),,-4 STORAGE ASSIGNMENTS GREATER THAN 32K CORESF6A01240 ERR05 TXI (DIAG),,-5 LITERAL APPEARANCE OF ARGUMENTS IN OBJECT F6A01250 REM PROGRAM MORE THAN 8 TIMES NUMBER IN ARG F6A01260 REM LIST OF SUBPROGRAM DEFINING STATEMENT F6A01270 ERR06 TXI (DIAG),,-6 MULTIPLY DEFINED SYMBOLS EXIST ON LIST F6A01280 REM XR1 CONTAINS ORIGIN, XR2 CONTAINS COUNT F6A01290 ERR07 TXI (DIAG),,-7 MORE THAN 2*CITSIZ 9) TABLE ENTRIES F6A01300 ERR08 TXI (DIAG),,-8 CORE TABLES OVERFLOWED AVAILABLE MEMORY F6A01310 DUP 1,10 PATCH SPACE FOR ADDITIONAL DIAGNOSTICS F6A01320 PZE F6A01330 REM F6A01340 DELET SXA DELEX,4 SAVE CALLING LINKAGE F6A01350 CLA* ORGFLG IS THIS SINGLE COMPILE F6A01360 TPL DELEX YES F6A01370 TSX (TAPE),4 *NO, ERASE BINARY CARD IMAGES FROM MON TAPEF6A01380 PZE CRDCT,,(SKBP) F6A01390 PZE ,,MBNTAP F6A01400 TSX (TAPE),4 *BACKSPACE TO PAGE HEADING F6A01410 SKDP1 PZE LSTCT,,(SKDP) F6A01420 PZE ,,MLSTAP F6A01430 DELEX AXT **,4 RELOAD CALLING LINKAGE F6A01440 TXH (DIAG),4,0 *WAS THIS CORE ERROR F6A01450 TSX (MECL),4 *CALL MACHINE ERROR RECORD F6A01460 PZE SPACER FOR POSSIBLE PARAMETERS F6A01470 CRDCT MZE ** COUNT OF BINARY CARD IMAGES ON OUTPUT TAPEF6A01480 LSTCT MZE ** COUNT OF LINES FOLLOWING PAGE HEADING F6A01490 REM F6A01500 REM SORT OUT SYMBOLS, ASSEMBLE INTERNAL SYMBOLS IN TIV FORM F6A01510 SORT0 TZE 1,4 IS THERE A SYMBOL F6A01520 SLW SYMBL YES, SAVE FOR POSSIBLE DIAGNOSTIC CALL F6A01530 LGR 30 ISOLATE FIRST CHARACTER F6A01540 PAX ,2 F6A01550 TXL *+3,2,16 F6A01560 LGL 30 SYMBOL BEGINS ALPHA F6A01570 TRA 3,4 F6A01580 TRA SORT1,2 SYMBOL IS INTERNAL VARIABLE OR IFN F6A01590 TSX XERR00,4 *SYMBOL BEGINS + F6A01600 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A01610 * THE SYMBOL STORED IN LOCATION SYMBL HAS BEEN FOUND IN A F6A01620 * CIT SYMBOLIC LOCATION FIELD (CITSL) BY ROUTINE PAS15, F6A01630 * CITC2, OR SAP00, OR IN A CIT SYMBOLIC ADDRESS FIELD F6A01640 * (CITSA) BY ROUTINES PAS04, BIN01, OR SAP01. THE FIRST SIXF6A01650 * BITS ARE 010000, WHICH IS AN ILLEGAL COMBINATION IN A F6A01660 * SYMBOL. ( SYMBOL BEGINS + ) F6A01670 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A01680 TRA 2,4 * PROGRAM COUNTER F6A01690 TXI SORT2,4,-1 E)N SXD INSTRUCTION LOCATION F6A01700 TXI SORT2,4,-1 D)N LXD INSTRUCTION LOCATION F6A01710 TRA SORT2 C)N INDEX REGISTER ERASABLE F6A01720 TXI SORT2,4,-1 B) HOLLERITH DATA F6A01730 TXI SORT2,4,-1 A)N RELCON SUBROUTINE LOCATION F6A01740 TXI SORT2,4,-1 9) INITIALIZATION ADDEND DATA F6A01750 TXI SORT2,4,-1 8)N FORMAT SPECIFICATION DATA F6A01760 TRA SORT2 7)N ARITH STATE FUNCTION XR4 ERASABLE F6A01770 TXI SORT2,4,-1 6) UNIVERSAL CONSTANTS DATA F6A01780 TXI SORT2,4,-1 5) ASSIGN TRANSFER CONSTANT DATA F6A01790 TRA SORT2 4)N ARITH STATE FUNCTION ARG ERASABLE F6A01800 TXI SORT2,4,-1 3) FLOATING POINT CONSTANT DATA F6A01810 TXI SORT2,4,-1 2) FIXED POINT CONSTANT DATA F6A01820 TRA SORT2 1)N ARITHMETIC ERASABLE F6A01830 SORT1 LXA SYMBL,2 0 INTERNAL OR SUB FORMULA NUMBER F6A01840 TXH *+2,2,0 IS THIS INTERNAL FORMULA NUMBER F6A01850 TRA 4,4 YES F6A01860 REM SYMBOL IS SUBSIDIARY INTERNAL FORMULA NUMBER F6A01870 TXL *+2,2,248 IS INCREMENT LEGAL F6A01880 TSX XERR00,4 *NO, INCREMENT GREATER THAN (37)8 F6A01890 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A01900 * THE SUBSIDIARY INTERNAL FORMULA NUMBER STORED IN LOCATIONF6A01910 * SYMBL (SEE DISCUSSION IMMEDIATELY ABOVE) HAS AN INCREMENTF6A01920 * ASSIGNED BY SECTION 2 GREATER THAN (37)8. ILLEGAL. F6A01930 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A01940 LGL 12 YES, ASSEMBLE SUB IFN F6A01950 RQL 10 IFN IN BITS 5 - 16 (SIGN IS BIT 1) F6A01960 LGL 5 INCREMENT IN BITS 17 - 21 F6A01970 TXI SORT2+2,4,1 F6A01980 REM SYMBOL IS INTERNAL VARIABLE F6A01990 SORT2 RQL 13 ASSEMBLE TYPE IN BITS 1-4 (SIGN IS BIT 1) F6A02000 LGL 17 1)N, 4)N, 7)N SUBROUT LEVEL IN BITS 14-21 F6A02010 ALS 15 2), 3), 5), 6), 9), B) ZERO IN BITS 5-21 F6A02020 REM 5,4 SUB IFN 8)N EXTERNAL FORMULA NUMBER IN BITS 7-21 F6A02030 TRA 6,4 ERASABLE A)N, C)N I IN BITS 10-12, T IN BITS 13-21 F6A02040 REM 7,4 DATA D)N, E)N I IN BITS 9-11 BB IN BITS 12-21 F6A02050 REM 1)0 MAIN PROGRAM ERASABLE F6A02060 REM 4)0 LIBE SUBROUTINE ERASABLE = 77777 F6A02070 REM 7)0 MAIN PROGRAM XR4 ERASABLE = 6)+4 F6A02080 REM F6A02090 REM SEARCH DEV TABLE FOR SYMBOL IN ACCUMULATOR. IF SYMBOL F6A02100 REM IS IN DEV, RETURN WITH LOCATION ASSIGNED TO SYMBOL. IN F6A02110 REM ANY CASE, RETURN WITH ORDERED LOCATION IN XR2 FOR SYMBOL.F6A02120 SRDEV SXA NOTIN,1 SAVE TABLE COUNT F6A02130 SLW SYMBL SAVE SYMBOL BEING SEARCHED FOR F6A02140 LDQ DEVTL INITIALIZE BINARY SEARCH FOR DEV TABLE F6A02150 STQ BSRCH DOWNWARDS IN MEMORY F6A02160 LXA DEVTS,1 LOAD HOP COUNT F6A02170 LXD DEVTS,2 LOAD COUNT OF MEDIAN ENTRY F6A02180 SRDE1 LAS* ORGDEV IS ENTRY IN TABLE SAME AS NEW ENTRY F6A02190 TXI LOWER,1,-2 NEW ENTRY IS LARGER, LOOK HIGHER IN TABLE F6A02200 TRA *+2 YES, XR2 CONTAINS ORDERED LOCATION IN DEV F6A02210 TXI RAISE,1,-2 NEW ENTRY IS SMALLER, LOOK LOWER IN TABLE F6A02220 CLA* ORGDEA GET LOCATION ASSIGNED THIS SYMBOL F6A02230 LXA NOTIN,1 RELOAD TABLE COUNT F6A02240 TRA 3,4 F6A02250 DEVTL TXL SRDE1,2,** ,,TABLE LENGTH F6A02260 DEVTS PZE 5,,0 HOP COUNT,,LOCATION OF MEDIAN ENTRY F6A02270 REM F6A02280 REM SEARCH TEV TABLE FOR SYMBOL IN ACCUMULATOR. IF SYMBOL F6A02290 REM IS IN TEV, RETURN WITH LOCATION ASSIGNED TO SYMBOL. IN F6A02300 REM ANY CASE, RETURN WITH ORDERED LOCATION IN XR2 FOR SYMBOL.F6A02310 SRTEV SXA NOTIN,1 SAVE TABLE COUNT F6A02320 LDQ TEVTL INITIALIZE BINARY SEARCH FOR TABLE F6A02330 STQ BSRCH DOWNWARDS IN MEMORY F6A02340 LXA TEVTS,1 LOAD HOP COUNT F6A02350 LXD TEVTS,2 LOAD COUNT OF MEDIAN ENTRY F6A02360 SRTE1 LAS* ORGTEV IS ENTRY IN TABLE SAME AS NEW ENTRY F6A02370 TXI LOWER,1,-2 NEW ENTRY IS LARGER, LOOK HIGHER IN TABLE F6A02380 TRA *+2 YES, XR2 CONTAINS ORDERED LOCATION IN TEV F6A02390 TXI RAISE,1,-2 NEW ENTRY IS SMALLER, LOOK LOWER IN TABLE F6A02400 PXA ,2 COMPUTE LOCATION FOR VARIABLE F6A02410 ADD TEVBS POSITION IN TABLE ABOVE BASE LOCATION F6A02420 LXA NOTIN,1 RELOAD TABLE COUNT F6A02430 TRA 2,4 F6A02440 TEVTL TXL SRTE1,2,** ,,TABLE LENGTH F6A02450 TEVTS PZE 5,,0 HOP COUNT,, LOCATION OF MEDIAN ENTRY F6A02460 REM F6A02470 REM SEARCH TIV TABLE FOR PSEUDOSYMBOL LEFT ADJUSTED IN F6A02480 REM ACCUMULATOR. IF PSEUDOSYMBOL IS IN TIV, RETURN WITH F6A02490 REM LOCATION ASSIGNED TO PSEUDOSYMBOL OR LENGTH OF BLOCK F6A02500 REM RESERVED FOR ERASABLE STORAGE. IN ANY CASE, RETURN WITH F6A02510 REM ORDERED LOCATION IN XR2 FOR PSEUDOSYMBOL F6A02520 SRTIV SXA NOTIN,1 SAVE TABLE COUNT F6A02530 SLW SYMBL SAVE SYMBOL BEING SEARCHED FOR F6A02540 SLW ERASE F6A02550 LDQ TIVTL INITIALIZE BINARY SEARCH FOR TIV TABLE F6A02560 STQ BSRCH UPWARDS IN MEMORY F6A02570 LXA TIVTS,1 LOAD HOP COUNT F6A02580 LXD TIVTS,2 LOAD COUNT OF MEDIAN ENTRY F6A02590 SRTI1 CAL* ORGTIV GET NEXT ENTRY IN TIV TABLE F6A02600 STA ERASE EQUALIZE ADDRESSES F6A02610 LAS ERASE IS ENTRY IN TABLE SAME AS NEW ENTRY F6A02620 TXI LOWER,1,-2 NEW ENTRY IS SMALLER, LOOK HIGHER IN TABLEF6A02630 TRA *+2 YES, XR2 CONTAINS ORDERED LOCATION IN DEV F6A02640 TXI RAISE,1,-2 NEW ENTRY IS LARGER, LOOK LOWER IN TABLE F6A02650 LXA NOTIN,1 RELOAD TABLE COUNT F6A02660 TRA 2,4 F6A02670 TIVTL TXH SRTI1,2,-2 ,,TABLE LENGTH F6A02680 TIVTS PZE 5,,-1 HOP COUNT,,LOCATION OF MEDIAN ENTRY F6A02690 REM F6A02700 REM F6A02710 REM BINARY SEARCH OF TABLE OF MAXIMUM LENGTH 16K-1. THIS, IN F6A02720 REM EFFECT, IS THE LIMIT TO LENGTH OF DEV, TEV, TIV, OR F6A02730 REM SYMBOL TABLE. F6A02740 BSRCH PZE THIS INSTRUCTION IS INITIALIZED FOR F6A02750 TQP *+2 DIRECTION AND LENGTH OF TABLE SEARCHED F6A02760 TXI LOWER,1,-2 F6A02770 TXI RAISE,1,-2 FOR A TABLE WITH N ENTRIES, THE SEARCH IS F6A02780 TXI BSRCH,2,-8192 COMMENCED AT THE 2**X ENTRY, THIS NUMBER F6A02790 TXI BSRCH,2,+8192 BEING THE LARGEST POWER OF 2 LESS THAN N. F6A02800 TXI BSRCH,2,-4096 IF THE NEW ENTRY IS IS NOT LOGICALY (OR F6A02810 TXI BSRCH,2,+4096 ALGEBRAICALY) EQUAL TO THIS ENTRY, THE F6A02820 TXI BSRCH,2,-2048 HOP COUNT IS REDUCED OR MULTIPLIED BY F6A02830 TXI BSRCH,2,+2048 2**(X-1), DEPENDING UPON THE RESULTS OF F6A02840 TXI BSRCH,2,-1024 THE COMPARISON AND THE DIRECTION OF THE F6A02850 TXI BSRCH,2,+1024 TABLE. FOR EXAMPLE, THE DEV TABLE GOES F6A02860 TXI BSRCH,2,-512 DOWNWARDS IN MEMORY WITH ENTRIES IN F6A02870 TXI BSRCH,2,+512 DESCENDING LOGICAL ORDER (Z AT THE BOTTOM,F6A02880 TXI BSRCH,2,-256 A AT THE TOP). IF THE NEW ENTRY IS LESS F6A02890 TXI BSRCH,2,+256 THAN THE OLD, THE NEXT COMPARISON WILL BE F6A02900 TXI BSRCH,2,-128 MADE WITH AN ENTRY HALF WAY CLOSER TO F6A02910 TXI BSRCH,2,+128 THE ORIGIN OF THE TABLE (CLOSER TO A). F6A02920 TXI BSRCH,2,-64 F6A02930 TXI BSRCH,2,+64 IF A HOP IS MADE BEYOND THE END OF THE F6A02940 TXI BSRCH,2,-32 TABLE, THE TXH OR TXL INSTRUCTION F6A02950 TXI BSRCH,2,+32 INITIALIZED AT BSRCH TRAPS THE HOP AND F6A02960 TXI BSRCH,2,-16 REDUCES THE HOP COUNT. A COMPARISON WILL F6A02970 TXI BSRCH,2,+16 BE MADE WITH A VALID TABLE ENTRY ONLY. F6A02980 TXI BSRCH,2,-8 FOR EXAMPLE, IF THE LENGTH OF THE DEV F6A02990 TXI BSRCH,2,+8 TABLE IS 600, AND THE COMPARISON IS WITH F6A03000 TXI BSRCH,2,-4 THE 768 ENTRY, THE TXL SRDE1,2,600 WILL F6A03010 TXI BSRCH,2,+4 CAUSE THE ENTRY COUNT IN XR2 TO BE F6A03020 TXI BSRCH,2,-2 REDUCED TO 640, AND THEN TO 576 BEFORE F6A03030 TXI BSRCH,2,+2 THE NEXT COMPARISON IS MADE F6A03040 TXI BSRCH,2,-1 F6A03050 TXI BSRCH,2,+1 HOPS ARE CONTROLLED BY XR1 WHICH CONTAINS F6A03060 TXI *+1,2,-1 X+4, WHERE X IS THE POWER OF 2 GREATER F6A03070 NOTIN AXT **,1 THAN WHICH THE TABLE IS. F6A03080 TRA 1,4 F6A03090 LOWER TRA *,1 IF SEARCH IS UNSUCCESSFUL, XR2 CONTAINS F6A03100 RAISE TRA *,1 THE ORDERED POSITIN INTO WHICH THE NEW F6A03110 REM ENTRY IS TO BE INSERTED F6A03120 REM F6A03130 DUP 1,10 PATCH SPACE FOR COMMON CODING F6A03140 PZE F6A03150 REM F6A03160 REM F6A03170 REM SENSE SWITCH SIMULATORS F6A03180 SWCH1 PZE DOWN, NO CARDS ON LINE F6A03190 SWCH2 PZE DOWN, MACHINE LANGUAGE LISTING PREPARED F6A03200 SWCH3 PZE DOWN, ONLINE PRINT F6A03210 SWCH4 PZE DOWN, ONLINE CARDS TO BE COLUMN BINARY F6A03220 SWCH5 PZE DOWN, PUNCH LIBRARY SUBROUTINES F6A03230 SWCH6 PZE DOWN, PUNCH SYMBOL TABLE F6A03240 SWCH7 PZE DOWN, PUNCH OFFLINE CARD LABEL (COL 73-80)F6A03250 SWCH8 PZE DOWN, PRINT TWO COLUMN EXTENDED LISTING F6A03260 SWCH9 PZE DOWN, OFFLINE CARDS TO BE ROW BINARY F6A03270 SWC10 PZE DOWN, BLOCK LISTING TAPE F6A03271 DEC ,,,, EXPANSION SPACE FOR ADDED SS SIMULATORS. F6A03280 PZE SKEW SPACE F6A03290 REM F6A03300 REM ORIGINS FOR INDIRECT ADDRESSING OF TABLES F6A03310 ORGFLG EQU (FGBX) F6A03320 ORGLCT EQU (LNCT) F6A03330 ORGDEV PZE **,2 ORIGIN FOR NAMES IN DEV,TAG F6A03340 PZE **,2,** (FLAG FOR PRESENCE OF FORMAT STATEMENTS) F6A03350 ORGDEA PZE **,2 ORIGIN FOR LOCATIONS FOR NAMES IN DEV,TAG F6A03360 PZE **,2 F6A03370 ORGTEV PZE **,2 ORIGIN FOR NAMES OF SINGLE CELL VARIABLES F6A03380 PZE **,2 F6A03390 PZE **,2 F6A03400 ORGTIV PZE **,2 ORIGIN FOR NAMES, LOCATIONS OF INT VARS F6A03410 ORGCLO PZE **,1,** ORIGIN FOR SUBPROGRAM NAMES F6A03420 ORGEIF PZE **,2,** ORIGIN FOR EXT,,INT STATEMENT NUMBERS F6A03430 ORGIFN PZE **,4,** ORIGIN FOR LOCATIONS FOR INT STATE NUMBERSF6A03440 ORGSUB PZE **,1,** ORIGIN FOR ARGUMENT NAMES F6A03450 REM F6A03460 DUP 1,10 PATCH SPACE FOR ORIGINS AND ERASABLE F6A03470 PZE F6A03480 REM F6A03490 REM ERASABLE STORAGE F6A03500 PCD8L PZE LENGTH OF TRANSFER VECTOR (DECREMENT) F6A03510 REM PROGRAM BREAK (ADDRESS) F6A03520 PCD8R PZE COMMON BREAK (ADDRESS) F6A03530 PCD7L PZE BCD NAME OF SUBPROGRAM F6A03540 PCD7R PZE SUBPROGRAM ENTRY POINT (ADDRESS) F6A03550 PGBRK PZE FIRST CELL AVAILABLE ABOVE OBJECT PROGRAM F6A03560 TEVBS PZE ORIGIN FOR TEV STORAGE IN OBJECT PROGRAM F6A03570 SLINT PZE LOCATION SYMBOL FOR FIRST PROGRAM CIT F6A03580 SYMBL PZE NAME OF VARIABLE TO BE SEARCHED F6A03590 ERASE PZE ERASABLE FULL WORD F6A03600 PGHED BCI 8,1 F6A03610 BCI 8, F6A03620 BCI 2, PAGE 1 F6A03630 LABEL PZE CARD LABEL F6A03640 LOADP SYN * F6A03650 EJECT F6A03660 TTL CONTROL ROUTINES FOR FIRST CIT PASS F6A03670 REM F6A03680 REM READ IN ALL TAPE TABLES REQUIRED BY SECTION 6 F6A03690 REM COMPILE CIT FOR TAPE TABLE CONSTANTS F6A03700 REM ENTER NAMES IN TAPE TABLES INTO DEV SYMBOL TABLE F6A03710 REM PASS OVER CIT TAPE TO DEFINE SYMBOLS, ARGUMENTS F6A03720 REM CHANGE INTERNAL PSEUDOOPERATIONS TO MACHINE OPCODES F6A03730 REM F6A03740 ORG XLOADP F6A03750 REM F6A03760 HEAD A F6A03770 REM F6A03780 REM ORIGINS FOR INDIRECT ADDRESSING OF TABLES F6A03790 RGCOM PZE **,2,** ORIGIN FOR COMMON VARIABLE NAMES F6A03800 RGEQU PZE **,1,** ORIGIN FOR EQUIVALENT VARIABLE NAMES F6A03810 PZE **,1 ORIGIN FOR EQUIVALENT VARIABLE SUBSCRIPTS F6A03820 RGFOR PZE **,1,** ORIGIN FOR ARITH STATEMENT FUNCTION NAMES F6A03830 PZE **,1 ORIGIN FOR LEVEL,,INTERNAL STATEMENT NO F6A03840 RGSIZ PZE **,1,** ORIGIN FOR ARRAY NAMES F6A03850 PZE **,1 ORIGIN FOR ARRAY LENGTHS F6A03860 RG9TB PZE **,1,** ORIGIN FOR 9) ADDEND CONSTANTS F6A03870 REM F6A03880 DUP 1,10 PATCH SPACE FOR ORIGINS AND ERASABLE F6A03890 PZE F6A03900 REM F6A03910 REM ERASEABLE STORAGE F6A03920 CITSL PZE CIT SYMBOLIC LOCATION F6A03930 CITOP PZE CIT OPCODE, DECREMENT F6A03940 CITSA PZE CIT SYMBOLIC ADDRESS F6A03950 CITRA PZE CIT RELATIVE ADDRESS, TAG F6A03960 ADDRS PZE ERASABLE ADDRESS FIELD F6A03970 ERASE PZE ERASABLE FULL WORD F6A03980 LOCTR PZE PROGRAM LOCATION COUNTER F6A03990 UPCTR PZE -207 UPPER STORAGE LOCATION COUNTER F6A04000 TIVCL MZE ERASABLE TO COMPUTE LENGTH OF TIV BLOCK F6A04010 IDENT PZE TABLE IDENTIFICATION NUMBER F6A04020 TABCT PZE TABLE COUNT FROM TAPE TABLE LABEL F6A04030 ARGNO PZE ERASABLE USED TO COMPUTE INITIALIZATION F6A04040 REM F6A04050 REM F6A04060 START SLF TURN OFF FLAGS F6A04070 DVP L(0) TURN ON INDICATOR FOR COMMON AMUSEMENT F6A04080 NOP PATCH IN SWT FOR DEBUGGING F6A04090 TRA *+2 F6A04100 HPR 27 F6A04110 REM F6A04120 REM INITIALIZE ORIGINS OF TABLES F6A04130 LXD XMEMRY,4 TOP OF MEMORY F6A04140 LXA XMEMRY,2 BOTTOM OF MEMORY F6A04150 TXI *+1,2,1 F6A04160 SXA ORGDEV,4 F6A04170 SXA ADDRS,4 INITIALIZE LOWER CORE TABLE OVERFLOW TEST F6A04180 PXA ,2 INITIALIZE ORIGINS OF LOWER CORE TABLES F6A04190 AXT FORLP-ASSLP+1,1 F6A04200 STA FORLP+1,1 F6A04210 TIX *-1,1,1 F6A04220 SXA CLEAR,4 PREPARE TO CLEAR WORKING MEMORY F6A04230 SXD *+1,2 F6A04240 TIX *+2,4,** F6A04250 TSX XERR00,4 *TOPMEM BELOW BOTMEM F6A04260 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A04270 * THE LIMITS OF STORAGE IN CELL MEMRY HAVE BEEN ASSIGNED F6A04280 * DURING EDITING OF THIS SYSTEM TAPE. TOPMEM HAS BEEN FOUNDF6A04290 * TO BE BELOW BOTMEM. SECTION 6 REQUIRES MORE ROOM TO PLAY.F6A04300 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A04310 CLEAR STZ **,4 F6A04320 TIX *-1,4,1 F6A04330 REM F6A04340 REM READ IN TAPE TABLES, COMPILE CIT FOR TAPE TABLE CONSTANT F6A04350 TSX (TAPE),4 *BACKSPACE TABLE TAPE OVER ASSIGN CONSTANTSF6A04360 PZE BKSPC,,(SKBP) F6A04370 PZE ASSLB,,TABTAP F6A04380 CAL TRAOP SET CIT OPCODE TO TRA F6A04420 SLW CITOP F6A04430 TSX RDTAB,4 *READ ASSIGN TABLE (FILE 9) F6A04440 TSX CPCIT,4 *COMPILE 5) CITS F6A04450 CAL OCTOP SET CIT OPCODE TO OCT F6A04460 SLW CITOP F6A04470 TSX RDTAB,4 *READ FIXCON TABLE (FILE 8) F6A04480 TSX CPCIT,4 *COMPILE 2) CITS F6A04490 TSX RDTAB,4 *READ HOLARG TABLE (FILE 5 RECORD 4) F6A04500 TXL HOLL3+1,1,0 IS HOLARG TABLE EMPTY F6A04510 STA HOLL1+2 NO, INITIALIZE ORIGIN FOR BCD WORD F6A04520 CAL HLSYM SET CIT SYMBOLIC LOCATION TO B) F6A04530 SLW CITSL F6A04540 HOLL1 CAL BCDOP SET CIT OPCODE TO BCD F6A04550 SLW CITOP F6A04560 CAL **,1 SET CIT SYMBOLIC ADDRESS TO NEXT WORD F6A04570 SLW CITSA IN HOLARG TABLE F6A04580 ERA ALONE IS IT END OF ARGUMENT FLAG F6A04590 TZE HOLL2 YES F6A04600 TSX TBCIT,4 *NO, WRITE COMPILED CIT F6A04610 STZ CITSL SET SUBSEQUENT SYMBOLIC LOCATION ZERO F6A04620 TIX HOLL1+2,1,1 IS TABLE EXHAUSTED F6A04630 TSX XERR00,4 *YES, END OF SENTENCE FLAG MISSING F6A04640 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A04650 * THE HOLARG TABLE, PREPARED BY SECTION 1 AND 1P, READ FROMF6A04660 * FILE 5 RECORD 4 LOGICAL TAPE 2, MUST HAVE A FLAG OF 36 F6A04670 * BINARY ONES AS THE LAST WORD. IT HAS NOT BEEN RECOGNIZED.F6A04680 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A04690 HOLL2 CAL OCTOP SET CIT OPCODE TO OCT F6A04700 SLW CITOP F6A04710 TSX TBCIT,4 *WRITE COMPILED CIT F6A04720 HOLL3 TIX HOLL1,1,1 IS TABLE EXHAUSTED F6A04730 TSX RDTAB,4 *READ FLOCON TABLE (FILE 4 RECORD 1) F6A04740 TSX CPCIT,4 *COMPILE 3) CITS F6A04750 AXT SXTAB+6,1 INITIALIZE ORIGIN OF UNIVERSAL CONSTANTS $F6A04760 PXA ,1 F6A04770 AXT 6,1 PREPARE TO COMPILE 6 CONSTANTS $F6A04780 AXT 8,2 SET INITIAL SYMBOLIC LOCATION TO 6) F6A04790 TSX CPCIT,4 *COMPILE 6) CITS F6A04800 TSX RDTAB,4 *READ IN FORMAT TABLE (FILE 4 RECORD 2) F6A04810 SXD ORGDEV+1,1 SET SWITCH FOR FORMAT TABLE ENTRIES F6A04820 TSX CPBCD,4 *COMPILE 8) CITS F6A04830 REM F6A04840 REM WRITE OUT CONTENTS OF FINAL PARTIAL BUFFER F6A04850 LAC TBCIT+1,4 COMPUTE PARTIAL WORD COUNT F6A04860 SXD *+2,4 F6A04870 AXT CITSIZ+4,4 F6A04880 TXI *+1,4,** F6A04890 SXD IOCIT,4 INITIALIZE I/O WORD COUNT F6A04900 TSX (TAPE),4 *WRITE FINAL PARTIAL BUFFER CONTENTS F6A04910 PZE IOCIT,,(WBNP) F6A04920 PZE 3LABL,,CITTAP F6A04930 TSX (TAPE),4 *MARK END OF CIT FILE F6A04940 PZE ,,(WEFP) F6A04950 PZE 3LABL,,CITTAP F6A04960 TSX (TAPE),4 *PREPARE FOR FIRST PASS F6A04970 PZE REWND,,(SKBP) F6A04980 PZE 3LABL,,CITTAP F6A04990 TSX RDTAB,4 *READ FORSUB TABLE (FILE 3) F6A05000 SXD RGFOR,1 SAVE FORSUB TABLE COUNT F6A05010 STA TAPAR,2 INITIALIZE LOAD POINT FOR SIZ TABLE F6A05020 STA RGFOR INITIALIZE ORIGIN FOR ARITH STATE NAMES F6A05030 ADD L(1) F6A05040 STA RGFOR+1 INITIALIZE ORIGIN FOR LEVEL,,IFN F6A05050 TSX RDTAB,4 *READ SIZ TABLE (FILE 4 RECORD 3) F6A05060 SXD RGSIZ,1 SAVE SIZE TABLE COUNT F6A05070 STA TAPAR+1,2 INITIALIZE LOAD POINT FOR SUBDEF TABLE F6A05080 STA RGSIZ INITIALIZE ORIGIN FOR ARRAY NAME F6A05090 ADD L(1) F6A05100 STA RGSIZ+1 INITIALIZE ORIGIN FOR ARRAY LENGTH F6A05110 LXD IDENT,2 LOAD HIGHEST+1 IFN USED IN PROGRAM F6A05120 TXL *+2,2,4096 IS IFN TOO LARGE F6A05130 TSX XERR02,4 *YES, IFN LARGER THAN 4095 F6A05140 TXI *+1,2,1 NO, BUMP BY ONE F6A05150 SXD ORGIFN,2 SAVE HIGHEST IFN+2 FOR TABLE LENGTH ALLOC F6A05160 TSX RDTAB,4 *READ END TABLE (FILE 5 RECORD 1) F6A05170 TSX RDTAB,4 *READ SUBDEF TABLE (FILE 5 RECORD 2) F6A05180 STA TAPAR,2 INITIALIZE LOAD POINT FOR COMMON TABLE F6A05190 TXL SUBL1+1,1,0 IS SUBDEF TABLE EMPTY F6A05200 STA ORGSUB NO, INITIALIZE ORIGIN FOR DUMMY ARGUMENTS F6A05210 CAL* ORGSUB INSERT BCD SUBPROGRAM NAME F6A05220 SLW XPCD7L INTO PROGRAM CARD 7L F6A05230 TXI *+1,1,-1 BUMP COUNT PAST SUBPROGRAM NAME F6A05240 SUBL1 SXD ORGSUB,1 SAVE COUNT OF ARGUMENTS F6A05250 TSX RDTAB,4 *READ COMMON TABLE (FILE 5 RECORD 3) F6A05260 SXD RGCOM,1 SAVE COMMON TABLE COUNT F6A05270 STA TAPAR,2 INITIALIZE LOAD POINT FOR EIF TABLE F6A05280 STA IOCIT INITIALIZE I/O PARAMETER TO WRITE EIF F6A05290 STA TAPAR+1,2 INITIALIZE LOAD POINT FOR EQUIV TABLE F6A05300 STA RGCOM INITIALIZE ORIGIN FOR COMMON VARIABLE NAMEF6A05310 TSX RDTAB,4 *READ EIF TABLE (FILE 5 RECORD 5) F6A05320 SXD ORGEIF,1 SAVE EIF TABLE COUNT F6A05330 SXD IOCIT,1 INITIALIZE I/O PARAMETER TO WRITE EIF F6A05340 TXL *+4,1,0 IS EIF TABLE EMPTY F6A05350 TSX (TAPE),4 *NO, WRITE EIF TABLE AS FIRST RECORD TAPE 4F6A05360 PZE IOCIT,,(WBNC) F6A05370 PZE ELABL,,COTTAP F6A05380 TSX RDTAB,4 *READ EQUIV TABLE (FILE 5 RECORD 13) F6A05390 SXD RGEQU,1 SAVE EQUIVALENCE TABLE COUNT F6A05400 STA TAPAR,2 INITIALIZE LOAD POINT FOR CLOSUB TABLE F6A05410 STA RGEQU INITIALIZE ORIGIN FOR VARIABLE NAME F6A05420 ADD L(1) F6A05430 STA RGEQU+1 INITIALIZE ORIGIN FOR SUBSCRIPT F6A05440 TSX RDTAB,4 *READ CLOSUB TABLE (FILE 5 RECORD 14) F6A05450 SXD XPCD8L,1 INSERT VECTOR LENGTH IN PC 8L DECREMENT F6A05460 SXD ORGCLO,1 SAVE CLOSUB TABLE COUNT F6A05470 STA ORGCLO INITIALIZE ORIGIN FOR SUBPROGRAM NAMES F6A05480 REM F6A05490 REM INITIALIZE ORIGIN OF DEA TABLE SPLITTING AVAILABLE F6A05500 REM MEMORY ABOVE CLOSUB TABLE WITH DEV F6A05510 STA ADDRS SET TOP OF LOWER MEMORY TABLES F6A05520 CLA ORGDEV GET ORIGIN OF UPPER TABLES F6A05530 ANA ADMSK F6A05540 ADD L(1) F6A05550 STA ORGDEV+1 F6A05560 SUB ADDRS COMPUTE AVAILABLE MEMORY F6A05570 TPL *+2 DID TAPE TABLES OVERLAP UPPER MEMORY F6A05580 TSX XERR03,4 *YES F6A05590 ARS 1 NO, SPLIT AVAILABLE MEMORY F6A05600 PAX ,2 F6A05610 TXL *+3,2,16383 IS THIS LONGER THAN BINARY SEARCH F6A05620 LXD *-1,2 YES, SET MAXIMUM TABLE LENGTH F6A05630 PXA ,2 F6A05640 SXD ENDET,2 SET DEV TABLE OVERFLOW TEST F6A05650 SBM ORGDEV INITIALIZE ORIGIN FOR DEA TABLE F6A05660 STA ORGDEA F6A05670 SUB L(1) F6A05680 STA ORGDEA+1 F6A05690 AXT 0,2 F6A05700 CLA ALONE SET BINARY SEARCH STOP F6A05710 STO* ORGDEV AT UPPER END OF DEV TABLE F6A05720 REM F6A05730 REM ALL TAPE TABLES REQUIRED BY SECTION 6 ARE IN MEMORY. F6A05740 REM CONSTRUCT OBJECT PROGRAM STORAGE ALLOCATION TABLE F6A05750 REM FROM INFORMATION IN TAPE TABLES F6A05760 LXD RGCOM,1 LOAD COMMON TABLE COUNT F6A05770 REM F6A05780 REM REENTRY TO ASSIGN NEXT SUPERCOMMON STATEMENT F6A05790 SPRCM TXL COMS1+1,1,0 IS COMMON TABLE EMPTY F6A05800 SXD RGCOM,1 NO, SAVE COUNT OF REMAINING COMMON VARIABSF6A05810 CLA T(2) RESET TAG FOR INDIRECT ADDRESS OF F6A05820 STT RGCOM COMMON TABLE F6A05830 REM F6A05840 REM ASSIGN LOCATIONS TO COMMON-EQUIVALENCE VARIABLES F6A05850 LXD RGEQU,1 GET EQUIVALENCE TABLE COUNT F6A05860 TXL EQCM1+1,1,0 IS EQUIVALENCE TABLE EMPTY F6A05870 EQCOM SXA SEQAS+1,1 NO, SAVE COUNT OF FIRST SYMBOL THIS SET F6A05880 LXD RGCOM,2 GET COMMON TABLE COUNT F6A05890 CAL* RGEQU GET NEXT SYMBOL THIS SET F6A05900 LAS* RGCOM IS EQUIVALENCE VARIABLE IN COMMON F6A05910 TRA *+2 NO F6A05920 TSX SEQAS,4 *YES, ASSIGN THIS SET TO UPPER MEMORY F6A05930 CAL* RGCOM GET COMMON VARIABLE F6A05940 ERA ALONE IS THIS END OF SUPERCOMMON STATEMENT F6A05950 TZE *+2 YES F6A05960 TIX EQCOM+2,2,1 NO, IS COMMON TABLE EXHAUSTED F6A05970 CLA* RGEQU+1 YES, GET SUBSCRIPT F6A05980 TMI EQCM1 IS THIS END OF SENTENCE F6A05990 TIX EQCOM+1,1,2 NO, IS EQUIVALENCE TABLE EXHAUSTED F6A06000 TSX XERR00,4 *YES, END OF SENTENCE FLAG MISSING F6A06010 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A06020 * THE EQUIVALENCE TABLE PREPARED BY SECTION 1 AND PROCESSEDF6A06030 * BY 1P, READ FROM FILE 5 RECORD 13 LOGICAL TAPE 2, MUST F6A06040 * HAVE A FLAG OF 36 BINARY ONES AS THE LAST WORD. THIS FLAGF6A06050 * HAS NOT BEEN RECOGNIZED. F6A06060 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A06070 EQCM1 TIX EQCOM,1,2 IS EQUIVALENCE TABLE EXHAUSTED F6A06080 REM F6A06090 REM ASSIGN LOCATIONS TO COMMON-DIMENSION VARIABLES F6A06100 LXD RGCOM,1 GET COMMON TABLE COUNT F6A06110 CLA T(1) RESET TAG FOR INDIRECT ADDRESS OF F6A06120 STT RGCOM COMMON TABLE F6A06130 ADD UPCTR SET LOCATION ASSIGNED TO THIS SYMBOL F6A06140 SLW ADDRS TO CURRENT VALUE OF UPPER LOCATION COUNTERF6A06150 COMAS CAL* RGCOM GET NEXT VARIABLE NAME F6A06160 LAS ALONE IS THIS END OF SUPERCOMMON STATEMENT FLAG F6A06170 TRA *+2 NO F6A06180 TXI SPRCM,1,-1 YES, ASSIGN NEXT SUPERCOMMON STATEMENT F6A06190 TSX XSRDEV,4 *IS NAME IN AN EQUIVALENCE SENTENCE F6A06200 TSX ENDEV,4 *NO, ENTER IT INTO DEV F6A06210 TRA *+2 F6A06220 TRA COMS1 YES F6A06230 CAL XSYMBL GET VARIABLE NAME F6A06240 TSX SSIZE,4 *GET -LENGTH OF THIS ARRAY F6A06250 ADD ADDRS BUMP LOCATION COUNTER BY ARRAY LENGTH F6A06260 SUB T(1) DID ASSIGNMENT WRAP AROUND MEMORY F6A06270 TPL *+2 NO F6A06280 TSX XERR04,4 *YES F6A06290 STA UPCTR SAVE NEW VALUE OF UPPER COUNTER F6A06300 STA ADDRS F6A06310 COMS1 TIX COMAS,1,1 IS COMMON TABLE EXHAUSTED F6A06320 CLA UPCTR YES, INSERT COMMON BREAK F6A06330 STA XPCD8R IN PROGRAM CARD 8R ADDRESS F6A06340 REM F6A06350 REM ASSIGN EQUIVALENCE VARIABLES NOT IN COMMON F6A06360 LXD RGEQU,1 GET EQUIVALENCE TABLE COUNT F6A06370 TXL EQLO1+1,1,0 IS EQUIVALENCE TABLE EMPTY F6A06380 EQLOW SXA SEQAS+1,1 NO, SAVE COUNT OF FIRST SYMBOL THIS SET F6A06390 CAL* RGEQU GET FIRST SYMBOL THIS SENTENCE F6A06400 TSX XSRDEV,4 *IS SENTENCE IN COMMON F6A06410 TSX SEQAS,4 *NO, ASSIGN SENTENCE TO LOWER MEMORY F6A06420 PZE NOT USED F6A06430 CLA* RGEQU+1 YES, GET NEXT SUBSCRIPT F6A06440 TMI EQLO1 IS THIS END OF SENTENCE F6A06450 TIX *-2,1,2 NO, IS EQUIVALENCE TABLE EXHAUSTED F6A06460 TSX XERR00,4 *YES, END OF SENTENCE FLAG MISSING F6A06470 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A06480 * SEE DISCUSSION OF SIMILAR ERROR AT EQCOM. F6A06490 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A06500 PZE NOT USED F6A06510 PZE NOT USED F6A06520 PZE NOT USED F6A06530 EQLO1 TIX EQLOW,1,2 IS EQUIVALENCE TABLE EXHAUSTED F6A06540 REM F6A06550 REM F6A06560 REM ENTER SUBROUTINE ARGUMENTS INTO DEV F6A06570 LXD ORGSUB,1 GET SUBDEF TABLE COUNT F6A06580 TXL SBAR1+1,1,0 ARE THERE ANY ARGUMENTS F6A06590 CAL P(2) YES, SET ARGUMENT FLAG F6A06600 ADD T(4) SET SYMBOL TABLE FLAG F6A06610 SBARG ADD L(1) BUMP ARGUMENT COUNT F6A06620 STO ADDRS F6A06630 CAL* ORGSUB GET ARGUMENT NAME F6A06640 TSX XSRDEV,4 *IS ARGUMENT IN COMMON OR EQUIVALENCE F6A06650 TSX ENDEV,4 *NO, ENTER IT INTO DEV F6A06660 TRA SBAR1 F6A06670 ANA T(2) IS THIS AN EQUIVALENCE VARIABLE F6A06680 TZE *+3 NO F6A06690 CLA L(1) YES, GET SUBROUTINE ARGUMENT FLAG F6A06700 TSX SMDER,4 *ADD THIS NAME TO MULTIPLY DEFINED LIST F6A06710 CLA ADDRS RESET COMMON STORAGE ASSIGNMENT F6A06720 STO* ORGDEA TO DELETE FROM MAP F6A06730 SBAR1 TIX SBARG,1,1 IS ARGUMENT LIST EXHAUSTED F6A06740 REM F6A06750 REM ASSIGN LOCATIONS TO DIMENSION VARIABLES F6A06760 LXD RGSIZ,1 GET SIZ TABLE COUNT F6A06770 TXL DIMN1+1,1,0 IS SIZ TABLE EMPTY F6A06780 CLA T(1) SET SYMBOL TABLE FLAG F6A06790 ADD UPCTR SET LOCATION OF ARRAY NAME TO CURRENT F6A06800 STO ADDRS VALUE OF UPPER LOCATION COUNTER F6A06810 DIMEN CAL* RGSIZ GET NEXT ARRAY NAME F6A06820 TSX XSRDEV,4 *IS THIS ARRAY IN COMMON, EQUIV, OR ARG F6A06830 TSX ENDEV,4 *NO, ENTER IT IN DEV F6A06840 TRA *+2 F6A06850 TRA DIMN1 YES, IT IS COMMON, EQUIV, OR ARGUMENT F6A06860 CLS* RGSIZ+1 REDUCE LOCATION COUNTER BY LENGTH OF F6A06870 ADD ADDRS ARRAY (STORED BACKWARDS IN MEMORY) F6A06880 SUB T(1) DID ASSIGNMENT WRAP AROUND MEMORY F6A06890 TPL *+2 NO F6A06900 TSX XERR04,4 *YES F6A06910 STA UPCTR SAVE NEW VALUE OF UPPER COUNTER F6A06920 STA ADDRS F6A06930 DIMN1 TIX DIMEN,1,2 NO, IS SIZ TABLE EXHAUSTED F6A06940 REM F6A06950 REM ENTER TRANSFER VECTOR NAMES IN DEV F6A06960 CAL P(1) SET TRANSFER VECTOR FLAG F6A06970 ADD T(4) SET SYMBOL TABLE FLAG F6A06980 STO ADDRS F6A06990 LXD ORGCLO,1 GET COUNT OF TRANSFER VECTOR F6A07000 TXL TRVC1+1,1,0 IS TRANSFER VECTOR EMPTY F6A07010 TRVEC CAL* ORGCLO NO, GET NEXT NAME IN TRANSFER VECTOR F6A07020 TSX XSRDEV,4 *IS IT IN DEV F6A07030 TSX ENDEV,4 *NO, ENTER IT INTO DEV F6A07040 TRA *+3 F6A07050 CLA L(3) YES, GET TRANSFER VECTOR FLAG F6A07060 TSX SMDER,4 *ADD NAME TO MULTIPLY DEFINED ERROR LIST F6A07070 CLA ADDRS BUMP LOWER LOCATION COUNTER F6A07080 ADD L(1) F6A07090 STA ADDRS F6A07100 TRVC1 TIX TRVEC,1,1 IS TRANSFER VECTOR EXHAUSTED F6A07110 REM F6A07120 REM ENTER INITIAL SYMBOLIC LOCATION INTO DEV F6A07130 PXD ,0 ERASE TRANSFER VECTOR FLAG IN PREFIX F6A07140 STP ADDRS F6A07150 CAL L(SD) SET INITIAL SYMBOLIC LOCATION TO $ F6A07160 NZT XPCD7L IS THIS A SUBPROGRAM F6A07170 CAL L(DD) NO, RESET INITIAL SYMBOLIC LOCATION TO $$ F6A07180 TSX XSRDEV,4 *IS THIS IN DEV F6A07190 TSX ENDEV,4 *NO, ENTER IT INTO DEV F6A07200 TRA *+2 F6A07210 TSX XERR00,4 *YES, $ OR $$ APPEARS IN DEV PREMATURELY F6A07220 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A07230 * THE DEV TABLE, MADE UP OF BCD NAMES IN COMMON, DIMENSION,F6A07240 * EQUIVALENCE, TRANSFER VECTOR (CLOSUB), ARGUMENT LIST F6A07250 * (SUBDEF) AND ARITHMETIC STATEMENT FUNCTION (FORSUB) NAMESF6A07260 * HAS BEEN SEARCHED AND $ OR $$ (SEE LOC SYMBL) HAS BEEN F6A07270 * FOUND AT ORGDEV,2. NOONE PUT IT THERE. F6A07280 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A07290 REM F6A07300 REM ENTER ARITHMETIC STATEMENT FUNCTION NAMES IN DEV F6A07310 LXD RGFOR,1 GET FORSUB TABLE COUNT F6A07320 TXL FORS1+1,1,0 IS FORSUB TABLE EMPTY F6A07330 CLS T(4) NO, SET ARITHMETIC STATEMENT FUNCTION F6A07340 STO ADDRS FLAG (MINUS), SYMBOL TABLE FLAG (TAG) F6A07350 FORSB CLA* RGFOR+1 GET LEVEL,,IFN OF THIS FUNCTION F6A07360 ARS 18 ISOLATE IFN F6A07370 STA ADDRS FOR DEA ENTRY F6A07380 CAL* RGFOR GET NEXT ARITH STATE FUNCTION NAME F6A07390 TSX XSRDEV,4 *IS IT IN DEV F6A07400 TSX ENDEV,4 *NO, ENTER IT INTO DEV F6A07410 TRA *+3 F6A07420 CLA L(2) YES, GET ARITHMETIC STATEMENT DEF FLAG F6A07430 TSX SMDER,4 *ADD NAME TO MULTIPLY DEFINED LIST F6A07440 FORS1 TIX FORSB,1,2 IS FORSUB TABLE EXHAUSTED F6A07450 REM F6A07460 REM TO CHECK FOR ILLEGAL USE OF SUBPROGRAM NAME F6A07470 CAL XPCD7L GET NAME OF THIS SUBPROGRAM F6A07480 TSX XSRDEV,4 *IS IT IN DEV F6A07490 TRA SBNER+1 NO F6A07500 PZE NOT USED F6A07510 ANA T(4) IS IT FORSUB, TRANSFER VECTOR, OR ARG NAMEF6A07520 TZE SBNER+1 NO F6A07530 CLA L(4) YES, GET SUBPROGRAM NAME FLAG F6A07540 SBNER TSX SMDER,4 *ADD NAME TO MULTIPLY DEFINED LIST F6A07550 REM F6A07560 REM DEV TABLE IS COMPLETE. PACK DEA UP IN MEMORY AGAINST DEV F6A07570 CLA ORGDEA INITIALIZE MOVE LOOP F6A07580 STA MVDEA F6A07590 LXD XDEVTL,4 COMPUTE POSITION OF LAST ENTRY IN DEV F6A07600 PXA ,4 F6A07610 SBM ORGDEV F6A07620 STA ORGDEA INITIALIZE NEW ORIGIN OF DEA TABLE F6A07630 STA ORGIFN INITIALIZE ORIGIN OF IFN TABLE F6A07640 REM IFN WILL OCCUPY DECREMENT, DEA ADDRESS F6A07650 REM PORTION OF WORDS IN SHARED MEMORY F6A07660 SXD MVDEA+3,4 SET END OF MOVE LOOP TEST F6A07670 AXT 1,6 PREPARE TO MOVE DEA TABLE OFF THE TOP F6A07680 MVDEA CLA **,2 MOVE NEXT ENTRY IN DEA F6A07690 STO* ORGDEA UP PACKED AGAINST DEV F6A07700 TXI *+1,6,1 BUMP TO NEXT WORD IN DEA F6A07710 TXL MVDEA,2,** IS DEA EXHAUSTED F6A07720 SXD *+2,2 YES, SET TEST FOR ORIGIN OF TEV TABLE F6A07730 LXD ORGIFN,2 GET LENGTH OF REQUIRED IFN TABLE F6A07740 TXL *+2,2,** IS DEA LONGER THAN IFN F6A07750 LXD ORGIFN,4 NO, GET COUNT OF IFN TABLE INSTEAD F6A07760 PXA ,4 COMPUTE ORIGIN OF TEV TABLE F6A07770 SBM ORGDEA PACKED AGAINST LAST ENTRY IN DEA OR IFN F6A07780 STA ORGTEV F6A07790 SUB L(1) F6A07800 STA ORGTEV+1 F6A07810 REM F6A07820 REM INITIALIZE PASS OVER CIT TAPE F6A07830 REM INITIALIZE ORIGIN OF TIV TABLE ALLOWING 8 ENTRIES IN F6A07840 REM ARGUMENT LIST FOR EACH ARGUMENT IN SOURCE PROGRAM F6A07850 LXD ORGSUB,4 LOAD COUNT OF ARGUMENTS F6A07860 PXA ,4 F6A07870 ARGTB ALS 4 MULTIPLY BY 16 (2 WORDS FOR EACH ENTRY) F6A07880 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * F6A07890 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * F6A07900 REM CHANGE SHIFT AT ARGTB TO ALTER LENGTH OF BUFFER F6A07910 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * F6A07920 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * F6A07930 TXH *+2,4,12 IS TABLE RESERVATION AT LEAST 200 WORDS F6A07932 CLA L(200 NO, PROVIDE FOR AT LEAST 100 ENTRIES F6A07934 PAX ,1 F6A07940 SXD PAS10,1 INITIALIZE ARGUMENT LIST OVERFLOW TEST F6A07950 SXD *+2,1 F6A07960 LXA XMEMRY,1 F6A07970 TXI *+1,1,** F6A07980 SXA ORGTIV,1 F6A07990 TXI *+1,1,-1 F6A08000 SXA ORGTIV-1,1 F6A08010 LAC ORGTIV,2 COMPUTE LENGTH OF TIV AND TEV TABLES F6A08020 SXD *+2,2 FOR TABLE OVERFLOW TEST F6A08030 LXA ORGTEV,2 F6A08040 TXI *+1,2,** F6A08050 SXD ENTET,2 F6A08060 PXA ,2 F6A08070 PAC ,2 F6A08080 SXD ENTIT,2 F6A08090 CLA ALONE F6A08100 AXT 0,2 SET BINARY SEARCH STOPS F6A08110 STO* ORGTEV AT UPPER END OF TEV TABLE F6A08120 STO* ORGTIV AND AT LOWER END OF TIV TABLE F6A08130 TXI *+1,2,-1 CLEAR FIRST WORD IN TIV F6A08140 STZ* ORGTIV F6A08150 TXL PAS01,4,0 ARE THERE ANY ARGUMENTS F6A08160 TSX RDCIT,4 *YES, READ FIRST CIT F6A08170 TRA RDCRR *WAS END OF CIT FILE MISTAKENLY SENSED F6A08180 CAL CITSL NO, GET FIRST SYMBOLIC LOCATION F6A08190 TNZ *+3 IS A SYMBOLIC LOCATION ASSIGNED F6A08200 CAL L(8) NO, SET IT TO A1 F6A08210 SLW CITSL F6A08220 SLW XSLINT F6A08230 TRA PAS01+2 F6A08240 REM F6A08250 REM PASS OVER CIT TAPE 3 TO DEFINE VARIABLE NAMES NOT IN DEV F6A08260 REM AND TO PREPARE INITIALIZATION FOR ARGUMENTS F6A08270 PAS01 TSX RDCIT,4 *GET NEXT CIT F6A08280 TRA PAS18+2 WAS END OF CIT FILE SENSED F6A08290 STZ ADDRS NO, RESET LOCATION OF THIS SYMBOL F6A08300 CAL CITOP GET CIT OPCODE F6A08310 LXD OPLST,4 LOAD COUNT OF SPECIAL OPERATIONS F6A08320 LAS OPLST+16,4 IS OPCODE ON LIST F6A08330 TRA *+2 NO F6A08340 TRA PAS02+1,4 YES F6A08350 TIX *-3,4,1 IS SPECIAL OPERATION LIST EXHAUSTED F6A08360 TXI PAS04,4,15 YES F6A08370 DUP 1,8 EXPANSION SPACE FOR ADDITIONAL PSEUDOOPS F6A08380 PZE F6A08390 TRA PAS03+2 OPCODE IS SXQ F6A08400 TRA PAS03 OPCODE IS QXD F6A08410 TRA PAS02+1 OPCODE IS QPR F6A08420 TRA PAS14 OPCODE IS OCT F6A08430 TRA PAS14 OPCODE IS BCD F6A08440 SLN 4 OPCODE IS BSS F6A08450 PAS02 TRA PAS04 OPCODE IS SYN F6A08460 REM OPCODE IS QPR F6A08470 STZ CITSL ERASE IFN FOR THIS INSTRUCTION F6A08480 CAL TRAOP REPLACE QPR WITH TRA F6A08490 ZET CITSA IS IT TERMINAL SUBROUTINE CALL F6A08500 CAL TSXOP YES, REPLACE QPR WITH TSX INSTEAD F6A08510 SLW CITOP F6A08520 CLA LOCTR BUMP PROGRAM COUNTER F6A08530 ADD L(1) F6A08540 STO LOCTR F6A08550 TSX WRCIT,4 *WRITE CIT ON TAPE 4 F6A08560 TSX RDCIT,4 *DELETE FOLLOWING CIT F6A08570 TRA RDCRR *WAS END OF CIT FILE MISTAKENLY SENSED F6A08580 TRA PAS01 NO F6A08590 REM OPCODE IS QXD OR SXQ F6A08600 PAS03 CAL LXDOP REPLACE QXD WITH LXD F6A08610 TRA *+2 F6A08620 CAL SXDOP REPLACE SXQ WITH SXD F6A08630 SLW CITOP F6A08640 PAS04 SXA PAS13,4 SET SPECIAL OPCODE SWITCH F6A08650 CAL CITSA GET CIT SYMBOLIC ADDRESS F6A08660 TSX XSORT0,4 *SORT OUT SYMBOLS F6A08670 TRA PAS13 NO SYMBOL ASSIGNED F6A08680 TRA PAS12 PROGRAM COUNTER, DEFINE SYN F6A08690 TRA PAS07 EXTERNAL VARIABLE F6A08700 TRA PAS13 INTERNAL FORMULA NUMBER, DO NOT DEFINE SYNF6A08710 TRA PAS06 SUBSIDIARY INTERNAL FORMULA NUMBER F6A08720 TRA PAS05 INTERNAL SYMBOL FOR ERASABLE F6A08730 TSX XSRTIV,4 *IS INTERNAL SYMBOL FOR LOCATION OF LOAD F6A08740 REM OR SAVE XR INSTRUCTION IN TIV F6A08750 TRA PAS13 NO F6A08760 TRA PAS12+1 YES, DEFINE POSSIBLE SYN F6A08770 REM SYMBOLLIC ADDRESS IS INTERNAL SYMBOL FOR ERASABLE CELL F6A08780 PAS05 TSX XSRTIV,4 *INTERNAL SYMBOL FOR ERASABLE, IS IT IN TIVF6A08790 TSX ENTIV,4 *NO ENTER IT IN TIV F6A08800 STA TIVCL YES, GET COUNT OF BLOCK RESERVED F6A08810 LDQ TIVCL F6A08820 CLS CITRA GET COUNT OF BLOCK REQUIRED F6A08830 ARS 18 F6A08840 TLQ *+2 IS BLOCK LONG ENOUGH F6A08850 STA* ORGTIV NO, REPLACE WITH NEW BLOCK LENGTH F6A08860 TRA PAS13 DO NOT DEFINE SYN F6A08870 REM SYMBOLLIC ADDRESS IS SUBSIDIARY INTERNAL FORMULA NUMBER F6A08880 PAS06 TSX XSRTIV,4 *IS SUB IFN IN TIV F6A08890 TSX ENTIV,4 *NO, ENTER IT IN TIV (TO BE DEFINED LATER) F6A08900 TRA PAS13 DO NOT DEFINE SYN F6A08910 REM SYMBOLLIC ADDRESS IS EXTERNAL VARIABLE NAME F6A08920 PAS07 TSX XSRDEV,4 *IS EXTERNAL NAME IN DEV F6A08930 TRA PAS11 NO F6A08940 PZE NOT USED F6A08950 TMI PAS13 YES, IS IT FORSUB NAME F6A08960 PAI NO, PICK UP PREFIX F6A08970 LFT 200000 IS IT ARGUMENT NAME F6A08980 TRA PAS09 YES F6A08990 LFT 100000 NO, IS IT TRANSFER VECTOR NAME F6A09000 TRA PAS08 YES F6A09010 CAL DEAMK NO, RESET FLAG FOR SYMBOL TABLE F6A09020 ANS* ORGDEA VARIABLE IS USED IN SOURCE PROGRAM F6A09030 TRA PAS13 DO NOT DEFINE SYN F6A09040 REM CHECK FOR USE OF TRANSFER VECTOR NAME AS VARIABLE F6A09050 PAS08 CAL CITOP LOAD OPCODE F6A09060 ERA OPCD1 IS IT PZE F6A09070 TZE PAS13 YES F6A09072 ERA OPCD1+1 NO, IS IT TSX F6A09074 TZE PAS13 YES F6A09080 CAL CITSA NO, LOAD SYMBOLIC ADDRESS F6A09090 LXD TVTBL,2 LOAD LENGTH OF INTERNAL SUBROUTINE LIST F6A09092 LAS TVTBL,2 IS SUBROUTINE NAME ON LIST F6A09094 TRA *+2 NO F6A09096 TRA PAS13 YES F6A09100 TIX *-3,2,1 IS LIST EXHAUSTED F6A09110 CLA L(5) YES, GET VECTOR NAME USED AS VARIABLE FLAGF6A09120 TSX SMDER,4 *ADD NAME TO MULTIPLY DEFINED LIST F6A09130 TRA PAS14 F6A09140 REM SYMBOLIC ADDRESS IS AN ARGUMENT WHICH MUST BE INITIALIZEDF6A09150 PAS09 ALS 18 ISOLATE ARGUMENT NUMBER F6A09160 ADD LOCTR RELATIVE COUNT,,ARGUMENT NUMBER F6A09170 LDQ CITRA GET TAG,,RA OF CIT FOR WORD 2 F6A09180 LXD ORGTIV,2 LOAD ARGUMENT LIST COUNT F6A09190 TXI *+1,2,2 BUMP LIST COUNT TO NEXT ENTRY F6A09200 STO* ORGTIV-1 F6A09210 STQ* ORGTIV F6A09220 PAS10 TXL *+2,2,** DID LIST OVERFLOW F6A09230 TSX XERR05,4 *YES F6A09240 SXD ORGTIV,2 NO, SAVE LIST COUNT F6A09250 TRA PAS13 DO NOT DEFINE SYN F6A09260 REM SYMBOLLIC ADDRESS IS SINGLE CELLED ERASABLE VARIABLE F6A09270 PAS11 TSX XSRTEV,4 *IS VARIABLE NAME IN TEV F6A09280 TSX ENTEV,4 *NO, ENTER IT IN TEV F6A09290 TRA PAS13 DO NOT DEFINE SYN F6A09300 REM SYMBOLLIC ADDRESS IS PROGRAM COUNTER ( * ) F6A09310 PAS12 CLA LOCTR GET CURRENT CONTENTS OF LOCATION COUNTER F6A09320 STA ADDRS TO DEFINE POSSIBLE SYN F6A09330 REM ENTRY POINT TO UNDEFINE POSSIBLE SYN F6A09340 PAS13 AXT **,4 LOAD SPECIAL OPCODE SWITCH F6A09350 TXH PAS14,4,1 IS OPCODE SYN F6A09360 NZT ADDRS YES, IS SYN DEFINED F6A09370 TSX XERR00,4 *NO, SYN TO (CITSA) IS UNDEFINED F6A09380 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A09390 * SECTION 4 HAS WRITTEN THE CIT 'CITSL SYN CITSA', F6A09400 * EXPECTING THAT THE SYMBOL IN CITSA HAS ALREADY APPEARED F6A09410 * IN A CIT SYMBOLIC LOCATION FIELD. IF SECTION 6 FOUND IT, F6A09420 * IT WOULD HAVE PUT IT IN TIV. IT HAS NOT BEEN RECOGNIZED. F6A09430 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A09440 TRA PAS15 YES F6A09450 REM OP CODE IS OCT OR BCD PSEUDOOPERATION F6A09460 PAS14 SLT 4 IS OPCODE BSS F6A09461 TRA *+6 NO F6A09462 NZT CITSL YES, IS SYMBOLIC LOCATION BLANK F6A09464 TRA PAS01 YES, DO NOT LIST NOR BUMP LOCATION COUNTERF6A09466 CLA LOCTR SET LOCATION OF BSS TO RELATIVE COUNT F6A09467 STO ADDRS F6A09468 TRA PAS15 SINCE BSS HAS LOCATION SYMBOL, LIST IT. F6A09469 CLA LOCTR BUMP RELATIVE COUNT F6A09470 STO ADDRS SET LOCATION OF SYMBOL TO RELATIVE COUNT F6A09480 ADD L(1) NO, BUMP RELATIVE COUNT F6A09500 STO LOCTR F6A09510 PAS15 CAL CITSL GET CIT SYMBOLIC LOCATION F6A09520 TSX XSORT0,4 *SORT OUT SYMBOLS F6A09530 TRA PAS18 NO SYMBOL ASSIGNED F6A09540 STZ CITSL LOCATION COUNTER ( * ) F6A09550 REM (SEC 3 FLAG TIFGO ENTRY FOR TRASTO F6A09560 REM TRANSFER ADDRESS, FOR SEC 4 CONSIDERATION)F6A09570 TRA PAS18 EXTERNAL VARIABLE F6A09580 TRA PAS17 INTERNAL FORMULA NUMBER F6A09590 TRA PAS16 SUBSIDIARY INTERNAL FORMULA NUMBER F6A09600 TSX XERR00,4 *INT SYMBOL FOR ERASABLE IN SYMBOLIC LOC F6A09610 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A09620 * THE INTERNAL SYMBOL STORED IN SYMBL FOR AN ERASABLE CELL,F6A09630 * WHICH IS DEFINED BY APPEARING ON THE STORAGE MAP, AND F6A09640 * SHOULD NEVER APPEAR IN A SYMBOLIC LOCATION FIELD OF A CITF6A09650 * HAS BEEN RECOGNIZED IN CITSL. F6A09660 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A09670 TSX XSRTIV,4 *IS INTERNAL SYMBOL FOR DATA IN TIV F6A09680 TRA *+2 NO F6A09690 TSX XERR00,4 *INT SYMBOL FOR DATA TWICE IN SYMBOLIC LOC F6A09700 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A09710 * THE INTERNAL SYMBOL FOR A DATA CELL SHOULD APPEAR ONCE F6A09720 * AND ONCE ONLY IN THE SYMBOLIC LOCATION FIELD OF A CIT, F6A09730 * WHICH SECTION 6 HAS COMPILED FROM DATA IN ASSIGN 5), F6A09740 * FIXCON 2), HOLARG B), FLOCON 3), UNIVERSAL CONSTANTS 6), F6A09750 * AND FORMAT 8), IN THE ROUTINES FOLLOWING CLEAR. DURING F6A09760 * THIS PASS, WHEN THIS INTERNAL SYMBOL IS RECOGNIZED IN A F6A09770 * CIT SYMBOLIC LOCATION, SECTION 6 ENTERS IT INTO TIV. THE F6A09780 * INTERNAL SYMBOL STORED IN SYMBL HAS BEEN ENCOUNTERED IN AF6A09790 * CIT SYMBOLIC LOCATION FIELD (CITSL), AND HAS BEEN FOUND F6A09800 * TO BE IN ORGTIV,2 ALREADY. IT SHOULDNT BE THERE F6A09810 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A09820 TSX ENTIV,4 *ENTER IT INTO TIV F6A09830 TRA PAS18 F6A09840 PAS16 TSX XSRTIV,4 *IS SUB INTERNAL FORMULA NUMBER IN TIV F6A09850 TRA PAS18 NO F6A09860 CLA ADDRS YES, DEFINE IT F6A09870 STA* ORGTIV F6A09880 TRA PAS18 F6A09890 PAS17 CLA ADDRS GET CURRENT LOCATION FOR MAIN IFN F6A09900 ADD L(1) DIFERENTIATE FROM NONEXECUTABLE IFNS F6A09910 ALS 18 F6A09920 LXD CITSL,4 LOAD IFN F6A09930 STD* ORGIFN ENTER CURRENT LOCATION IN IFN TABLE F6A09940 TXL *+3,4,** IS THIS INLINE CODING F6A09950 SXD *-1,4 YES, UPDATE TEST F6A09960 TRA PAS18 F6A09970 PXA ,4 NO, THIS IS FORSUB IFN F6A09980 STO ADDRS SAVE IFN F6A09990 LXD XDEVTL,2 LOAD DEV TABLE COUNT F6A10000 CLA* ORGDEA LOAD FLAGS F6A10010 TPL *+4 IS THIS FORSUB NAME F6A10020 ANA ADMSK YES, MASK IN IFN F6A10030 SUB ADDRS IS IT THIS IFN F6A10040 TZE *+3 YES F6A10050 TIX *-5,2,1 NO, IS DEV TABLE EXHAUSTED F6A10060 TRA PAS18 YES, IFN IS WITHIN BODY OF ARITH STATE F6A10070 CAL* ORGDEV PICK UP FORSUB NAME F6A10080 SLW CITSL REPLACE IFN WITH FORSUB NAME F6A10090 PAS18 TSX WRCIT,4 *WRITE CIT ON TAPE 4 F6A10100 TRA PAS01 F6A10110 REM F6A10120 REM END OF CIT FILE SENSED F6A10130 LXA SMDER,2 HAVE THERE BEEN ANY ERRORS F6A10140 TXL *+3,2,0 NO F6A10150 AXT ERLST,1 YES, LOAD ORIGIN OF ERROR LIST F6A10160 TSX XERR06,4 *COUNT OF ERRORS IS IN XR2 F6A10170 TSX (TAPE),4 *PREPARE FOR BINARY OUTPUT F6A10180 PZE REWND,,(SKBP) F6A10190 PZE 3LABL,,CITTAP F6A10200 REM F6A10210 REM PREPARE PAGE HEADING F6A10220 HEDR0 CLA* ORGFLG IS THIS SINGLE COMPILE F6A10230 TMI CCRD1 NO F6A10240 ENK YES, PICK UP DATE IN CONSOLE KEYS F6A10250 STQ ERASE F6A10260 CAL ERASE F6A10270 TZE CCARD HAS A DATE BEEN SPECIFIED F6A10280 ANA BLNKS YES, MASK IN ZONE BITS F6A10290 TNZ CCARD IS IT AN APPARENTLY PROPER DATE F6A10300 LGL 12 YES, LEFT ADJUST BCD MONTH F6A10310 ALS 6 F6A10320 ORA SLASH FOLLOWED BY SLASH F6A10330 LGL 12 RIGHT ADJUST BCD DAY F6A10340 ALS 6 F6A10350 ORA SLASH FOLLOWED BY SLASH F6A10360 SLW XPGHED+14 IN WORD 15 OF PAGE HEADING F6A10370 LGL 12 LEFT ADJUST BCD YEAR F6A10380 LDQ BLNKS FOLLOWED BY BLANKS F6A10390 LGL 24 F6A10400 SLW XPGHED+15 IN WORD 16 OF PAGE HEADING F6A10410 CCARD CAL XSKDP1 RESET SKIP TO DECIMAL $F6A10411 STD SKDP2 F6A10412 TSX (TAPE),4 *READ FIRST SOURCE CARD $F6A10420 PZE *+3,,(RDNC) F6A10430 PZE ,,SLSTAP F6A10440 PZE HEDRR F6A10450 IORT XPGHED+1,,12 (NOP) F6A10460 PXD ,0 F6A10470 LDQ XPGHED+1 GET FIRST WORD F6A10480 STQ XLABEL SAVE COMMENTS CHARACTER F6A10490 LGL 6 FIRST CHARACTER F6A10500 CAS L(C) IS IT COMMENTS CARD F6A10510 TRA *+2 NO F6A10520 CAL BLANK YES, DELETE C FROM HEADING F6A10530 LGR 6 F6A10540 STQ XPGHED+1 F6A10550 TRA CCRD1 F6A10560 HEDRR AXT 12,4 DELETE HEADING F6A10570 CAL BLNKS F6A10580 SLW XPGHED+13,4 F6A10590 TIX *-1,4,1 F6A10600 TSX (PRNT),4 *PRINT HEADING DELETED MESSAGE F6A10610 PZE HEDRM,,7 F6A10620 CCRD1 AXT REWND,2 PREPARE TO PRINT FIRST FILE F6A10630 ZET XSWCH3 IS ONLINE PRINT REQUESTED F6A10640 SXA *+2,2 YES, RESET SKIP INSTRUCTION TO REWIND F6A10650 TSX (TAPE),4 *SPACE TO PROPER END OF SOURCE PROGRAM F6A10660 SKDP2 PZE D(1),,(SKBP) (RESET TO (SKDP) IF SINGLE COMPILE) F6A10670 PZE ,,SLSTAP F6A10680 REM F6A10690 REM COMPUTE ADDENDS REQUIRED FOR INITIALIZATION F6A10700 LXD ORGTIV,2 LOAD COUNT OF ARGUMENT LIST F6A10710 TXL ARG06+1,2,0 IS ARGUMENT LIST EMPTY F6A10720 CLA WRCBF-1 NO, INITIALIZE ORIGIN OF 9) TABLE F6A10730 STA RG9TB IN CIT INPUT BUFFER F6A10740 LXD ORGSUB,4 LOAD COUNT OF ARGUMENTS F6A10750 SXD INITT,4 INITIALIZE END OF COMPILE LOOP F6A10760 ARG01 SXD ARGNO,4 SET CURRENT ARGUMENT NUMBER F6A10770 LXD ORGTIV,2 LOAD ARGUMENT LIST COUNT F6A10780 STZ ADDRS RESET RUNNING ADDEND F6A10790 ARG02 CLA* ORGTIV-1 GET NEXT RELATIVE COUNT,,ARGUMENT NUMBER F6A10800 ANA DECMK ISOLATE ARGUMENT NUMBER F6A10810 SUB ARGNO IS IT THIS ARGUMENT F6A10820 TNZ ARG04+2 NO F6A10830 CLA* ORGTIV YES, GET ,,RA OF CIT TO BE INITIALIZED F6A10840 ARS 18 F6A10850 STO ERASE F6A10860 SUB ADDRS REDUCE BY INITIALIZATION TO DATE F6A10870 LDQ ERASE UPDATE RUNNING ADDEND (CURRENT RA) F6A10880 STQ ADDRS F6A10890 TZE ARG04+1 IS THERE AN ADDEND F6A10900 LXD RG9TB,1 YES, PICK UP COUNT OF 9)TABLE F6A10910 TXL ARG03,1,0 IS 9) TABLE EMPTY F6A10920 CAS* RG9TB NO, IS THIS ADDEND IN 9)TABLE F6A10930 TRA *+2 NO F6A10940 TRA ARG04 YES F6A10950 TIX *-3,1,1 IS 9) TABLE EXHAUSTED F6A10960 LXD RG9TB,1 YES, BUMP 9) TABLE COUNT F6A10970 ARG03 TXI *+1,1,1 F6A10980 TXL *+2,1,2*CITSIZ DID 9)TABLE OVERFLOW F6A10990 TSX XERR07,4 *YES F6A11000 SXD RG9TB,1 NO, SAVE NEW 9) TABLE COUNT F6A11010 STO* RG9TB INSERT CONSTANT IN 9) TABLE F6A11020 ARG04 PXA ,1 INSERT POSITION+1 OF CONSTANT IN 9) TABLE F6A11030 STO* ORGTIV AS NEW WORD 2 IN ARGUMENT LIST F6A11040 TIX ARG02,2,2 IS ARGUMENT LIST EXHAUSTED F6A11050 TIX ARG01,4,1 YES, ARE ARGUMENTS EXHAUSTED F6A11060 LXD RG9TB,1 GET COUNT OF 9) TABLE F6A11070 TXL ARG06+1,1,0 IS 9) TABLE EMPTY F6A11080 SXD ARG05,1 NO, SET END OF 9) TABLE COMPILE LOOP TEST F6A11090 STZ CITRA RESET RA,,TAG F6A11100 CAL OCTOP SET CIT OPCODE TO OCT F6A11110 SLW CITOP F6A11120 CLA LOCTR SET LOCATION OF SYMBOL TO CURRENT CONTENTSF6A11130 STO ADDRS OF PROGRAM COUNTER F6A11140 CAL 9)SYM SET FIRST CIT SYMBOLIC LOCATION TO 9) F6A11150 SLW CITSL F6A11160 ALS 2 CONVERT TO TIV FORM F6A11170 TSX XSRTIV,4 *IS 9) SYMBOL IN TIV F6A11180 TRA *+2 NO F6A11190 TSX XERR00,4 *YES, INT SYM FOR DATA 9) TWICE IN SYM LOC F6A11200 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A11210 * THE INTERNAL SYMBOL FOR ARGUMENT ADDEND CONSTANTS 9), F6A11220 * WHICH HAS JUST BEEN COMPILED, HAS BEEN FOUND AT ORGTIV,2.F6A11230 * IT SHOULD NOT HAVE APPEARED IN A SYMBOLIC LOCATION FIELD F6A11240 * OF ANY CIT, AND SHOULD NOT HAVE BEEN ENTERED INTO TIV. F6A11250 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A11260 TSX ENTIV,4 *ENTER IT F6A11270 AXT 1,1 START AT TOP OF LIST F6A11280 ARG05 TXH ARG06+1,1,** IS 9) TABLE EXHAUSTED F6A11290 CAL* RG9TB NO, SET CIT SYMBOLIC ADDRESS F6A11300 SLW CITSA TO NEXT CONSTANT IN 9) TABLE F6A11310 TSX WRCIT,4 *WRITE CIT F6A11320 STZ CITSL RESET SUBSEQUENT CIT SYMBOLIC LOCATION F6A11330 CLA LOCTR BUMP PROGRAM COUNTER F6A11340 ADD L(1) F6A11350 STO LOCTR F6A11360 ARG06 TXI ARG05,1,1 BUMP 9) TABLE COUNT TO NEXT ENTRY F6A11370 REM F6A11380 REM WRITE OUT AND CHECK FINAL PARTIAL CIT BUFFER F6A11390 LAC WRCIT+1,4 COMPUTE PARTIAL WORD COUNT F6A11400 SXD *+2,4 F6A11410 AXT CITSIZ+4,4 F6A11420 TXI *+1,4,** F6A11430 SXD IOCIT,4 INITIALIZE I/O COMMAND WORD COUNT F6A11440 LXA WRCI2+1,4 COMPUTE LOAD ADDRESS F6A11450 TXI *+1,4,-CITSIZ F6A11460 SXA IOCIT,4 INITIALIZE I/O COMMAND LOAD POINT F6A11470 TSX (TAPE),4 *WRITE FINAL PARTIAL BUFFER CONTENTS F6A11480 PZE IOCIT,,(WBNP) F6A11490 PZE CLABL,,COTTAP F6A11500 TSX (TAPE),4 *MARK END OF CIT FILE F6A11510 PZE ,,(WEFP) F6A11520 PZE CLABL,,COTTAP F6A11530 TSX (TAPE),4 *PREPARE FOR SECOND PASS F6A11540 PZE REWND,,(SKBP) F6A11550 PZE CLABL,,COTTAP F6A11560 CLA LOCTR SAVE CURRENT CONTENTS OF LOCATION COUNTER F6A11570 STO XPGBRK (NUMBER OF INSTRUCTIONS IN MAIN PROGRAM) F6A11580 LXD XPCD8L,3 LOAD COUNT OF TRANSFER VECTOR F6A11590 SXA XPCD7R,2 SET TENTATIVE ENTRY POINT IN PC 7R ADDRESSF6A11600 REM F6A11610 REM TRANSFER VECTOR, PROLOG AND INITIALIZATION RETAINED IN F6A11620 REM TABULAR FORM, AND DO NOT APPEAR ON THE CIT TAPE 4 F6A11630 SXA LOCTR,2 INITIALIZE PROGRAM COUNTER F6A11640 REM TO INSTRUCTION FOLLOWING TRANSFER VECTOR F6A11650 LDC XTEVTL,1 LOAD TEV TABLE LENGTH F6A11660 PXA ,1 COMPUTE ORIGIN FOR ARGUMENT LIST F6A11670 ADM ORGTEV F6A11680 STA ORGSUB F6A11690 NZT XPCD7L IS THIS A SUBPROGRAM F6A11700 TRA INIT5 NO F6A11710 TXI *+1,2,4 YES, UPDATE ENTRY POINT PAST F6A11720 SXA XPCD7R,2 NAME AND THREE XR STORAGE CELLS F6A11730 TXI *+1,2,3 UPDATE PROGRAM COUNTER PAST F6A11740 SXA LOCTR,2 THREE SAVE XR INSTRUCTIONS F6A11750 LXD ORGTIV,4 ARE THERE ANY ARGUMENTS F6A11760 TXL INIT3+5,4,0 NO F6A11770 SXD *+2,1 YES, INITIALIZE ARG TABLE OVERFLOW TEST F6A11780 LXD ENTEV+4,4 F6A11790 TXI *+1,4,** F6A11800 SXD ENART,4 F6A11810 INIT1 LXD ORGTIV,2 LOAD ARGUMENT LIST COUNT F6A11820 TSX GETRG,4 *GET NEXT ARGUMENT LIST ENTRY F6A11830 TRA INIT3 LIST EXHAUSTED F6A11840 REM THIS ARGUMENT IS USED IN SOURCE PROGRAM F6A11850 ARS 18 CONSTRUCT INITIALIZATION TABLE ENTRY F6A11860 ACL CLAOP CLA L F6A11870 TSX ENARG,4 *ENTER INTO INITIALIZATION TABLE F6A11880 INIT2 CLA* ORGTIV GET POSITION+1 OF ADDEND IN 9) TABLE F6A11890 TZE *+4 IS THERE AN ADDEND F6A11900 SUB L(1) YES, COMPUTE POSITION IN 9) TABLE F6A11910 ACL ADDOP CONSTRUCT TABLE ENTRY ADD M F6A11920 TSX ENARG,4 *ENTER INTO INITIALIZATION TABLE F6A11930 CLA* ORGTIV-1 GET LOCATION,,ARGUMENT NUMBER F6A11940 ANA ADMSK CONSTRUCT INITIALIZATION TABLE ENTRY F6A11950 ACL STAOP STA N F6A11960 TSX ENARG,4 *ENTER INTO INITIALIZATION TABLE F6A11970 TNX INIT3,2,2 IS ARGUMENT LIST EXHAUSTED F6A11980 TSX GETRG,4 *NO, GET NEXT ARGUMENT LIST ENTRY F6A11990 TRA INIT3 INITIALIZATION LIST EXHAUSTED F6A12000 TRA INIT2 NEXT ENTRY IS FOR THIS ARGUMENT NUMBER F6A12010 REM INITIALIZATION LIST EXHAUSTED. PREPARE TO SCAN FOR F6A12020 REM NEXT ARGUMENT NUMBER F6A12030 INIT3 LXD ARGNO,4 BUMP TO NEXT ARGUMENT NUMBER F6A12040 TXI *+1,4,1 F6A12050 SXD ARGNO,4 F6A12060 INITT TXL INIT1,4,** IS ARGUMENT NUMBER EXHAUSTED F6A12070 LXA ENARG,4 YES, COMPUTE TOTAL LENGTH OF F6A12080 SXD ORGSUB,4 TRANSFER VECTOR, PROLOG, INITIALIZATION F6A12090 INIT4 SXD *+2,4 F6A12100 LXA LOCTR,2 BUMP PROGRAM COUNTER BY LENGTH OF F6A12110 TXI *+1,2,** INITIALIZATION F6A12120 REM F6A12130 REM RELOCATE INTERNAL STATEMENT NUMBER, SUB INTERNAL F6A12140 REM STATEMENT NUMBER, UP BY LENGTH OF VECTOR, PROLOG, INIT F6A12150 INIT5 PXA ,2 COMPUTE INCREMENT F6A12160 STA ADDRS FOR TIV LOCATIONS IN LOWER MEMORY F6A12170 SUB L(1) CORRECT FOR NONEXECUTABLE STATEMNTS F6A12180 ALS 18 F6A12190 STO ERASE FOR IFN LOCATIONS F6A12200 PXA ,2 UPDATE LOWER PROGRAM COUNTER F6A12210 ADD XPGBRK F6A12220 STO LOCTR FOR TIV ERASABLE STORAGE ASSIGNMENTS F6A12230 LXD ORGIFN,4 LOAD COUNT OF IFN TABLE F6A12240 TXI *+1,4,-1 FORGET IFNMAX+1 F6A12250 CAL* ORGIFN PICK UP LOCATION FOR IFN F6A12260 ANA DECMK MASK IN LOCATION FOR IFN F6A12270 TZE *+3 IS IFN FOR NONEXECUTABLE STATEMENT F6A12280 ADD ERASE NO, INCREMENT BY LENGTH OF VECTOR, PROLOG F6A12290 STD* ORGIFN AND INITIALIZATION F6A12300 TIX *-5,4,1 IS IFN TABLE EXHAUSTED F6A12310 STZ ERASE YES F6A12320 CAL ORGTIV GET PRESENT ORIGIN OF TIV TABLE F6A12330 STA REL01 INITIALIZE COPY LOOP F6A12340 CAL ORGSUB GET ORIGIN OF ARGUMENT TABLE F6A12350 LXD ORGSUB,2 GET LENGTH OF ARGUMENT TABLE F6A12360 SXA ERASE,2 F6A12370 SUB ERASE RESERVE LAST UPPER TABLE STORAGE F6A12380 LXD XTIVTL,2 LOAD COUNT OF TIV TABLE F6A12390 SXA ERASE,2 F6A12400 ADD ERASE RESERVE TIV STORAGE F6A12410 STA REL05 F6A12420 SUB L(1) F6A12430 STA ORGTIV F6A12440 TXI *+1,2,1 BUMP TO LAST WORD IN TIV F6A12450 CLA T(1) ENTER A1 IN TIV F6A12460 ADD ADDRS WHICH MAY BE SLINT F6A12470 TXI REL05,2,1 F6A12480 REL01 CAL **,2 GET NEXT ENTRY IN TIV F6A12490 STA ERASE SAVE BLOCK LENGTH F6A12500 ARS 14 SHIFT OUT ADDRESS F6A12510 PDX ,1 GET FIRST CHARACTER F6A12520 PAX ,4 GET INCREMENT F6A12530 CAL* REL01 GET SYMBOL AGAIN F6A12540 TRA REL02,1 SORT OUT SYMBOLS F6A12550 TSX XERR00,4 *PROGRAM COUNTER (*) IN TIV TABLE F6A12560 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A12570 * THE INTERNAL SYMBOL FOR PROGRAM COUNTER (17)8 HAS BEEN F6A12580 * RECOGNIZED IN THE FIRST FOUR BITS AT ORGTIV,2. SECTION 6 F6A12590 * SHOULD NOT HAVE PUT IT THERE. F6A12600 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A12610 TRA REL02+2 E)N F6A12620 TRA REL02+2 D)N F6A12630 TRA REL04 C)N F6A12640 TRA REL02 B) F6A12650 TRA REL02 A)N F6A12660 TRA REL02 9) F6A12670 TRA REL02 8)N F6A12680 TRA REL04 7)N+M F6A12690 TRA REL02 6) F6A12700 TRA REL02 5) F6A12710 TRA REL03 4)N+M F6A12720 TRA REL02 3) F6A12730 TRA REL02 2) F6A12740 TRA REL04 1)N+M F6A12750 REL02 STA TIVCL NAM, SAVE LOCATION OF SYMBOL IN CIT FILE F6A12760 ZET TIVCL IS SYMBOL UNDEFINED F6A12770 ADD ADDRS NO, RELOCATE SYMBOL IN CIT FILE LENGTH OF F6A12780 TXI REL05,2,1 TRANSFER VECTOR PROLOG AND INITIALIZATION F6A12790 REL03 TXH REL04,4,0 IS SYMBOL 4)N F6A12800 ORA ADMSK NO, IT IS 4). SET ADDRESS TO TOP OF F6A12810 TXI REL05,2,1 MEMORY F6A12820 REL04 SLW* ORGTIV PACK IT AGAINST UPPER TABLES F6A12830 CLA LOCTR SET LOCATION OF ERASABLE TO CURRENT F6A12840 STA* ORGTIV CONTENTS OF PROGRAM COUNTER F6A12850 ADD ERASE BUMP PROGRAM COUNTER BY LENGTH OF F6A12860 ADD L(1) BLOCK RESERVED F6A12870 STO LOCTR F6A12880 TXI REL05+1,2,1 F6A12890 REL05 SLW **,2 RESET INCREMENTED LOCATION F6A12900 TXH REL01,2,0 IS TIV EXHAUSTED F6A12910 CLA LOCTR YES, SET ORIGIN OF TEV TO F6A12920 SUB L(1) TO LAST ASSIGNMENT MADE TO TIV F6A12930 STO XTEVBS F6A12940 LXD XTEVTL,1 BUMP PROGRAM COUNTER BY LENGTH OF TEV F6A12950 PXA ,1 F6A12960 ADD LOCTR F6A12970 STO LOCTR F6A12980 REM F6A12990 REM RELOCATE NON-COMMON STORAGE DOWN BELOW PROGRAM BREAK F6A13000 CLA UPCTR GET CELL BELOW LAST ASSIGNMENT MADE F6A13010 REM IN UPPER MEMORY F6A13020 ADD L(1) F6A13030 STO ERASE THIS IS LOCATION OF LOWEST STORAGE CELL F6A13040 SUB LOCTR GET CELL ABOVE LAST CELL ON STORAGE MAP F6A13050 STO ADDRS THIS IS LENGTH OF RELOCATION F6A13060 TPL *+2 DID ASSIGNMENT WRAP AROUND MEMORY F6A13070 TSX XERR04,4 *YES F6A13080 CLA XPCD8R NO, GET COMMON BREAK F6A13090 SUB UPCTR GET NUMBER OF VARIABLES TO BE RELOCATED F6A13100 ADD LOCTR ADD TO FIRST CELL INTO WHICH RELOCATED F6A13110 STA XPCD8L INSERT PROGRAM BREAK IN PC 8L ADDRESS F6A13120 SUB L(1) F6A13130 STO XPGBRK THIS IS TOP OF LOWER STORAGE F6A13140 LXD XDEVTL,2 GET COUNT OF DEV TABLE F6A13150 RLDEA LDI* ORGDEA GET NEXT ADDRESS IN DEA F6A13160 RFT 400000 IS IT FORSUB, CLUSUB, ARGUMENT NAME OR $ F6A13170 TRA RLDE1 YES F6A13180 PIA NO F6A13190 ANA ADMSK ISOLATE ADDRESS F6A13200 CAS XPCD8R IS IT BELOW COMMON F6A13210 TRA RLDE1 NO F6A13220 NOP YES F6A13230 SUB ADDRS YES, RELOCATE DOWNWARDS F6A13240 STA* ORGDEA F6A13250 RLDE1 TIX RLDEA,2,1 IS DEV TABLE EXHAUSTED F6A13260 TSX (LOAD),4 *CALL RECORD 31 F6A13270 PZE NOT USED F6A13280 REM F6A13290 TTL SUBROUTINES RELEVANT TO FIRST CIT PASS F6A13300 REM READ TAPE TABLE INTO LOWER MEMORY F6A13310 REM PARAMETER IS PRE ADDRS,TAG,DECREM F6A13320 REM WHERE PREFIX IS 4 IF NO TABLE IDENTIFICATION NUMBER F6A13330 REM 2 IF NO WORD COUNT F6A13340 REM 1 IF WORD COUNT IS IN ADDRESS F6A13350 REM 0 IF WORD COUNT IS IN DECREMENT F6A13360 REM DECREM IS TABLE IDENTIFICATION NUMBER (IF ANY) F6A13370 REM TAG IS NUMBER OF WORDS PRECEDING TABLE F6A13380 REM ADDRSS IS LOAD ADDRESS F6A13390 RDTAB SXA RDTBX,4 SAVE CALLING LINKAGE F6A13400 AXT TLABL-ASSLB,2 LOAD CURRENT TABLE INDEX F6A13410 CAL TAPAR,2 GET LOAD ADDRESS,,TABLE ID NUMBER F6A13420 STA ERASE INITIALIZE OVERFLOW TEST F6A13430 STA IOTAB+1 INITIALIZE TABLE LOAD ADDRESS F6A13440 ANA T(7) MASK IN PRETABLE WORD COUNT F6A13450 ALS 3 F6A13460 STD IOTAB INITIALIZE PRETABLE WORD COUNT F6A13470 PDC ,4 COMPUTE PRETABLE LOAD ADDRESS F6A13480 TXI *+1,4,IDENT+2 F6A13490 SXA IOTAB,4 INITIALIZE PRETABLE LOAD ADDRESS F6A13500 TSX (TAPE),4 *READ IN TAPE TABLE F6A13510 PZE IOTAB,,(RBNP) F6A13520 PZE TLABL,2,TABTAP F6A13530 TXH *+3,2,1 IS THIS FINAL REPOSITION F6A13540 STA *+4 YES, DELETE LABEL F6A13550 STT *+3 F6A13560 TSX (TAPE),4 *SKIP TO NEXT TABLE F6A13570 PZE SKLST,2,(SKBP) F6A13580 PZE TLABL+1,2,TABTAP F6A13590 CLA TAPAR,2 GET TABLE NUMBER F6A13600 TMI RDTB1 SHOULD TABLE NUMBER BE CHECKED F6A13610 PDX ,1 YES, PUT TABLE NUMBER IN ADDRESS F6A13620 PXA ,1 F6A13630 SUB IDENT IS TABLE NUMBER CORRECT F6A13640 TZE RDTB1 YES F6A13650 AXT -1,1 NO, LOAD TABLE LABEL FLAG F6A13660 TRA RDTRR F6A13670 RDTB1 LAC IOTAB+1,1 COMPUTE LENGTH OF TABLE F6A13680 SXD *+2,1 F6A13690 LXA (SCHU)+TABTAP,1 PICK UP TABLE LAST ADDRESS+1 F6A13700 TXI *+1,1,** REDUCE BY TABLE LOAD ADDRESS F6A13710 LDI TAPAR,2 LOAD WORD COUNT FLAG F6A13720 LFT 200000 SHOULD WORD COUNT BE CHECKED F6A13730 TRA RDTB2 NO F6A13740 PXD ,1 YES, PUT WORD COUNT IN DECREMENT F6A13750 LFT 100000 IS WORD COUNT IN ADDRESS F6A13760 PXA ,1 YES, PUT WORD COUNT IN ADDRESS INSTEAD F6A13770 SUB TABCT IS WORD COUNT CORRECT F6A13780 TZE RDTB2 YES F6A13790 AXT -2,1 NO, LOAD TABLE COUNT FLAG F6A13800 TRA RDTRR F6A13810 RDTB2 CLA (SCHU)+TABTAP GET ORIGIN AT END OF TABLE F6A13820 ANA ADMSK MASK IN ADDRESS F6A13830 CAS ADDRS DID TABLE OVERFLOW BUFFER SPACE F6A13840 TSX XERR03,4 *YES F6A13850 NOP MAYBE NOT F6A13860 CAS ERASE DID TABLE WRAP AROUND MEMORY F6A13870 NOP NO F6A13880 TXI *+2,2,-1 BUMP TABLE INDEX TO NEXT TABLE F6A13890 TSX XERR03,4 *YES F6A13900 SXA RDTAB+1,2 SAVE NEXT TABLE INDEX F6A13910 RDTBX AXT **,4 RELOAD CALLING LINKAGE F6A13920 TRA 1,4 F6A13930 REM ERROR ON TABLE TAPE F6A13940 RDTRR TSX (TAPE),4 *PRINT ERROR MESSAGE F6A13950 PZE *+1,1,(TPER) F6A13960 PZE TLABL,2,TABTAP F6A13970 BCI 1,LABEL F6A13980 BCI 1,COUNT F6A13990 REM F6A14000 IOTAB IOCP **,,** F6A14010 IORT **,,6001 F6A14020 REM F6A14030 ASSLP MZE **,1,65 ASSIGN F6A14040 MON **,1,66 FIXCON F6A14050 PZE **,2,13 HOLARG F6A14060 MON **,1,67 FLOCON F6A14070 PZE **,2,10 FORMAT F6A14080 FORLP MTW **,1,68 FORSUB F6A14090 MON **,2,69 SIZ F6A14100 MTW XSWCH1,0,70 END F6A14110 PZE **,2,11 SUBDEF F6A14120 PZE **,2,12 COMMON F6A14130 PZE **,2,0 EIF F6A14140 PZE **,2,8 EQUIV F6A14150 PZE **,2,9 CLOSUB F6A14160 TAPAR SYN * F6A14170 REM F6A14180 3LABL BCI 1,CITS05 F6A14190 CLABL BCI 1,CITS06 F6A14200 ELABL BCI 1,TEIFN6 F6A14210 ASSLB BCI 1,ASCON5 F6A14220 BCI 1,FIXCN3 F6A14230 BCI 1,HOLARG F6A14240 BCI 1,FLOCON F6A14250 BCI 1,FORMAT F6A14260 BCI 1,FORSUB F6A14270 BCI 1,SIZ F6A14280 BCI 1,END F6A14290 BCI 1,SUBDEF F6A14300 BCI 1,COMMON F6A14310 BCI 1,TEIFNO F6A14320 BCI 1,EQUIT F6A14330 BCI 1,CLOSUB F6A14340 TLABL SYN * F6A14350 REM F6A14360 BKSPC MZE 1,,0 F6A14370 MZE 1,,1 TO FIXCON (FILE 8 RECORD 1) F6A14380 MZE 11,,3 TO HOLARG (FILE 5 RECORD 4) F6A14390 MZE 3,,1 TO FLOCON (FILE 4 RECORD 1) F6A14400 PZE 0,,0 TO FORMAT (FILE 4 RECORD 2) F6A14410 MZE 1,,1 TO FORSUB (FILE 3 RECORD 1) F6A14420 PZE 2,,1 TO SIZ (FILE 4 RECORD 3) F6A14430 PZE 0,,1 TO END (FILE 5 RECORD 1) F6A14440 PZE 0,,0 TO SUBDEF (FILE 5 RECORD 2) F6A14450 PZE 0,,0 TO COMMON (FILE 5 RECORD 3) F6A14460 PZE 1,,0 TO EIF (FILE 5 RECORD 5) F6A14470 PZE 7,,0 TO EQUIV (FILE 5 RECORD 13) F6A14480 PZE 0,,0 TO CLOSUB (FILE 5 RECORD 14) F6A14490 REWND PZE ,,-1 TO SOURCE (FILE 1 RECORD 1) F6A14500 SKLST SYN * F6A14510 REM F6A14520 REM COMPILE CIT FOR FORTRAN CONSTANTS AND PROGRAM DATA F6A14530 CPCIT TXL CPCIX+1,1,0 IS TABLE EMPTY F6A14540 SXA CPCIX,4 NO, SAVE CALLING LINKAGE F6A14550 STA CPCI1 INITIALIZE ORIGIN AT END OF TABLE F6A14560 CAL TBSYM+8,2 SET INITIAL CIT SYMBOLIC LOCATION F6A14570 SLW CITSL F6A14580 CPCI1 CLA **,1 GET NEXT CONSTANT F6A14590 STO CITSA F6A14600 TSX TBCIT,4 *WRITE OUT COMPILED CIT F6A14610 STZ CITSL RESET SUBSEQUENT SYMBOLIC LOCATION F6A14620 TIX CPCI1,1,1 IS TABLE EXHAUSTED F6A14630 CPCIX AXT **,4 YES, RELOAD CALLING LINKAGE F6A14640 TRA 1,4 F6A14650 REM F6A14660 9)SYM BCI 1,900000 F6A14670 BCI 1,500000 F6A14680 BCI 1,200000 F6A14690 HLSYM BCI 1,=00000 F6A14700 BCI 1,300000 F6A14710 TBSYM BCI 1,600000 F6A14720 REM F6A14730 REM COMPILE CIT FOR BCD PROGRAM DATA F6A14740 CPBCD TXL CPBCX+1,1,0 IS TABLE EMPTY F6A14750 SXA CPBCX,4 NO, SAVE CALLING LINKAGE F6A14760 SXD CPBC2,1 SET END OF COMPILE LOOP TEST F6A14770 SUB L(1) F6A14780 STA CPBC1+1 INITIALIZE ORIGIN FOR BCD WORD F6A14790 SUB L(1) F6A14800 STA CPBC1+6 INITIALIZE ORIGIN FOR SYMBOL F6A14810 SUB L(1) F6A14820 STA CPBC1+3 INITIALIZE ORIGIN FOR FLAG F6A14830 CAL BCDOP SET CIT OP CODE TO BCD F6A14840 SLW CITOP F6A14850 CAL ALONE SET STOP PRECEDING TABLE F6A14860 SLW* CPBC1+1 F6A14870 AXT 1,1 START WITH LAST WORD IN TABLE F6A14880 CPBC1 STZ CITSL RESET CIT SYMBOLIC LOCATION F6A14890 CAL **,1 MOVE BCD WORD INTO SYMBOLIC ADDRESS F6A14900 SLW CITSA F6A14910 CAL **,1 IS THIS BEGIN STATEMENT FLAG F6A14920 ERA ALONE F6A14930 TNZ *+4 NO F6A14940 CAL **,1 YES, SET SYMBOLIC LOCATION TO M)N SYMBOL F6A14950 SLW CITSL F6A14960 TXI *+1,1,2 BUMP WORD COUNT PAST FLAG AND SYMBOL F6A14970 TSX TBCIT,4 *WRITE COMPILED CIT F6A14980 TXI *+1,1,1 BUMP WORD COUNT TO NEXT PRECEDING WORD F6A14990 CPBC2 TXL CPBC1,1,** IS TABLE EXHAUSTED F6A15000 CPBCX AXT **,4 YES, RELOAD CALLING LINKAGE F6A15010 TRA 1,4 F6A15020 REM F6A15030 REM MOVE 4-WORD CIT GENERATED BY TAPE TABLE CONSTANT INTO F6A15040 REM CIT BUFFER. WHEN BUFFER IS FILLED, WRITE OUT ON TAPE 3 F6A15050 REM AND CHECK FOR TAPE ERROR. THIS SUBROUTINE IS NOT DOUBLE F6A15060 REM BUFFERED F6A15070 TBCIT SXA TBCIX,4 SAVE CALLING LINKAGE F6A15080 AXT CITSIZ+4,4 LOAD BUFFER COUNT F6A15090 TIX TBCI3,4,4 IS BUFFER FILLED F6A15100 TSX (TAPE),4 *YES, WRITE BUFFER CONTENTS F6A15110 PZE IOCIT,,(WBNC) F6A15120 PZE 3LABL,,CITTAP F6A15130 AXT CITSIZ,4 RESET BUFFER COUNT F6A15140 TBCI3 AXT 4,2 PREPARE TO MOVE 4-WORD CIT F6A15150 CAL CITRA+1,2 MOVE NEXT WORD F6A15160 SLW* CITBF+1,2 TO OUTPUT BUFFER F6A15170 TIX *-2,2,1 HAVE ALL 4 WORDS BEEN MOVED F6A15180 SXA TBCIT+1,4 YES, SAVE BUFFER COUNT F6A15190 TBCIX AXT **,4 RELOAD CALLING LINKAGE F6A15200 TRA 1,4 F6A15210 REM F6A15220 IOCIT IORT BUFF3,,CITSIZ F6A15230 PZE BUFF3+CITSIZ,4 F6A15240 PZE BUFF3+CITSIZ+1,4 F6A15250 PZE BUFF3+CITSIZ+2,4 F6A15260 CITBF PZE BUFF3+CITSIZ+3,4 F6A15270 REM F6A15280 REM ASSIGN STORAGE FOR EQUIVALENCE SENTENCE F6A15290 SEQAS SXA SEQSX,4 SAVE CALLING LINKAGE F6A15300 AXT **,1 GET COUNT OF FIRST SYMBOL THIS SET F6A15310 STZ ERASE CLEAR WORKING CELL FOR MAXIMUM OVERHANG F6A15320 CLS* RGEQU+1 GET FIRST SUBSCRIPT THIS SENTENCE F6A15330 XCA F6A15340 SEQS1 CAL* RGEQU GET NEXT SYMBOL THIS SENTENCE F6A15350 TSX SSIZE,4 *GET -LENGTH OF THIS ARRAY F6A15360 ADM* RGEQU+1 GET ARRAY LENGTH OVER SUBSCRIPT F6A15370 CAS ERASE IS THIS OVERHANG GREATER F6A15380 TRA *+3 NO F6A15390 TRA *+2 NO F6A15400 STO ERASE YES, SAVE THIS OVERHANG INSTEAD F6A15410 CLS* RGEQU+1 GET CORRESPONDING SUBSCRIPT F6A15420 TPL SEQS2 IS THIS END OF SENTENCE F6A15430 TLQ *+2 NO, IS THIS SUBSCRIPT GREATER F6A15440 XCA YES, SAVE THIS SUBSCRIPT INSTEAD F6A15450 TIX SEQS1,1,2 IS EQUIVALENCE TABLE EXHAUSTED F6A15460 TSX XERR00,4 *YES, END OF SENTENCE FLAG MISSING F6A15470 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A15480 * SEE DISCUSSION OF SIMILAR ERROR AT EQCOM. F6A15490 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A15500 SEQS2 SSM CHANGE SIGN OF LAST SUBSCRIPT F6A15510 TLQ *+2 IS THIS SUBSCRIPT GREATER F6A15520 TRA *+2 YES F6A15530 XCA NO, GET LARGEST SUBSCRIPT F6A15540 REM AT END OF SCAN OF EQUIVALENCE SENTENCE, -GREATEST F6A15550 REM SUBSCRIPT IN SENTENCE IS IN AC. IF VARIABLE WITH LARGEST F6A15560 REM SUBSCRIPT IS ASSIGNED LOCATION OF UPPER COUNTER, ALL F6A15570 REM OTHER VARIABLES IN SENTENCE NEED BE ASSIGNED LOCATIONS F6A15580 REM LENGTH OF THEIR SUBSCRIPT ABOVE THIS BASE (AC). LARGEST F6A15590 REM OVERHANG OF ARRAY LENGTH OVER SUBSCRIPT (ABOVE BASE) IS F6A15600 REM IN ERASE. TOTAL STORAGE REQUIRED FOR THIS SENTENCE IS F6A15610 REM LARGEST SUBSCRIPT + LARGEST OVERHANG. F6A15620 ADD UPCTR REDUCE LOCATION COUNTER BY GREATEST F6A15630 STO UPCTR SUBSCRIPT AS BASE FOR ASSIGNING ADDRESS F6A15640 TPL *+2 DID ASSIGNMENT WRAP AROUND MEMORY F6A15650 TSX XERR04,4 *YES F6A15660 SXD SEQS4,1 NO, SAVE COUNT OF LAST SYMBOL THIS SET F6A15670 LXA SEQAS+1,1 GET COUNT OF FIRST SYMBOL THIS SENTENCE F6A15680 SEQS3 CLA UPCTR SET LOCATION ASSIGNED TO THIS SYMBOL F6A15690 ADM* RGEQU+1 LENGTH OF SUBSCRIPT ABOVE BASE (ARRAY F6A15700 ADD T(2) STORED BACKWARDS IN MEMORY) FLAGGED AS F6A15710 STO ADDRS ALLOWABLE IN SYMBOL TABLE F6A15720 CAL* RGEQU GET CORRESPONDING SYMBOL F6A15730 TSX XSRDEV,4 *IS SYMBOL IN DEV F6A15740 TSX ENDEV,4 *NO, ENTER IT INTO DEV F6A15750 TRA *+2 F6A15760 TSX XERR00,4 *YES, EQUIV NAME TWICE IN EQUIV TABLE F6A15770 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A15780 * THE EQUIVALENCE TABLE HAS BEEN PREPARED BY SECTION 1 AND F6A15790 * ALL REDUNDANCIES REMOVED BY SECTION 1P. SECTION 6 READ ITF6A15800 * FROM FILE 5 RECORD 13 LOGICAL TAPE 2, AND HAS ENTERED F6A15810 * INTO DEV THE COMPLETE SENTENCE IN WHICH THE SYMBOL STOREDF6A15820 * IN LOCATION SYMBL APPEARED. SECTION 6 HAS DETERMINED THATF6A15830 * THIS SENTENCE IS NOT IN DEV, AS THE FIRST SYMBOL IN THE F6A15840 * SENTENCE WAS NOT RECOGNIZED IN DEV. NO SUBSEQUENT SYMBOL F6A15850 * IN THE ENTIRE SENTENCE SHOULD BE RECOGNIZED IN DEV. THE F6A15860 * EQUIVALENCE VARIABLE NAME IN RGEQU,1 IS A MAVERICK. F6A15870 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6A15880 SEQS4 TXL *+2,1,** IS SENTENCE EXHAUSTED F6A15890 TXI SEQS3,1,-2 NO, BUMP TO NEXT SYMBOL F6A15900 CLA UPCTR REDUCE UPPER LOCATION COUNTER BY GREATEST F6A15910 SBM ERASE OVERHANG, RESERVING TOTAL BLOCK OF F6A15920 STO UPCTR STORAGE REQUIRED BY THIS SENTENCE F6A15930 TPL *+2 DID ASSIGNMENT WRAP AROUND MEMORY F6A15940 TSX XERR08,4 *YES F6A15950 SEQSX AXT **,4 RELOAD CALLING LINKAGE F6A15960 TRA 9,4 F6A15970 REM F6A15980 REM FIND LENGTH OF ARRAY FOR VARIABLE NAME F6A15990 SSIZE SXA SSIZX,1 SAVE TABLE COUNT F6A16000 LXD RGSIZ,1 GET SIZ TABLE COUNT F6A16010 TXL *+5,1,0 IS SIZ TABLE EMPTY F6A16020 LAS* RGSIZ NO, IS VARIABLE NAME OF AN ARRAY F6A16030 TRA *+2 NO F6A16040 TRA *+4 YES F6A16050 TIX *-3,1,2 IS SIZ TABLE EXHAUSTED F6A16060 CLS L(1) YES, SET ARRAY LENGTH TO 1 F6A16070 TRA SSIZX F6A16080 CLS* RGSIZ+1 GET -ARRAY LENGTH F6A16090 SSIZX AXT **,1 RELOAD TABLE COUNT F6A16100 TRA 1,4 F6A16110 REM F6A16120 REM ADD SYMBOL NAME AND FLAG TO MULTIPLY DEFINED ERROR LIST F6A16130 REM FLAG ERROR F6A16140 REM 1 ARGUMENT F6A16150 REM 2 ARITHMETIC STATEMENT FUNCTION F6A16160 REM 3 TRANSFER VECTOR (SUBSCR VAR NOT IN DIM) F6A16170 REM 4 SUBROUTINE NAME F6A16180 REM 5 TRANSFER VECTOR NAME USED AS VARIABLE F6A16190 SMDER AXT **,2 LOAD ERROR LIST COUNT F6A16200 STO ERLST+1,2 INSERT FLAG IN SECOND WORD F6A16210 CAL XSYMBL GET MULTIPLY DEFINED SYMBOL NAME F6A16220 SLW ERLST,2 INSERT SYMBOL IN FIRST WORD F6A16230 TXI *+1,2,-2 BUMP ERROR LIST COUNT F6A16240 TXH *+3,2,-2*CITSIZ WILL ERROR LIST OVERFLOW BUFFER F6A16250 AXT ERLST,1 YES, LOAD ORIGIN OF ERROR LIST F6A16260 TSX XERR06,4 *COUNT OF ERRORS IS IN XR2 F6A16270 SXA SMDER,2 NO, SAVE ERROR LIST COUNT F6A16280 CLA WRCIX+1 BYPASS CIT OUTPUTROUTINE F6A16290 STO WRCIT TO PRESERVE ERROR LIST F6A16300 TRA 1,4 F6A16310 REM F6A16320 REM MOVE 4-WORD CIT FROM TAPE 3 BUFFER TO WORKING AREA. F6A16330 REM INITIALLY, BUFFER 1 IS FILLED, CHECKED FOR TAPE ERROR, F6A16340 REM AND BUFFER 2 FILLED WITH NEXT RECORD. ERROR ON OR END F6A16350 REM FILE ON SUCCESSIVE BUFFERS ARE NOT TESTED UNTIL PRIOR F6A16360 REM BUFFER IS EXHAUSTED. F6A16370 RDCIT SXA RDCIX,4 SAVE CALLING LINKAGE F6A16380 AXT **,4 GET CIT COUNT F6A16390 TIX RDCI2,4,4 IS BUFFER EXHAUSTED F6A16400 AXT 1,2 YES, SET BUFFER 1 SWITCH F6A16410 TXL *+2,,0 IS BUFFER 1 NEXT F6A16420 AXT 2,2 NO, SET BUFFER 2 SWITCH INSTEAD F6A16430 CLS *-2 RESET BUFFER SWITCH F6A16440 STO *-3 F6A16450 TXH *+5,4,0 IS THIS FIRST RECORD F6A16460 TSX (TAPE),4 *YES, READ FIRST CIT RECORD F6A16470 PZE RDCBF,2,(RBEP) F6A16480 PZE 3LABL,,CITTAP F6A16490 PZE CITRR F6A16500 TSX (TAPE),4 *READ NEXT CIT RECORD F6A16510 PZE RDCBF+1,2,(RBEP) F6A16520 PZE 3LABL,,CITTAP F6A16530 PZE CITRR F6A16540 REM COMPUTE WORD COUNT AND INITIALIZE BUFFERS F6A16550 CLA RDCBF,2 INITIALIZE WORD COUNT COMPUTATION F6A16560 PAC ,4 F6A16570 SXD RDCI1,4 F6A16580 LXA (SCHU)+CITTAP,4 GET LOCATION OF LAST+1 WORD IN CIT BLOCK F6A16590 TXL RDCI3,4,0 WAS END FILE SENSED F6A16600 SXA RDCI2,4 NO, INITIALIZE MOVE LOOP F6A16610 TXI *+1,4,1 F6A16620 SXA RDCI2+2,4 F6A16630 TXI *+1,4,1 F6A16640 SXA RDCI2+4,4 F6A16650 TXI *+1,4,1 F6A16660 SXA RDCI2+6,4 F6A16670 TXI *+1,4,-3 F6A16680 RDCI1 TXI *+1,4,** F6A16690 TXL RDCI2,4,CITSIZ IS RECORD TOO LONG F6A16700 AXT -1,2 YES, SET CIT COUNT SWITCH F6A16710 TRA RDCRR+1 F6A16720 REM MOVE CIT FROM CIT BUFFER TO WORKING BUFFER F6A16730 RDCI2 CAL **,4 F6A16740 SLW CITSL F6A16750 CAL **,4 F6A16760 SLW CITOP F6A16770 CAL **,4 F6A16780 SLW CITSA F6A16790 CAL **,4 F6A16800 SLW CITRA F6A16810 SXA RDCIT+1,4 SAVE CIT INPUT BUFFER COUNT F6A16820 RDCIX AXT **,4 RELOAD CALLING LINKAGE F6A16830 TRA 2,4 F6A16840 REM END OF CIT FILE SENSED F6A16850 RDCI3 LXA RDCIX,4 RELOAD CALLING LINKAGE F6A16860 TRA 1,4 F6A16870 REM ERROR ON CIT INPUT TAPE F6A16880 RDCRR AXT -2,2 SET IMPROPER END OF FILE SWITCH F6A16890 TSX (TAPE),4 *PRINT ERROR MESSAGE F6A16900 PZE *+2,2,(TPER) F6A16910 MZE 3LABL,,CITTAP F6A16920 TRA CITRR F6A16922 BCI 1,COUNT F6A16930 BCI 1,ENDFIL F6A16940 REM F6A16950 IORT BUFF2,,CITSIZ+1 F6A16960 IORT BUFF1,,CITSIZ+1 F6A16970 RDCBF IORT BUFF2,,CITSIZ+1 F6A16980 REM F6A16990 REM MOVE 4-WORD CIT FROM WORKING AREA TO TAPE 4 BUFFER F6A17000 REM IF BUFFER IS FILLED, WRITE OUT BUFFER CONTENTS ON TAPE F6A17010 REM THIS ROUTINE IS DOUBLE BUFFERED. TAPE ERROR IS NOT F6A17020 REM CHECKED UNTIL NEXT BUFFER IS FILLED. F6A17030 WRCIT SXA WRCIX,4 SAVE CALLING LINKAGE F6A17040 AXT **,4 GET CIT COUNT F6A17050 TIX WRCI2,4,4 IS BUFFER FILLED F6A17060 AXT 1,2 YES, SET BUFFER 1 SWITCH F6A17070 TXL *+2,,0 IS BUFFER 1 NEXT F6A17080 AXT 2,2 NO, SET BUFFER 2 SWITCH INSTEAD F6A17090 CLS *-2 RESET BUFFER SWITCH F6A17100 STO *-3 F6A17110 TXL *+5,4,0 IS THIS INITIAL ENTRY F6A17120 TSX (TAPE),4 *NO, WRITE NEXT CIT RECORD F6A17130 PZE WRCBF+1,2,(WBNP) F6A17140 PZE CLABL,,COTTAP F6A17150 PZE CITRR F6A17160 CLA WRCBF,2 INITIALIZE BUFFER ORIGINS F6A17170 PAX ,4 F6A17180 TXI *+1,4,CITSIZ F6A17190 SXA WRCI2+1,4 F6A17200 TXI *+1,4,1 F6A17210 SXA WRCI2+3,4 F6A17220 TXI *+1,4,1 F6A17230 SXA WRCI2+5,4 F6A17240 TXI *+1,4,1 F6A17250 SXA WRCI2+7,4 F6A17260 AXT CITSIZ,4 RESET BUFFER COUNT F6A17270 REM MOVE CIT FROM WORKING BUFFER TO OUTPUT BUFFER F6A17280 WRCI2 CAL CITSL F6A17290 SLW **,4 F6A17300 CAL CITOP F6A17310 SLW **,4 F6A17320 CAL CITSA F6A17330 SLW **,4 F6A17340 CAL CITRA F6A17350 SLW **,4 F6A17360 SXA WRCIT+1,4 SAVE CIT OUTPUT BUFFER COUNT F6A17370 WRCIX AXT **,4 RELOAD CALLING LINKAGE F6A17380 TRA 1,4 F6A17390 REM ERROR ON READING/WRITING CIT TAPE F6A17400 CITRR LXA SMDER,2 HAVE THERE BEEN ANY ERRORS F6A17410 TXL *+3,2,0 NO F6A17420 AXT ERLST,1 YES, LOAD ORIGIN OF ERROR LIST F6A17430 TSX XERR06,4 *COUNT OF ERRORS IS IN XR2 F6A17440 TSX (MECL),4 *CALL MACHINE ERROR RECORD F6A17450 PZE SPACER FOR POSSIBLE PARAMETER F6A17460 REM F6A17470 IOCT BUFF4,,CITSIZ $F6A17480 IOCT BUFF3,,CITSIZ $F6A17490 WRCBF IOCT BUFF4,,CITSIZ $F6A17500 REM F6A17510 REM FIND NEXT USE OF ARGUMENT F6A17520 GETRG CLA* ORGTIV-1 GET NEXT LOCATION,,ARGUMENT NUMBER F6A17530 ANA DECMK MASK IN ARGUMENT NUMBER F6A17540 CAS ARGNO DO ARGUMENTS MATCH F6A17550 TRA *+2 NO F6A17560 TRA 2,4 YES F6A17570 TIX *-5,2,2 IS ARGUMENT LIST EXHAUSTED F6A17580 TRA 1,4 YES F6A17590 REM F6A17600 REM ADD ENTRY TO ARGUMENT LIST F6A17610 ENARG AXT **,1 LOAD CURRENT INITIALIZATION TABLE COUNT F6A17620 TXI *+1,1,1 BUMP ARGUMENT LIST COUNT F6A17630 ENART TXL *+2,2,** DID ARGUMENT LIST OVERFLOW F6A17640 TSX XERR08,4 *YES F6A17650 SXA ENARG,1 NO F6A17660 SLW* ORGSUB INSERT NEXT ENTRY IN INITIALIZATION TABLE F6A17670 TRA 1,4 F6A17680 REM F6A17690 REM ENTER VARIABLE NAME IN DEV, LOCATION (AND SYMBOL TABLE F6A17700 REM FLAG) IN DEA. BINARY SEARCH OF DEV HAS SET XR2 TO F6A17710 REM RELATIVE POSITION IN DEV INTO WHICH NEW ENTRY IS TO BE F6A17720 REM INSERTED. F6A17730 REM TABLE ENTRIES IN DEA ARE FLAGGED AS FOLLOWS F6A17740 REM TABLE PREFIX DECREM TAG ADDRESS F6A17750 REM COMMON 0 (IFN) 1 LOCATION F6A17760 REM SIZ 0 (IFN) 1 LOCATION F6A17770 REM EQUIV 0 (IFN) 2 LOCATION F6A17780 REM $ OR $$ 0 (IFN) 4 LOCATION F6A17790 REM CLOSUB 1 (IFN) 4 LOCATION F6A17800 REM SUBDEF (ARG) 2 (IFN) 4 ARGNO F6A17810 REM FORSUB 4 (IFN) 4 IFN F6A17820 REM BCD NAME OF VARIABLE OR SYMBOL IN DEV F6A17830 ENDEV TXI *+1,2,1 BUMP TABLE COUNT TO LOCATION BELOW NEW F6A17840 SXD ENDE2,2 ENTRY FOR END OF MOVE LOOP TEST F6A17850 LXD XDEVTL,2 GET OLD TABLE LENGTH F6A17860 TXI *+1,2,1 BUMP FOR NEW ENTRY F6A17870 ENDET TXL *+2,2,** DID TABLE OVERFLOW F6A17880 TSX XERR08,4 *YES F6A17890 SXD XDEVTL,2 NO, SAVE NEW TABLE LENGTH F6A17900 ENDE1 TXL ENDE2,2,** DOES NEW TABLE LENGTH REQUIRE LARGER HOP F6A17910 CLA XDEVTS YES, SET THIS SYMBOL AS FIRST TO BE F6A17920 ADD DEVTA SCANNED IN NEXT SEARCH (MEDIAN ENTRY) F6A17930 STO XDEVTS SET HOP COUNT FOR NEW TABLE DOUBLE LENGTH F6A17940 STD DEVTA OF OLD TABLE F6A17950 ADD DEVTA UPDATE BUMPER TO NEXT POWER OF TWO F6A17960 STD ENDE1 SET UPDATE TEST FOR TABLE DOUBLE SIZE F6A17970 ENDE2 TXL ENDE3,2,** IS THIS ORDERED POSITION OF NEW ENTRY F6A17980 CAL* ORGDEV+1 NO, MOVE THIS ENTRY DOWN ONE SPACE TO MAKEF6A17990 SLW* ORGDEV ROOM FOR NEW ENTRY ABOVE IT IN MEMORY F6A18000 CLA* ORGDEA+1 F6A18010 STO* ORGDEA F6A18020 TXI ENDE2,2,-1 BUMP TO NEXT HIGHER ENTRY F6A18030 ENDE3 CAL XSYMBL ENTER SYMBOL NAME IN DEV F6A18040 SLW* ORGDEV F6A18050 CLA ADDRS ENTER LOCATION AND FLAG IN DEA F6A18060 STO* ORGDEA F6A18070 TRA 1,4 F6A18080 DEVTA PZE 2,,1 HOP COUNT BUMPER,,POWER OF 2 BUMPER F6A18090 REM F6A18100 REM ENTER INTERNAL SYMBOL IN TIV. BINARY SEARCH OF TIV HAS F6A18110 REM SET XR2 TO RELATIVE POSITION IN TIV INTO WHICH NEW ENTRY F6A18120 REM IS TO BE INSERTED. SYMBOL CONSISTS OF F6A18130 REM BITS 1 THRU 4 SYMBOL F6A18140 REM BITS 5 THRU 21 INCREMENT F6A18150 REM BITS 22 THRU 36 LOCATION (INITIALLY LENGTH OF BLOCK) F6A18160 ENTIV TXI *+1,2,-1 BUMP TABLE COUNT TO LOCATION ABOVE NEW F6A18170 SXD ENTI2,2 ENTRY FOR END OF MOVE LOOP TEST F6A18180 LXD XTIVTL,2 GET OLD TABLE LENGTH F6A18190 TXI *+1,2,-1 BUMP FOR NEW ENTRY F6A18200 ENTIT TXH *+2,2,** DID TABLE OVERFLOW F6A18210 TSX XERR08,4 *YES F6A18220 SXD XTIVTL,2 NO, SAVE NEW TABLE LENGTH F6A18230 TXI *+1,2,1 F6A18240 ENTI1 TXH ENTI2,2,-2 DOES NEW TABLE LENGTH REQUIRE LARGER HOP F6A18250 CLA XTIVTS YES, SET THIS SYMBOL AS FIRST TO BE F6A18260 ADD TIVTA SCANNED IN NEXT SEARCH (MEDIAN ENTRY) F6A18270 STO XTIVTS SET HOP COUNT FOR NEW TABLE DOUBLE LENGTH F6A18280 STD TIVTA OF OLD TABLE F6A18290 ADD TIVTA UPDATE BUMPER TO NEXT POWER OF TWO F6A18300 STD ENTI1 SET UPDATE TEST FOR TABLE DOUBLE SIZE F6A18310 ENTI2 TXH ENTI3,2,** IS THIS ORDERED POSITION OF NEW ENTRY F6A18320 CAL* ORGTIV-1 NO, MOVE THIS ENTRY UP ONE SPACE TO MAKE F6A18330 SLW* ORGTIV ROOM FOR NEW ENTRY BELOW IT IN MEMORY F6A18340 TXI ENTI2,2,1 BUMP TO NEXT HIGHER ENTRY F6A18350 ENTI3 CAL XSYMBL ENTER SYMBOL NAME IN TIV F6A18360 ADD ADDRS WITH LOCATION OR LENGTH OF BLOCK ASSIGNED F6A18370 SLW* ORGTIV F6A18380 SXA *+4,2 SAVE POSITION IN TIV TABLE F6A18390 LXD ENTET,2 RESET TEV OVERFLOW TEST F6A18400 TXI *+1,2,-1 F6A18410 SXD ENTET,2 F6A18420 AXT **,2 RELOAD POSITION IN TIV TABLE F6A18430 TRA 1,4 F6A18440 TIVTA PZE 2,,-1 HOP COUNT BUMPER,,POWER OF TWO BUMPER F6A18450 REM F6A18460 REM ENTER VARIABLE NAME IN TEV. BINARY SEARCH OF TEV HAS SET F6A18470 REM XR2 TO RELATIVE POSITION IN TEV INTO WHICH NEW ENTRY IS F6A18480 REM TO BE INSERTED. STORAGE LOCATION DEFINED BY RELATIVE F6A18490 REM POSITION ABOVE BASE LOCATION. F6A18500 ENTEV TXI *+1,2,1 BUMP TABLE COUNT TO LOCATION BELOW NEW F6A18510 SXD ENTE2,2 ENTRY FOR END OF MOVE LOOP TEST F6A18520 LXD XTEVTL,2 GET OLD TABLE LENGTH F6A18530 TXI *+1,2,1 BUMP FOR NEW ENTRY F6A18540 ENTET TXL *+2,2,** DID TABLE OVERFLOW F6A18550 TSX XERR08,4 *YES F6A18560 SXD XTEVTL,2 NO, SAVE NEW TABLE LENGTH F6A18570 ENTE1 TXL ENTE2,2,** DOES NEW TABLE LENGTH REQUIRE LARGER HOP F6A18580 CLA XTEVTS YES, SET THIS SYMBOL AS FIRST TO BE F6A18590 ADD TEVTA SCANNED IN NEXT SEARCH (MEDIAN ENTRY) F6A18600 STO XTEVTS SET HOP COUNT FOR NEW TABLE DOUBLE LENGTH F6A18610 STD TEVTA OF OLD TABLE F6A18620 ADD TEVTA UPDATE BUMPER TO NEXT POWER OF TWO F6A18630 STD ENTE1 SET UPDATE TEST FOR TABLE DOUBLE SIZE F6A18640 ENTE2 TXL ENTE3,2,** IS THIS ORDERED LOCATION OF NEW ENTRY F6A18650 CAL* ORGTEV+1 NO, MOVE THIS ENTRY DOWN ONE SPACE TO MAKEF6A18660 SLW* ORGTEV ROOM FOR NEW ENTRY ABOVE IT IN MEMORY F6A18670 TXI ENTE2,2,-1 BUMP TO NEXT HIGHER ENTRY F6A18680 ENTE3 CAL XSYMBL ENTER SYMBOL NAME IN TEV F6A18690 SLW* ORGTEV F6A18700 LXD ENTIT,2 RESET TIV OVERFLOW TEST F6A18710 TXI *+1,2,1 F6A18720 SXD ENTIT,2 F6A18730 TRA 1,4 F6A18740 TEVTA PZE 2,,1 HOP COUNT BUMPER,,POWER OF TWO BUMPER F6A18750 REM F6A18760 REM F6A18770 REM CONSTANTS F6A18780 L(0) PZE 0 F6A18790 L(1) PZE 1 F6A18800 L(2) PZE 2 F6A18810 L(3) PZE 3 F6A18820 L(4) PZE 4 F6A18830 L(5) PZE 5 F6A18840 L(8) PZE 8 F6A18850 L(200 PZE 200 F6A18860 ADMSK PZE -1 MASK TO ISOLATE 15-BIT ADDRESS FIELD F6A18870 T(1) PZE ,1 FLAG FOR SYMBOL TABLE ENTRY F6A18880 T(2) PZE ,2 FLAG FOR EQUIVALENCE VARIABLE F6A18890 T(4) PZE ,4 FLAG FOR NO SYMBOL TABLE ENTRY F6A18900 T(7) PZE ,7 F6A18910 D(1) PZE ,,1 F6A18920 DECMK PZE ,,-1 F6A18930 P(1) PON FLAG FOR TRANSFER VECTOR NAME F6A18940 P(2) PTW FLAG FOR SUBROUTINE ARGUMENT F6A18950 DEAMK SVN -1,4,-1 MASK TO RESET FLAG FOR SYMBOL USED IN CIT F6A18960 L(C) BCI 1,00000C F6A18970 BLANK BCI 1,00000 F6A18980 SLASH BCI 1,00000/ F6A18990 L(DD) BCI 1,$$ F6A19000 L(SD) BCI 1,$ F6A19010 BLNKS BCI 1, F6A19020 REM F6A19030 OPLST PZE ,,7 F6A19040 DUP 1,8 EXPANSION SPACE FOR ADDITIONAL PSEUDOOPS F6A19050 BCI 1,000000 F6A19060 BCI 1,SXQ000 F6A19070 BCI 1,QXD000 F6A19080 BCI 1,QPR000 F6A19090 OCTOP BCI 1,OCT000 F6A19100 BCDOP BCI 1,BCD000 F6A19110 BCI 1,BSS000 F6A19120 BCI 1,SYN000 F6A19130 REM F6A19140 ADDOP BCI 1,ADD000 F6A19150 CLAOP BCI 1,CLA000 F6A19160 LXDOP BCI 1,LXD000 F6A19170 STAOP BCI 1,STA000 F6A19180 SXDOP BCI 1,SXD000 F6A19190 TRAOP BCI 1,TRA000 F6A19200 TSXOP BCI 1,TSX000 F6A19210 REM F6A19212 OPCD1 BCI 1,PZE000 (PZE) F6A19213 BCI 1,D=K000 (TSX ERA PZE) F6A19214 REM F6A19215 DEC ,,,,,,,,, PATCH SPACE FOR ADDITIONAL VECTOR NAMES F6A19216 BCI 1,(FPT) F6A19218 BCI 1,(DFAD) F6A19219 BCI 1,(DFSB) F6A19220 BCI 1,(DFMP) F6A19221 BCI 1,(DFDP) F6A19222 BCI 1,(IFMP) F6A19223 BCI 1,(IFDP) F6A19224 TVTBL PZE ,,7 F6A19225 REM F6A19226 HEDRM BCI 7,0 HEADING DELETED DUE TO TAPE ERROR F6A19230 OCT 0,0,0,0,0 AREA NOT USED $F6A19240 ALONE OCT 777777777777 END OF TABLE FENCE F6A19250 REM F6A19260 33PCH BSS 0 PATCH SPACE F6A19270 SXTAB OCT 233000000000,377777,0,1000000,0,0 $F6A19271 REM F6A19280 FINIS ORG 33PCH/8*8+96 F6A19290 REM F6A19300 BUFF1 BSS CITSIZ INPUT BUFFER 1 F6A19310 BUFF2 BSS CITSIZ INPUT PUFFER 2 F6A19320 ERLST BSS 0 F6A19330 BUFF3 BSS CITSIZ OUTPUT BUFFER 1 F6A19340 BUFF4 BSS CITSIZ OUTPUT BUFFER 2 F6A19350 TCD -1 $F6A19360 TTL 0 F6A19370 EJECT F6A19380 EJECT F6A19460 LBL 9F31,X F6B00005 REM F6B00010 REM PREPARE STORAGE MAP F6B00020 REM PREPARE SYMBOL TABLE F6B00030 REM PASS OVER LIBRARY FILE F6B00040 REM CREATE BINARY MACHINE WORDS FOR CIT F6B00050 REM PREPARE BINARY OUTPUT TAPE, PUNCH ON LINE F6B00060 REM PREPARE BCD MACHINE LANGUAGE LISTING, PRINT ON LINE F6B00070 REM F6B00080 ORG SYSCUR $F6B00090 BCI 1,9F3100 $F6B00100 ORG (LODR) $F6B00130 TXI BSTART,,310 8R ENTRY PT,,RECNO F6B00150 REM F6B00160 ABS F6B00170 REM F6B00180 ORG XLOADP F6B00190 REM F6B00200 HEAD B F6B00210 REM F6B00220 REM ORIGIN FOR INDIRECT ADDRESSING OF TABLES F6B00230 RGSLS PZE **,1 ORIGIN FOR LIBRARY SECONDARY LOST LIST F6B00240 PZE **,1 F6B00250 RGSFD PZE **,1 ORIGIN FOR LIBRARY SECONDARY FOUND LIST F6B00260 RGCRD PZE **,2,** ORIGIN FOR LIBRARY PROGRAM OR DATA CARD F6B00270 PZE **,2 F6B00280 PZE **,2 F6B00290 RGSTL PZE **,2 ORIGIN FOR BCD VARIABLE NAMES F6B00300 PZE **,2 F6B00310 RGSTR PZE **,2 ORIGIN FOR BINARY LOCATIONS, FLAGS F6B00320 RGSAP PZE ORIGIN FOR WORD IN MACHINE LANGUAGE FORM F6B00330 REM F6B00340 DUP 1,10 PATCH SPACE FOR ORIGINS AND ERASABLE F6B00350 PZE F6B00360 REM F6B00370 REM ERASEABLE STORAGE F6B00380 CITSL PZE CIT SYMBOLIC LOCATION F6B00390 CITOP PZE CIT OPCOD, DECREMENT F6B00400 CITSA PZE CIT SYMBOLIC ADDRESS F6B00410 CITRA PZE CIT RELATIVE ADDRESS, TAG F6B00420 ADDRS PZE ERASABLE ADDRESS FIELD F6B00430 BILOC PZE ERASABLE ADDRESS FIELD F6B00440 EFADD PZE EFFECTIVE ADDRESS FOR OBJECT PROGRAM F6B00450 ERASE PZE ERASABLE FULL WORD F6B00460 ERAS1 PZE ERASABLE FULL WORD F6B00470 ERAS2 PZE ERASABLE FULL WORD F6B00480 ERAS3 PZE ERASABLE FULL WORD F6B00490 LOCTR PZE PROGRAM LOCATION COUNTER F6B00500 RLBIT PZE BINARY RELOCATION BITS F6B00510 IDBUF PZE F6B00520 PZE F6B00530 PZE F6B00540 TBUFF DUP 1,24 $F6B00541 PZE $F6B00542 PCH9L PZE F6B00550 PCH9R PZE F6B00560 PCH8L PZE F6B00570 PCH8R PZE F6B00580 DUP 1,20 F6B00590 PZE F6B00600 LINEB SYN * THIS BUFFER USED FOR MAPPING. F6B00610 PBUFF SYN LINEB+19 NOT AVAILABLE AFTER LISTING BEGINS F6B00620 REM F6B00630 WORD1 PZE MACHINE LANGUAGE LINE IMAGE F6B00640 WORD2 PZE F6B00650 WORD3 PZE F6B00660 WORD4 PZE F6B00670 WORD5 PZE F6B00680 WORD6 PZE F6B00690 WORD7 PZE F6B00700 WORD8 PZE F6B00710 WORD9 PZE F6B00720 WORD0 PZE F6B00730 REM F6B00740 SAPBF SYN * BCD OUTPUT BUFFER, OVERWRITES DEAD CODING F6B00750 ENDSB SYN SAPBF+1044 ALLOW FOR MAX OF 58 LINES + PAGE HEADING F6B00760 REM F6B00770 PBUF1 SYN ENDSB STACKED BINARY OUTPUT BUFFER 1 F6B00772 PBUF2 SYN PBUF1+27 STACKED BINARY OUTPUT BUFFER 2 F6B00774 PBUF3 SYN PBUF2+27 PUNCH BINARY OUTPUT BUFFER 1 F6B00776 PBUF4 SYN PBUF3+24 PUNCH BINARY OUTPUT BUFFER 2 F6B00778 ENDBF SYN PBUF4+24 END OF PASS 2 BUFFERS F6B00780 REM F6B00782 REM F6B00784 TTL INITIALIZATION F6B00785 START NOP PATCH IN SWT FOR DEBUGGING F6B00790 TRA *+2 F6B00800 HPR 28 F6B00810 CLA* ORGFLG LOAD MONITOR FLAGS F6B00820 TPL *+3 IS THIS SINGLE COMPILE F6B00822 ZSD PNCH3 NO, SET SWITCH FOR BINARY STACK TAPE. F6B00824 NZT XSWCH1 ARE ONLINE CARDS REQUESTED F6B00830 ZSD PNCH8 YES, SET SWITCH FOR BINARY PUNCH TAPE. F6B00840 TMI PINIT IS THIS SINGLE COMPILE F6B00850 AXT SLSTAP,4 YES, RESET LISTING TAPE TO SINGLE COMPILE F6B00860 SXD WRITT,4 F6B00870 CAL D(2) RESET PARAMETERS FOR DECIMAL SOURCE FILE. F6B00872 ORS RDNP1 F6B00874 ORS RDNP2 F6B00875 ORS LSTRR+1 F6B00876 ORS FFIL0+1 F6B00878 STZ FINPT DELETE REFERENCE TO SOURCE PROGRAM LABEL F6B00879 ZAC F6B00880 LDQ XLABEL PICK UP FIRST WORD OF FIRST CARD F6B00890 LGL 6 ISOLATE FIRST CHARACTER F6B00900 SUB L(C) IS IT COMMENTS CARD F6B00910 TNZ LINT1 NO F6B00920 TRA LINIT YES F6B00930 REM F6B00940 REM INITIALIZE PAGE HEADING F6B00950 PINIT TSX (TAPE),4 *BACKSPACE OVER PAGE HEADING F6B00960 PZE BKSPC,,(SKDP) F6B00970 PZE ,,MLSTAP F6B00980 TSX (TAPE),4 *READ PAGE HEADING F6B00990 PZE *+2,,(RDNC) F6B01000 PZE ,,MLSTAP F6B01010 IORT XPGHED,,18 (NOP) F6B01020 TSX (TAPE),4 *BACKSPACE OVER PAGE HEADING F6B01030 PZE BKSPC,,(SKDP) F6B01040 PZE ,,MLSTAP F6B01050 CLS L(1) SET POSITION OF LIST TAPE FOLLOWING HDG $F6B01060 STO XLSTCT F6B01070 LDI* ORGLCT LOAD MONITOR COMMENTS FLAG F6B01080 LNT 100000 WAS FIRST CARD COMMENTS CARD F6B01090 TRA LINT1 NO F6B01100 REM F6B01110 REM INITIALIZE CARD LABEL F6B01120 LINIT CAL XPGHED+1 LOAD POSSIBLE LABEL F6B01130 LDQ XPGHED+2 F6B01140 LGL 6 F6B01150 LAS BLNKS WAS A LABEL ASSIGNED F6B01160 TRA *+2 YES F6B01170 LINT1 CAL XPCD7L NO, PICK UP NAME OF SUBPROGRAM, IF ANY F6B01180 SLW XLABEL THIS IS CARD LABEL F6B01190 REM F6B01200 REM INITIALIZE SENSE SWITCH OPTIONS F6B01210 ZET XSWCH7 IS CARD LABEL REQUESTED F6B01212 TRA *+3 YES F6B01214 ZSD BOTIO NO, RESET I/O COMMANDS F6B01216 ZSD BOTIO+2 TO OMIT WRITTING CARD LABELS. F6B01219 NZT XSWCH9 ARE OFFLINE ROW BINARY CARDS REQUESTED F6B01220 TRA *+8 NO. F6B01222 AXT (WROW),4 YES, RESET PARAMETER TO OFFLINE ROW BINARYF6B01224 SXD PNCH6,4 F6B01226 SXD PNCH7+1,4 F6B01228 STZ OFLCB DELETE OFFLINE COLUMN BINARY BITS F6B01230 ZET XPCD7L IS THIS A MAIN PROGRAM F6B01231 TRA *+2 NO F6B01232 TSX BSSCD,4 YES, WRITE BSS LOADER OF LINE ROW BINARY. F6B01233 NZT XSWC10 IS BLOCKED LISTING TAPE REQUESTED F6B01234 TRA *+3 NO F6B01235 ZSD BLKQT YES, SET TESTS F6B01236 TRA *+3 F6B01237 CLA LINES+3 NO, SET TEST. F6B01238 SLW LINES+3 F6B01239 NZT XSWCH1 ARE ONLINE CARDS REQUESTED F6B01240 ZET XSWCH4 YES, ARE ONLINE ROW BINARY CARDS REQUESTEDF6B01250 TRA STRT1 NO F6B01260 CLA EOF04 YES, RESET PARAMETER TO ONLINE ROW BINARY F6B01270 SLW EOF04 F6B01280 STZ BITBF DELETE ONLINE COLUMN BINARY BITS F6B01290 ZET XPCD7L IS THIS A SUBPROGRAM F6B01300 TRA STRT1 YES F6B01310 TSX (PNCH),4 *NO, PUNCH BINARY LOADER F6B01320 PZE LOADR,,ENDLD-LOADR F6B01330 TSX (PNCH),4 DELAY WHILE WRITING BSS LOADER F6B01332 PZE TO PREVENT OVERWRITE OF BUFFER. F6B01333 STRT1 CLA (PGCT) LOAD MAXIMUM NUMBER OF LINES ON PAGE F6B01340 PDX ,4 INITIALIZE PAGE HEADING ROUTINE F6B01350 SXA HDPCT,4 F6B01360 STD EOF00+3 INITIALIZE FINAL PAGE LENGTH COMPUTATIONS F6B01370 STD EOF01 F6B01380 STD REMAN+1 F6B01390 ALS 1 F6B01400 STD EOF00 INITIALIZE TWO COLUMNS FULL TEST F6B01410 NZT XSWCH8 IS BINARY WORD REQUESTED F6B01420 TRA *+4 NO F6B01430 AXT 9,2 YES, RESET I/O PARAMETERS TO WRITE F6B01440 SXD LOC02,2 EXTENDED LISTING F6B01450 SXD EOF02+1,2 F6B01480 CLA (PGCT) LOAD MAXIMUM NUMBER OF LINES ON PAGE F6B01490 STD COLFL+1 INITIALIZE COLUMN ONE TEST F6B01500 ALS 1 INITIALIZE COLUMN TWO TEST. F6B01510 STD COLFL+2 F6B01520 STD LSTHD INITIALIZE LAST PAGE HEADING TEST $F6B01530 ADD D(1) $F6B01540 STD COLFL+4 INITIALIZE COLUMN THREE TEST $F6B01541 CLA (PGCT) F6B01550 SUB D(1) F6B01560 STD COLFL INITIALIZE COLUMN FULL TEST F6B01570 SUB D(1) F6B01580 STD ONEFL-1 INITIALIZE FULL COLUMN RESET. F6B01590 ALS 1 F6B01600 ADD D(2) F6B01601 STD ONEFL+1 INITIALIZE COLUMN FULL TEST INCREMENT. F6B01610 ADD (PGCT) F6B01620 ADD D(1) F6B01621 STD WRTIO+4 INITIALIZE FULL PAGE TEST. F6B01622 LXA (PGCT),4 LOAD RESTRICTED PAGE WIDTH FLAG F6B01630 NZT XSWCH8 IS BINARY WORD REQUESTED F6B01640 TXL INITW,4,0 NO, IS PAGE WIDTH RESTRICTED F6B01641 ZSD COLFL+2 YES, RESET F6B01650 ZSD ONEFL+1 FULL PAGE F6B01651 CLA (PGCT) TESTS F6B01652 STD LSTHD INITIALIZE LAST PAGE HEADING TEST $F6B01653 ADD D(1) $F6B01654 STD COLFL+4 $F6B01655 ADD D(1) $F6B01657 ADD (PGCT) TWO F6B01658 SUB D(3) F6B01659 STD WRTIO+4 COLUMNS. F6B01660 NZT XSWCH8 IS BINARY WORD REQUESTED F6B01670 REM (XR2 CONTAINS ONE EXTENDED COLUMN COUNT) F6B01680 AXT 12,2 NO, LOAD TWO STANDARD COLUMN WORD COUNT F6B01690 TXL INITW,4,0 IS PAGE WIDTH RESTRICTED F6B01700 SXD WRTIO,2 YES, RESET PARAMETER TO PRINT NARROW PAGE.F6B01710 NZT XSWCH8 IS BINARY WORD REQUESTED ON NARROW PAGE $F6B01712 TRA *+3 NO $F6B01720 ZSD COLFL+1 YES, CHANGE COL. ONE TEST $F6B01730 TRA CCCCC $F6B01731 AXT 12,2 RESET MAPPING TO THREE TETRADS PER LINE $F6B01740 SXD WRCT1,2 $F6B01750 SXD IOLIN,2 RESET MAPPING PARAMETER F6B01760 TXI *+1,2,-20 F6B01770 PXA ,2 (20)F6B01780 TRA GGGGG GO TO PATCH (20)F6B01790 INITW AXT -9,2 LOAD COLUMN COUNTER FOR BINARY WORD F6B01810 ZET XSWCH8 IS BINARY WORD REQUESTED F6B01820 SXA ONEFL,2 YES, RESET COLUMN COUNTER. F6B01830 NZT XSWCH3 IS ON LINE PRINT REQUESTED F6B01840 TRA FFIL2+3 NO F6B01850 REM F6B01860 REM PRINT FIRST FILE ON LINE F6B01870 AXT 1,2 INITIALIZE BUFFER INDEX TO FIRST BUFFER. $F6B01880 AXT 1,1 $F6B01885 PXD ,1 RESET PAGE COUNT TO 1 F6B01890 STD* ORGLCT F6B01900 TSX (TAPE),4 *READ IN FIRST CARD F6B01910 RDNP1 PZE FFILI,2,(RBNP) F6B01920 PZE FINPT,,TABTAP F6B01930 PZE LSTRR F6B01940 CAL BLNKS SET FIRST WORD OF EACH BUFFER BLANK F6B01950 SLW* RDCBF-1 F6B01960 SLW* RDCBF-2 F6B01970 CAL EJECT F6B01980 SLW XPGHED+17 F6B01990 TRA FFIL0 F6B02000 REM ERROR ON LISTING TAPE F6B02010 LSTRR TSX (TAPE),4 *SKIP BAD RECORD F6B02020 PZE L(1),,(SKBP) F6B02030 PZE ,,TABTAP F6B02040 MZE *+1 F6B02041 TSX (PRNT),4 *WRITE 'LINE DELETED' ONLINE F6B02050 PZE LSTRM,,4 F6B02060 REM REENTRY TO FILL NEXT BUFFER F6B02070 FFIL0 TSX (TAPE),4 *READ IN NEXT CARD F6B02080 PZE FFILI+1,2,(RBEP) F6B02090 PZE FINPT,,TABTAP F6B02100 PZE LSTRR F6B02110 CAL FFILI,2 PICK UP LOAD POINT FOR NEXT CARD F6B02120 SUB L(1) INCLUDE WORD OF BLANKS F6B02130 STA FFIL2 INITIALIZE WRITEOUT PARAMETER F6B02140 PAC ,4 PREPARE FOR WORD COUNT COMPUTATION F6B02150 SXD FFIL1,4 F6B02160 LXA (SCHU)+TABTAP,4 LOAD LAST+1 WORD READ F6B02170 TXL FFIL2+3,4,0 WAS END OF FILE SENSED F6B02180 FFIL1 TXI *+1,4,** NO, COMPUTE WORD COUNT F6B02190 SXD FFIL2,4 INITIALIZE WRITEOUT PARAMETER F6B02200 TIX *+2,1,1 IS PAGE FULL F6B02210 TSX HEDPG,4 *YES, PRINT PAGE HEADING F6B02220 TSX (PRNT),4 *PRINT THIS LINE F6B02230 FFIL2 PZE **,,** F6B02240 TIX FFIL0,2,1 IS FIRST BUFFER DONE F6B02250 TXI FFIL0,2,1 YES, BUMP TO SECOND BUFFER F6B02260 ZSD WRIT3 RESET FIRST FILE SWITCH. F6B02270 REM F6B02280 TTL CONTROL ROUTINES FOR MAPPING F6B02281 REM MAP STORAGE NOT USED BY PROGRAM F6B02290 TSX WRITE,4 *WRITE STORAGE NOT USED TITLE F6B02300 IOCT SNTIT,,13 $F6B02310 TSX WRITE,4 *WRITE SHORT DEC-OCT HEADING F6B02320 IOCT DOHED,,8 $F6B02330 LDQ BLNKS SET SECOND WORD BLANK F6B02340 CLA XPCD8L GET PROGRAM BREAK F6B02350 TSX LINE1,4 *CONVERT IT TO LINE IMAGE ENTRY F6B02360 LDQ BLNKS SET SECOND WORD BLANK F6B02370 CLA XPCD8R GET COMMON BREAK F6B02380 TSX LINE1,4 *CONVERT IT TO LINE IMAGE ENTRY F6B02390 TSX WRIPL,2 *WRITE PARTIAL LINE F6B02400 REM F6B02410 REM MAP STORAGE FOR VARIABLES IN COMMON F6B02420 LXD XDEVTL,2 GET DEV TABLE COUNT F6B02430 MAPC1 LDI* ORGDEA PICK UP FLAGS F6B02440 RFT 400000 IS THIS FORSUB, CLOSUB, ARGUMENT NAME OR $F6B02450 TRA MAPC3 YES F6B02460 CLA* ORGDEA NO, GET NEXT ADDRESS IN DEA F6B02470 ANA ADMSK MASK OUT FLAGS F6B02480 CAS XPCD8R IS VARIABLE IN COMMON F6B02490 TRA *+3 YES F6B02500 TRA MAPC3 NO F6B02510 TRA MAPC3 NO F6B02520 TXH MAPC2,2,-1 YES, HAS TITLE BEEN WRITTEN F6B02530 ZSD *-1 NO, RESET SWITCH. F6B02540 TSX WRITE,4 *WRITE COMMON TITLE F6B02550 IOCT CMTIT,,16 $F6B02560 TSX WRITE,4 *WRITE DEC-OCT HEADING F6B02570 IOCT DOHED,,20 $F6B02580 CLA* ORGDEA GET ADDRESS AGAIN F6B02590 MAPC2 LDQ* ORGDEV GET VARIABLE NAME F6B02600 TSX LINE1,4 *CONVERT TO LINE IMAGE ENTRY F6B02610 MAPC3 TIX MAPC1,2,1 IS DEV TABLE EXHAUSTED F6B02620 TSX WRIPL,2 *YES, WRITE OFF LAST PARTIAL LINE F6B02630 REM F6B02640 REM MAP VARIABLES IN DIMENSION AND EQUIVALENCE F6B02650 LXD XDEVTL,2 GET DEV TABLE COUNT F6B02660 MAPD1 LDI* ORGDEA PICK UP FLAGS F6B02670 RFT 400000 IS THIS FORSUB, CLOSUB, ARGUMENT NAME OR $F6B02680 TRA MAPD3 YES F6B02690 CLA* ORGDEA NO, GET NEXT ADDRESS IN DEA F6B02700 ANA ADMSK MASK OUT FLAGS F6B02710 CAS XPCD8R IS VARIABLE IN COMMON F6B02720 TRA MAPD3 NO F6B02730 TRA *+1 YES F6B02740 TXH MAPD2,2,-1 YES, HAS TITLE BEEN WRITTEN F6B02750 ZSD *-1 NO, RESET SWITCH F6B02760 TSX WRITE,4 *WRITE DIMENSION EQUIVALENCE TITLE F6B02770 IOCT DETIT,,18 $F6B02780 TSX WRITE,4 *WRITE DEC-OCT HEADING F6B02790 IOCT DOHED,,20 $F6B02800 CLA* ORGDEA GET ADDRESS AGAIN F6B02810 MAPD2 LDQ* ORGDEV GET VARIABLE SYMBOL F6B02820 TSX LINE1,4 *CONVERT TO LINE IMAGE ENTRY F6B02830 MAPD3 TIX MAPD1,2,1 IS DEV TABLE EXHAUSTED F6B02840 TSX WRIPL,2 *YES, WRITE OFF LAST PARTIAL LINE F6B02850 REM F6B02860 REM MAP VARIABLES NOT IN COMMON OR DIMENSION F6B02870 LXD XTEVTL,2 GET TEV TABLE COUNT F6B02880 TXL MAPT2+2,2,0 IS TEV TABLE EMPTY F6B02890 TSX WRITE,4 *NO, WRITE OTHER VARIABLES TITLE F6B02900 IOCT TETIT,,18 $F6B02910 TSX WRITE,4 *WRITE DEC-OCT HEADING F6B02920 IOCT DOHED,,20 $F6B02930 MAPT1 PXA ,2 COMPUTE ADDRESS OF TEV ENTRY F6B02940 ADD XTEVBS F6B02950 LDQ* ORGTEV GET VARIABLE SYMBOL F6B02960 TSX LINE1,4 *CONVERT TO LINE IMAGE ENTRY F6B02970 MAPT2 TIX MAPT1,2,1 IS TEV TABLE EXHAUSTED F6B02980 TSX WRIPL,2 *YES, WRITE OFF LAST PARTIAL LINE F6B02990 REM F6B03000 REM MAP FORMAT STATEMENT NUMBERS F6B03010 LXD ORGDEV+1,4 ARE THERE ANY FORMAT STATEMENTS F6B03020 TXL MAPM3+5,4,0 NO F6B03030 TSX WRITE,4 *WRITE FORMAT TITLE F6B03040 IOCT FMTIT,,16 $F6B03050 TSX WRITE,4 *WRITE EFN-LOC HEADING F6B03060 IOCT ELHED,,20 $F6B03070 CLA MAPM2 RESET LINE ROUTINE FOR OCTAL LOCATION F6B03080 STA LINE4 F6B03090 LXD XTIVTL,2 GET TIV TABLE COUNT F6B03100 TXI *+1,2,2 F6B03110 MAPM1 LDQ* ORGTIV GET NEXT TIV ENTRY F6B03120 ZAC F6B03130 LGL 4 ISOLATE FIRST CHARACTER F6B03140 CAS L(8) IS IT FORMAT SYMBOL F6B03150 TRA MAPM3 NO F6B03160 TRA *+2 YES F6B03170 TRA MAPM3 NO F6B03180 TSX TIVSM+1,4 *CONVERT TO PSEUDOSYMBOL F6B03190 XCL F6B03200 CLA* ORGTIV GET ADDRESS OF PSEUDOSYMBOL F6B03210 MAPM2 STA BILOC SAVE ADDRESS F6B03220 ARS 15 GET EFN F6B03230 TSX LINE1,4 *CONVERT TO LINE IMAGE ENTRY F6B03240 MAPM3 TXI *+1,2,1 BUMP TABLE COUNT F6B03250 TXH MAPM1,2,0 IS TABLE EXHAUSTED F6B03260 TSX WRIPL,2 *YES, WRITE OFF LAST PARTIAL LINE F6B03270 CLA LINE1+1 RESET LINE ROUTINE FOR OCTAL LOCATION F6B03280 STA LINE4 F6B03290 REM F6B03300 REM MAP INTERNAL SYMBOLS F6B03310 TSX WRITE,4 *WRITE INTERNAL SYMBOL TITLE F6B03320 IOCT TITIT,,16 $F6B03330 TSX WRITE,4 *WRITE DEC-OCT HEADING F6B03340 IOCT DOHED,,20 $F6B03350 LXD XTIVTL,2 GET TIV TABLE COUNT F6B03360 TXI *+1,2,2 F6B03370 MAPI1 LDQ* ORGTIV GET NEXT TIV ENTRY F6B03380 ZAC F6B03390 LGL 4 ISOLATE FIRST CHARACTER F6B03400 TZE MAPI2 IS THIS SUBIFN F6B03410 CAS L(8) NO, IS IT FORMAT SYMBOL F6B03420 TRA *+2 NO F6B03430 TRA MAPI2 YES F6B03440 TSX TIVSM+1,4 *CONVERT TO PSEUDOSYMBOL F6B03450 XCL F6B03460 CLA* ORGTIV GET ADDRESS OF PSEUDOSYMBOL F6B03470 TSX LINE1,4 *CONVERT TO LINE IMAGE ENTRY F6B03480 MAPI2 TXI *+1,2,1 BUMP TABLE COUNT F6B03490 TXH MAPI1,2,0 IS TABLE EXHAUSTED F6B03500 TSX WRIPL,2 *YES, WRITE OFF LAST PARTIAL LINE F6B03510 REM F6B03520 REM MAP TRANSFER VECTOR F6B03530 REM RECONSTRUCT CLOSUB TABLE FROM SEARCH OF DEV F6B03540 LXD XPCD8L,2 LOAD TRANSFER VECTOR COUNT F6B03550 TXL MAPV3+2,2,0 IS TRANSFER VECTOR EMPTY F6B03560 SXD *+3,2 F6B03570 LXA XMEMRY,2 INITIALIZE ORIGIN AT END OF CLOSUB TABLE F6B03580 SXA MAPV2,2 F6B03590 TXI *+1,2,** F6B03600 SXA ORGCLO,2 F6B03610 SXD *+2,2 CHECK FOR TABLE OVERLAP F6B03620 LXA ORGTIV,2 F6B03630 TXH *+2,2,** DID TABLES OVERLAP F6B03640 TSX XERR08,4 *YES F6B03650 TSX WRITE,4 *WRITE TRANSFER VECTOR TITLE F6B03660 IOCT TVTIT,,14 $F6B03670 TSX WRITE,4 *WRITE DEC-OCT HEADING F6B03680 IOCT DOHED,,20 $F6B03690 LXD XDEVTL,2 GET DEV TABLE COUNT F6B03700 MAPV1 LDI* ORGDEA PICK UP FLAGS F6B03710 LNT 100000 IS THIS TRANSFER VECTOR NAME F6B03720 TRA MAPV3 NO F6B03730 CLA* ORGDEA YES, GET NEXT ADDRESS IN DEA F6B03740 LDQ* ORGDEV GET ENTRY POINT NAME F6B03750 PAC ,4 COMPUTE POSITION IN CLOSUB TABLE F6B03760 MAPV2 STQ **,4 INSERT IN PROPER POSITION F6B03770 TSX LINE1,4 *CONVERT TO LINE IMAGE ENTRY F6B03780 MAPV3 TIX MAPV1,2,1 IS DEV TABLE EXHAUSTED F6B03790 TSX WRIPL,2 *YES, WRITE OFF LAST PARTIAL LINE F6B03800 REM F6B03810 TTL CONTROL ROUTINES FOR LIBRARY SEARCH AND MAPPING F6B03811 REM SEARCH LIBRARY FILE FOR NAMES OF SUBPROGRAMS IN F6B03820 REM SOURCE PROGRAM TRANSFER VECTOR F6B03830 REM A PASS IS MADE OVER THE LIBRARY FILE TO EXAMINE LIBRARY F6B03840 REM SUBROUTINE PROGRAM CARDS AND TRANSFER VECTORS. IF A F6B03850 REM LIBRARY SUBROUTINE IS FOUND TO BE REQUIRED, IT IS ADDED F6B03860 REM TO THE BINARY OUTPUT, AND ITS TRANSFER VECTOR IS ADDED F6B03870 REM TO A SECONDARY LOOKFOR LIST. ADDITIONAL PASSES ARE MADE F6B03880 REM UNTIL ONE OF THE FOLLOWING CONDITIONS IS MET F6B03890 REM 1) DURING A PASS, THE SOURCE PROGRAM TRANSFER VECTOR AND F6B03900 REM THE SECONDARY LOOKFOR LISTS ARE SATISFIED F6B03910 REM 2) AT THE END OF A PASS (END OF LIBRARY FILE) THE F6B03920 REM SECONDARY LOOKFOR LIST IS SATISFIED OR NO NAMES WERE F6B03930 REM ADDED TO THE SECONDARY LOOKFOR LIST DURING THE PASS F6B03940 REM DURING A PASS, THE NAMES OF PRIMARY ENTRY POINTS TO EACH F6B03950 REM LIBRARY SUBROUTINE ARE CHECKED AGAINST THE SOURCE PROGRAMF6B03960 REM TRANSFER VECTOR AND SECONDARY LOOKFOR LISTS. IF THE F6B03970 REM SUBROUTINE IS SO REQUIRED, ALL ENTRY POINTS (PRIMARY AND F6B03980 REM SECONDARY) WHICH ARE ON THE SOURCE PROGRAM TRANSFER F6B03990 REM VECTOR ARE DELETED FROM THE TRANSFER VECTOR AND ADDED TO F6B04000 REM THE FOUND LIST. ALL ENTRY POINTS WHICH ARE ON THE F6B04010 REM SECONDARY LOOKFOR LIST ARE DELETED AND ADDED TO THE F6B04020 REM SECONDARY FOUND LIST. ALL ENTRY POINTS NOT ON ANY LOOKFORF6B04030 REM LIST (NOT YET REQUIRED) OR ON ANY FOUND LIST (NOT YET IN F6B04040 REM THE DECK) ARE ADDED TO THE SECONDARY FOUND LIST. NAMES ONF6B04050 REM THE SECONDARY FOUND LIST DO NOT APPEAR ON THE STORAGE MAPF6B04060 REM NAMES ON THE SUBROUTINE TRANSFER VECTOR ARE CHECKED F6B04070 REM AGAINST THE FOUND LISTS AND LOOKFOR LISTS. IF A NAME IS F6B04080 REM NOT ALREADY IN THE DECK, OR IS NOT A PRIOR REQUIREMENT, F6B04090 REM IT IS ADDED TO THE SECONDARY LOOKFOR LIST. NAMES OF ALL F6B04100 REM SUBROUTINES OUTPUT, AND ENTRY POINTS REQUIRED IN THE F6B04110 REM SOURCE PROGRAM TRANSFER VECTOR WILL APPEAR ON THE STORAGEF6B04120 REM MAP. NAMES OF ENTRY POINTS NOT OUTPUT FROM THE LIBRARY, F6B04130 REM ON THE SOURCE PROGRAM TRANSFER VECTOR, OR ON THE F6B04140 REM SECONDARY LOOKFOR LIST, WILL APPEAR ON THE STORAGE MAP. F6B04150 REM THE SOURCE PROGRAM TRANSFER VECTOR IS FOUND FLAGGED IN F6B04160 REM DEV/DEA. TO DELETE A NAME, THE FLAG IS RESET. F6B04170 REM THE CONSOLIDATED LIBRARY PROGRAM CARD IS CONSTRUCTED IN F6B04180 REM CIT INPUT BUFFERS, AND MAY NOT EXCEED TWICE CITSIZ. F6B04190 REM THE SECONDARY LOOKFOR LIST EXTENDS DOWN FROM TIV. THE F6B04200 REM PRIMARY FOUND LIST EXTENDS UP FROM CLOSUB, WITH LENGTH F6B04210 REM RESERVED EQUAL TO FOUR TIMES THE LENGTH OF CLOSUB (ALLOW F6B04220 REM FOR NAMES OF SECONDARY SUBROUTINES). THE SECONDARY FOUND F6B04230 REM FOUND LIST EXTENDS UP FROM THE PRIMARY FOUND LIST. IF F6B04240 REM IF THE PRIMARY, SECONDARY FOUND LISTS OR SECONDARY LOST F6B04250 REM LIST OVERLAP EACH OTHER, OR CONSOLIDATED PROGRAM CARD IS F6B04260 REM LONGER THAN BUFFER SPACE AVAILABLE, OR IN CASE OF LIBRARYF6B04270 REM TAPE ERROR, THE LIBRARY SEARCH HAS FAILED, THE LAST F6B04280 REM (POSSIBLY INCOMPLETE) LIBRARY SUBROUTINE IS ERASED, AND F6B04290 REM NO ADDITIONAL SUBROUTINES WILL BE OUTPUT. F6B04300 LXD ORGCLO,2 LOAD TRANSFER VECTOR LENGTH F6B04310 TXL MAPL2+2,2,0 IS TRANSFER VECTOR EMPTY F6B04320 SXA LSRLS,2 NO, INITIALIZE LENGTH OF LOST LIST F6B04330 AXT 0,1 RESET LENGTH OF SECONDARY LOST LIST F6B04340 NZT XSWCH5 IS LIBRARY SEARCH REQUIRED F6B04350 TRA MAPS1+2 NO, GO MAP SUBROUTINES LOST F6B04360 PXA ,2 YES, GET TRANSFER VECTOR COUNT F6B04370 ALS 2 MULTIPLY BY FOUR F6B04380 TXH *+2,2,25 ARE AT LEAST 100 SPACES RESERVED F6B04390 CLA L(100 NO, SET LENGTH TO AT LEAST 100 F6B04400 PAC ,2 INITIALIZE OVERFLOW TEST F6B04410 SXD LNFDT,2 F6B04420 ADM ORGCLO INITIALIZE ORIGIN FOR SECONDARY FOUND LISTF6B04430 STA RGSFD F6B04440 CAL ORGTIV INTIALIZE ORIGIN FOR SECONDARY LOOKFOR F6B04450 STA RGSLS LIST F6B04460 ADD L(1) F6B04470 STA RGSLS+1 F6B04480 SUB RGSFD INITIALIZE OVERLAP TESTS F6B04490 PAX ,2 F6B04500 SXD LNSLT,2 F6B04510 PAC ,2 F6B04520 SXD LNSFT,2 F6B04530 LXD (LIBT),4 LOAD LIBRARY TAPE NUMBER F6B04540 SXD LIBTP,4 INITIALIZE LIBRARY TAPE F6B04550 SXD *+2,4 INITIALIZE (SCHU) COMPUTATION F6B04560 AXT (SCHU),2 F6B04570 TXI *+1,2,** COMPUTE (SCHU) CELL F6B04580 SXA RDLB1,2 INITIALIZE END FILE TEST F6B04590 TXH LIBS0,4,SYSTAP IS LIBRARY ON SYSTEM TAPE (31)F6B04600 TXL LIBS0,4,SYSTAP-1 (31)F6B04610 TSX SYSPS,4 YES, SPACE SYSTEM TAPE OVER END OF FILE 2.F6B04620 PZE D(1) F6B04630 ZSD LIB14 SET LIBRARY ON SYSTEM TAPE SWITCH. F6B04650 LIBS0 NZT XSWCH7 IS CARD LABEL REQUESTED (31)F6B04652 TRA LIBS1 NO F6B04654 LDQ XLABEL YES, LOAD LABEL FOR PROGRAM BEING COMPILEDF6B04660 TSX IDENT,4 *CREATE CARD LABEL F6B04670 AXT 24,4 CLEAR PUNCH BUFFER F6B04680 STZ PCH9L+24,4 F6B04690 TIX *-1,4,1 F6B04692 TSX PCHLD,4 *PUNCH LABELED BLANK CARD F6B04700 REM REENTRY AT END OF LIBRARY FILE F6B04710 LIBS1 SXD LIBFG,0 RESET FLAG FOR ENTRY POINT ADDED THIS PASSF6B04720 AXT BUFFR,4 SET LOAD POINT FOR $F6B04721 SXA (LBLD),4 POSSIBLE DISK LIBRARY $F6B04722 AXT ,0 $F6B04723 REM REENTRY TO FIND NEXT PROGRAM CARD F6B04730 SXA XCRDCT,0 RESET CARD COUNT F6B04740 TSX RDLBC,4 *READ NEXT CARD F6B04750 TRA LIB12 WAS END OF LIBRARY FILE SENSED F6B04760 TPL *-2 NO, IS THIS PROGRAM CARD F6B04770 REM REENTRY TO FIND CONTINUATION PROGRAM CARDS F6B04780 LIBS2 SXA RGCRD,2 SAVE LOAD POINT OF NEXT CARD F6B04790 LAS D(22) IS PROGRAM CARD COMPLETE F6B04800 TRA LIBS3 YES (CONSOLIDATED PROGRAM CARD) F6B04810 TRA *+2 MAYBE F6B04820 TRA LIBS3 YES (SINGLE PROGRAM CARD) F6B04830 TSX RDLCC,4 *READ POSSIBLE CONTINUATION PROGRAM CARD F6B04840 TRA LIBEF *WAS END FILE MISTAKENLY SENSED F6B04850 TMI LIBS2 NO, IS THIS CONTINUATION PROGRAM CARD F6B04860 AXT MFTBF,4 NO. SKIP READ NEXT TIME $F6B04870 SXA LCTRA,4 $F6B04871 CLA PCH9L MOVE PRESENT RECORD TO TEMPORARY BUFFER $F6B04872 STO TBUFF $F6B04873 CLA PCH9L+1 $F6B04880 STO TBUFF+1 $F6B04881 AXT 22,4 $F6B04882 CLA STINB+1 $F6B04883 STA *+1 $F6B04890 CLA **,4 $F6B04891 STO TBUFF+2+22,4 $F6B04892 TIX *-2,4,1 $F6B04893 CAL P(4) RESET 9L PREFIX FOR PROGRAM CARD F6B04900 SLW PCH9L F6B04910 REM PROGRAM CARD IS COMPLETE F6B04920 LIBS3 ZSD RDLCT RESET OVERFLOW SWITCH. F6B04930 LXA RGCRD,2 INTITALIZE ORIGIN AT END OF CARD F6B04940 TXI *+1,2,1 F6B04950 SXA RGCRD+1,2 F6B04960 TXI *+1,2,-PCH8R-2 COMPUTE LENGTH OF CONSOLID PROGRAM CARD F6B04970 SXD RGCRD,2 F6B04980 LDI L(0) SET NO ENTRY FLAG F6B04990 REM REENTRY TO SCAN NEXT NAME ON PROGRAM CARD F6B05000 CLA* RGCRD+1 GET NEXT ENTRY POINT F6B05010 TMI *+3 IS THIS ENTRY POINT F6B05020 CAL* RGCRD YES, GET ENTRY POINT NAME F6B05030 TSX LSRLS,4 *IS ENTRY POINT REQUIRED F6B05040 TIX *-4,2,2 NO, IS THIS END OF PROGRAM CARD F6B05050 TRA LIBS1+4 YES, THIS SUBROUTINE NOT REQUIRED $F6B05060 REM THIS SUBROUTINE IS REQUIRED F6B05070 REM INSERT SUROUTINE NAME ON FOUND LIST F6B05080 LXD RGCRD,2 LOAD COUNT OF FIRST NAME ON PROGRAM CARD F6B05090 LDQ* RGCRD PICK UP SUBROUTINE NAME F6B05100 ZAC F6B05110 LGL 6 ISOLATE FIRST CHARACTER F6B05120 CAS OPARN IS IT ( FOR I/O SUBROUTINE F6B05130 TRA *+2 NO F6B05140 TRA *+2 YES F6B05150 LGR 6 RESTORE FIRST CHARACTER F6B05160 CAL L9LBL PICK UP 9 LABEL F6B05170 AXT 0,4 SET CHARACTER COUNT TO RIGHTMOST CHARACTERF6B05180 LIBS4 SLW ERAS1 SAVE PARTIALLY CONVERTED SYMBOL F6B05190 LGL 6 SHIFT IN NEXT CHARACTER F6B05200 SLW ERASE SAVE F6B05210 ANA CHMSK ISOLATE LAST CHARACTER F6B05220 ERA PAREN IS IT ) F6B05230 TZE *+5 YES, SYMBOL IS COMPLETE F6B05240 CAL ERASE NO, PICK UP PARTIALLY CONVERTED SYMBOL F6B05250 TXI *+1,4,6 BUMP CHARACTER COUNT LEFT ONE CHARACTER F6B05260 TXL LIBS4,4,24 IS SYMBOL LEFT ADJUSTED F6B05270 TRA *+4 YES F6B05280 CAL ERAS1 PICK UP SYMBOL STRIPPED OF PARENS F6B05290 LDQ BLNKS AND FOLLOWING BLANKS F6B05300 LGL 30,4 LEFT ADJUST F6B05310 SLW XSYMBL SAVE LIBRARY SUBROUTINE LABEL F6B05320 SLW LIBLB SAVE IT FOR POSSIBLE DIAGNOSTIC F6B05330 TSX LENFD,4 *ADD IT TO FOUND LIST F6B05340 PZE NOT USED F6B05350 PZE NOT USED F6B05360 LDQ XSYMBL PICK UP NAME OF LIBRARY SUBROUTINE F6B05370 TSX IDENT,4 *CREATE CARD LABEL F6B05380 REM ADD NAMES ON PROGRAM CARD TO FOUND OR SECONDARY LIST F6B05390 LDI OPMSK SET ENTRY FLAG F6B05400 LXD RGCRD,2 RELOAD COUNT OF FIRST NAME ON PROGRAM CARDF6B05410 CAL* RGCRD GET NEXT ENTRY POINT NAME F6B05420 TSX LSRLS,4 *IS ENTRY POINT REQUIRED F6B05430 TSX LSRFD,4 *NO, IS ENTRY POINT IN DECK F6B05440 TSX LENSF,4 *NO, ADD NAME TO SECONDARY FOUND LIST F6B05450 TIX *-4,2,2 IS THIS END OF PROGRAM CARD F6B05460 LXD PCH8L,2 YES, SAVE SUBROUTINE TRANSFER VECTOR F6B05470 SXA LIBS8,2 LENGTH F6B05480 REM PUNCH FIRST PROGRAM CARD FOR REQUIRED SUBROUTINE F6B05490 LXD RGCRD,2 LOAD CONSOLIDATED PROGRAM CARD COUNT F6B05500 TIX *+2,2,20 IS PROGRAM CARD LONGER THAN ONE CARD F6B05510 TXI LIBS7,2,2 NO, BUMP WORD COUNT TO INCLUDE 8 ROW F6B05520 REM PUNCH SUBSEQUENT PROGRAM CARD F6B05530 LIBS5 SXD RGCRD,2 SAVE COUNT ON REMAINING CARDS F6B05540 AXT 22,2 SET CARD WORD COUNT TO FULL CARD F6B05550 TSX PCHPC,4 *PUNCH CARD F6B05560 SXA PCH9L,0 RESET 9L ADDRESS F6B05570 LXD RGCRD,2 LOAD REMAINING PROGRAM CARD COUNT F6B05580 AXT 22,1 SET CARD COUNT TO FULL CARD F6B05590 CLA* RGCRD MOVE NEXT WORD F6B05600 STO PCH9L+24,1 INTO PUNCH BUFFER F6B05610 TNX LIBS6,2,1 IS CONSOLIDATED PROGRAM CARD EXHAUSTED F6B05620 TIX *-3,1,1 NO, IS CARD FULL F6B05630 TRA LIBS5 YES F6B05640 REM PUNCH LAST PROGRAM CARD FOR REQUIRED SUBROUTINE F6B05650 LIBS6 SXD *+2,1 COMPUTE LENGTH OF LAST CARD F6B05660 AXT 23,2 F6B05670 TIX *+1,2,** F6B05680 LIBS7 TSX PCHPC,4 *PUNCH LAST CARD F6B05690 REM SCAN LIBRARY DATA CARDS FOR SUBROUTINE TRANSFER VECTOR F6B05700 TSX RDLBC,4 *READ NEXT DATA CARD F6B05710 TRA LIBEF *WAS END FILE MISTAKENLY SENSED F6B05720 TMI LIBOR *NO, IS THIS PROGRAM CARD F6B05730 LIBS8 AXT **,2 NO, LOAD SUBROUTINE TRANSFER VECTOR COUNT F6B05740 TXL LIB11,2,0 IS SUBROUTINE TRANSFER VECTOR EMPTY F6B05750 LDI L(0) NO, SET NO ENTRY FLAG F6B05760 AXT 20,1 SET RELOCATABLE CARD LENGTH F6B05770 LIBS9 SXA LIB10,1 SAVE CURRENT CARD COUNT F6B05780 CAL PCH9L+24,1 GET NEXT NAME ON SUBROUTINE VECTOR F6B05790 XMTST TSX EXEMQ,4 CHECK FOR EXEM SUBSTITUTION F6B05795 TSX LSRLS,4 *IS ENTRY POINT REQUIRED F6B05800 TSX LSRFD,4 *NO, IS ENTRY POINT IN DECK F6B05810 TSX LENSL,4 *NO, ADD NAME TO SECONDARY LOOKFOR LIST F6B05820 TNX LIB11,2,1 IS TRANSFER VECTOR EXHAUSTED F6B05830 LIB10 AXT **,1 NO, RELOAD CURRENT CARD COUNT F6B05840 TIX LIBS9,1,1 IS CARD EXHAUSTED F6B05850 SXA LIBS8,2 YES, SAVE SUBROUTINE TRANSFER VECTOR COUNTF6B05860 TSX PCHLD,4 *PUNCH CARD F6B05870 TRA LIBS7+1 F6B05880 REM SUBROUTINE TRANSFER VECTOR IS PROCESSED F6B05890 REM PUNCH REMAINDER OF SUBROUTINE F6B05900 LIB11 TSX PCHLD,4 *PUNCH CARD F6B05910 TSX RDLBC,4 *READ NEXT CARD F6B05920 TRA LIB12 WAS END OF LIBRARY FILE SENSED F6B05930 TPL LIB11 NO, IS THIS DATA CARD F6B05940 TRA LIB13 NO F6B05950 REM END OF LIBRARY FILE SENSED F6B05960 LIB12 TSX (TAPE),4 *BACKSPACE LIBRARY TAPE OVER F6B05970 PZE BKS2F,,(SKBP) END LIBE FILE AND LIBE FILE F6B05980 PZE (LIBT),,-1 F6B05990 SLN 4 SET END OF LIBRARY SEARCH FLAG F6B06000 LIBFG TXH LIBEX,2,** WERE ANY ENTRY POINTS ADDED TO F6B06010 REM SECONDARY LOOKFOR LIST THIS PASS F6B06020 TRA LIB13+2 YES F6B06030 REM REENTRY AFTER PROCESSING SUBROUTINE F6B06040 LIB13 LXA LSRLS,1 LOAD SOURCE PROGRAM VECTOR COUNT F6B06050 TXH *+3,1,0 IS OBJECT PROGRAM VECTOR SATISFIED F6B06060 LXA LENSL,1 YES, LOAD SECONDARY LOOKFOR LIST COUNT F6B06070 TXL LIBEX,1,0 IS SECONDARY LOOKFOR LIST SATISFIED F6B06080 SLT 4 NO, IS THIS END OF LIBRARY FILE F6B06090 TRA LIBS2 NO F6B06100 LIB14 TXL *+3,4,-1 YES, IS LIBRARY ON SYSTEM TAPE F6B06110 TSX SYSPS,4 YES, SPACE SYSTEM TAPE OVER END OF FILE 2.F6B06120 PZE D(1) F6B06130 TRA LIBS1 F6B06150 REM LIBRARY SEARCH FAILED DUE TO TABLE OVERLAP, F6B06160 REM LIBRARY FILE OUT OF ORDER, OR TAPE ERROR F6B06170 LIBEF TSX (TAPE),4 *BACKSPACE OVER END FILE MISTAKENLY SENSED F6B06180 PZE BKSPC,,(SKBP) F6B06190 PZE (LIBT),,-1 F6B06200 AXT 0,2 SET ENDFIL ERROR F6B06210 TRA LIBOR+1 F6B06220 LIBOV AXT -1,2 SET OVERFLO ERROR F6B06230 TRA LIBOR+1 F6B06240 LIBOR AXT -2,2 SET ORDER ERROR F6B06250 TSX (TAPE),4 *WRITE ERROR MESSAGE F6B06260 PZE LIBER,2,(TPER) F6B06270 LIBTP MZE LIBLB,,** F6B06280 LIBRR TSX WRITE,4 *WRITE LIBRARY SEARCH DISCONTINUED F6B06290 PZE LIBRM,,6 F6B06300 LXD PNCH3,4 LOAD MONITOR OUTPUT SWITCH F6B06310 TXH *+4,4,0 IS MONITOR OUTPUT REQUESTED F6B06320 TSX (TAPE),4 *YES, DELETE LAST SUBROUTINE OUTPUT F6B06330 PZE XCRDCT,,(SKBP) F6B06340 PZE ,,MBNTAP F6B06350 LXD PNCH8,4 LOAD ONLINE PUNCH SWITCH F6B06360 TXH *+4,4,0 IS ONLINE PUNCH REQUESTED F6B06370 TSX (TAPE),4 *YES, DELETE LAST SUBROUTINE OUTPUT F6B06380 PZE XCRDCT,,(SKBP) F6B06390 PZE ,,SBNTAP F6B06391 REM END OF LIBRARY SEARCH F6B06400 LIBEX AXT 1,1 PREPARE TO BACKSPACE ONE FILE F6B06410 SLT 4 WAS END OF LIBE FILE SENSED F6B06420 SXD REPS1,1 NO, RESET PARAMETER TO BACKSPACE FILE F6B06430 TSX (TAPE),4 *REPOSITION SYSTEM TAPE TO END OF F6B06440 PZE REPS1,,(SKBP) RECORD 31 (IF LIBRARY IS ON SYSTEM TAPE) F6B06450 PZE (LIBT),,-1 F6B06460 SXA XCRDCT,0 RESET CARD COUNT F6B06470 REM F6B06480 REM MAP SUBROUTINES FOUND F6B06490 LAC LENFD,2 LOAD COUNT OF FOUND LIST F6B06500 TXL MAPS1+2,2,0 IS FOUND LIST EMPTY F6B06510 TSX WRITE,4 *NO, WRITE SUBROUTINES OUTPUT TITLE F6B06520 IOCT FDTIT,,16 $F6B06530 TSX WRITE,4 *WRITE BLANK LINE F6B06540 IOCT FDTIT+1,,4 $F6B06550 PXA ,2 COMPUTE ORIGIN AT END OF LIST F6B06560 ADM ORGCLO F6B06570 STA *+1 F6B06580 LDQ **,2 GET NEXT ENTRY POINT NAME F6B06590 TSX LINE0,4 *CONVERT TO LINE IMAGE ENTRY F6B06600 MAPS1 TIX *-2,2,1 IS FOUND LIST EXHAUSTED F6B06610 TSX WRIPL,2 *YES, WRITE OFF FINAL PARTIAL LINE F6B06620 REM F6B06630 REM MAP SUBROUTINES LOST F6B06640 LXA LENSL,2 LOAD SECONDARY LOST LIST COUNT F6B06650 TXH *+3,2,0 IS SECONDARY LOST LIST EMPTY F6B06660 LXA LSRLS,2 YES, LOAD PRIMARY LOST LIST COUNT F6B06670 TXL MAPL2+2,2,0 IS PRIMARY LOST LIST EMPTY F6B06680 TSX WRITE,4 *NO, WRITE SUBROUTINES NOT OUTPUT TITLE F6B06690 IOCT LSTIT,,15 $F6B06700 TSX WRITE,4 *WRITE BLANK LINE F6B06710 IOCT LSTIT+1,,4 $F6B06720 LXA LSRLS,2 RELOAD PRIMARY LOST LIST COUNT F6B06730 TXL MAPL1+1,2,0 IS PRIMARY LOST LIST EMPTY F6B06740 LXD XDEVTL,2 NO, LOAD DEV TABLE COUNT F6B06750 CLA* ORGDEA GET NEXT LOCATION FROM DEA F6B06760 ANA P(1) MASK IN TRANSFER VECTOR FLAG F6B06770 TZE MAPL1 IS THIS LOST TRANSFER VECTOR NAME F6B06780 LDQ* ORGDEV YES, PICK UP NAME F6B06790 TSX LINE0,4 *CONVERT TO LINE IMAGE ENTRY F6B06800 MAPL1 TIX *-5,2,1 IS PRIMARY LOST LIST EXHAUSTED F6B06810 LXA LENSL,2 YES, LOAD SECONDARY LOST LIST COUNT F6B06820 TXL MAPL2+1,2,0 IS SECONDARY LOST LIST EMPTY F6B06830 CLA T(2) NO, RESET TAG ON INDIRECT ADDRESS OF F6B06840 STT RGSLS SECONDARY LOST LIST F6B06850 LDQ* RGSLS PICK UP NEXT LOST NAME F6B06860 TSX LINE0,4 *CONVERT TO LINE IMAGE ENTRY F6B06870 MAPL2 TIX *-2,2,1 IS LIST EXHAUSTED F6B06880 TSX WRIPL,2 *YES, WRITE OFF FINAL PARTIAL LINE F6B06890 REM F6B06900 REM DEFINE AND MAP LOCATIONS OF ARITH STATEMENT FUNCTIONS F6B06910 LXD XDEVTL,2 LOAD DEV TABLE COUNT F6B06920 MAPF1 CLA* ORGDEA GET NEXT ADDRESS IN DEA F6B06930 TPL MAPF3 IS IT FORSUB INTERNAL STATEMENT NUMBER F6B06940 PAX ,4 F6B06950 CLA* ORGIFN GET LOCATION OF IFN F6B06960 ARS 18 F6B06970 STA* ORGDEA INSERT IN DEA TABLE F6B06980 TXH MAPF2,2,-1 HAS TITLE BEEN WRITTEM F6B06990 SXD *-1,0 NO, RESET SWITCH F6B07000 TSX WRITE,4 *WRITE ARITHMETIC STATEMENT TITLE F6B07010 IOCT FOTIT,,15 $F6B07020 TSX WRITE,4 *WRITE DEC-OCT COLUMN HEADINGS F6B07030 IOCT DOHED,,20 $F6B07040 CLA* ORGDEA GET ADDRESS AGAIN F6B07050 MAPF2 LDQ* ORGDEV GET FORSUB NAME F6B07060 TSX LINE1,4 *CONVERT TO LINE IMAGE ENTRY F6B07070 MAPF3 TIX MAPF1,2,1 IS FORSUB TABLE EXHAUSTED F6B07080 TSX WRIPL,2 *YES, WRITE OFF LAST PARTIAL LINE F6B07090 REM F6B07100 TTL CONTROL ROUTINES FOR MAPPING F6B07101 REM MAP EXTERNAL-INTERNAL STATEMENT NUMBERS F6B07110 LXD ORGEIF,2 LOAD EIF TABLE COUNT F6B07120 SXD FFILI,2 SET I/O COMMAND WORD COUNT F6B07130 CLA ORGCLO INITIALIZE I/O COMMAND TO READ IN EIF F6B07140 STA FFILI EIF TABLE FOLLOWING CLOSUB TABLE F6B07150 PXA ,2 INITIALIZE ORIGIN AT END OF TABLE F6B07160 ADM FFILI F6B07170 STA ORGEIF F6B07180 TXL MAPE4+2,2,0 IS EIF TABLE EMPTY F6B07190 STA ADDRS NO, PREPARE TO CHECK FOR TABLE OVERLAP F6B07200 CAL ORGTIV F6B07210 ANA ADMSK F6B07220 SUB ADDRS WILL EIF OVERLAP UPPER CORE TABLES F6B07230 TPL MAPE0 NO F6B07240 EIFRR TSX (TAPE),4 *YES, SPACE OVER EIF TABLE F6B07250 PZE L(1),,(SKBP) F6B07260 PZE CLABL,,COTTAP F6B07270 TSX WRITE,4 *WRITE TABLE OUT MESSAGE F6B07280 IOCT EIFOT,,20 $F6B07290 TRA PST05+2 F6B07300 MAPE0 TSX (TAPE),4 *READ EIF TABLE F6B07310 PZE FFILI,,(RBNC) F6B07320 PZE ELABL,,COTTAP F6B07330 PZE EIFRR F6B07340 CLA (SCHU)+COTTAP LOAD LAST+1 WORD READ F6B07350 ANA ADMSK F6B07360 SUB ADDRS IS IT SKEW F6B07370 TNZ EIFRR+3 YES F6B07380 STZ ERAS3 RESET PRIOR EFN FOR REDUNDANCY TEST F6B07390 CLA MAPE2 RESET LINE ROUTINE FOR OCTAL LOCATION F6B07400 STA LINE4 F6B07410 MAPE1 CAL* ORGEIF GET NEXT EFN,,IFN F6B07420 ANA ADMSK MASK IN EFN F6B07430 TSX DECCV,4 *CONVERT EFN TO DECIMAL F6B07440 LAS ERAS3 IS EFN REDUNDANT F6B07450 TRA *+2 NO F6B07460 STZ* ORGEIF YES F6B07470 SLW ERAS3 SAVE NEW EFN F6B07480 CAL* ORGEIF GET SAME EFN,,IFN F6B07490 TZE MAPE4 IS EFN REDUNDANT F6B07500 PDX ,4 NO, PICK UP IFN F6B07510 LDQ* ORGIFN GET LOCATION ASSIGNED TO IFN F6B07520 SLQ* ORGEIF REPLACE IFN WITN LOCATION ( EFN,,LOC ) F6B07530 LGL 18 F6B07540 ANA ADMSK MASK OUT FLAGS F6B07550 TZE MAPE4 IS THIS NONEXECUTABLE STATEMENT NUMBER F6B07560 MAPE2 STA BILOC NO F6B07570 SXA ADDRS,4 GET IFN F6B07580 TXH MAPE3,2,-1 HAS TITLE BEEN WRITTEN F6B07590 SXD *-1,0 NO, RESET SWITCH F6B07600 TSX WRITE,4 *WRITE EIF TITLE F6B07610 IOCT EITIT,,18 $F6B07620 TSX WRITE,4 *WRITE EIF COLUMN HEADINGS F6B07630 IOCT EIHED,,20 $F6B07640 MAPE3 LDQ ERAS3 GET EFN CONVERTED TO DECIMAL F6B07650 TSX LINE0+1,4 *CONVERT TO LINE IMAGE ENTRY F6B07660 MAPE4 TIX MAPE1,2,1 IS EIF TABLE EXHAUSTED F6B07670 TSX WRIPL,2 *YES, WRITE OFF LAST PARTIAL LINE F6B07680 CLA LINE1+1 RESET LINE ROUTINE FOR OCTAL LOCATION F6B07690 STA LINE4 F6B07700 NZT XSWCH2 IS LISTING REQUESTED F6B07701 NZT XSWC10 NO, IS BLOCKING REQUESTED F6B07702 TRA *+2 NO F6B07703 TSX WFBLK,4 YES, WRITE FINAL BLOCK F6B07704 REM F6B07710 REM REPOSITION SYSTEM TAPE F6B07720 LDI* ORGFLG LOAD MONITOR FLAGS F6B07730 RFT 100000 IS THIS JOB READY TO EXECUTE... F6B07740 TRA *+3 YES, LEAVE THE SYSTEM TAPE AT DEBUG F6B07750 TSX SYSPS,4 NO, BACKSPACE OVER FIRST FILE. F6B07760 PZE REPS2 F6B07770 REM F6B07800 TTL CONTROL ROUTINES FOR SYMBOL TABLE F6B07801 REM PREPARE SYMBOL TABLE F6B07810 REM SYMBOL TABLE TO BE OF FOLLOWING FORM F6B07820 REM 9L PREFIX 6 F6B07830 REM DECREMENT CARD WORD COUNT F6B07840 REM ADDRESS ZERO F6B07850 REM 9R CHECKSUM F6B07860 REM 8L SUBPROGRAM NAME PACKED TO LEFT AND FILLED F6B07870 REM WITH BLANKS F6B07880 REM 8R PREFIX ZERO F6B07890 REM DECREMENT TABLE WORD COUNT F6B07900 REM ADDRESS LOWEST LOCATION OF SOURCE PROGRAM DATA(20)F6B07910 REM 7L SOURCE PROGRAM VARIABLE NAME F6B07920 REM INTERNAL SYMBOL FOR ERASABLE DATA F6B07930 REM EFN F6B07940 REM PACKED TO LEFT AND FILLED WITH BLANKS F6B07950 REM 7R PREFIX RELOCATION BITS 010 F6B07960 REM DECREMENT 0 DATA IN COMMON F6B07970 REM 2 OTHER SOURCE PROGRAM DATA F6B07980 REM 3 ERASABLE DATA 1)N, 4)N, 6), 7)N, C)N F6B07990 REM PROGRAM DATA 2), 3), 8)N, B) F6B08000 REM 4 EFN F6B08010 REM ADDRESS NOMINAL LOCATION, DESCENDING ORDER SORT F6B08020 REM F6B08030 NZT XSWCH6 IS SYMBOL TABLE REQUESTED F6B08040 TRA PST05+2 NO F6B08050 CAL ORGEIF INITIALIZE SYMBOL TABLE TO FOLLOW EIF F6B08060 STA EFN01 INITIALIZE ORIGIN OF EIF TABLE F6B08070 STA RGSTL-1 F6B08080 ADD L(1) F6B08090 STA RGSTL F6B08100 LDC XTIVTL,2 GET LENGTH OF TIV TABLE F6B08110 TXI *+1,2,-2 F6B08120 PXA ,2 F6B08130 LXD XTEVTL,1 ADD LENGTH OF TEV TABLE F6B08140 SXA BILOC,1 F6B08150 ADD BILOC F6B08160 LXD XDEVTL,1 ADD LENGTH OF DEV TABLE F6B08170 SXA BILOC,1 F6B08180 ADD BILOC F6B08190 LXD ORGEIF,1 ADD LENGTH OF EIF TABLE F6B08200 SXA BILOC,1 F6B08210 ADD BILOC F6B08220 ADM RGSTL INITIALIZE ORIGIN OF RIGHT BUFFER F6B08230 STA RGSTR F6B08240 SUB L(1) F6B08250 STA RGSTR-1 F6B08260 CAL OPMSK F6B08270 AXT 0,2 SET BINARY SEARCH STOP F6B08280 SLW* RGSTR AT LOWER END OF RIGHT BUFFER F6B08290 TXI *+1,2,-1 CLEAR FIRST WORD OF RIGHT BUFFER F6B08300 STZ* RGSTR F6B08310 CAL ORGTIV INITIALIZE TEST FOR TABLE OVERLAP F6B08320 STA BILOC F6B08330 TXL EFN02+1,1,0 IS EIF TABLE EMPTY F6B08340 EFN01 LDQ **,1 GET NEXT EFN,,LOC FROM EIF TABLE F6B08350 LGL 18 F6B08360 STA ADDRS SAVE BINARY LOCATION F6B08370 ZAC F6B08380 LGL 18 GET BINARY EFN F6B08390 LDQ BLNKS PICK UP FOLLOWING BLANKS F6B08400 TSX SAPDC,4 *CONVERT TO DECIMAL F6B08410 XCL F6B08420 SLW XSYMBL SAVE BCD EFN F6B08430 CLA ADDRS GET LOCATION OF EFN F6B08440 TZE EFN02 IS THIS NONEXECUTABLE STATEMENT NUMBER F6B08450 ADD D(4) NO, SET DECREMENT 4 (EFN) F6B08460 TSX SRSYM,4 *ENTER INTO SYMBOL TABLE F6B08470 TXI ENSYM,2,-1 *NOT FOUND, CONTINUE F6B08480 EFN02 TIX EFN01,1,1 IS EIF TABLE EXHAUSTED F6B08490 LDC XTIVTL,1 YES, GET TIV TABLE COUNT F6B08500 TXI *+1,1,-1 F6B08510 TSX TOVLP,4 *CHECK FOR TABLE OVERLAP F6B08520 PXA ,1 INITIALIZE ORIGIN AT TOP OF TIV TABLE F6B08530 ADM ORGTIV F6B08540 STA TIV01 F6B08550 TXI *+1,1,-1 F6B08560 TIV01 LDQ **,1 GET NEXT TIV ENTRY F6B08570 ZAC F6B08580 LGL 4 GET INTERNAL SYMBOL NAME F6B08590 PAX ,4 F6B08600 TRA TIV02,4 F6B08610 TRA TOVL1 *SYMBOL IS PROGRAM COUNTER F6B08620 TRA TIV03 E) F6B08630 TRA TIV03 D) F6B08640 TRA TIV02+1 C)N INDEX REGISTER ERASABLE F6B08650 TRA TIV02+1 B) HOLLERITH ARGUMENT F6B08660 TRA TIV03 A) F6B08670 TRA TIV03 9) F6B08680 TRA TIV02+1 8)N FORMAT F6B08690 TRA TIV02+1 7)N SUBROUTINE INDEX REGISTER ERASABLE F6B08700 TRA TIV02+1 6) F6B08710 TRA TIV03 5) F6B08720 TRA TIV02+1 4)N SUBROUTINE ARGUMENT ERASABLE F6B08730 TRA TIV02+1 3) FLOATING POINT CONSTANT F6B08740 TRA TIV02+1 2) FIXED POINT CONSTANT F6B08750 TRA TIV02+1 1)N ARITHMETIC ERASABLE F6B08760 TIV02 TRA TIV03 0) F6B08770 TSX TIVSM+1,4 *CONVERT TO PSEUDOSYMBOL F6B08780 XCL F6B08790 STQ XSYMBL SAVE BCD LISTING SYMBOL F6B08800 CLA* TIV01 GET LOCATION OF SYMBOL F6B08810 STA ADDRS SAVE BINARY LOCATION F6B08820 CLA ADDRS F6B08830 CAS ADMSK IS THIS 4) F6B08832 TSX XERR00,4 *IMPOSSIBLE PATH OF FLOW F6B08834 TRA TIV03 YES, IGNORE IT F6B08836 ADD D(3) SET DECREMENT 3 (INTERNAL VARIABLE) F6B08840 TSX SRSYM,4 *ENTER INTO SYMBOL TABLE F6B08850 TXI ENSYM,2,-1 *NOT FOUND, CONTINUE F6B08860 TIV03 TIX TIV01,1,1 IS TIV TABLE EXHAUSTED F6B08870 LXD XTEVTL,1 YES, GET TEV TABLE COUNT F6B08880 TXL TEV02+1,1,0 IS TEV TABLE EMPTY F6B08890 TSX TOVLP,4 *CHECK FOR TABLE OVERLAP F6B08900 CLA ORGTEV INITIALIZE ORIGIN FOR TEV TABLE F6B08910 STA TEV01 F6B08920 TEV01 LDQ **,1 GET NEXT ENTRY IN TEV F6B08930 STQ XSYMBL SAVE BCD VARIABLE NAME F6B08940 PXA ,1 GET RELATIVE LOCATION IN TEV F6B08950 ADD XTEVBS ADD LOCATION OF BEGINNING OF VARIABLES F6B08960 STA ADDRS SAVE BINARY LOCATION F6B08970 CLA ADDRS F6B08980 ADD D(2) SET DECREMENT 2 (EXTERNAL VARIABLE) F6B08990 TSX SRSYM,4 *ENTER INTO SYMBOL TABLE F6B09000 TXI ENSYM,2,-1 *NOT FOUND, CONTINUE F6B09010 TEV02 TIX TEV01,1,1 IS TEV TABLE EXHAUSTED F6B09020 LXD XDEVTL,1 YES, GET DEV TABLE COUNT F6B09030 TSX TOVLP,4 *CHECK FOR TABLE OVERLAP F6B09040 CLA ORGDEA INITIALIZE ORIGINS FOR DEA AND DEV TABLES F6B09050 STA DEV01+2 F6B09060 CLA ORGDEV F6B09070 STA DEV01 F6B09080 DEV01 CAL **,1 GET NEXT DEV ENTRY F6B09090 SLW XSYMBL SAVE BCD VARIABLE NAME F6B09100 CLA **,1 GET NEXT DEA ENTRY F6B09110 STA ADDRS SAVE BINARY LOCATION F6B09120 ANA T(7) ISOLATE FLAG F6B09130 TNZ DEV02 IS VARIABLE USED IN SOURCE PROGRAM F6B09140 CLA ADDRS YES, GET LOCATION OF VARIABLE F6B09150 CAS XPCD8R IS VARIABLE IN COMMON F6B09160 TRA *+3 YES, DECREMENT IS 0 (COMMON VARIABLE) F6B09170 TRA *+1 NO F6B09180 ADD D(2) NO, SET DECREMENT 2 (UNCOMMON VARIABLE) F6B09190 TSX SRSYM,4 *ENTER INTO SYMBOL TABLE F6B09200 TXI ENSYM,2,-1 *NOT FOUND, CONTINUE F6B09210 DEV02 TIX DEV01,1,1 IS DEV TABLE EXHAUSTED F6B09220 REM F6B09230 REM PUNCH OUT SYMBOL TABLE F6B09240 CAL P(6) SET SYMBOL TABLE FLAG IN 9L PREFIX F6B09250 SLW PCH9L F6B09260 LDQ XPCD7L PICK UP SUBPROGRAM NAME F6B09270 STQ PCH8L INSERT IN 8L F6B09280 LDQ XLABEL PICK UP CARD LABEL F6B09290 SLQ STLBL INSERT THREE CHARACTERS OF PROGRAM NAME F6B09300 LDQ STLBL WITH THREE CHARACTERS SYM F6B09310 TSX IDENT,4 *CREATE CARD LABEL F6B09320 LDC SYMTL,1 LOAD SYMBOL TABLE COUNT F6B09330 TXI *+1,1,-1 F6B09340 PXA ,1 COMPUTE ORIGIN AT END OF LEFT BUFFER F6B09350 ADM RGSTL F6B09360 STA PST01 F6B09370 PXA ,1 COMPUTE ORIGIN AT END OF RIGHT BUFFER F6B09380 ADM RGSTR F6B09390 STA PST01+2 F6B09400 TXI FFFFF,1,-1 (20)F6B09410 SXD PCH8R,1 SET 8R DECREMENT TO TABLE LENGTH F6B09420 AXT 20,2 SET FIRST CARD COUNT TO 10 SYMBOLS F6B09430 PST01 CAL **,1 MOVE NEXT LEFT INTO PUNCH BUFFER F6B09440 SLW PCH9L+24,2 F6B09450 CLA **,1 MOVE NEXT RIGHT INTO PUNCH BUFFER F6B09460 SLW PCH9L+25,2 F6B09470 TNX PST02,1,1 IS SYMBOL TABLE EXHAUSTED F6B09480 TIX PST01,2,2 NO, IS CARD FULL F6B09490 AXT 22,2 YES, SET CARD WORD COUNT TO 22 F6B09500 SXA *+3,1 SAVE SYMBOL TABLE COUNT F6B09510 TSX PCHPC,4 *PUNCH OUT THIS CARD F6B09520 SXA PCH9L,0 RESET 9L ADDRESS TO ZERO F6B09530 AXT **,1 RELOAD SYMBOL TABLE COUNT F6B09540 TXI PST01,2,2 BUMP CARD WORD COUNT TO ELEVEN SYMBOLS F6B09550 PST02 SXD *+2,2 COMPUTE PARTIAL CARD WORD COUNT F6B09560 AXT 24,2 F6B09570 TIX *+1,2,** F6B09580 TSX PCHPC,4 *PUNCH OUT PARTIAL CARD F6B09590 PST05 TSX WRITE,4 *WRITE TABLE IN MESSAGE F6B09600 IOCT TABIN,,15 $F6B09610 REM F6B09620 REM PUNCH OUT PROGRAM CARD F6B09630 LDQ XLABEL PICK UP CARD LABEL F6B09640 TSX IDENT,4 *CREATE CARD LABEL F6B09650 CAL P(4) SET PROGRAM CARD FLAG IN 9L PREFIX F6B09660 SLW PCH9L F6B09670 AXT 4,3 PREPARE TO MOVE PROGRAM CARD TO F6B09680 CAL XPCD7R+1,1 PUNCH BUFFER F6B09690 SLW PCH9L+6,1 F6B09700 TIX *-2,1,1 IS CARD COMPLETE F6B09710 TSX PCHPC,4 *YES, PUNCH OUT PROGRAM CARD F6B09720 TRA PROL0 F6B09730 REM F6B09740 TTL 0 F6B09741 REM F6B09750 REM I/O DATA (NOT REQUIRED DURING OR AFTER PASS OVER CITS) F6B09760 REM F6B09770 ZEROB DUP 1,24 F6B09780 PZE F6B09790 DOHED BCI 2,0 F6B09800 BCI 2, DEC OCT F6B09810 DUP 2,4 F6B09820 BCI 2, F6B09830 BCI 2, DEC OCT F6B09840 ELHED BCI 2,0 F6B09850 BCI 2, EFN LOC F6B09860 DUP 2,4 F6B09870 BCI 2, F6B09880 BCI 2, EFN LOC F6B09890 EIHED BCI 1,0 F6B09900 BCI 3, EFN IFN LOC F6B09910 DUP 2,4 F6B09920 BCI 1, F6B09930 BCI 3, EFN IFN LOC F6B09940 LSTIT BCI 6,0 F6B09941 BCI 9, ENTRY POINTS TO SUBROUTINES NOT OUTPUT FROM LIBRARY F6B09941 TABIN BCI 6,0 F6B09941 BCI 9, SYMBOL TABLE PRECEDES PROGRAM CARD IN BINARY DECK F6B09941 LSTRM BCI 4,0 ***LINE OMITTED*** F6B09941 LIBLB BCI 1,LIBE F6B09941 LIBER BCI 3,ENDFILOVRFLOORDER F6B09941 LIBRM BCI 6,0 LIBRARY SEARCH DISCONTINUED. F6B09941 EIFOT BCI 1,0 F6B09941 BCI 9, MAPPING OF EXTERNAL FORMULA NUMBERS (AND SYMBOL TABL F6B09941 BCI 9,E IF REQUESTED) DELETED DUE TO CORE OVERFLOW OR TAPE E F6B09941 BCI 1,RROR. F6B09941 TABOT BCI 5,0 F6B09941 BCI 9, SYMBOL TABLE DELETED DUE TO CORE OVERFLOW OR MACH F6B09941 BCI 2,INE ERROR F6B09941 FDTIT BCI 5,0 F6B0994K BCI 9, NAMES OF AND ENTRY POINTS TO SUBROUTINES OUTPUT FRO F6B0994M BCI 2,M LIBRARY F6B0994O FOTIT BCI 6,0 F6B0994P BCI 9,NAMES AND LOCATIONS OF ARITHMETIC STATEMENT FUNCTIONS F6B0994Q EITIT BCI 3,0 F6B0994R BCI 9, EXTERNAL FORMULA NUMBERS WITH CORRESPONDING INTERNAL F6B0994S BCI 6,FORMULA NUMBERS AND OCTAL LOCATIONS F6B0994T SNTIT BCI 8,0 F6B09950 BCI 5, STORAGE NOT USED BY PROGRAM F6B09960 CMTIT BCI 5,0 F6B09970 BCI 9, STORAGE LOCATIONS FOR VARIABLES APPEARING IN COMMON F6B09980 BCI 2,STATEMENTS F6B09990 DETIT BCI 3,0 F6B10000 BCI 9, STORAGE LOCATIONS FOR VARIABLES APPEARING IN DIMEN F6B10010 BCI 6,SION AND EQUIVALENCE STATEMENTS F6B10020 TETIT BCI 2,0 F6B10030 BCI 9, STORAGE LOCATIONS FOR VARIABLES NOT APPEARING IN C F6B10040 BCI 8,OMMON, DIMENSION, OR EQUIVALENCE STATEMENTS F6B10050 FMTIT BCI 5,0 F6B10060 BCI 9, SYMBOLS AND LOCATIONS FOR SOURCE PROGRAM FORMAT ST F6B10070 BCI 2,ATEMENTS F6B10080 TITIT BCI 5,0 F6B10090 BCI 9, LOCATIONS FOR OTHER SYMBOLS NOT APPEARING IN SOURCE F6B10100 BCI 2, PROGRAM F6B10110 TVTIT BCI 7,0 F6B10120 BCI 7, LOCATIONS OF NAMES IN TRANSFER VECTOR F6B10130 PROLO MAX *,ENDBF F6B10371 REM F6B10400 REM END OF BCD LISTING OUTPUT BUFFER F6B10410 REM F6B10420 TTL CONTROL ROUTINES FOR SECOND CIT PASS F6B10421 REM F6B10430 REM TRANSFER VECTOR, PROLOG AND INITIALIZATION DO NOT APPEAR F6B10440 REM ON TAPE 4. FOR CUSTOMER PATCHES, THE SL, OP, SA AND RA F6B10450 REM CAN BE OBTAINED FROM THE CORRESPONDING CIT CELLS AT THE F6B10460 REM PATCH SPACE RESERVED FOR CUSTOMERS IN SAPCV ROUTINE, Q.V.F6B10470 REM F6B10480 REM CREATE TRANSFER VECTOR, PROLOG AND INITIALIZATION F6B10490 ORG PROLO F6B10491 PROL0 CAL P(2) SET RELOCATABLE CARD FLAG IN 9L PREFIX F6B10500 TRA BBBBB GO TO PATCH *F6B10510 LXD ORGCLO,1 LOAD COUNT OF NAMES IN TRANSFER VECTOR F6B10520 TXL PROL3+1,1,0 IS TRANSFER VECTOR EMPTY F6B10530 CAL BCDOP SET CIT OPCODE TO BCD F6B10540 SLW CITOP F6B10550 PROL2 CAL* ORGCLO GET NEXT NAME IN CLOSUB F6B10560 SLW CITSL IN CIT SYMBOLIC LOCATION F6B10570 SLW CITSA IN CIT SYMBOLIC ADDRESS F6B10580 TSX CITCV,4 *COMPILE NAME BCD 1NAME F6B10590 PROL3 TIX PROL2,1,1 IS TRANSFER VECTOR EXHAUSTED F6B10600 NZT XPCD7L YES, IS THIS SUBPROGRAM F6B10610 TRA PROL5+1 NO F6B10620 CAL L(SD) YES, SET FIRST PROLOG F6B10630 SLW CITSL SYMBOLIC LOCATION TO $ F6B10640 CAL PZEOP SET CIT OPCODE TO PZE F6B10650 SLW CITOP F6B10660 STZ CITSA RESET CIT SYMBOLIC ADDRESS F6B10670 TSX CITCV,4 *COMPILE $ PZE F6B10680 STZ CITSL RESET SUBSEQUENT SYMBOLIC LOCATION F6B10690 TSX CITCV,4 *COMPILE PZE F6B10700 TSX CITCV,4 *COMPILE PZE F6B10710 CAL BCDOP SET CIT OPCODE TO BCD F6B10720 SLW CITOP F6B10730 CAL XPCD7L SET CIT SYMBOLIC ADDRESS F6B10740 SLW CITSA TO SUBPROGRAM NAME F6B10750 TSX CITCV,4 *COMPILE BCD 1NAME F6B10760 CAL SXDOP SET CIT OPCODE TO SXD F6B10770 SLW CITOP F6B10780 CAL L(SD) SET CIT SYMBOLIC ADDRESS TO $ F6B10790 SLW CITSA F6B10800 AXT 3,1 PREPARE TO WRITE 3 INSTRUCTIONS F6B10810 CAL PADTG+1,1 GET PROPER TAG,,RA F6B10820 SLW CITRA F6B10830 TSX CITCV,4 *COMPILE SXD $+N,T F6B10840 TIX *-3,1,1 ARE THREE INSTRUCTIONS COMPILED F6B10850 LXD ORGSUB,1 YES, LOAD COUNT OF INITIALIZATION TABLE F6B10860 TXL PROL5+1,1,0 IS INITIALIZATION TABLE EMPTY F6B10870 SXD PROL5,1 NO, SET END OF COMPILE LOOP TEST F6B10880 CAL XSLINT SET INITIAL SYMBOLIC LOCATION F6B10890 SLW PROSM F6B10900 AXT 1,1 F6B10910 PROL4 CAL* ORGSUB GET NEXT INITIALIZATION INSTRUCTION F6B10920 STA ADDRS SAVE N F6B10930 ANA OPMSK MASK IN OPCODE F6B10940 SLW CITOP INSERT IN CIT OPCODE F6B10950 AXT 3,4 PREPARE TO TEST OPCODE F6B10960 LAS PROOP+1,4 IS OPCODE CLA, ADD, OR STA F6B10970 TRA *+2 NO F6B10980 TRA *+3 YES F6B10990 TIX *-3,4,1 IS LIST EXHAUSTED F6B11000 TSX XERR00,4 *YES, OPCODE NOT CLA, ADD, OR STA F6B11010 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B11020 * SECTION 6 HAS MADE UP A TABLE OF ARGUMENT INITIALIZATION F6B11030 * INFORMATION AT ROUTINE INIT1, OF THE FORM CLA L, ADD M, F6B11040 * STA N. THE FIRST 18 BITS OF THE ENTRY AT ORGSUB,2 IS NOT F6B11050 * OF THE FORM OF BCD CHARACTERS CLA, ADD, OR STA. F6B11060 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B11070 CLA ADDRS PICK UP N F6B11080 ALS 18 FOR RA F6B11090 TXL *+2,4,2 IS OPCODE CLA F6B11100 ADD L(4) YES, APPEND TAG F6B11110 STO CITRA F6B11120 CLA PROSM+1,4 GET PROPER SYMBOL ( 0, 9), A1 ) F6B11130 SLW CITSA FOR CIT SYMBOLIC ADDRESS F6B11140 TSX CITCV,4 *COMPILE CLA N,4 , ADD 9)+N , STA A1+N F6B11150 TXI *+1,1,1 BUMP INITIALIZATION TABLE COUNT F6B11160 PROL5 TXL PROL4,1,** IS INITIALIZATION TABLE EXHAUSTED F6B11170 REM F6B11180 REM PASS OVER CIT FILE F6B11190 ZAC NOP THE PAGE LINE F6B11191 STT HDPCT COUNT RESET FOR MACHINE LANGUAGE LISTING. F6B11192 TSX RDCIT,4 *GET NEXT CIT F6B11200 TRA *+3 WAS END OF FILE SENSED F6B11210 TSX CITCV,4 *NO, COMPILE NEXT INSTRUCTION F6B11220 TRA *-3 F6B11230 REM F6B11240 REM END OF CIT FILE SENSED F6B11250 TSX (TAPE),4 *REWIND SCRATCH TAPE F6B11260 PZE REWND,,(SKBP) F6B11270 PZE CLABL,,COTTAP F6B11280 LXA SAP14,1 LOAD PAGE IMAGE ENTRY COUNT F6B11290 TXL EOF0X,1,0 IS BUFFER EMPTY $F6B11300 CAL WRTIO SET INITIAL ADDRESS OF PAGE IMAGE REMAINS F6B11302 STA LOC01 F6B11303 STA LOC02 F6B11304 STA REGUL+2 F6B11304 STA EOF02+1 F6B11305 LSTHD TXH *+2,1,** HAS PAGE HEADING ALREADY BEEN WRITTEN F6B11306 TSX HEDPG,4 *NO, PRINT PAGE HEADING F6B11310 EOF00 TNX EOF01,1,** ARE TWO COLUMNS FULL F6B11312 SXA *+1,1 COMPUTE NUMBER F6B11313 AXC **,1 OF LINES F6B11313 TXI *+1,1,** REMAINING F6B11313 TSX LISTG,4 *WRITE TWOS REMAINING. F6B11314 LOC01 IOCT **,,12 $F6B11316 TRA EOF0X F6B11317 EOF01 TNX DDDDD,1,** MORE THAN TWO COLUMNS FILLED $F6B11318 NZT XSWCH8 IS EXTENDED LISTING REQUESTED $F6B11320 TRA EEEEE NO, SEE IF NARROW PAGE REQUESTED $F6B11330 SXA *+1,1 $F6B11340 REMAN AXC **,1 $F6B11350 TXI EEEEE+3,1,** SEE IF LAST PAGE ALREADY PRINTED $F6B11360 TSX LISTG,4 $F6B11370 LOC02 IOCT **,,6 $F6B11380 TRA EOF0X $F6B11390 REGUL SXA REMAN,1 $F6B11400 TSX LISTG,4 $F6B11410 IOCT **,,12 $F6B11420 CAL LIST0+2 $F6B11430 STA LOC02 $F6B11440 TRA REMAN $F6B11450 EOF02 TSX LISTG,4 WRITE PARTIAL COLUMN $F6B11460 IOCT **,,6 $F6B11470 EOF0X TSX WFBLK,4 WRITE FINAL BLOCK OF LISTING $F6B11480 NZT XSWCH3 IS ONLINE PRINT REQUESTED F6B11580 TRA *+3 NO F6B11590 TSX (PRNT),4 *YES, EJECT PAGE ON LINE F6B11600 EJCIO IOCD EJECT,,3 F6B11610 LXA PUNCH+2,2 GET PARTIAL WORD COUNT F6B11620 SXD *+2,2 COMPUTE WORD COUNT FOR FINAL CARD F6B11630 AXT 20,2 F6B11640 TNX *+2,2,** IS BUFFER EMPTY F6B11650 TSX PCHLC,4 *NO, PUNCH OUT FINAL CARD F6B11660 NZT XPCD7L IS THIS A MAIN PROGRAM F6B11661 NZT XSWCH9 YES, ARE OFF-LINE CARDS ROW BINARY F6B11662 TRA *+2 EITHER NOT A MAIN PROGRAM OR NOT ROW BIN. F6B11664 TSX PCHTC,4 *ROW BINARY MAIN PROGRAM, PUNCH TRANSFER CDF6B11666 TSX (TAPE),4 *WRITE END OF SINGLE COMP MACHINE LANG LISTF6B11770 PZE ,,(WEFP) F6B11780 PZE ,,SLSTAP F6B11790 MZE *+1 F6B11800 TSX (TAPE),4 *WRITE END OF SINGLE COMPILE BINARY TAPE F6B11810 PZE ,,(WEFP) F6B11820 PZE ,,SBNTAP F6B11830 MZE *+1 F6B11840 TSX (TAPE),4 *REWIND SINGLE COMPILE LISTING TAPE F6B11850 RDNP2 PZE REWND,,(SKBP) F6B11860 PZE ,,SLSTAP F6B11870 TSX (TAPE),4 *REWIND SINGLE COMPILE BINARY TAPE F6B11880 PZE REWND,,(SKBP) F6B11890 PZE ,,SBNTAP F6B11900 ZET XSWCH1 ARE ONLINE CARDS REQUESTED F6B11901 TRA EOF05+3 NO F6B11902 STL* EOF04+3 YES, DELETE POSSIBLE HANGING END FILE F6B11903 REM OUTPUT CARDS ON LINE F6B11904 EOF03 AXT BOTTAB-24,2 RESET ORIGIN OF OUTPUT BUFFER F6B11905 TXI *+1,2,24 BUMP TO ORIGIN OF NEXT CARD F6B11906 SXA *+5,2 F6B11907 TSX (TAPE),4 *READ PUNCH TAPE BINARY CARD IMAGE F6B11908 PZE *+3,,(RBEP) F6B11909 PZE ,,SBNTAP F6B11910 PZE EOF05 ALL DONE IN CASE OF ERROR F6B11911 IORT **,,24 (NOP) F6B11912 NZT* EOF04+3 IS THIS END OF INTERMEDIATE TAPE F6B11913 TXI *+4,2,-48 YES, BUMP COUNT TO NUMBER OF CARDS READ F6B11914 TXL EOF03+1,2,TOPTAB-25 NO, IS BUFFER FULL F6B11915 TSX (TAPE),4 *YES, CHECK LAST CARD READ F6B11916 PZE SBNTAP,,(CHKU) F6B11917 SXD EOF04+2,2 SET END OF BUFFER TEST F6B11918 AXT BOTTAB,2 RESET ORIGIN OF OUTPUT BUFFER F6B11919 SXA *+2,2 TO BOTTOM OF TABLE SPACE F6B11920 TSX (PNCH),4 *PUNCH CARD F6B11921 EOF04 MZE **,,24 (RESET TO PZE FOR ROW BINARY) F6B11922 TXI *+1,2,24 BUMP TO ORIGIN OF NEXT CARD F6B11923 TXL *-4,2,** IS BUFFER EXHAUSTED F6B11924 ZET (SCHU)+SBNTAP YES, WAS END OF PUNCH TAPE SENSED F6B11926 TRA EOF03 NO F6B11927 REM END OF BINARY INTERMEDIATE TAPE SENSED F6B11928 NZT XSWCH4 IS ROW BINARY REQUESTED F6B11929 ZET XPCD7L YES, IS THIS A MAIN PROGRAM F6B11930 TRA *+3 NO F6B11931 TSX (PNCH),4 *YES, PUNCH ROW BINARY TRANSFER CARD F6B11932 PZE P(4),,1 F6B11933 TSX (PNCH),4 *PUNCH TWO BLANK CARDS F6B11934 PZE L(0),,1 F6B11935 TSX (PNCH),4 * F6B11936 PZE L(0),,1 F6B11937 EOF05 TSX (TAPE),4 *REWIND SINGLE COMPILE BINARY TAPE F6B11938 PZE REWND,,(SKBP) F6B11939 PZE ,,SBNTAP F6B11940 DCT TURN OFF INDICATOR, WE ARE ALL DULY AMUSEDF6B11941 TRA *+1 F6B11942 LDI* ORGFLG LOAD FLAGS $F6B12030 RFT 100000 IS THIS JOB READY TO EXECUTE F6B12040 TRA *+6 YES $F6B12050 CLA SCLBL SET EXIT TO SCAN. $F6B12053 STO EXLBL $F6B12057 TSX SYSPS,4 *NO, BACKSPACE TO SCAN F6B12060 PZE SCNBS F6B12070 TRA *+6 $F6B12090 CLA DBGLB SET EXIT TO DEBUG. $F6B12093 STO EXLBL $F6B12097 TSX (TAPE),4 *EJECT PAGE OFF LINE F6B12100 PZE EJTIO,,(WDNP) $F6B12110 PZE ,,MLSTAP F6B12120 EOF07 TXL *+4,4,-1 IS EXECUTION DELETED F6B12130 TSX (TAPE),4 *YES, WRITE MESSAGE OFF LINE F6B12140 PZE *+2,,(WDNP) F6B12150 PZE ,,MLSTAP F6B12160 IORT DLXEM+5,,4 (NOP) F6B12170 TSX (TAPE),4 *CLOSE OUT MONITOR BINARY TAPE F6B12180 PZE MBNTAP,,(CHKU) F6B12190 TSX (TAPE),4 *CLOSE OUT MONITOR LISTING TAPE F6B12200 PZE MLSTAP,,(CHKU) F6B12210 TSX (LOAD),4,1 *CALL DEBUG OR SCAN. $F6B12220 EXLBL PZE SET WITH LABEL NEEDED FOR DISKS. $F6B12230 DBGLB BCI 1,9F0700 $F6B12231 SCLBL BCI 1,9F0600 $F6B12232 REM F6B12233 REM END OF CONTROL ROUTINES F6B12234 EJECT F6B12235 TTL SUBROUTINES RELEVANT TO LIBRARY SEARCH F6B12236 REM F6B12240 REM F6B12250 REM READ NEXT LIBRARY CARD F6B12260 RDLBC AXT 22,2 PREPARE TO CLEAR CARD BUFFER F6B12270 STZ PCH8L+22,2 F6B12280 TIX *-1,2,1 F6B12290 AXT PCH8L,2 SET LOAD POINT TO COPY 8 ROW F6B12300 REM ENTRY POINT FOR CONTINUATION PROGRAM CARD F6B12310 RDLCC SXA RDLBX,4 SAVE CALLING LINKAGE F6B12320 SXA CTCLD,2 SAVE CARD LOAD POINT $F6B12330 TXI *+1,2,22 INITIALIZE FOR LOAD POINT $F6B12331 SXA STINB+1,2 $F6B12332 RDLCT TXL LIBOV,2,** *WILL NEXT CARD OVERLAP CODING $F6B12333 LCTRA TRA *+1 IF RECORD READ PREVIOUSLY, GO TO MFTBF $F6B12334 CTCLA AXT **,2 WORDS REMAINING IN INPUT BUFFER $F6B12340 TXL READ,2,0 IF NO WORDS LEFT, READ NEXT RECORD $F6B12341 MOVRC AXT 22,4 MOVE A RECORD FROM BLOCK $F6B12342 CAL BUFFR+BLFAC*24,2 $F6B12343 ANA MASK7 MASK OUT COLUMN BINARY BITS $F6B12344 SLW PCH9L $F6B12350 TXI *+1,2,-1 $F6B12351 CLA BUFFR+BLFAC*24,2 $F6B12352 STO PCH9L+1 $F6B12353 TXI *+1,2,-1 $F6B12354 REM $F6B12360 STINB CLA BUFFR+BLFAC*24,2 $F6B12361 STO **,4 $F6B12362 TIX STINB-1,4,1 $F6B12363 TXI *+1,2,-1 TO NEXT CARD $F6B12364 SXA CTCLA,2 SAVE INPUT WORD COUNT (31)F6B12370 CTCLD AXT **,2 LOAD POINT FOR NEXT CARD (31)F6B12371 CLPNC AXT LCTRA+1,4 RESTORE TRA *+1 AT LCTRA (31)F6B12372 SXA LCTRA,4 (31)F6B12380 LXD PCH9L,4 COMPUTE LOAD POINT FOR NEXT CARD (31)F6B12390 SXD *+1,4 F6B12400 TXI *+1,2,** F6B12410 RDLBX AXT **,4 RELOAD CALLING LINKAGE F6B12420 TXL *+2,2,LIBS1-24 WILL NEXT CARD OVERLAP UPPER MEMORY $F6B12450 SXD RDLCT,4 YES, SET SWITCH F6B12460 CLA PCH9L PICK UP 9 LEFT F6B12470 TRA 2,4 $F6B12471 REM $F6B12472 READ TSX (TAPE),4 READ IN BLOCKED RECORD $F6B12473 PZE RDBLK,,(RBEC) $F6B12474 PZE (LIBT),,-1 $F6B12475 PZE LIBRR $F6B12476 XEC RDLBX $F6B12477 AXT BLFAC*24,2 RE-INITIALIZE BLOCK WORD COUNT $F6B12478 RDLB1 NZT ** WAS END OF FILE SENSED $F6B12479 TRA 1,4 YES $F6B1247A TRA MOVRC $F6B12480 MFTBF AXT 24,4 $F6B12481 CLA TBUFF+24,4 $F6B12482 STO PCH9L+24,4 $F6B12483 TIX *-2,4,1 $F6B12484 TRA CLPNC $F6B12485 BLFAC EQU 12 LIBRARY BLOCKING FACTOR $F6B12486 RDBLK IOCPN *,,3 $F6B12487 IOCT BUFFR,,BLFAC*24 $F6B12488 MASK7 OCT 777277777777 $F6B12489 REM F6B12490 REM SEARCH LOST LISTS FOR ENTRY POINT NAME F6B12500 LSRLS AXT **,1 LOAD CURRENT TRANSFER VECTOR COUNT F6B12510 TXL LSRL1+3,1,0 IS TRANSFER VECTOR EMPTY F6B12520 SXA LSRLX+1,4 NO, SAVE CALLING LINKAGE F6B12530 SXA LSRLX,2 SAVE CARD COUNT F6B12540 TSX XSRDEV,4 *IS ENTRY POINT NAME IN DEV F6B12550 TRA LSRL1+1 NO F6B12560 PZE NOT USED F6B12570 ANA P(1) YES, IS IT REQUIRED BY SOURCE PROGRAM F6B12580 TZE LSRL1 NO F6B12590 TIF *+5 YES, SHOULD NAME BE DELETED F6B12600 PXD ,0 YES, RESET TRANSFER VECTOR FLAG F6B12610 STP* ORGDEA F6B12620 TXI *+1,1,-1 BUMP TRANSFER VECTOR COUNT F6B12630 SXA LSRLS,1 F6B12640 LSRLX AXT **,2 RELOAD CARD COUNT F6B12650 AXT **,4 RELOAD CALLING LINKAGE F6B12660 LNT 1 SHOULD NAME BE ADDED TO FOUND LIST F6B12670 TRA 3,4 NO F6B12680 CAL XSYMBL YES, PICK UP NAME AGAIN F6B12690 TRA LENFD F6B12700 LSRL1 CAL XSYMBL PICK UP NAME AGAIN F6B12710 LXA LSRLX,2 RELOAD CARD COUNT F6B12720 LXA LSRLX+1,4 RELOAD CALLING LINKAGE F6B12730 LXA LENSL,1 LOAD SECONDARY LOOKFOR LIST COUNT F6B12740 TXL LSRL2,1,0 IS SECONDARY LOOKFOR LIST EMPTY F6B12750 SXD LSRL3+2,1 NO, SET END OF MOVE LOOP TEST F6B12760 LAS* RGSLS IS ENTRY POINT ON SECONDARY LOOKFOR LIST F6B12770 TRA *+2 NO F6B12780 TXI LSRL3,1,1 YES, GO DELETE NAME F6B12790 TIX *-3,1,1 IS SECONDARY LOOKFOR LIST EXHAUSTED F6B12800 LSRL2 TRA 1,4 YES F6B12810 REM OPTIONAL SUBROUTINE TO SUBSTITUTE EXEM FOR EXE F6B12811 EXEMQ LAS EXENM IS NAME EXE F6B12811 TRA 1,4 NO F6B12812 ZET XSWCH9 YES, IS OFF LINE OUTPUT COLUMN BINARY F6B12813 TRA 1,4 NO F6B12814 NZT XSWCH1 ARE ON-LINE CARDS REQUESTED F6B12815 ZET XSWCH4 YES, ARE THEY ROW BINARY F6B12816 CAL EXEMN NO, SUBSTITUTE EXEM FOR EXE F6B12817 TRA 1,4 RETURN F6B12818 REM DELETE NAME FROM SECONDARY LOOKFOR LIST F6B12820 LSRL3 TIF 3,4 SHOULD NAME BE DELETED F6B12830 SLW XSYMBL YES, SAVE NAME TO BE DELETED F6B12840 TXH *+4,1,** IS THIS FINAL NAME ON LOOKFOR LIST F6B12850 CAL* RGSLS NO, MOVE NEXT NAME UP (OFF THE TOP) F6B12860 SLW* RGSLS+1 F6B12870 TXI *-3,1,1 BUMP TO NEXT NAME F6B12880 TXI *+1,1,-2 BUMP SECONDARY LOOKFOR LIST COUNT DOWN ONEF6B12890 SXA LENSL,1 F6B12900 LXD LNSFT,1 BUMP SECONDARY FOUND LIST OVERFLOW TEST F6B12910 TXI *+1,1,-1 F6B12920 SXD LNSFT,1 F6B12930 CAL XSYMBL PICK UP DELETED NAME AGAIN F6B12940 TRA 2,4 GO ADD NAME TO SECONDARY FOUND LIST F6B12950 REM F6B12960 REM SEARCH FOUND LISTS FOR ENTRY POINT NAME F6B12970 LSRFD LXA LENSF,1 LOAD SECONDARY FOUND LIST COUNT F6B12980 TXL LSRF1,1,0 IS SECONDARY FOUND LIST EXHAUSTED F6B12990 LAS* RGSFD NO, IS ENTRY POINT ON SECONDARY FOUND LISTF6B13000 TRA *+2 NO F6B13010 TRA 2,4 YES F6B13020 TXI *-4,1,1 BUMP SECONDARY FOUND LIST COUNT F6B13030 LSRF1 LXA LENFD,1 LOAD FOUND LIST COUNT F6B13040 TXL LSRF2,1,0 IS FOUND LIST EXHAUSTED F6B13050 LAS* ORGCLO NO, IS ENTRY POINT ON FOUND LIST F6B13060 TRA *+2 NO F6B13070 TRA 2,4 YES F6B13080 TXI *-4,1,1 BUMP LIST COUNT TO NEXT NAME F6B13090 LSRF2 TRA 1,4 NOT FOUND F6B13100 REM F6B13110 REM ADD NAME TO FOUND LIST F6B13120 LENFD AXT **,1 LOAD CURRENT FOUND COUNT F6B13130 SLW* ORGCLO ADD THIS NAME TO FOUND LIST F6B13140 TXI *+1,1,-1 BUMP FOUND COUNT F6B13150 LNFDT TXL LIBOV,1,** *DID PRIMARY FOUND LIST OVERLAP SEC FOUND F6B13160 SXA LENFD,1 NO F6B13170 TRA 3,4 F6B13180 REM F6B13190 REM ADD NAMES ON SUBROUTINE PROGRAM CARD NOT REQUIRED BY F6B13200 REM OBJECT PROGRAM TO SECONDARY FOUND LIST F6B13210 LENSF AXT **,1 LOAD CURRENT SECONDARY FOUND LIST COUNT F6B13220 SLW* RGSFD ADD THIS NAME TO SECONDARY FOUND LIST F6B13230 TXI *+1,1,-1 BUMP SECONDARY FOUND LIST COUNT F6B13240 LNSFT TXL LIBOV,1,** *DID SECONDARY FOUND LIST OVERLAP LOST LISTF6B13250 SXA LENSF,1 NO F6B13260 LXD LNSLT,1 BUMP SECONDARY LOST LIST OVERFLOW TEST F6B13270 TXI *+1,1,-1 F6B13280 SXD LNSLT,1 F6B13290 TRA 1,4 F6B13300 REM F6B13310 REM ADD NAMES ON SUBROUTINE TRANSFER VECTOR NOT ALREADY IN F6B13320 REM DECK TO SECONDARY LOOKFOR LIST F6B13330 LENSL AXT **,1 LOAD CURRENT SECONDARY LOOKFOR LIST COUNT F6B13340 TXI *+1,1,1 BUMP SECONDARY LOOKFOR LIST COUNT F6B13350 SLW* RGSLS ADD THIS NAME TO SECONDARY LOOKFOR LIST F6B13360 LNSLT TXH LIBOV,1,** *DID SECONDARY LOST LIST OVERLAP FOUND LISTF6B13370 SXA LENSL,1 NO F6B13380 LXD LNSFT,1 BUMP SECONDARY FOUND LIST OVERFLOW TEST F6B13390 TXI *+1,1,1 F6B13400 SXD LNSFT,1 F6B13410 SXD LIBFG,4 SET FLAG FOR ENTRY POINT ADDED THIS PASS F6B13420 TRA 1,4 F6B13430 REM F6B13440 REM CHECK FOR TABLE OVERLAP F6B13450 REM XR1 HAS COUNT OF TABLE TO BE ADDED F6B13460 TOVLP SXD *+2,1 COMPUTE LENGTH OF SYMBOL TABLE F6B13470 LDC SYMTL,2 INCLUDING NUMBER OF ENTRIES MADE F6B13480 TXI *+1,2,** AND LENGTH OF TABLE TO BE ADDED F6B13490 SXA ADDRS,2 F6B13500 CAL RGSTR F6B13510 ANA ADMSK F6B13520 ADD ADDRS F6B13530 CAS BILOC WILL IT OVERLAP UPPER TABLES F6B13540 NOP YES F6B13550 TRA *+2 YES F6B13560 TRA 1,4 NO F6B13570 TOVL1 TSX WRITE,4 *YES, WRITE TABLE OUT MESSAGE F6B13580 IOCT TABOT,,16 $F6B13590 TRA PST05+2 F6B13600 REM F6B13610 TTL SUBROUTINE RELEVANT TO SYMBOL TABLE F6B13611 REM FIND ORDERED POSITION FOR NEW ENTRY INTO SYMBOL TABLE F6B13620 SRSYM SXA ENSYX,1 SAVE TABLE COUNT F6B13630 SLW ERASE SAVE RIGHT ENTRY F6B13640 LDQ SYMTL INITIALIZE BINARY SEARCH FOR SYMBOL TABLE F6B13650 STQ XBSRCH F6B13660 LXA SYMTS,1 LOAD HOP COUNT F6B13670 LXD SYMTS,2 LOAD BUFFER LENGTH F6B13680 SRSY1 CLA* RGSTR GET NEXT RIGHT ENTRY F6B13690 ANA ADMSK MASK IN LOCATION F6B13700 CAS ADDRS IS IT SAME AS NEW ENTRY F6B13710 TXI XLOWER,1,-2 NO, BUMP HOP COUNT TO HALF TABLE LENGTH F6B13720 TXI ENSYM,2,-1 YES, GO MAKE ENTRY F6B13730 TXI XRAISE,1,-2 NO, BUMP HOP COUNT TO HALF TABLE LENGTH F6B13740 REM INSERT NEXT ENTRY INTO ORDERED POSITION IN SYMBOL TABLE F6B13750 ENSYM SXD ENSY2,2 SET END OF MOVE LOOP TO THIS POSITION F6B13760 LXD SYMTL,2 GET CURRENT BUFFER LENGTH F6B13770 TXI *+1,2,-1 BUMP FOR NEW ENTRY F6B13780 SXD SYMTL,2 AND SAVE F6B13790 TXI ENSY1,2,1 BUMP BACK FOR PARAMETER UPDATE TEST F6B13800 ENSY1 TXH ENSY2,2,-2 DOES LENGTH OF TABLE REQUIRE A LARGER HOP F6B13810 CAL SYMTS YES, GET OLD PARAMETER F6B13820 ADD SYMTA UPDATE TO NEXT LARGER INITIAL HOP F6B13830 SLW SYMTS AND SAVE F6B13840 STD SYMTA UPDATE BUMPER FOR NEXT LARGER HOP F6B13850 ADD SYMTA UPDATE PARAMETER UPDATE TEST F6B13860 STD ENSY1 AND SAVE F6B13870 ENSY2 TXH ENSY3,2,** IS THIS ORDERED LOCATION OF NEW ENTRY F6B13880 CAL* RGSTL-1 NO, MOVE THIS ENTRY UP ONE SPACE F6B13890 SLW* RGSTL TO MAKE ROOM FOR NEW ENTRY WHICH SHALL F6B13900 CLA* RGSTR-1 PRECEDE IT F6B13910 STO* RGSTR F6B13920 TXI ENSY2,2,1 BUMP TO NEXT LOWER ENTRY, AND GO MOVE MOREF6B13930 ENSY3 CAL XSYMBL INSERT BCD SYMBOL F6B13940 SLW* RGSTL IN LEFT BUFFER F6B13950 CLA ERASE INSERT LOCATION (ADDRESS), FLAG (DECR) F6B13960 ORA P(2) AND RELOCATION BITS 010 (PREFIX) F6B13970 STO* RGSTR IN RIGHT BUFFER F6B13980 ENSYX AXT **,1 RELOAD TABLE COUNT F6B13990 TRA 2,4 F6B14000 SYMTA PZE 2,,-1 F6B14010 SYMTS PZE 5,,-1 F6B14020 SYMTL TXH SRSY1,2,-2 F6B14030 REM F6B14040 TTL SUBROUTINES RELEVANT TO SECOND CIT PASS F6B14041 REM MOVE 4-WORD CIT FROM TAPE 4 BUFFER TO WORKING AREA. F6B14050 REM ON THE FIRST CALL TO THIS SUBROUTINE BUFFER 1 IS FILLED, F6B14060 REM CHECKED FOR TAPE ERROR, AND BUFFER 2 FILLED WITH NEXT F6B14070 REM RECORD. ERROR ON OR END OF FILE ON SUCCESSIVE BUFFERS F6B14080 REM ARE NOT TESTED UNTIL PRIOR BUFFER IS EXHAUSTED. F6B14090 RDCIT SXA RDCIX,4 SAVE CALLING LINKAGE F6B14100 AXT **,4 GET CIT COUNT F6B14110 TIX RDCI2,4,4 IS BUFFER EXHAUSTED F6B14120 AXT 1,2 YES, SET BUFFER 1 SWITCH F6B14130 TXL *+2,,0 IS BUFFER 1 NEXT F6B14140 AXT 2,2 NO, SET BUFFER 2 SWITCH INSTEAD F6B14150 CLS *-2 RESET BUFFER SWITCH F6B14160 STO *-3 F6B14170 TXH *+5,4,0 IS THIS FIRST RECORD F6B14180 TSX (TAPE),4 *YES, READ FIRST CIT RECORD F6B14190 PZE RDCBF,2,(RBEP) F6B14200 PZE CLABL,,COTTAP F6B14210 PZE XDELET+1 F6B14220 TSX (TAPE),4 *READ NEXT CIT RECORD F6B14230 PZE RDCBF+1,2,(RBEP) F6B14240 PZE CLABL,,COTTAP F6B14250 PZE XDELET+1 F6B14260 REM COMPUTE WORD COUNT AND INITIALIZE BUFFERS F6B14270 CLA RDCBF,2 INITIALIZE WORD COUNT COMPUTATION F6B14280 PAC ,4 F6B14290 SXD RDCI1,4 F6B14300 LXA (SCHU)+COTTAP,4 GET LOCATION OF LAST+1 WORD IN CIT BLOCK F6B14310 TXL RDCI3,4,0 WAS END FILE SENSED F6B14320 SXA RDCI2,4 NO, INITIALIZE MOVE LOOP F6B14330 TXI *+1,4,1 F6B14340 SXA RDCI2+2,4 F6B14350 TXI *+1,4,1 F6B14360 SXA RDCI2+4,4 F6B14370 TXI *+1,4,1 F6B14380 SXA RDCI2+6,4 F6B14390 TXI *+1,4,-3 F6B14400 RDCI1 TXI *+1,4,** F6B14410 TXL RDCI2,4,CITSIZ IS RECORD TOO LONG F6B14420 AXT -1,2 YES, SET CIT COUNT SWITCH F6B14430 TRA RDCRR+1 F6B14440 REM MOVE CIT FROM BUFFER TO WORKING AREA F6B14450 RDCI2 CAL **,4 F6B14460 SLW CITSL F6B14470 CAL **,4 F6B14480 SLW CITOP F6B14490 CAL **,4 F6B14500 SLW CITSA F6B14510 CAL **,4 F6B14520 SLW CITRA F6B14530 SXA RDCIT+1,4 SAVE CIT COUNT F6B14540 RDCIX AXT **,4 RELOAD CALLING LINKAGE F6B14550 TRA 2,4 F6B14560 REM END OF CIT FILE SENSED F6B14570 RDCI3 LXA RDCIX,4 RELOAD CALLING LINKAGE F6B14580 TRA 1,4 F6B14590 REM ERROR ON CIT OUTPUT TAPE F6B14600 RDCRR AXT -2,2 SET IMPROPER END OF FILE SWITCH F6B14610 TSX (TAPE),4 *PRINT ERROR MESSAGE F6B14620 PZE *+3,2,(TPER) F6B14630 MZE CLABL,,COTTAP F6B14640 TRA XDELET+1 F6B14650 BCI 1,COUNT F6B14660 BCI 1,ENDFIL F6B14670 CLABL BCI 1,CITS06 F6B14680 REM F6B14690 IORT BUFF2,,CITSIZ+1 F6B14700 IORT BUFF1,,CITSIZ+1 F6B14710 RDCBF IORT BUFF2,,CITSIZ+1 F6B14720 REM F6B14730 REM CONTROL CONVERSION OF FOUR WORD CIT F6B14740 CITCV SXA CITCX,4 SAVE CALLING LINKAGE F6B14750 SXA CITCX+1,1 SAVE TABLE COUNT F6B14760 CAL CITOP GET OPCODE F6B14770 ANA OPMSK F6B14780 LXD OPLST,2 PREPARE TO TEST FOR PSEUDOOPERATION F6B14790 LAS OPLST+10,2 IS IT PSEUDOOP F6B14800 TRA *+2 NO F6B14810 TRA *+3 YES F6B14820 TIX *-3,2,1 IS LIST EXHAUSTED F6B14830 TXI *+1,2,-1 YES, OP IS MACHINE OP F6B14840 SXA POPSW,2 SET PSEUDOOPERATION SWITCH F6B14850 TSX BINCV,4 *CONVERT CIT TO BINARY INSTRUCTION F6B14860 TSX SAPCV,4 *CONVERT CIT TO MACHINE LANGUAGE LISTING F6B14870 POPSW AXT **,4 PICK UP PSEUDOOP SWITCH F6B14880 TRA CITC1,4 SORT OUT OPCODES F6B14890 DUP 1,5 EXPANSION SPACE FOR ADDITIONAL PSEUDOOPS F6B14900 PZE F6B14910 TRA CITC1 OPCODE IS OCT F6B14920 TRA CITC1 OPCODE IS BCD F6B14930 TRA CITC2 OPCODE IS BSS F6B14940 TRA CITC2+2 OPCODE IS SYN F6B14950 CITC1 CLA LOCTR UPDATE PROGRAM COUNTER F6B14960 STA ADDRS SAVE TO CHECK DEFINITION OF SYMBOLIC LOC F6B14970 ADD L(1) F6B14980 STA LOCTR F6B14990 TRA CITC2+2 F6B15000 CITC2 CLA LOCTR OPCODE IS BSS, CHECK SYMBOLIC LOCATION F6B15010 STA ADDRS LENGTH OF BLOCK RESERVED IS ZERO F6B15020 CAL CITSL GET SYMBOLIC LOCATION F6B15030 TSX XSORT0,4 *SORT OUT SYMBOLS F6B15040 TRA CITCX NO SYMBOLIC LOCATION F6B15050 TSX XERR00,4 *PROGRAM COUNTER (*) IN SYMBOLIC LOC F6B15060 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15070 * THE INTERNAL SYMBOL FOR PROGRAM COUNTER (17)8 HAS BEEN F6B15080 * FOUND IN THE FIRST SIX BITS IN THE SYMBOLIC LOCATION F6B15090 * LOCATION FIELD OF A CIT (CITSL). SECTION 3 PUT IT THERE, F6B15100 * BUT SECTION 6 SHOULD HAVE DELETED IT AT ROUTINE PAS15. F6B15110 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15120 TRA CITC5 EXTERNAL VARIABLE F6B15130 TRA CITC4 INTERNAL FORMULA NUMBER F6B15140 TRA CITC3 SUB INTERNAL FORMULA NUMBER F6B15150 TSX XERR00,4 *INT SYMBOL FOR ERASABLE IN SYMBOLIC LOC F6B15160 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15170 * SEE DISCUSSION OF SIMILAR ERROR AT PAS15. F6B15180 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15190 TSX XSRTIV,4 *IS INTERNAL SYMBOL IN TIV F6B15200 TSX XERR00,4 *NO, UNDEFINED INTERNAL SYMBOL F6B15210 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15220 * THE INTERNAL SYMBOL STORED IN LOCATION SYMBL HAS BEEN F6B15230 * RECOGNIZED IN THE SYMBOLIC LOCATION FIELD OF A CIT F6B15240 * (CITSL). SECTION 6 SHOULD HAVE ENTERED IT IN TIV AT F6B15250 * ROUTINE PAS15. IT HAS NOT BEEN RECOGNIZED IN TIV. F6B15260 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15270 TRA CITC6 YES F6B15280 CITC3 TSX XSRTIV,4 *IS SUB IFN IN TIV F6B15290 TRA CITCX NO, NOT REQUIRED BY ANY SYMBOLIC ADDRESS F6B15300 ANA ADMSK YES, MASK IN LOCATION F6B15310 TNZ CITC6+1 IS SYMBOL DEFINED F6B15320 CLA ADDRS NO, DEFINE IT IN THIS PASS F6B15330 STA* ORGTIV F6B15340 TRA CITCX F6B15350 CITC4 LXD CITSL,4 GET LOCATION FROM IFN TABLE F6B15360 CLA* ORGIFN F6B15370 ARS 18 F6B15380 TRA CITC6 F6B15390 CITC5 TSX XSRDEV,4 *IS TRANSFER VECTOR OR FORSUB NAME IN DEV F6B15400 TSX XERR00,4 *NO, UNDEFINED EXTERNAL SYMBOL F6B15410 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15420 * THE EXTERNAL SYMBOL FOR A TRANSFER VECTOR OR ARITHMETIC F6B15430 * STATEMENT FUNCTION NAME STORED IN LOCATION SYMBL HAS BEENF6B15440 * ENCOUNTERED IN THE SYMBOLIC LOCATION FIELD OF A CIT F6B15450 * (CITSL). SECTION 6 SHOULD HAVE ENTERED IT INTO DEV AT F6B15460 * ROUTINE TRVEC OR FORSB. IT HAS NOT BEEN RECOGNIZED IN DEVF6B15470 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15480 PZE NOT USED F6B15490 CITC6 ANA ADMSK MASK IN ADDRESS F6B15500 SUB ADDRS DO ASSIGNMENTS AGREE FIRST PASS VS SECOND F6B15510 TZE *+2 YES F6B15520 TSX XERR00,4 *NO, STORAGE ASSIGNMENTS DIFFER PASS1 VS 2 F6B15530 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15540 * THE LOCATION ASSIGNED TO THE SYMBOL STORED IN LOCATION F6B15550 * SYMBL HAS BEEN DEFINED BY SECTION 6 AT ROUTINE PAS14. THEF6B15560 * LOCATION COMPUTED HERE DOES NOT QUITE AGREE. F6B15570 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15580 CITCX AXT **,4 RELOAD CALLING LINKAGE F6B15590 AXT **,1 RELOAD TABLE COUNT F6B15600 TRA 1,4 F6B15610 REM F6B15620 REM CONVERT CIT TO BINARY MACHINE OP CODE F6B15630 BINCV SXA BINCX,4 SAVE CALLING LINKAGE F6B15640 STZ ADDRS RESET EFFECTIVE ADDRESS F6B15650 STZ RLBIT RESET RELOCATION BITS F6B15660 AXT 0,1 F6B15670 TRA BIN01,2 SORT OUT OPCODES F6B15680 DUP 1,5 EXPANSION SPACE FOR ADDITIONAL PSEUDOOPS F6B15690 PZE F6B15700 TRA BIN07 OPCODE IS OCT F6B15710 TRA BIN07 OPCODE IS BCD F6B15720 TRA 1,4 OPCODE IS BSS F6B15730 NOP OPCODE IS SYN F6B15740 BIN01 CAL CITSA GET SYMBOLIC ADDRESS F6B15750 TSX XSORT0,4 *SORT OUT SYMBOLS F6B15760 TRA BIN05 NO SYMBOLIC ADDRESS F6B15770 TRA BIN04 PROGRAM COUNTER F6B15780 TRA BIN03 EXTERNAL VARIABLE F6B15790 TRA BIN02 INTERNAL FORMULA NUMBER F6B15800 TRA *+2 SUB INTERNAL FORMULA NUMBER F6B15810 TRA *+1 INTERNAL SYMBOL FOR ERASABLE F6B15820 TSX XSRTIV,4 *INTERNAL SYMBOL FOR DATA, IS IT IN TIV F6B15830 TSX XERR00,4 *NO, UNDEFINED INTERNAL SYMBOL F6B15840 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15850 * THE INTERNAL SYMBOL STORED IN LOCATION SYMBL HAS BEEN F6B15860 * ENCOUNTERED IN A CIT SYMBOLIC ADDRESS FIELD, BUT IS NOT F6B15870 * IN TIV. SECTION 6 SHOULD HAVE ENTERED IT IN TIV AT F6B15880 * ROUTINE PAS05 IF IT IS AN ERASABLE CELL, PAS06 IF IT IS AF6B15890 * SUBSIDIARY INTERNAL FORMULA NUMBER, PAS15 IF IT IS A DATAF6B15900 * CELL, OR JUST ABOVE REL01 IF IT IS 0A1. IT IS LOST. F6B15910 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15920 ANA ADMSK YES, GET LOCATION ASSIGNED F6B15930 TNZ BIN04+1 WAS THIS SYMBOL DEFINED F6B15940 TSX XERR00,4 *NO, UNDEFINED INTERNAL SYMBOL F6B15950 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B15960 * THE INTERNAL SYMBOL STORED IN LOCATION SYMBL HAS BEEN F6B15970 * ENCOUNTERED IN A CIT SYMBOLIC ADDRESS FIELD, AND HAS BEENF6B15980 * ENTERED IN TIV AT PAS04, EXPECTING THAT IT WOULD BE F6B15990 * DEFINED AT CITC3 WHEN IT APPEARED IN A CIT SYMBOLIC F6B16000 * LOCATION FIELD. IT HAS NOT BEEN SO RECOGNIZED, AND IS F6B16010 * UNDEFINED. DID A PRIOR SECTION OMIT ANY CITS. F6B16020 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16030 BIN02 LXD CITSA,4 GET LOCATION FROM IFN TABLE F6B16040 CLA* ORGIFN F6B16050 ARS 18 F6B16060 ANA ADMSK YES, IS IT DEFINED F6B16070 TNZ BIN04+1 YES F6B16080 TSX XERR00,4 *NO, UNDEFINED INTERNAL STATEMENT NUMBER F6B16090 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16100 * THE INTERNAL STATEMENT NUMBER STORED IN LOCATION SYMBL F6B16110 * HAS BEEN ENCOUNTERED IN A CIT SYMBOLIC ADDRESS FIELD, BUTF6B16120 * IT HAS NO LOCATION ASSIGNED TO IT IN IFN TABLE. WHEN IT F6B16130 * APPEARED IN A CIT SYMBOLIC LOCATION FIELD, SECTION 6 F6B16140 * SHOULD HAVE DEFINED IT AT PAS17. ARE ANY CITS MISSING. F6B16150 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16160 BIN03 TSX XSRDEV,4 *EXTERNAL VARIABLE, IS IT IN DEV F6B16170 TSX XSRTEV,4 *NO, IS IT IN TEV F6B16180 TSX XERR00,4 *NO, UNDEFINED EXTERNAL SYMBOL F6B16190 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16200 * THE EXTERNAL SYMBOL STORED IN LOCATION SYMBL HAS BEEN F6B16210 * ENCOUNTERED IN A CIT SYMBOLIC ADDRESS FIELD, BUT IS NOT F6B16220 * IN DEV OR TEV. SECTION 6 SHOULD HAVE ENTERED IT IN DEV ATF6B16230 * ROUTINE AFTER TRVC1 IF IT IS $ OR $$, FROM SPRCM TO FORS1F6B16240 * IF IT APPEARED IN A TAPE TABLE, OR IN TEV AT PAS11 IF IT F6B16250 * IS A SINGLE CELLED ERASABLE VARIABLE NAME. F6B16260 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16270 PAI YES F6B16280 LNT 200000 IS IT AN ARGUMENT F6B16290 TRA BIN04+1 NO F6B16300 CAL CITOP YES, GET OPCODE F6B16310 TSX SROPT,4 *FIND CORRESPONDING BINARY MACHINE OP F6B16320 TSX XERR00,4 *NOT FOUND, ILLEGAL OPCODE F6B16330 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16340 * THE OPCODE IN THE ACCUMULATOR HAS NOT BEEN RECOGNIZED IN F6B16350 * THE LIST OF VALID MACHINE OPERATION CODES. F6B16360 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16370 PXD ,0 RESET ADDRESS F6B16380 TRA BIN06 F6B16390 BIN04 CLA LOCTR GET CURRENT CONTENTS OF PROGRAM COUNTER F6B16400 STA ADDRS SAVE LOCATION ASSIGNED TO SYMBOL F6B16410 CLA L(2) SET ADDRESS DIRECTLY RELOCATABLE 010 F6B16420 STO RLBIT F6B16430 AXT 3,1 PREPARE TO RESET RELOCATION BIT F6B16440 BIN05 LXA POPSW,4 PICK UP PSEUDOOPERATION SWITCH F6B16450 TXH BINCX,4,0 IS OPCODE SYN F6B16460 CAL CITOP NO, GET BCD OPCODE F6B16470 TSX SROPT,4 *FIND CORRESPONDING BINARY MACHINE OP F6B16480 TSX XERR00,4 *NOT FOUND, ILLEGAL OPCODE F6B16490 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16500 * SEE DISCUSSION OF SIMILAR ERROR IMMEDIATELY ABOVE. F6B16510 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *F6B16520 CLA CITRA GET CIT RELATIVE ADDRESS F6B16530 ARS 18 F6B16540 ADD ADDRS COMPUTE EFFECTIVE ADDRESS F6B16550 ADD T(1) COMPLEMENT IF NECESSARY F6B16560 STA EFADD AND SAVE F6B16570 LDQ XPGBRK GET PROGRAM BREAK F6B16580 CLA ADDRS GET LOCATION OF BASE SYMBOL F6B16590 TLQ *+4 IS SYMBOL IN COMMON F6B16600 CLA EFADD NO, GET EFFECTIVE ADDRESS F6B16610 TLQ *+4 IS IT IN COMMON F6B16620 TRA *+4 NO F6B16630 CLA EFADD GET EFFECTIVE ADDRESS FOR COMMON VARIABLE F6B16640 TLQ *+2 IS IT BELOW COMMON F6B16650 SXA RLBIT,1 YES, SET BITS COMPLEMENT RELOCATABLE 011 F6B16660 BIN06 LRS 15 COMBINE EFFECTIVE ADDRESS F6B16670 CAL CITRA WITH TAG F6B16680 LRS 3 F6B16690 CAL CITOP DECREMENT F6B16700 LLS 18 F6B16710 ORA* RGABS AND BINARY OPCODE F6B16720 TRA BIN07+1 F6B16730 BIN07 CAL CITSA GET BINARY WORD (PSEUDOOPERATION) F6B16740 SLW ERAS2 SAVE BINARY INSTRUCTION FOR LISTING F6B16750 TSX PUNCH,4 *PUNCH OUT INSTRUCTION F6B16760 BINCX AXT **,4 RELOAD CALLING LINKAGE F6B16770 TRA 1,4 F6B16780 REM F6B16790 REM SEARCH DICTIONARY OF OP CODES F6B16800 SROPT SXA SOPRX,1 SAVE RELOCATION BITS F6B16810 LDQ OPRTL INITIALIZE BINARY SEARCH FOR DICTIONARY F6B16820 STQ XBSRCH F6B16830 AXT 19,1 SET SEARCH FOR TABLE BETWEEN 128 AND 255 F6B16840 AXT 128,2 OPERATIONS F6B16850 ANA OPMSK MASK IN OPCODE F6B16860 SLW XSYMBL SAVE FOR POSSIBLE DIAGNOSTIC CALL F6B16870 SOPR1 LAS* RGOPS IS THIS OPCODE F6B16880 TXI XLOWER,1,-2 NO, CONTINUE F6B16890 TRA SOPRX YES, FOUND F6B16900 TXI XRAISE,1,-2 NO, CONTINUE F6B16910 SOPRX AXT **,1 RELOAD RELOCATION BITS F6B16920 TRA 2,4 F6B16930 REM F6B16940 REM PREPARE MACHINE LANGUAGE LISTING F6B16950 SAPCV NZT XSWCH2 IS MACHINE LANGUAGE LISTING REQUIRED F6B16960 TRA 1,4 NO F6B16970 SXA SAPCX,4 YES, SAVE CALLING LINKAGE F6B16980 AXT WORD2,4 RESET BUFFER ORIGIN F6B16990 SXA RGSAP,4 F6B17000 LXA POPSW,4 GET PSEUDOOPERATION SWITCH F6B17010 TXL *+2,4,0 IS OP CODE MACHINE OP F6B17020 TXL SAPC2,4,2 NO, IS IT BSS OR SYN PSEUDOOP F6B17030 CLA LOCTR NO, OP REQUIRES OCTAL COUNTER F6B17040 LGR 15 CONVERT RELATIVE COUNT TO BCD F6B17050 CAL BLANK PICK UP LEADING BLANK F6B17060 TNO *+1 TURN OFF TRIGGER F6B17070 ALS 3 CREATE ZONE F6B17080 LGL 3 SHIFT IN DIGIT F6B17090 TNO *-2 IS COUNTER CONVERTED F6B17100 ALS 6 YES, LEFT ADJUST OCTAL COUNT F6B17110 ORA BLANK ADD FOLLOWING BLANK F6B17120 SAPC1 SLW WORD1 F6B17130 NZT XSWCH8 IS BINARY OPCODE REQUESTED F6B17140 TRA SAP00 NO F6B17150 REM CONVERT BINARY MACHINE OP CODE AND RELOCATION BITS F6B17160 REM TO THREE WORD LISTING FORM F6B17170 LDQ ERAS2 PICK UP BINARY MACHINE OP F6B17180 TSX OCTCV,4 *CONVERT BINARY OP TO OCTAL F6B17190 CAL ERASE PICK UP SIGN F6B17200 LDQ ERAS1 AND FIRST HALF OF WORD F6B17210 LGL 30 LEFT ADJUST F6B17220 SLW* RGSAP INSERT IN WORD 2 F6B17230 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B17240 LGL 6 LEFT ADJUST SECOND HALF F6B17250 LDQ ERAS2 F6B17260 LGL 30 F6B17270 SLW* RGSAP INSERT IN WORD 3 F6B17280 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B17290 XCL SHIFT LAST CHARACTER TO LEADING POSITION F6B17300 LXA RLBIT,4 CONVERT RELOCATION BITS TO BCD F6B17310 ORA SPBIT,4 F6B17320 SLW* RGSAP INSERT IN WORD 4 F6B17330 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B17340 AXT 4,4 F6B17350 TRA SAP00+1 MACHINE LISTING WILL BE IN WORDS 5 THRU 8 F6B17360 REM OP CODE IS BSS OR SYN SET WORDS 1 THRU 10 BLANK F6B17370 SAPC2 NZT XSWCH8 IS BINARY OPCODE REQUESTED F6B17380 TRA *+4 NO F6B17390 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B17400 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B17410 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B17420 AXT 10,4 F6B17430 TRA SAP00+1 F6B17440 REM BINARY OPCODE NOT REQUESTED, SET WORDS 4 THRU 10 BLANK F6B17450 SAP00 AXT 7,4 F6B17460 REM BINARY OPCODE REQUESTED, SET WORDS 7 THRU 10 BLANK F6B17470 LDQ BLNKS SET VARIABLE FIELD BLANK F6B17480 STQ WORD0+1,4 F6B17490 TIX *-1,4,1 F6B17500 REM CONVERT FOUR WORD CIT TO STANDARD MACHINE LANGUAGE FORM F6B17510 CAL CITSL GET SYMBOLIC LOCATION F6B17520 TSX XSORT0,4 *SORT OUT SYMBOLS F6B17530 TRA SAP01+1 NO SYMBOLIC ADDRESS F6B17540 CAL HASHS PROGRAM COUNTER F6B17550 TRA SAP01+2 EXTERNAL VARIABLE F6B17560 LGL 32 INTERNAL FORMULA NUMBER F6B17570 TRA SAP01 SUB INTERNAL FORMULA NUMBER F6B17580 TRA *-4 INTERNAL SYMBOL FOR ERASABLE F6B17590 TSX TIVSM,4 *CONVERT INTERNAL SYMBOL TO LISTING SYMBOL F6B17600 TRA SAP01+2 F6B17610 SAP01 TSX TIVNF,4 *CONVERT SUB OR MAIN IFN TO LISTING SYMBOL F6B17620 LGL 36 SHIFT IN BLANKS, MAIN OR SUBIFN F6B17630 SLW* RGSAP INSERT IN LISTING LOCATION FIELD F6B17640 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B17650 LDQ CITOP GET OPCODE F6B17660 CAL BLANK AND LEADING BLANK F6B17670 LGL 18 F6B17680 STQ ERAS3 SAVE DECREMENT F6B17690 LDQ BLNKS ADD FOLLOWING BLANK F6B17700 LGL 6 F6B17710 ALS 6 LEFT ADJUST AND INSERT IN FIRST FIVE F6B17720 SLW* RGSAP CHARACTERS OF OPERATION FIELD WORD F6B17730 LXA POPSW,4 GET PSEUDOOP SWITCH F6B17740 TRA *+10,4 SORT OUT OP CODES F6B17750 DUP 1,5 EXPANSION SPACE FOR ADDITIONAL PSEUDOOPS F6B17760 PZE F6B17770 TRA SAP11 OPCODE IS OCT F6B17780 TRA SAP10 OPCODE IS BCD F6B17790 TRA SAP06+2 OPCODE IS BSS F6B17800 NOP OPCODE IS SYN F6B17810 CAL CITSA GET SYMBOLIC ADDRESS F6B17820 TSX XSORT0,4 *SORT OUT SYMBOLS F6B17830 TRA SAP05 NO SYMBOLIC ADDRESS F6B17840 CAL PROCT PROGRAM COUNTER F6B17850 TRA SAP02 EXTERNAL VARIABLE F6B17860 LGL 32 INTERNAL FORMULA NUMBER F6B17870 TRA SAP03 SUB INTERNAL FORMULA NUMBER F6B17880 NOP INTERNAL SYMBOL FOR ERASABLE F6B17890 TSX TIVSM,4 *CONVERT INTERNAL SYMBOL TO LISTING SYMBOL F6B17900 SAP02 LGR 30 SHIFT OUT FOLLOWING 5 CHARACTERS F6B17910 TRA SAP04 F6B17920 SAP03 TSX TIVNF,4 *CONVERT SUB OR MAIN IFN TO LISTING SYMBOL F6B17930 LGL 6 SHIFT IN FIRST CHARACTER F6B17940 SAP04 ORS* RGSAP FILL OPFIELD WORD WITH FIRST CHARACTER F6B17950 STQ ERASE SAVE FOLLOWING CHARACTERS F6B17960 CAL BLANK MARK END OF SYMBOL F6B17970 ORS ERASE F6B17980 LDQ ERASE PICK UP SYMBOL F6B17990 TSX SAPF0,4 *INSERT CHARACTERS IN FOLLOWING WORD F6B18000 CLA CITRA GET TAG,,RELATIVE ADDRESS F6B18010 ARS 18 ISOLATE RELATIVE ADDRESS F6B18020 TZE SAP08 IS RELATIVE ADDRESS EMPTY F6B18030 LDQ BLNKS NO, PICK UP FOLLOWING BLANKS F6B18040 TSX SAPDC,4 *CONVERT TO DECIMAL F6B18050 CLA CITRA GET RELATIVE ADDRESS AGAIN F6B18060 TPL *+3 IS IT POSITIVE F6B18070 CAL MINUS NO, GET BCD MINUS F6B18080 TRA *+2 F6B18090 CAL PLUSS YES, GET BCD PLUS F6B18100 TSX SAPFL,4 *INSERT IN NEXT FOLLOWING POSITIONS F6B18110 TRA SAP08 F6B18120 REM NO SYMBOLIC ADDRESS F6B18130 SAP05 CLA CITRA GET TAG,,RELATIVE ADDRESS F6B18140 TZE SAP06 ARE RELATIVE ADDRESS AND TAG EMPTY F6B18150 ARS 18 NO, ISOLATE RELATIVE ADDRESS F6B18160 TZE SAP07 IS RELATIVE ADDRESS EMPTY F6B18170 TSX SAPDC,4 *NO, CONVERT TO DECIMAL F6B18180 CLA CITRA GET RELATIVE ADDRESS AGAIN F6B18190 TPL *+3 IS IT POSITIVE F6B18200 CAL MINUS NO, GET BCD MINUS F6B18210 TRA *+3 F6B18220 PXD ,0 YES, OMIT SIGN F6B18230 LGL 6 F6B18240 ORS* RGSAP FILL OPFIELD WORD WITH FIRST CHARACTER F6B18250 TRA SAP07 F6B18260 REM NO SYMBOLIC ADDRESS, TAG, OR RELATIVE ADDRESS F6B18270 SAP06 CLA ERAS3 GET DECREMENT F6B18280 TNZ SAP07 IS DECREMENT EMPTY F6B18290 CAL BLANK YES, FILL OPFIELD WORD WITH BLANK F6B18300 ORS* RGSAP F6B18310 TRA SAP12 F6B18320 SAP07 TSX SAPF0,4 *INSERT CHARACTERS IN FOLLOWING WORD F6B18330 REM SYMBOLIC ADDRESS AND/OR RELATIVE ADDRESS ASSEMBLED F6B18340 REM IF BLANK, TAG AND/OR DECREMENT EXIST F6B18350 REM PROCESS TAG AND DECREMENT F6B18360 SAP08 LDQ BLNKS PICK UP FOLLOWING BLANKS F6B18370 CLA CITRA GET TAG,,RELATIVE ADDRESS F6B18380 ANA ADMSK ISOLATE TAG F6B18390 TZE *+3 IS TAG EMPTY F6B18400 LGR 6 NO, SHIFT IN BCD TAG F6B18410 TRA *+4 F6B18420 CLA ERAS3 TAG IS EMPTY, PICK UP DECREMENT F6B18430 TZE SAP09 IS DECREMENT EMPTY F6B18440 LDQ SPACE NO, PICK UP ZERO TAG F6B18450 CLA COMMA PICK UP COMMA BEFORE TAG F6B18460 TSX SAPFL,4 *INSERT CHARACTERS IN FOLLOWING WORD F6B18470 CLA CITOP PICK UP DECREMENT F6B18480 ANA ADMSK ISOLATE DECREMENT F6B18490 TZE SAP09 IS DECREMENT EMPTY F6B18500 TSX SAPDC,4 *NO, CONVERT TO DECIMAL F6B18510 CLA COMMA PICK UP LEADING COMMA F6B18520 TSX SAPFL,4 *INSERT CHARACTERS IN FOLLOWING WORD F6B18530 SAP09 PXD ,0 FILL IN LAST WORD WITH BLANKS F6B18540 LDQ BLNKS F6B18550 LGL 36,2 F6B18560 ORS* RGSAP F6B18570 TRA SAP12 F6B18580 REM OPCODE IS BCD F6B18590 SAP10 CAL L(1) INSERT 1 AS LAST CHARACTER IN OPFIELD F6B18600 ORS* RGSAP F6B18610 TSX SAPBP,2 BUMP ORIGIN TO NEXT WORD F6B18620 CAL CITSA INSERT BCD WORD IN NEXT WORD F6B18630 SLW* RGSAP F6B18640 TRA SAP12 F6B18650 REM OPCODE IS OCT F6B18660 SAP11 LDQ CITSA GET BINARY CONSTANT F6B18670 TSX OCTCV,4 *CONVERT BINARY CONSTANT TO OCTAL F6B18680 CAL ERASE PICK UP SIGN F6B18690 ORS* RGSAP INSERT AS LAST CHARACTER IN OPFIELD WORD F6B18700 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B18710 CAL ERAS1 INSERT FIRST HALF INTO NEXT WORD F6B18720 SLW* RGSAP F6B18730 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B18740 CAL ERAS2 F6B18750 SLW* RGSAP INSERT SECOND HALF INTO NEXT WORD F6B18760 SPACE F6B18761 REM CIT HAS BEEN CONVERTED TO MACHINE LANGUAGE LISTING FORM F6B18770 REM WORD 1 IS OCTAL COUNTER F6B18780 REM IF BINARY WORD IS REQUESTED, BINARY WORD AND RELOCATION F6B18790 REM BITS ARE IN WORDS 2, 3, 4, SL IN WORD 5, OP IN WORD 6, F6B18800 REM AND VARIABLE FIELD BEGINS IN WORD 6 CHARACTER 6 F6B18810 REM EXTENDING TO A MAXIMUM LENGTH INTO WORD 10 F6B18820 REM IF BINARY WORD IS NOT REQUESTED, SL IS IN WORD 2, AND F6B18830 REM VARIABLE FIELD EXTENDS INTO WORD 7 F6B18840 REM SL, OP, SA AND RA CAN BE FOUND IN CORRESPONDING CIT CELLSF6B18850 SAP12 TRA SAP13 PATCH SPACE FOR CUSTOMERS TO MESS AROUND F6B18860 PZE WITH SAP LISTING F6B18870 PZE NOT USED F6B18880 PZE NOT USED F6B18890 PZE NOT USED F6B18900 PZE NOT USED F6B18910 PZE NOT USED F6B18920 PZE NOT USED F6B18930 PZE NOT USED F6B18940 REM MOVE MACHINE LANGUAGE LISTING INTO PAGE BUFFER F6B18950 REM IF BINARY WORD REQUESTED, TWO 9 WORD COLUMNS PER PAGE F6B18960 REM IF NOT REQUESTED, THREE 6 WORD COLUMNS PER PAGE F6B18970 SAP13 AXT **,4 LOAD WORD COUNT F6B18980 CAL BLNKS SET WORD 0 BLANK F6B18990 SLW SAPBF,4 F6B19000 AXT 5,2 PREPARE TO MOVE 5 WORDS INTO BUFFER F6B19010 ZET XSWCH8 DO BINARY WORDS EXIST F6B19020 TXI *+1,2,3 YES, PREPARE TO MOVE 8 WORDS INTO BUFFER F6B19030 CAL SAP13+2 COMPUTE ORIGIN AT END OF BUFFER ENTRY F6B19040 ADD L(1) F6B19050 SXA ERASE,4 F6B19060 SBM ERASE F6B19070 SXA ERASE,2 F6B19080 ADM ERASE F6B19090 STA *+5 F6B19100 CAL SAPC1 COMPUTE ORIGIN AT END OF LISTING BUFFER F6B19110 ADM ERASE F6B19120 STA *+1 F6B19130 CAL **,2 MOVE NEXT WORD IN MACHINE LANGUAGE LISTINGF6B19140 SLW **,2 TO PAGE IMAGE F6B19150 TIX *-2,2,1 IS BUFFER MOVED F6B19160 TXI *+1,4,-18 YES, BUMP WORD COUNT TO NEXT LINE F6B19170 SAP14 AXT **,1 LOAD ENTRY COUNT F6B19180 TXI *+1,1,1 BUMP ENTRY COUNT TO NEXT ENTRY THIS PAGE F6B19190 COLFL TXL SAP17+1,1,** IS A COLUMN FULL YET... F6B19200 TXL ONEFL,1,** YES, IS IT COLUMN ONE... F6B19220 TXL TWOFL,1,** ONE IS DONE, IS COLUMN TWO FULL YET... F6B19230 SXA SAP13,4 F6B19231 TXH SKPTL,1,** TWO IS DONE, HOW IS THREE COMING... F6B19240 TSX HEDPG,4 THREE IS BEING FILLED, WRITE HEADING. F6B19250 SKPTL TSX WRIT2,4 WRITE PAGE LINE F6B19260 WRTIO IOCT SAPBF,,18 $F6B19270 LXA *-1,4 RESET ORIGIN OF I/O COMMAND. F6B19280 TXI *+1,4,18 BY BUMPING F6B19290 SXA WRTIO,4 LOCATION OF LINE ORIGIN BY WORD COUNT. F6B19300 TXL SAPCX-1,1,** IS PAGE COMPLETELY FIILED YET F6B19330 LXA SAP13+2,1 YES, RESET INITAL ADDRESS OF PAGE IMAGE F6B19334 SXA WRTIO,1 F6B19336 AXT 0,1 INITIALIZE COLUMN ENTRY COUNT F6B19340 AXT 0,4 INITIALIZE PAGE WORD COUNT F6B19350 TXI SAP17,2,** INITIALIZE COLUMN FULL TEST F6B19355 ONEFL AXT -6,4 COLUMN ONE JUST FILLED, SET F6B19360 TXI SAP17,2,** WORD COUNT TO AT LEAST ONE COL. F6B19365 TWOFL AXT -12,4 COLUMN TWO JUST FILLED, SET F6B19366 TRA SAP17+1 F6B19367 SAP17 SXD COLFL,2 RESET COLUMN-FULL TEST TO NEXT LINE. F6B19368 SXA SAP13,4 RESET WORD COUNT... F6B19369 SXA SAP14,1 RESET COLUMN ENTRY COUNT F6B19370 SAPCX AXT **,4 RETURN F6B19375 TRA 1,4 TO CALLER. F6B19380 REM F6B19390 REM INSERT CHARACTERS MARKED BY BLANK INTO NEXT WORD F6B19400 SAPFL ALS 30,2 POSITION CHARACTER F6B19410 ORS* RGSAP INSERT IN WORD F6B19420 TXI *+1,2,6 BUMP CHARACTER COUNT RIGHT ONE POSITION F6B19430 TXL *+3,2,30 IS WORD FULL F6B19440 REM ENTRY POINT TO START NEW WORD F6B19450 SAPF0 TSX SAPBP,2 *BUMP ORIGIN TO NEXT WORD F6B19460 AXT 0,2 RESET CHARACTER COUNT TO LEFT POSITION F6B19470 ZAC F6B19480 LGL 6 SHIFT IN NEXT CHARACTER F6B19490 LAS BLANK IS CHARACTER BLANK F6B19500 TRA SAPFL NO F6B19510 TRA 1,4 YES F6B19520 TRA SAPFL F6B19530 REM F6B19540 REM BUMP ORIGIN OF SAP BUFFER TO NEXT WORD F6B19550 SAPBP CAL RGSAP F6B19560 ADD L(1) F6B19570 STA RGSAP F6B19580 STZ* RGSAP CLEAR NEXT WORD F6B19590 TRA 1,2 F6B19600 REM F6B19610 REM CONVERT INTERNAL VARIABLE TO LISTING SYMBOL F6B19620 REM FIRST SIX BITS OF SYMBOL (NON ZERO) ARE IN AC F6B19630 REM REMAINDER OF SYMBOL IS IN MQ F6B19640 REM LISTING SYMBOL WILL BE LEFT ADJUSTED IN AC F6B19650 TIVSM LGR 32 ISOLATE TABLE LABEL F6B19660 SXA TIVSX+2,4 SAVE CALLING LINKAGE F6B19670 SXA TIVSX+1,2 SAVE TIV TABLE COUNT F6B19680 SXA TIVSX,1 SAVE LINE COUNT F6B19690 PAX ,4 GET FIRST BCD CHARACTER F6B19700 CAL CHART,4 GET CORRESPONDING BCD CHARACTER F6B19710 ALS 6 FOR FIRST CHARACTER F6B19720 ORA PAREN FOLLOWED BY ) F6B19730 ALS 24 LEFT ADJUST F6B19740 SLW ERASE SAVE PARTIAL PSEUDOSYMBOL F6B19750 AXT 4,3 PREPARE TO EXAMINE 17 BIT SUBSYMBOL F6B19760 PXD ,0 F6B19770 LGL 2 GET FIRST CHARACTER OF 17 BIT SUBADDRESS F6B19780 TNZ TIVS1 DOES IT EXIST F6B19790 TNX TIVS2,1,1 MAYBE, IS ENTIRE FIELD SCANNED F6B19800 LGL 5 NO, IS THERE A SUBCHARACTER F6B19810 TZE *-2 NOT YET F6B19820 TIVS1 PAX ,4 YES F6B19830 CAL CHART,4 GET APPROPRIATE SUBCHARACTER F6B19840 TNX TIVS2+1,1,1 IS ENTIRE SUBFIELD SCANNED F6B19850 ALS 22,2 NO, POSITION CHARACTER F6B19860 ORS ERASE AND ADD TO PARTIAL PSEUDOSYMBOL F6B19870 PXD ,0 F6B19880 LGL 5 GET NEXT CHARACTER F6B19890 TXI TIVS1,2,6 BUMP POSITION COUNT TO NEXT CHARACTER F6B19900 TIVS2 CAL BLANK GET FOLLOWING BLANKS F6B19910 LDQ BLNKS F6B19920 LGL 22,2 POSITION F6B19930 ORA ERASE AND ADD TO SYMBOL F6B19940 TIVSX AXT **,1 RELOAD LINE COUNT F6B19950 AXT **,2 RELOAD TIV TABLE COUNT F6B19960 AXT **,4 RELOAD CALLING LINKAGE F6B19970 TRA 1,4 F6B19980 REM F6B19990 REM CONVERT SUB OR MAIN IFN TO LISTING SYMBOL F6B20000 REM FIRST SIX BITS OF SYMBOL (ZERO) HAVE BEEN DISCARDED F6B20010 REM REMAINDER OF SYMBOL IS IN MQ F6B20020 REM LISTING SYMBOL WILL BE LEFT ADJUSTED IN MQ F6B20030 TIVNF SXA DECCX,4 SAVE CALLING LINKAGE F6B20040 LGR 20 SHIFT IN 12 BIT INTERNAL FORMULA NUMBER F6B20050 STO ERASE AND SAVE F6B20060 PXD ,0 F6B20070 LGR 31 RIGHT ADJUST INCREMENT F6B20080 DVP L(10) CONVERT INCREMENT TO DECIMAL F6B20090 TNZ *+2 IS INCREMENT ZERO F6B20100 CAL BLANK YES, REPLACE DIGIT WITH BLANK F6B20110 SLW ERAS2 AND SAVE F6B20120 LGL 36 GET REMAINDER F6B20130 PAX ,2 F6B20140 CAL ALPHA,2 PICK UP LEADING ALPHABETIC CHARACTER F6B20150 ALS 6 POSITION LEADING CHARACTER F6B20160 ORA ERAS2 GET FOLLOWING DIGIT F6B20170 LDQ BLNKS PICK UP FOLLOWING BLANKS F6B20180 LGR 12 LEFT ADJUST IN MQ F6B20190 CLA ERASE PICK UP INTERNAL FORMULA NUMBER F6B20200 REM F6B20210 REM CONVERT BINARY NUMBER TO DECIMAL F6B20220 REM BINARY NUMBER IS RIGHT ADJUSTED IN AC F6B20230 REM DECIMAL NUMBER WILL BE LEFT ADJUSTED IN MQ F6B20240 SAPDC STQ ERAS2 SAVE FOLLOWING CHARACTERS F6B20250 SLN 4 SET MQ FLAG F6B20260 REM DECIMAL NUMBER WILL BE RIGHT ADJUSTED IN AC F6B20270 DECCV SXA DECCX,4 SAVE CALLING LINKAGE F6B20280 XCA GET BINARY NUMBER IN MQ F6B20290 STZ ERAS1 CLEAR WORKING STORAGE F6B20300 AXT 0,4 SET CHARACTER COUNT TO LEAST SIGNIF DIGIT F6B20310 DECC1 PXD ,0 F6B20320 DVP L(10) DIVIDE BY TEN F6B20330 ALS 0,4 ADJUST POSITION OF REMAINDER F6B20340 ORS ERAS1 INSERT IN DECIMAL NUMBER F6B20350 CLA L(1) IS REMAINDER ZERO F6B20360 TLQ *+2 YES, CONVERSION IS COMPLETE F6B20370 TXI DECC1,4,-6 NO, BUMP CHARACTER COUNT LEFT ONE DIGIT F6B20380 REM BINARY NUMBER IS CONVERTED F6B20390 SLT 4 IS MQ FLAG ON F6B20400 TRA *+5 NO F6B20410 CAL ERAS1 YES, PICK UP DECIMAL NUMBER F6B20420 LDQ ERAS2 AND FOLLOWING CHARACTERS F6B20430 LGR 6,4 LEFT ADJUST IN MQ F6B20440 TRA DECCX F6B20450 CAL BLNKS INSERT LEADING BLANKS F6B20460 ALS 6,4 F6B20470 ORA ERAS1 PICK UP DECIMAL NUMBER F6B20480 DECCX AXT **,4 RELOAD CALLING LINKAGE F6B20490 TRA 1,4 F6B20500 REM F6B20510 REM CONVERT BINARY WORD TO TWO OCTAL WORDS F6B20520 REM BINARY WORD IS IN MQ F6B20530 REM SIGN WILL BE IN ERASE, FIRST IN ERAS1, SECOND IN ERAS2 F6B20540 OCTCV CAL PLUSS SET SIGN PLUS (TENTATIVELY) F6B20550 TQP *+3 IS BINARY WORD POSITIVE F6B20560 CAL MINUS NO, RESET SIGN MINUS F6B20570 LRS 0 DELETE SIGN FROM BINARY WORD F6B20580 SLW ERASE SAVE SIGN F6B20590 AXT 2,2 PREPARE TO CONVERT OPCODE TO TWO BCD WORDSF6B20600 OCTC1 AXT 6,1 PREPARE TO GENERATE 6 BCD CHARACTERS F6B20610 ALS 3 CREATE ZONE F6B20620 LGL 3 SHIFT IN DIGIT F6B20630 TIX *-2,1,1 IS WORD COMPLETE F6B20640 SLW ERAS3,2 YES SAVE IT F6B20650 TIX OCTC1,2,1 IS BINARY WORD EXHAUSTED F6B20660 TRA 1,4 YES F6B20670 REM F6B20680 REM F6B20690 REM PREPARE A TWO WORD STORAGE MAP ENTRY F6B20700 REM BLANK WORD, BCD NAME F6B20710 REM NAME IS IN MQ F6B20720 LINE0 SLN 4 SET ENTRY POINT NAME FLAG F6B20730 SXA LINEX,4 SAVE CALLING LINKAGE F6B20740 CAL BLNKS SET WORD 1 BLANK F6B20750 SLW PBUFF+1,1 F6B20760 STQ PBUFF+2,1 INSERT SYMBOL IN WORD 2 F6B20770 SLT 4 IS THIS EIF TABLE ENTRY F6B20780 TRA LINE3 YES F6B20790 TIX LINEX,1,2 NO, IS LINE FULL F6B20800 TRA LINE5 YES F6B20810 REM PREPARE A FOUR WORD STORAGE MAP ENTRY F6B20820 REM BLANK WORD, BCD NAME, DECIMAL LOCATION, OCTAL LOCATION F6B20830 REM NAME IS IN MQ, BINARY LOCATION IN AC ADDRESS F6B20840 LINE1 SXA LINEX,4 SAVE CALLING LINKAGE F6B20850 STA ADDRS SAVE BINARY LOCATION F6B20860 CAL BLNKS PICK UP BLANKS TO RIGHT ADJUST SYMBOL F6B20870 SLW PBUFF+1,1 INSERT IN FIRST WORD F6B20880 SLW PBUFF+2,1 AND (TENTATIVELY) IN SECOND WORD F6B20890 AXT 6,4 PREPARE TO RIGHT ADJUST 6 CHARACTERS F6B20900 LINE2 LGL 6 SHIFT IN NEXT CHARACTER F6B20910 SLW ERASE SAVE PARTIALLY ADUSTED SYMBOL F6B20920 ANA CHMSK MASK IN LAST CHARACTER F6B20930 ERA BLANK IS IT BLANK F6B20940 TZE *+4 YES F6B20950 CAL ERASE NO, INSERT PARTIALLY ADJUSTED SYMBOL F6B20960 SLW PBUFF+2,1 IN SECOND WORD F6B20970 TIX LINE2,4,1 HAVE SIX CHARACTERS BEEN ADJUSTED F6B20980 LINE3 CLA ADDRS PICK UP BINARY LOCATION F6B20990 TSX DECCV,4 *CONVERT TO BCD DECIMAL F6B21000 SLW PBUFF+3,1 IN THIRD WORD F6B21010 LINE4 CLA ADDRS PICK UP BINARY LOCATION F6B21020 LRS 15 LEFT ADJUSTED IN MQ F6B21030 CLA BLANK PICK UP MARKER F6B21040 TNO *+1 TURN OFF TRIGGER F6B21050 ALS 3 CREATE ZONE F6B21060 LLS 3 SHIFT IN OCTAL DIGIT F6B21070 TNO *-3 IS MARKER LEFT ADJUSTED F6B21080 SLW PBUFF+4,1 YES, INSERT OCTAL LOCATION IN FOURTH WORD F6B21090 TIX LINEX,1,4 IS LINE FULL F6B21100 LINE5 TSX WRITS,4 *WRITE OFF THIS LINE F6B21110 IOLIN IOCT LINEB,,20 $F6B21120 LINEX AXT **,4 RELOAD CALLING LINKAGE F6B21130 TRA 1,4 F6B21140 REM F6B21150 REM WRITE LINE ON STORAGE MAP F6B21160 WRITE SLN 3 ENTRY FOR TITLE F6B21162 TRA *+2 F6B21164 WRITS SLN 4 ENTRY POINT TO SUPPRESS SPACE SKIP F6B21170 CLA 1,4 INITIALIZE I/O COMMAND F6B21180 STO WRIT1 F6B21190 SXA WRITX,4 SAVE CALLING LINKAGE F6B21200 PGLCT AXT **,1 LOAD PAGE LINE COUNT F6B21210 SLT 4 IS THIS SINGLE SPACE F6B21220 TIX *+1,1,1 NO, BUMP LINE COUNT FOR SPACE F6B21230 SLT 3 IS THIS A TITLE CALL F6B21232 TRA *+2 NO F6B21234 TXL *+2,1,4 PREVENT LONELY TITLE F6B21236 TIX *+2,1,1 IS PAGE FULL F6B21240 TSX HEDPG,4 *YES, PRINT PAGE HEADING F6B21250 SXA WRITE+6,1 SAVE PAGE LINE COUNT F6B21260 LXD WRCT1,1 RESET LINE WORD COUNT F6B21270 TSX WRIT2,4 *WRITE OFF THIS LINE F6B21280 WRIT1 PZE F6B21290 WRITX AXT **,4 RELOAD CALLING LINKAGE F6B21300 TRA 2,4 F6B21310 REM F6B21320 REM WRITE OFF FINAL PARTIAL LINE F6B21330 WRIPL TXH WRIPX,1,19 DOES PARTIAL LINE EXIST F6B21340 PXD ,1 YES, COMPUTE LENGTH OF PARTIAL LINE F6B21350 SBM IOLIN F6B21360 SLW *+2 INITIALIZE I/O COMMAND F6B21370 TSX WRIT2,4 *WRITE OFF PARTIAL LINE F6B21380 IOCT **,,** $F6B21390 LXA PGLCT,1 BUMP LINE COUNT BUT DO NOT CREATE F6B21400 TIX *+1,1,1 PRINTERS WIDOW F6B21410 SXA PGLCT,1 F6B21420 LXD WRCT1,1 $F6B21430 WRIPX TRA 1,2 F6B21440 REM F6B21450 REM WRITE MACHINE LANGUAGE LISTING, FINAL PAGE. F6B21460 LISTG CLA 1,4 INITIALIZE I/O COMMAND F6B21470 STO LIST0+2 F6B21480 LIST0 SXA LISTX,4 SAVE CALLING LINKAGE F6B21490 TSX WRIT2,4 *WRITE OFF NEXT LINE F6B21500 IOCT **,,** $F6B21510 LXA LIST0+2,4 BUMP PARAMETER FOR NEXT LINE F6B21520 TXI *+1,4,18 F6B21530 SXA LIST0+2,4 F6B21540 TIX LIST0+1,1,1 IS PAGE EXHAUSTED F6B21550 LISTX AXT **,4 YES, RELOAD CALLING LINKAGE F6B21560 TRA 2,4 F6B21570 REM F6B21580 REM WRITE PAGE HEADING F6B21590 HEDPG SXA HEDPX,4 SAVE CALLING LINKAGE F6B21600 TSX WRIT2,4 *WRITE PAGE HEADING F6B21610 IOCT XPGHED,,18 $F6B21620 ZSA XLSTCT RESET POSITION OF LISTING TAPE $F6B21630 TSX WRIT2,4 *WRITE BLANK LINE F6B21640 IOCT BLNKS,,3 $F6B21650 CAL* ORGLCT BUMP PAGE NUMBER F6B21660 ADD D(1) F6B21670 STD* ORGLCT F6B21680 ANA REWND MASK IN PAGE NUMBER F6B21690 LDQ L(0) PREPARE TO CONVERT PAGE NUMBER TO DECIMAL F6B21700 LRS 22 HUNDREDS F6B21710 VDP L(100,,4 F6B21720 RQL 6 F6B21730 LRS 4 TENS F6B21740 VDP L(10),,4 F6B21750 RQL 6 F6B21760 STQ XPGHED+17 F6B21770 ORA XPGHED+17 COMBINE WITH ONES F6B21780 LDQ BLNKS LEFT ADJUST F6B21790 LGR 6 F6B21800 TNZ *-1 F6B21810 STQ XPGHED+17 INSERT IN PAGE HEADING F6B21820 HDPCT AXT 56,1 RESET LINE COUNT TO EMPTY PAGE F6B21830 HEDPX AXT **,4 RELOAD CALLING LINKAGE F6B21840 TRA 1,4 F6B21850 REM F6B21860 REM WRITE LINE ON AND OFF LINE F6B21870 WRIT2 SXA WRT2X,4 SAVE CALLING LINKAGE F6B21880 SXA WRT2X+1,1 F6B21881 SXA WRT2X+2,2 F6B21882 CLA 1,4 INITIALIZE I/O COMMAND. $F6B21888 SSP AVOID DIFFICULTIES WHEN ADDING. $F6B21890 STD PRINT+1 SET ON LINE PARAMETER. $F6B21910 STA PRINT+1 $F6B21911 PDX 0,4 $F6B21920 WRCT1 TNX *+2,4,20 IS LINE LONGER THAN PERMITTED $F6B21930 AXT 12,4 YES, TRUNCATE IT AND $F6B21931 SXD PRINT+1,4 SET WORD COUNT $F6B21932 SXA ERASE,4 SET UP MOVE F6B21933 ADM ERASE LOOP. F6B21934 STA MOVER F6B21935 LAC WRITT+1,2 PICK UP FLIPPER. F6B21936 WRIT3 TXL PRINT,4,-1 IS THIS THE FIRST FILE. F6B21950 BLKWD AXT **,1 LOAD BLOCK WORD COUNT. F6B21980 BLKQT TXL MOVER,1,-1 (IF BLOCKED LISTING DECREMENT = 0) F6B22000 CAL RECMK NOT YET, PLACE RECORD MARK F6B22010 SLW* WRTCM+1,2 AS LAST WORD OF PREVIOUS LINE. F6B22020 TXI *+1,1,-1 BUMP WORD COUNT PICK UP. F6B22040 MOVER CAL **,4 MOVE GIVEN LINE TO ONE F6B22070 SLW* WRTCM+1,2 OR THE OTHER BUBBLE DUFFER. F6B22080 TXI *+1,1,-1 BUMP WORD COUNT OF BLOCK. F6B22082 TIX *-3,4,1 ANY MORE WORDS... F6B22083 SXA BLKWD,1 SAVE BLOCK WORD COUNT. F6B22084 LINES AXT **,4 BUMP F6B22085 TXI *+1,4,1 BLOCK F6B22086 SXA *-2,4 LINE COUNT. F6B22090 TXL NOWRT,4,4 IS BLOCK READY TO BE WRITTEN F6B22093 TSX WRBLK,4 WRITE BLOCK F6B22100 NOWRT NZT XSWCH3 IS ON-LINE PRINT REQUESTED... F6B22107 TRA *+3 F6B22108 PRINT TSX (PRNT),4 *PRINT LINE ON-LINE F6B22109 PZE **,,** F6B22110 WRT2X AXT **,4 F6B22111 AXT **,1 RELOAD WORD COUNT THUS FAR. F6B22112 AXT **,2 F6B22113 TRA 2,4 F6B22114 REM F6B22114 REM ROUTINE TO WRITE BLOCK F6B22114 WRBLK SXA WRBLX,4 SAVE CALLING LINKAGE F6B22114 LAC BLKWD,1 SET F6B22115 PXD ,1 UP F6B22116 STD WRTCM,2 I/O COMMAND WORD COUNT. F6B22117 TSX (TAPE),4 WRITE OFF LINE OR BLOCK. F6B2211A PZE WRTCM,2,(WDNP) I/O COMMAND INDEXED,DOUBLE BUFFER. F6B2211B WRITT PZE ,,MLSTAP F6B2211C AXC 1,2 FLIP BUFFER INDEX F6B2211D SXA *-1,2 F6B2211E CAL* ORGLCT BUMP LINE COUNT. F6B2211I ADM LINES F6B2211J STA* ORGLCT F6B2211K CLA XLSTCT BUMP LISTING TAPE POSITION $F6B2211L SBM LINES COUNTER. F6B2211M STA XLSTCT F6B2211N ZSA BLKWD RESET BLOCK WORD COUNT. F6B2211O ZSA LINES RESET BLOCK LINE COUNT. F6B2211P WRBLX AXT **,4 F6B2211Q TRA 1,4 F6B2211R REM ROUTINE TO WRITE FINAL BLOCK F6B2211R WFBLK SXA WFBLX,4 SAVE CALLING LINKAGE F6B22120 LXA BLKWD,1 LOAD BLOCK WORD COUNT F6B2212A TXL WFBLX,1,0 IS BLOCK EMPTY F6B2212C LAC WRITT+1,2 NO, PICK UP FLIPPER F6B2212E CAL FRCMK PLACE FINAL RECORD MARK AFTER F6B2212G SLW* WRTCM+1,2 LAST LINE OF LISTING F6B2212J TXI *+1,1,-1 BUMP BLOCK LINE COUNT F6B2212L SXA BLKWD,1 AND SAVE IT F6B2212N TSX WRBLK,4 WRITE BLOCK F6B2212P WFBLX AXT **,4 RETURN F6B2212R TRA 1,4 F6B2212T REM F6B2212X REM SPACE PAGE ON LINE F6B2212Z SPACP TSX (PRNT),4 *SPACE PAGE UP TWO LINES F6B22130 PZE SPACE,,1 F6B22140 TSX (PRNT),4 *SPACE PAGE UP TWO MORE LINES F6B22150 PZE SPACE,,1 F6B22160 HPR F6B22162 TRA 1,2 F6B22170 REM F6B22180 REM GENERATE COLUMN BCD CARD SERIALIZATION (CC 73 - 80) F6B22190 REM TWO WORDS (SIX CHAR) NAME, ONE WORD (TWO DIGIT) SERIAL F6B22200 REM THIS SUBROUTINE IS LIMITED TO ALPHANUMERIC CHARACTERS F6B22210 REM BLANKS WILL BE CONVERTED TO ZERO (OCT 12 WILL BE BLANK) F6B22220 IDENT SXA IDENX,4 SAVE CALLING LINKAGE F6B22230 AXT 1,4 SET CHARACTER COUNT TO LEFTMOST CHARACTER F6B22240 ZAC F6B22250 LGL 2 GET ZONE F6B22260 PAX ,2 INTO XR2 F6B22270 ZAC F6B22280 LGL 4 GET DIGITS F6B22290 PAX ,1 INTO XR1 F6B22300 CAL ZONER,2 PICK UP ZONE BITS (12, 11, 0) F6B22310 ANA L(7) MASK IN NO ZONE F6B22320 ALS 9 POSITION ZONE BITS F6B22330 ORA DIGIT,1 PICK UP DIGIT BITS (0,1,2,3,4,5,6,7,8,9) F6B22340 SLW BMPBF+9,4 INSERT NEXT CHARACTER F6B22350 TXI *+1,4,1 BUMP CHARACTER COUNT RIGHT ONE CHARACTER F6B22360 TXL IDENT+2,4,8 HAVE 8 CHARACTERS BEEN CREATED (CC 73-80) F6B22370 TSX PAKID,4 *YES, INSERT THEM IN LABEL F6B22380 IDENX AXT **,4 RELOAD CALLING LINKAGE F6B22390 TRA 1,4 F6B22400 EJECT F6B22405 REM F6B22410 REM F6B22411 REM ROUTINE TO POSITION THE SYSTEM TAPE**********************F6B22412 SYSPS SXA SYSPX,4 SAVE CALLING LINK. F6B22413 CAL 1,4 PICK UP PARAMETER FOR TAPE POSITIONING F6B22414 STA *+2 F6B22415 TSX (TAPE),4 *REPOSITION SYSTEM TAPE. F6B22416 PZE **,,(SKBP) F6B22417 PZE ,,SYSTAP F6B22418 SYSPX AXT **,4 RETURN TO CALLER. F6B22419 TRA 2,4 F6B2241A REM F6B2241B REM CONSTANTS TO POSITION THE SYSTEM TAPE F6B2241C REPS1 MZE 3,,** REPOSITION LIBE TAPE AT END OF RECORD 31 F6B2241D REPS2 MZE 0,,1 BACKSPACE SYSTEM TAPE OVER SECOND FILE F6B2241E BKSPC MZE 1,,0 F6B2241H SCNBS MZE 7,,0 REPOSITION SYSTEM TAPE TO MONITOR SCAN F6B2241I REM (BACKSPACE OVER 9A, SPERR 9, MERR8, LIBE SEARCH 7A, F6B2241J REM BSS CONTROL 7, DEBUG 6A, SCAN 6. F6B2241K BKS2F MZE ,,2 F6B2241M UNLOD MZE ,,-1 F6B2241O REM CHANGE REPS2 TO PZE 0,,-1 TO REWIND SYSTEM TAPE. CHANGE F6B2241P REM SCNBS TO PZE 6,,0 TO SPACE FORWARD OVER 1TOCS (IOP), F6B2241Q REM CTSM, SIGN-ON, DUMP, FAP 4-5. F6B2241R REM F6B2241S REM F6B2241T EJECT F6B2241U REM INSERT BINARY WORD INTO CARD IMAGE BUFFER AND WRITE OFF F6B22420 REM FULL CARDS ON BINARY TAPE 3. PUNCH ON LINE IF REQUIRED F6B22430 PUNCH SXA PNCHX,4 SAVE CALLING LINKAGE F6B22440 AXT **,4 LOAD RELOCATION BIT COUNT F6B22450 AXT **,2 LOAD CARD WORD COUNT F6B22460 SLW PCH9L+24,2 INSERT WORD IN PUNCH BUFFER F6B22470 TXI *+1,4,2 SET DECR, ADDR, NOT RELOCAT (BITS = 00) F6B22480 LDQ RLBIT GET RELOCATION BITS F6B22490 CLA L(1) IS ADDRESS RELOCATABLE F6B22500 TLQ PNCH1 NO F6B22510 TXI *+1,4,1 YES, BUMP BIT COUNT FOR RELOCATION BITS F6B22520 ZAC (BITS = 010 OR 011) F6B22530 LGL 72,4 POSITION BITS IN LEFT WORD F6B22540 ORS PCH8L IF BIT COUNT IS LESS THAN 36 F6B22550 LGL 36 POSITION BITS IN RIGHT WORD F6B22560 ORS PCH8R IF BIT COUNT IS GREATER THAN 36 F6B22570 PNCH1 SXA PUNCH+1,4 SAVE RELOCATION BIT COUNT F6B22580 TIX BMPI2,2,1 IS CARD IMAGE FULL F6B22590 TXI PCHLC+1,2,19 YES, SET WORD COUNT TO 20 F6B22600 REM PUNCH LAST CARD F6B22610 PCHLC SXA PNCHX,4 SAVE CALLING LINKAGE F6B22620 SXD PCH9L,2 INSERT CARD WORD COUNT IN 9L DECREMENT F6B22630 LXD PCH9L,4 F6B22640 TXI *+1,4,2 BUMP CARD WORD COUNT TO FULL CARD $F6B22650 TXI PCHPC+3,2,2 $F6B22651 REM PUNCH NON RELOCATABLE CARD F6B22660 PCHPC SXA PNCHX,4 SAVE CALLING LINKAGE F6B22670 SXD PCH9L,2 SET CARD WORD COUNT IN 9L DECREMENT F6B22680 LXD PCH9L,4 F6B22690 TXI *+1,2,PCH8L GET ORIGIN AT END OF CARD F6B22700 SXA *+2,2 INITIALIZE CHECKSUM COMPUTATION F6B22710 CAL PCH9L PICK UP 9 LEFT F6B22720 ACL **,4 ADD IN REST OF CARD F6B22730 TIX *-1,4,1 IS CHECKSUM COMPLETE F6B22740 TRA AAAAA GO TO PATCH *F6B22750 REM PUNCH LIBRARY DATA CARD F6B22810 PCHLD SXA PNCHX,4 SAVE CALLING LINKAGE F6B22820 STL CBSWT $F6B22821 PNCH2 AXC 1,1 LOAD BUFFER INDEX F6B22830 SXA *-1,1 FLIP BUFFER INDEX F6B22836 AXT 24,4 LOAD BUFFER LENGTH F6B22838 CAL PCH9L+24,4 MOVE CARD IMAGE F6B22840 SLW* BOTBF,1 INTO MONITOR OUTPUT BUFFER F6B22842 SLW* BITBF,1 AND INTERMEDIATE OUTPUT BUFFER F6B22844 TIX *-3,4,1 F6B22848 AXT 3,4 LOAD ID LENGTH F6B22850 CAL IDBUF+3,4 MOVE ID F6B22852 SLW* BOTBF+1,1 INTO MONITOR OUTPUT BUFFER F6B22854 TIX *-2,4,1 F6B22856 PNCH3 TXL PNCH8,4,-1 IS MONITOR OUTPUT REQUIRED F6B22858 CAL OFLCB YES, INSERT COLUMN BINARY BITS F6B22860 ORS* BOTCB,1 INTO 9L F6B22862 NZT CBSWT ARE BITS IN CHECKSUM $F6B22863 TRA *+3 NO $F6B22864 STZ CBSWT YES $F6B22865 TRA PNCH7 $F6B22866 ACL* BOTCB+1,1 ADD INTO CHECKSUM $F6B22867 ZET* BOTCB+1,1 IS THERE A CHECKSUM $F6B22868 SLW* BOTCB+1,1 YES, INSERT INTO 9R $F6B22869 TRA PNCH7 F6B22870 CBSWT PZE NONZERO IF COL BIN BITS ALREADY IN CKSUM $F6B22871 REM ERROR ON MONITOR BINARY OUTPUT TAPE F6B22872 PNCH4 TSX (TAPE),4 *WRITE END FILE ON STACK TAPE F6B22874 PZE ,,(WEFP) F6B22876 PZE ,,MBNTAP F6B22878 MZE *+1 F6B22880 TSX (TAPE),4 *WRITE ANOTHER F6B22882 PZE ,,(WEFP) F6B22884 PZE ,,MBNTAP F6B22886 MZE *+1 F6B22888 TSX (TAPE),4 *UNLOAD STACK TAPE F6B22900 PZE UNLOD,,(SKBP) F6B22902 PZE ,,MBNTAP F6B22904 LDI* ORGFLG LOAD MONITOR FLAGS F6B22906 AXT 5,4 PREPARE TO PRINT 'CHANGE TAPE' F6B22908 RNT 000200 IS EXECUTION REQUESTED F6B22910 TRA PNCH5+2 NO F6B22912 RIR 000200 YES, RESET EXECUTION FLAG F6B22914 SXD EOF07,0 SET EXECUTION DELETED SWITCH F6B22916 RNT 100000 DOES EXECUTION FOLLOW THIS COMPILE F6B22918 TRA PNCH5 NO F6B22920 RIR 100000 YES, RESET FLAG F6B22922 TSX SYSPS,4 *REPOSITION SYSTEM TAPE F6B22924 PZE REPS2 BEFORE FIRST FILE. F6B22926 PNCH5 STI* ORGFLG RESET FLAGS F6B22930 AXT 9,4 APPEND 'EXECUTION DELETED' F6B22932 REM REENTRY FOR NO EXECUTION F6B22934 SXD *+2,4 INITIALIZE I/O PARAMETER WORD COUNT F6B22936 TSX (PRNT),4 *PRINT 'CHAHGE TAPE/EXECUTION DELETED' F6B22938 PZE DLXEM,,** F6B22940 TSX SPACP,2 *SPACE PAGE F6B22942 LAC PNCH2,2 LOAD INDEX OF BUFFER IN ERROR F6B22944 TSX (TAPE),4 *REWRITE ERROR RECORD F6B22946 PNCH6 PZE BOTIO,2,(WBNP) (RESET TO WROW FOR ROW BINARY) F6B22948 PZE ,,MBNTAP F6B22950 PZE PNCH4 F6B22952 CLA L(1) RESET COUNT OF BINARY CARDS OUTPUT F6B22954 STA XCRDCT F6B22956 REM STACK BINARY OUTPUT F6B22958 PNCH7 TSX (TAPE),4 *WRITE MONITOR BINARY OUTPUT TAPE F6B22960 PZE BOTIO,1,(WBNP) (RESET TO WROW FOR ROW BINARY) F6B22962 PZE ,,MBNTAP F6B22964 PZE PNCH4 F6B22966 CAL XCRDCT BUMP MONITOR BINARY OUTPUT RECORD COUNT F6B22968 ADD L(1) F6B22970 STA XCRDCT F6B22972 REM WRITE SINGLE COMPILE/PUNCH INTERMEDIATE TAPE F6B22974 PNCH8 TXL PNCH9,4,-1 IS SINGLE COMPILE/ONLINE PUNCH REQUESTED F6B22976 CAL BITBF YES, INSERT COLUMN BINARY BITS F6B22978 ORS* BITCB,1 INTO 9L F6B22980 ACL* BITCB+1,1 AND INTO CHECKSUM F6B22982 ZET* BITCB+1,1 IS THERE A CHECKSUM F6B22984 SLW* BITCB+1,1 YES, INSERT INTO 9R F6B22986 TSX (TAPE),4 *WRITE BINARY INTERMEDIATE TAPE F6B22988 PZE BITIO,1,(WBNP) F6B22990 PZE ,,SBNTAP F6B22992 PZE *+2 F6B22994 TRA PNCH9 F6B22996 REM ERROR ON BINARY INTERMEDIATE TAPE F6B22998 TSX (TAPE),4 *REWIND INTERMEDIATE TAPE F6B23000 PZE REWND,,(SKBP) F6B23002 PZE ,,SBNTAP F6B23004 TSX (PRNT),4 *PRINT 'ONLINE CARDS DELETED' F6B23006 PZE DELOL,,14 F6B23008 TSX SPACP,2 *SPACE PAGE F6B23010 AXT -1,2 RESET SWITCH F6B23012 SXD PNCH8,2 F6B23014 SXA XSWCH1,2 RESET ONLINE CARDS SWITCH SETTING F6B23016 REM REENTRY FOR NO SINGLE COMPILE/PUNCH INTERMEDIATE TAPE F6B23018 PNCH9 SXA PUNCH+1,0 RESET RELOCATION BIT COUNT F6B23020 CLA PCH9L BUMP LOAD POINT FOR NEXT CARD F6B23030 ADD L(20) F6B23040 STA PCH9L F6B23050 AXT 23,4 CLEAR PUNCH BUFFER 9R, 8-12 ROWS F6B23060 STZ PCH9L+24,4 F6B23070 TIX *-1,4,1 F6B23080 AXT 8,4 PREPARE TO BUMP 8 DIGITS (CC 73-80) F6B23090 BMPI0 CAL BMPBF+9,4 LOAD NEXT MORE SIGNIFICANT CHARACTER F6B23100 PAI F6B23110 RFT 6000 IS IT NONNUMERIC F6B23120 TRA BMPI1+2 YES F6B23130 RNT 1000 MAYBE, IS THERE A ZERO PUNCH F6B23140 TRA *+3 NO F6B23150 RFT 0777 YES, ARE THERE ANY DIGIT PUNCHES F6B23160 TRA BMPI1+2 YES F6B23170 RNT 0001 NO, IS THE DIGIT 9 F6B23180 TRA BMPI1 NO F6B23190 CAL DIGIT YES, PICK UP ZERO F6B23200 SLW BMPBF+9,4 RESET THIS ORDER DIGIT F6B23210 TIX BMPI0,4,1 HAVE ALL DIGITS BEEN RESET F6B23220 TRA BMPI1+2 YES F6B23230 BMPI1 ARS 1 BUMP LAST DIGIT BY ONE F6B23240 SLW BMPBF+9,4 F6B23250 TSX PAKID,4 *INSERT NEW SERIALS IN LABEL F6B23260 AXT 20,2 RESET WORD COUNT TO 20 INSTRUCTIONS F6B23270 BMPI2 SXA PUNCH+2,2 SAVE CARD WORD COUNT F6B23280 PNCHX AXT **,4 RELOAD CALLING LINKAGE F6B23290 TRA 1,4 F6B23292 REM F6B23296 REM ROUTINE TO WRITE OFF-LINE ROW BINARY BSS LOADER F6B23300 BSSCD SXA BSSCX,4 SAVE CALLING LINK F6B23301 LDQ BSSNM PREPARE F6B23302 PCBSS TSX IDENT,4 LABEL. F6B23304 TSX (TAPE),4 WRITE CARD FOR ROW BINARY BSS LOADER. F6B23306 MZE LODIO,,(WROW) F6B23308 PZE ,,MBNTAP F6B2330A PZE *+1 IGNORE ERROR IN WRITING BSS LOADER OFFLINEF6B2330B LXA LODIO,4 BUMP ADDRESS OF F6B2330C TXI *+1,4,24 I/O COMMAND F6B2330E SXA LODIO,4 UP THROUGH BSS CODING. F6B2330F CLA IDBUF+2 F6B2330G ERA P(1) BUMP SERIAL F6B2330G ARS 1 OF F6B2330H STD IDBUF+2 THE F6B2330H STT IDBUF+2 9 CARD F6B2330H STA IDBUF+2 BSS LOADER. F6B2330I TNX PCBSS+1,4,ENDLD-25 IS END OF BSS REACHED.. F6B2330J SXD LODIO,4 ALMOST, RESET WORD COUNT, F6B2330K TXL PCBSS+1,4,24 DROP THROUGH AFTER LAST CARD. F6B2330L CLA XCRDCT BUMP MONITOR BINARY OUTPUT F6B2330N ADD L(9) RECORD COUNT F6B2330N STO XCRDCT F6B2330N BSSCX AXT **,4 RETURN F6B2330O TRA 1,4 F6B2330R LODIO IOCP LOADR,,24 I/O COMMAND FOR LOADER AND F6B2330T IOCT IDBUF,,3 LABEL. $F6B2330V REM F6B23310 REM ROUTINE TO PUNCH OFF-LINE ROW BINARY TRANSFER CARD F6B23311 PCHTC SXA PCTCX,4 F6B23312 AXT 23,4 CLEAR F6B23313 STZ PCH9L+23,4 BUFFER FOR F6B23314 TIX *-1,4,1 TRANSFER CARD. F6B23315 CAL P(4) SET 4 PREFIX IN 9L F6B23316 SLW PCH9L F6B23317 CAL ZLABL SET UP ZZZZZZZZ LABEL F6B23318 SLW PCH9L+24 FOR F6B23319 SLW PCH9L+25 SORT F6B2331A SLW PCH9L+26 ORDERING. F6B2331C TSX (TAPE),4 WRITE LABELED TRANSFER CARD F6B2331E MZE TCCOM,,(WROW) OFF-LINE F6B2331G PZE ,,MBNTAP F6B2331H PCTCX AXT **,4 RETURN F6B2331L TRA 1,4 F6B2331N TCCOM IOCP PCH9L,,24 I/O COMMANDS FOR TRANSFER CARD F6B2331O IOCT PCH9L+24,,3 AND LABEL. $F6B2331P REM F6B2331Q BMPBF DEC ,,,,,,,, F6B23320 REM F6B23330 IOCP PBUF1,,24 I/O COMMAND TO WRITE STACKED BINARY OUTPUTF6B23340 BOTIO IOCT PBUF1+24,,3 I/O COMMAND TO WRITE STACKED BINARY ID $F6B23350 IOCP PBUF2,,24 F6B23360 IOCT PBUF2+24,,3 $F6B23370 REM F6B23380 PZE PBUF1+24,4 ORIGIN OF STACKED BINARY OUTPUT BUFFER F6B23390 BOTBF PZE PBUF1+27,4 ORIGIN OF STACKED BINARY ID BUFFER F6B23400 PZE PBUF2+24,4 F6B23410 PZE PBUF2+27,4 F6B23420 REM F6B23430 PZE PBUF1 STACKED BINARY 9L F6B23440 BOTCB PZE PBUF1+1 STACKED BINARY 9R F6B23450 PZE PBUF2 F6B23460 PZE PBUF2+1 F6B23470 REM F6B23480 OFLCB PZE ,,320 STACKED BINARY CB BITS F6B23490 REM F6B23500 IOCP PBUF3,,24 I/O COMMAND TO WRITE PUNCH BINARY OUTPUT F6B23510 BITIO TCH BOTIO I/O COMMAND TO WRITE PUNCH BINARY ID F6B23520 IOCP PBUF4,,24 F6B23530 TCH BOTIO+2 F6B23540 REM F6B23550 PZE PBUF3+24,4 ORIGIN OF PUNCH BINARY OUTPUT BUFFER F6B23560 BITBF PZE ,,320 PUNCH COLUMN BINARY BITS F6B23570 PZE PBUF4+24,4 F6B23580 REM F6B23590 PZE PBUF3 PUNCH BINARY 9L F6B23600 BITCB PZE PBUF3+1 PUNCH BINARY 9R F6B23610 PZE PBUF4 F6B23620 PZE PBUF4+1 F6B23630 REM F6B23640 REM F6B23710 REM INSERT NEW SERIALS IN LABEL F6B23720 PAKID SXA PAKIX,4 SAVE CALLING LINKAGE F6B23730 AXT 3,4 PREPARE TO GENERATE 3 ID WORDS F6B23740 AXT 0,2 PREPARE TO PACK 3 CHARACTERS IN EACH WORD F6B23750 CAL BMPBF+8,2 PACK LEFTMOST CHARACTER F6B23760 ALS 12 F6B23770 ACL BMPBF+7,2 CENTERMOST CHARACTER F6B23780 ALS 12 F6B23790 ACL BMPBF+6,2 RIGHTMOST CHARACTER F6B23800 SLW IDBUF+3,4 IN NEXT WORD F6B23810 TXI *+1,2,3 BUMP CHARACTER COUNT RIGHT 3 CHARACTERS F6B23820 TIX PAKID+3,4,1 HAVE THREE WORDS BEEN PACKED F6B23830 PAKIX AXT **,4 YES, RELOAD CALLING LINKAGE F6B23840 TRA 1,4 F6B23850 REM F6B23860 REM F6B23870 REM CONSTANTS F6B23880 REM F6B23890 OPLST PZE ,,4 F6B23900 DUP 1,5 EXPANSION SPACE FOR ADDITIONAL PSEUDOOPS F6B23910 BCI 1,000000 F6B23920 BCI 1,OCT000 F6B23930 BCDOP BCI 1,BCD000 F6B23940 BCI 1,BSS000 F6B23950 BCI 1,SYN000 F6B23960 REM F6B23970 REM BIT GENERATORS TO CREATE COLUMN BCD F6B23980 L(0) PZE 0 F6B23990 L(1) PZE 1 9 BIT 0 ZONE F6B24000 L(2) PZE 2 8 BIT 11 ZONE F6B24010 L(4) PZE 4 7 BIT 12 ZONE F6B24020 ZONER SYN * F6B24030 L(8) PZE 8 6 BIT NO ZONE F6B24040 PLUSS SYN * F6B24050 L(16) PZE 16 5 BIT F6B24060 MINUS SYN * F6B24070 PZE 32 4 BIT F6B24080 PZE 64 3 BIT F6B24090 PZE 128 2 BIT F6B24100 PZE 256 1 BIT F6B24110 DIGIT PZE 512 0 BIT F6B24120 REM F6B24130 L(3) PZE 3 F6B24140 L(7) PZE 7 F6B24150 L(9) PZE 9 F6B24155 L(10) PZE 10 F6B24160 L(20) PZE 20 F6B24170 CHMSK PZE 63 MASK TO ISOLATE SIX BIT CHARACTER F6B24180 L(100 PZE 100 F6B24190 ADMSK PZE -1 F6B24200 T(1) PZE ,1 F6B24210 T(2) PZE ,2 F6B24220 T(7) PZE ,7 F6B24230 D(1) PZE ,,1 F6B24240 D(2) PZE ,,2 F6B24250 D(3) PZE ,,3 F6B24260 D(4) PZE ,,4 F6B24270 D(22) PZE ,,22 F6B24280 REWND PZE ,,-1 F6B24290 P(1) PON F6B24300 P(2) PTW F6B24310 P(4) FOR F6B24320 P(6) SIX F6B24330 OPMSK SVN ,,-1 F6B24340 PZE 1,,0 F6B24350 PZE 2,,1 F6B24360 PADTG PZE 4,,2 F6B24370 REM F6B24380 FCARD IOCP ZEROB,,24 F6B24670 IOCT IDBUF,,3 F6B24680 LIBIO IOCP PCH9L,,2 F6B24690 IORT **,,LIBS1-PCH8L-2 F6B24700 IORT BUFF2+1,,14 F6B24710 IORT BUFF1+1,,14 F6B24720 FFILI IORT BUFF2+1,,14 F6B24730 IOCT BLKBF,,** I/O COMMANDS $F6B24737 WRTCM PZE BLKBF,1 AND BUFFERS TAGGED FOR F6B24738 IOCT BLKBF+104,,** DOUBLE BUFFERING $F6B24739 PZE BLKBF+104,1 OF LISTING TAPE F6B24740 RECMK OCT 606060606072 RECORD MARK FOR BLOCKED RECORDS. F6B24741 FRCMK OCT 606060607260 FINAL RECORD MARK FOR BLOCKED RECORDS. F6B24742 EXENM BCI 1,(EXE) F6B24743 EXEMN BCI 1,(EXEM) F6B24744 BSSNM OCT 122262620000 LABEL FOR OFF-LINE BSS LOADER F6B24745 EJTIO IOCT EJECT,,3 $F6B24746 STLBL OCT 000000126263 LABEL TO PUNCH ABC ST00 IN SYMBOL TABLE F6B24750 ZLABL OCT 100110011001 LABEL TO PUNCH ZZZZZZZZ IN TRANSFER CARD F6B24760 L(C) BCI 1,00000C F6B24770 PAREN BCI 1,00000) F6B24780 BLANK BCI 1,00000 F6B24790 COMMA BCI 1,00000, F6B24800 OPARN BCI 1,00000( F6B24810 SPACE BCI 1,0 F6B24820 EJECT BCI 1,1 F6B24830 BLNKS BCI 3, F6B24840 L(SD) BCI 1,$ F6B24850 HASHS BCI 1,****** F6B24860 PROCT BCI 1,* F6B24870 L9LBL BCI 1, 9 F6B24880 ELABL BCI 1,TEIFN6 F6B24890 FINPT BCI 1,FINPUT LABEL FOR SOURCE PROGRAM (MONITOR MODE) F6B24895 PZEOP BCI 1,PZE000 F6B24900 SXDOP BCI 1,SXD000 F6B24910 BCI 1,CLA000 F6B24920 BCI 1,ADD000 F6B24930 PROOP BCI 1,STA000 F6B24940 BCI 1,000000 F6B24950 BCI 1,900000 F6B24960 PROSM BCI 1,000000 F6B24970 BCI 1,0 011 F6B24980 BCI 1,0 010 F6B24990 BCI 1,0 001 F6B25000 SPBIT BCI 1,0 00 F6B25010 BCI 9,00000V00000U00000T00000S00000R00000Q00000P00000O00000N F6B25020 BCI 9,00000M00000L00000K00000J00000I00000H00000G00000F00000E F6B25030 BCI 3,00000D00000C00000B F6B25040 ALPHA BCI 1,00000A F6B25050 BCI 9,000009000008000007000006000005000004000003000002000001 F6B25060 CHART BCI 1,000000 F6B25070 DLXEM BCI 9,0 CHANGE BINARY OUTPUT TAPE. EXECUTION DELETED F6B25072 DELOL BCI 9,0 SINGLE COMPILE BINARY OUTPUT TAPE/ONLINE CARDS DE F6B25074 BCI 5,LETED. PUSH START TO CONTINUE. F6B25076 ENDMS BCI 7,0 END SINGLE COMPILE, READY CARD READER F6B25078 REM F6B25080 REM DICTIONARY OF MACHINE OPERATION CODES F6B25090 RGOPS PZE SYMOP,2 F6B25100 RGABS PZE ABSOP,2 F6B25110 OPRTL TXL SOPR1,2,ABSOP-SYMOP F6B25120 BCI 1,ACL000 F6B25130 BCI 1,ADD000 F6B25140 BCI 1,ADM000 F6B25150 BCI 1,ALS000 F6B25160 BCI 1,ANA000 F6B25170 BCI 1,ANS000 F6B25180 BCI 1,ARS000 F6B25190 BCI 1,AXC000 F6B25200 BCI 1,AXT000 F6B25210 BCI 1,CAD000 F6B25220 BCI 1,CAL000 F6B25230 BCI 1,CAQ000 F6B25240 BCI 1,CAS000 F6B25250 BCI 1,CFF000 F6B25260 BCI 1,CHS000 F6B25270 BCI 1,CLA000 F6B25280 BCI 1,CLM000 F6B25290 BCI 1,CLS000 F6B25300 BCI 1,COM000 F6B25310 BCI 1,CPY000 F6B25320 BCI 1,CRQ000 F6B25330 BCI 1,CVR000 F6B25340 BCI 1,DCT000 F6B25350 BCI 1,DVH000 F6B25360 BCI 1,DVP000 F6B25370 BCI 1,ENB000 F6B25380 BCI 1,ENK000 F6B25390 BCI 1,ERA000 F6B25400 BCI 1,ETM000 F6B25410 BCI 1,FAD000 F6B25420 BCI 1,FAM000 F6B25430 BCI 1,FDH000 F6B25440 BCI 1,FDP000 F6B25450 BCI 1,FMP000 F6B25460 BCI 1,FOR000 F6B25470 BCI 1,FRN000 F6B25480 BCI 1,FSB000 F6B25490 BCI 1,FSM000 F6B25500 BCI 1,FVE000 F6B25510 BCI 1,HPR000 F6B25520 BCI 1,HTR000 F6B25530 BCI 1,IIA000 F6B25540 BCI 1,IIL000 F6B25550 BCI 1,IIR000 F6B25560 BCI 1,IIS000 F6B25570 BCI 1,IOT000 F6B25580 BCI 1,LAC000 F6B25590 BCI 1,LAS000 F6B25600 BCI 1,LBT000 F6B25610 BCI 1,LCA000 F6B25620 BCI 1,LDA000 F6B25630 BCI 1,LDC000 F6B25640 BCI 1,LDI000 F6B25650 BCI 1,LDQ000 F6B25660 BCI 1,LFT000 F6B25670 BCI 1,LGL000 F6B25680 BCI 1,LGR000 F6B25690 BCI 1,LLS000 F6B25700 BCI 1,LNT000 F6B25710 BCI 1,LRS000 F6B25720 BCI 1,LTM000 F6B25730 BCI 1,LXA000 F6B25740 BCI 1,LXD000 F6B25750 BCI 1,MON000 F6B25760 BCI 1,MPR000 F6B25770 BCI 1,MPY000 F6B25780 BCI 1,MSE000 F6B25790 BCI 1,MTH000 F6B25800 BCI 1,MTW000 F6B25810 BCI 1,MZE000 F6B25820 BCI 1,NOP000 F6B25830 BCI 1,NTR000 F6B25840 BCI 1,NZT000 F6B25850 BCI 1,OAI000 F6B25860 BCI 1,OFT000 F6B25870 BCI 1,ONT000 F6B25880 BCI 1,ORA000 F6B25890 BCI 1,ORS000 F6B25900 BCI 1,OSI000 F6B25910 BCI 1,PAC000 F6B25920 BCI 1,PAI000 F6B25930 BCI 1,PAX000 F6B25940 BCI 1,PBT000 F6B25950 BCI 1,PDC000 F6B25960 BCI 1,PDX000 F6B25970 BCI 1,PIA000 F6B25980 BCI 1,PON000 F6B25990 BCI 1,PSE000 F6B26000 BCI 1,PTH000 F6B26010 BCI 1,PTW000 F6B26020 BCI 1,PXA000 F6B26030 BCI 1,PXD000 F6B26040 BCI 1,PZE000 F6B26050 BCI 1,RCD000 F6B26060 BCI 1,RDR000 F6B26070 BCI 1,RDS000 F6B26080 BCI 1,RFT000 F6B26090 BCI 1,RIA000 F6B26100 BCI 1,RIL000 F6B26110 BCI 1,RIR000 F6B26120 BCI 1,RIS000 F6B26130 BCI 1,RLA000 F6B26140 BCI 1,RND000 F6B26150 BCI 1,RNT000 F6B26160 BCI 1,RQL000 F6B26170 BCI 1, 000 F6B26180 BCI 1,SBM000 F6B26190 BCI 1,SIL000 F6B26200 BCI 1,SIR000 F6B26210 BCI 1,SIX000 F6B26220 BCI 1,SLF000 F6B26230 BCI 1,SLN000 F6B26240 BCI 1,SLQ000 F6B26250 BCI 1,SLT000 F6B26260 BCI 1,SLW000 F6B26270 BCI 1,SSM000 F6B26280 BCI 1,SSP000 F6B26290 BCI 1,STA000 F6B26300 BCI 1,STD000 F6B26310 BCI 1,STI000 F6B26320 BCI 1,STL000 F6B26330 BCI 1,STO000 F6B26340 BCI 1,STP000 F6B26350 BCI 1,STQ000 F6B26360 BCI 1,STR000 F6B26370 BCI 1,STT000 F6B26380 BCI 1,STZ000 F6B26390 BCI 1,SUB000 F6B26400 BCI 1,SVN000 F6B26410 BCI 1,SWT000 F6B26420 BCI 1,SXA000 F6B26430 BCI 1,SXD000 F6B26440 BCI 1,TAF000 F6B26450 BCI 1,TCH000 F6B26460 BCI 1,TIF000 F6B26470 BCI 1,TIO000 F6B26480 BCI 1,TIX000 F6B26490 BCI 1,TLQ000 F6B26500 BCI 1,TMI000 F6B26510 BCI 1,TNO000 F6B26520 BCI 1,TNX000 F6B26530 BCI 1,TNZ000 F6B26540 BCI 1,TOV000 F6B26550 BCI 1,TPL000 F6B26560 BCI 1,TQO000 F6B26570 BCI 1,TQP000 F6B26580 BCI 1,TRA000 F6B26590 BCI 1,TSX000 F6B26600 BCI 1,TTR000 F6B26610 BCI 1,TXH000 F6B26620 BCI 1,TXI000 F6B26630 BCI 1,TXL000 F6B26640 BCI 1,TZE000 F6B26650 BCI 1,UAM000 F6B26660 BCI 1,UFA000 F6B26670 BCI 1,UFM000 F6B26680 BCI 1,UFS000 F6B26690 BCI 1,USM000 F6B26700 BCI 1,VDH000 F6B26710 BCI 1,VDP000 F6B26720 BCI 1,VLM000 F6B26730 BCI 1,WDR000 F6B26740 BCI 1,WRS000 F6B26750 BCI 1,WTV000 F6B26760 BCI 1,XCA000 F6B26770 BCI 1,XCL000 F6B26780 BCI 1,XEC000 F6B26790 BCI 1,XIT000 F6B26800 BCI 1,ZET000 F6B26810 SYMOP SYN * F6B26820 ACL F6B26830 ADD F6B26840 ADM F6B26850 ALS F6B26860 ANA F6B26870 ANS F6B26880 ARS F6B26890 AXC F6B26900 AXT F6B26910 CAD F6B26920 CAL F6B26930 CAQ F6B26940 CAS F6B26950 CFF F6B26960 CHS F6B26970 CLA F6B26980 CLM F6B26990 CLS F6B27000 COM F6B27010 CPY F6B27020 CRQ F6B27030 CVR F6B27040 DCT F6B27050 DVH F6B27060 DVP F6B27070 ENB F6B27080 ENK F6B27090 ERA F6B27100 ETM F6B27110 FAD F6B27120 FAM F6B27130 FDH F6B27140 FDP F6B27150 FMP F6B27160 FOR F6B27170 FRN F6B27180 FSB F6B27190 FSM F6B27200 FVE F6B27210 HPR F6B27220 HTR F6B27230 IIA F6B27240 IIL F6B27250 IIR F6B27260 IIS F6B27270 IOT F6B27280 LAC F6B27290 LAS F6B27300 LBT F6B27310 LCHA (LCA) F6B27320 LDA F6B27330 LDC F6B27340 LDI F6B27350 LDQ F6B27360 LFT F6B27370 LGL F6B27380 LGR F6B27390 LLS F6B27400 LNT F6B27410 LRS F6B27420 LTM F6B27430 LXA F6B27440 LXD F6B27450 MON F6B27460 MPR F6B27470 MPY F6B27480 MSE F6B27490 MTH F6B27500 MTW F6B27510 MZE F6B27520 NOP F6B27530 NTR (TXI) F6B27540 NZT F6B27550 OAI F6B27560 OFT F6B27570 ONT F6B27580 ORA F6B27590 ORS F6B27600 OSI F6B27610 PAC F6B27620 PAI F6B27630 PAX F6B27640 PBT F6B27650 PDC F6B27660 PDX F6B27670 PIA F6B27680 PON F6B27690 PSE F6B27700 PTH F6B27710 PTW F6B27720 PXA F6B27730 PXD F6B27740 PZE F6B27750 RCDA (RCD) F6B27760 RDR F6B27770 RDS F6B27780 RFT F6B27790 RIA F6B27800 RIL F6B27810 RIR F6B27820 RIS F6B27830 RCHA (RLA) F6B27840 RND F6B27850 RNT F6B27860 RQL F6B27870 (BLANK) F6B27880 SBM F6B27890 SIL F6B27900 SIR F6B27910 SIX F6B27920 SLF F6B27930 SLN F6B27940 SLQ F6B27950 SLT F6B27960 SLW F6B27970 SSM F6B27980 SSP F6B27990 STA F6B28000 STD F6B28010 STI F6B28020 STL F6B28030 STO F6B28040 STP F6B28050 STQ F6B28060 STR F6B28070 STT F6B28080 STZ F6B28090 SUB F6B28100 SVN F6B28110 SWT F6B28120 SXA F6B28130 SXD F6B28140 TEFA (TAF) F6B28150 TCH F6B28160 TIF F6B28170 TIO F6B28180 TIX F6B28190 TLQ F6B28200 TMI F6B28210 TNO F6B28220 TNX F6B28230 TNZ F6B28240 TOV F6B28250 TPL F6B28260 TQO F6B28270 TQP F6B28280 TRA F6B28290 TSX F6B28300 TTR F6B28310 TXH F6B28320 TXI F6B28330 TXL F6B28340 TZE F6B28350 UAM F6B28360 UFA F6B28370 UFM F6B28380 UFS F6B28390 USM F6B28400 VDH F6B28410 VDP F6B28420 VLM F6B28430 WDR F6B28440 WRS F6B28450 WTV F6B28460 XCA F6B28470 XCL F6B28480 XEC F6B28490 XIT (TTR) F6B28500 ZET F6B28510 ABSOP SYN * F6B28520 REM F6B28530 REM PATCH SPACE TO ALLOW UP TO 256 OPCODES F6B28540 ORG OPRTL+512 F6B28550 REM F6B28560 REM BINARY LOADER F6B28570 LOADR SYN * F6B28580 BLKBF SYN * DOUBLE BUFFERING OVERWRITES DEAD CODING. F6B28581 UNLIST BOOLS TO DEFINE BSS LOADER VARIABLE FIELD F6B28590 STRTO BOOL 77453 F6B28600 CD8RO BOOL 77457 F6B28610 RDCDO BOOL 77461 F6B28620 IO9RO BOOL 77473 F6B28630 CNCDO BOOL 77474 F6B28640 IOTSO BOOL 77501 F6B28650 STCDO BOOL 77504 F6B28660 CMRGO BOOL 77505 F6B28670 SETIO BOOL 77514 F6B28680 ADDRO BOOL 77517 F6B28690 RELDO BOOL 77525 F6B28700 RELAO BOOL 77534 F6B28710 RELXO BOOL 77541 F6B28720 RELTO BOOL 77543 F6B28730 RELLO BOOL 77551 F6B28740 RELCO BOOL 77563 F6B28750 RELBO BOOL 77567 F6B28760 CKSMO BOOL 77573 F6B28770 RGCDO BOOL 77605 F6B28780 NOCKO BOOL 77612 F6B28790 IOONO BOOL 77614 F6B28800 PGBKO BOOL 77615 F6B28810 PRCDO BOOL 77617 F6B28820 PRC1O BOOL 77632 F6B28830 PRC2O BOOL 77643 F6B28840 PRC3O BOOL 77651 F6B28850 EPRGO BOOL 77660 F6B28860 ADMKO BOOL 77672 F6B28870 FTRAO BOOL 77673 F6B28880 INITO BOOL 77677 F6B28890 EPCTO BOOL 77713 F6B28900 RGVCO BOOL 77714 F6B28910 SRVCO BOOL 77720 F6B28920 SRV1O BOOL 77725 F6B28930 ADNMO BOOL 77734 F6B28940 INIVO BOOL 77737 F6B28950 NTSTO BOOL 77743 F6B28960 IT8LO BOOL 77755 F6B28970 IO9LO BOOL 77756 F6B28980 IO8LO BOOL 77757 F6B28990 IO8RO BOOL 77760 F6B29000 IOCDO BOOL 77761 F6B29010 PFLGO BOOL 77762 F6B29020 LCTRO BOOL 77763 F6B29030 CMBKO BOOL 77764 F6B29040 FINIO BOOL 77765 F6B29050 CLERO BOOL 77774 F6B29060 TRADO BOOL 77777 F6B29070 LIST F6B29080 CD9LO SYN 0 F6B29090 CD9RO SYN 1 F6B29100 CD8LO SYN 2 F6B29110 WDIOF SYN 99 F6B29120 REM F6B29130 REM THE FOLLOWING THREE INSTRUCTIONS ARE READ INTO 0, 1, 2 F6B29140 REM F6B29150 IOCT STRTO,,-STRTO $F6B29160 TCOA 1 F6B29170 TTR STRTO F6B29180 REM F6B29190 EPLST SYN STRTO-19 F6B29200 OVRLP SYN STRTO-17 F6B29210 TVLST SYN STRTO+3 F6B29220 REM F6B29230 STRT0 LTM RESET INDICATORS F6B29240 SLF F6B29250 TEFA STRTO+3 F6B29260 AXT -1,4 INITIALIZE MACHINE CORE SIZE F6B29270 CD8R0 SXA ADMKO,4 USED AS ERASABLE CELL FOR C(8R) F6B29280 REM F6B29290 REM REENTRY IF SUBROUTINES MISSING AFTER TRANSFER CARD F6B29300 STZ OVRLP RESET MISSING SUBROUTINE FLAG F6B29310 REM F6B29320 REM REENTRY TO GET NEXT CARD F6B29330 RDCD0 RCDA READ NEXT CARD F6B29340 RCHA IO9LO READ 9L F6B29350 LCHA IO9RO DELAY UNTIL 9L IS IN AND READ 9R F6B29360 CLA CD9LO GET 9L (PREFIX, WORD COUNT, LOAD ADDRESS) F6B29370 PDX ,1 LOAD CARD WORD COUNT F6B29380 STD IOCDO SET WORD COUNT OF I/O COMMAND F6B29390 TXL STCDO,1,31 *IS THIS DATA, TRANSFER, OR PROGRAM CARD F6B29400 TXL CNCDO,1,32 *NO, IS CARD CONTROL CARD F6B29410 LCHA IT8LO NO, MUST BE SELF LOADER. READ 8L INTO 2 F6B29420 LCHA CD9LO SIMULATE MACHINE LOAD CHANNEL FROM 0 F6B29430 IO9R0 TXL CD9RO,,1 *TRANSFER TO 1 (ALSO USED AS IOST COMMAND) F6B29440 REM F6B29450 REM CARD IS CONTROL CARD F6B29460 CNCD0 ADD LCTRO BUMP LOWER STORAGE COUNTER F6B29470 STA LCTRO BY LENGTH OF BLOCK RESERVED (9L ADDRESS) F6B29480 LCHA ADMKO DELAY UNTIL 9R READ IN F6B29490 CLA CD9RO SET COMMON ORIGIN TO F6B29500 STA CMRGO 9R ADDRESS F6B29510 IOTS0 IOT IS I/O CHECK LIGHT ON F6B29520 TRA IOONO *YES F6B29530 TRA RDCDO *NO, GET NEXT CARD F6B29540 REM F6B29550 REM SORT CARDS ON 9L PREFIX F6B29560 STCD0 ARS 15 GET 9L PREFIX F6B29570 CMRG0 PDX **,4 (ADDRESS FIELD USED AS COMMON DECREMENT) F6B29580 TMI PRCDO *IS CARD INSTRUCTION OR DATA CARD F6B29590 REM F6B29600 REM CARD IS DATA OR TRANSFER CARD (PREFIX 0, 1, 2, 3) F6B29610 CAL CD9LO GET 9L F6B29620 TZE IOTSO *IS CARD BLANK F6B29630 TXL SETIO,4,1 NO, IS THIS RELOCATABLE BINARY CARD F6B29640 LCHA IO8LO YES, CARD IS DATA OR TRANSFER (PREFIX 2,3)F6B29650 TSX RELLO,2 $RELOCATE LOAD OR TRANSFER ADDRESS F6B29660 SETI0 STA IOCDO SET LOAD ADDRESS OF I/O COMMAND F6B29670 LCHA IOCDO READ 8L (PREFIX 0, 1) OR 7L (PREFIX 2, 3) F6B29680 REM USING IOST TO DISCONTINUE AT END OF CARD F6B29690 TXL IOCDO,1,0 *IS THIS ABSOLUTE OR RELOCATABLE TRANSFER F6B29700 REM CARD (PREFIX 0, 1, 2, 3, WORD COUNT 0) F6B29710 ADDR0 PXA **,1 NO, COMPUTE LAST ADDRESS+1 OF CARD F6B29720 SUB IOCDO FOR CHECKSUM LOOP F6B29730 SLF RESET SWITCHES F6B29740 TSX CKSMO,2 $COMPUTE CHECKSUM F6B29750 TXL RDCDO,4,1 IS CARD ABSOLUTE BINARY (PREFIX 0, 1) F6B29760 LDQ CD8RO NO, LOAD RIGHT HALF RELOCATION BITS F6B29770 REM F6B29780 REM REENTRY TO RELOCATE NEXT DATA WORD F6B29790 RELD0 TSX RELBO,4 $GET NEXT RELOCATION BIT F6B29800 TPL RELAO IS DECREMENT RELOCATABLE F6B29810 CLA* RGCDO YES, GET DECREMENT PORTION OF WORD F6B29820 ARS 18 F6B29830 TSX RELTO,2 $RELOCATE DECREMENT F6B29840 ALS 18 F6B29850 STD* RGCDO INSERT RELOCATED DECREMENT F6B29860 RELA0 TSX RELBO,4 $GET NEXT RELOCATION BIT F6B29870 TPL RELXO IS ADDRESS RELOCATABLE F6B29880 CLA* RGCDO YES, GET ADDRESS PORTION OF WORD F6B29890 TSX RELTO,2 $RELOCATE ADDRESS F6B29900 STA* RGCDO INSERT RELOCATED ADDRESS F6B29910 RELX0 TIX RELDO,1,1 IS CARD EXHAUSTED F6B29920 TRA RDCDO YES, GET NEXT CARD F6B29930 REM F6B29940 REM CLOSED SUBROUTINES TO RELOCATE DATA F6B29950 REM F6B29960 REM ENTRY POINT FOR DATA F6B29970 RELT0 STA ADDRO SAVE LOCATION TO BE RELOCATED F6B29980 TSX RELBO,4 $GET NEXT RELOCATION BIT F6B29990 TPL RELTO+4 IS LOCATION DIRECTLY RELOCATABLE F6B30000 SLN 1 NO, SET COMPLEMENT RELOCATABLE FLAG F6B30010 SLN 2 SET DATA FLAG F6B30020 CAL ADDRO GET LOCATION TO BE RELOCATED F6B30030 REM F6B30040 REM ENTRY POINT FOR LOAD OR TRANSFER ADDRESS F6B30050 RELL0 ANA ADMKO COMPUTE DIFFERENCE BETWEEN LOCATION AND F6B30060 SUB PGBKO OBJECT PROGRAM BREAK F6B30070 SLT 2 IS THIS DATA F6B30080 TRA RELCO+2 NO, THIS IS LOAD OR TRANSFER ADDRESS F6B30090 TPL RELCO YES, IS LOCATION ABOVE PROGRAM BREAK F6B30100 SLT 1 NO, IS DATA LOCATION COMPLEMENT RELOC,BLE F6B30110 TRA RELCO+2 NO, GO RELOCATE NORMAL DATA UPWARDS F6B30120 REM F6B30130 REM RELOCATE COMMON STORAGE DOWNWARDS F6B30140 CAL ADDRO GET LOCATION TO BE RELOCATED F6B30150 ADM CMRGO ADD COMMON REASSIGNMENT F6B30160 TRA 1,2 F6B30170 REM F6B30180 REM REENTRY FOR LOCATIONS ABOVE PROGRAM BREAK F6B30190 RELC0 SLT 1 IS COMMON LOCATION COMPLEMENT RELOCATABLE F6B30200 TRA RELCO-3 NO, GO RELOCATE DOWNWARDS F6B30210 REM F6B30220 REM RELOCATE PROGRAM DATA UPWARDS F6B30230 ADD LCTRO ADD RELOCATED PROGRAM BREAK TO DIFFERENCE F6B30240 TRA 1,2 BETWEEN LOCATION AND OBJECT PROGRAM BREAK F6B30250 REM F6B30260 REM CLOSED SUBROUTINE TO GET NEXT RELOCATION BIT F6B30270 RELB0 CLA CD8LO GET CURRENT RELOCATION BITS F6B30280 LGL 1 SHIFT IN NEXT BIT F6B30290 SLW CD8LO SAVE RESIDUE F6B30300 TRA 1,4 F6B30310 REM F6B30320 REM CLOSED SUBROUTINE TO COMPUTE CHECKSUM F6B30330 CKSM0 STA RGCDO INITIALIZE LAST ADDRESS+1 ON CARD F6B30340 CAL CD9LO PICK UP 9L F6B30350 TCOA CKSMO+2 DELAY UNTIL CARD READ IN F6B30360 IOT IS I/O CHECK LIGHT ON F6B30370 TRA IOONO *YES F6B30380 TXL RGCDO,4,0 NO, IS CARD NONRELOCATABLE (PREFIX 0, 4) F6B30390 TXL NOCKO,4,1 NO, IS CHECKSUM IGNORED (PREFIX 1, 5) F6B30400 TXH NOCKO,4,2 NO, IS CHECKSUM IGNORED (PREFIX 3) F6B30410 ACL CD8LO NO, CARD IS RELOCATABLE WITH CHECKSUM F6B30420 ACL CD8RO (PREFIX 2), ADD IN DISJOINT 8L AND 8R F6B30430 RGCD0 ACL **,1 CHECKSUM CARD F6B30440 TIX RGCDO,1,1 F6B30450 LXD IOCDO,1 RELOAD CARD WORD COUNT F6B30460 LAS CD9RO DO CHECKSUMS AGREE F6B30470 NZT CD9RO NO, IS 9R ZERO F6B30480 NOCK0 TRA 1,2 *YES, CHECKSUM IS ACCEPTABLE F6B30490 HTR 1,2 *NO, PAUSE AND THEN ACCEPT F6B30500 IOON0 TEFA IOONO+2 WAS I/O CHECK CAUSED BY END FILE F6B30510 PGBK0 PZE ** NO, LOADING CANNOT CONTINUE F6B30520 REM (ADDRESS IS OBJECT PROGRAM BREAK) F6B30530 HTR RDCDO *YES, PAUSE AND PROCEDE F6B30540 REM F6B30550 REM CARD IS FORTRAN PROGRAM CARD (PREFIX 4, 5) F6B30560 REM FORTRAN TRANSFER CARD (PREFIX 4, WORD COUNT 0) F6B30570 REM SYMBOL TABLE CARD (PREFIX 6,7) F6B30580 PRCD0 TXH RDCDO,4,1 *IS CARD NONLOADABLE (PREFIX 6 OR 7) F6B30590 PXA ,1 NO, GET WORD COUNT AND COMPUTE F6B30600 SBM EPRGO LOAD ADDRESS FOR ENTRY POINT LIST F6B30610 STA IOCDO SET LOAD ADDRESS OF I/O COMMAND F6B30620 LCHA IOCDO READ CARD INTO ENTRY POINT LIST F6B30630 TXL FTRAO,1,0 *IS CARD FORTRAN TRANSFER CARD F6B30640 REM (PREFIX 4, WORD COUNT 0) F6B30650 CLA EPRGO NO, INITIALIZE CHECKSUM COMPUTATION F6B30660 TSX CKSMO,2 $COMPUTE CHECKSUM F6B30670 SLT 3 IS THIS FIRST PROGRAM CARD F6B30680 TXI PRC1O,1,-1 YES F6B30690 TXI EPRGO,1,-1 NO, PROGRAM CARD IMMEDIATELY PRECEDED F6B30700 PRC10 CLA* IOCDO GET 8L F6B30710 PDX ,4 LOAD LENGTH OF TRANSFER VECTOR F6B30720 LDQ LCTRO SAVE LOAD POINT FOR THIS PROGRAM F6B30730 STA PGBKO SET OBJECT PROGRAM BREAK F6B30740 ADD LCTRO BUMP RELOCATED PROGRAM BREAK BY LENGTH OF F6B30750 STA LCTRO THIS PROGRAM F6B30760 PXD ,4 GET LENGTH OF TRANSFER VECTOR F6B30770 TNZ PRC2O IS TRANSFER VECTOR EMPTY F6B30780 CLA PFLGO YES, GET VECTOR EMPTY FLAG F6B30790 PRC20 STO* IOCDO INSERT IN ENTRY POINT LIST NAME CELL F6B30800 CLA* EPRGO GET 8R F6B30810 ACL CMRGO COMPUTE REASSIGNED COMMON BREAK $F6B30820 ANA ADMKO REDUCE TO CORE SIZE F6B30830 TZE PRC3O IS COMMON REASSIGNMENT ZERO F6B30840 CAS CMBKO NO, IS THIS COMMON BREAK LOWER F6B30850 PRC30 CLA CMBKO NO, GET OLD COMMON BREAK F6B30860 NOP F6B30870 STO CMBKO RESET COMMON BREAK F6B30880 SUB LCTRO IS THIS LOWER THAN TOP OF DATA F6B30890 TMI OVRLP *YES, GO TO STOP F6B30900 STQ* EPRGO NO, INSERT LOAD POINT FOR THIS PROGRAM F6B30910 TXI EPRGO,1,-2 IN ENTRY POINT ADDRESS CELL F6B30920 EPRG0 CLA EPLST,1 GET NEXT ENTRY POINT ON LIST F6B30930 TSX RELLO,2 $RELOCATE F6B30940 STA* EPRGO INSERT RELOCATED ENTRY POINT IN LIST F6B30950 TIX EPRGO,1,2 IS CARD EXHAUSTED F6B30960 CLA IOCDO YES, RESET ORIGIN FOR NEXT CARD F6B30970 STA EPRGO F6B30980 ANA ADMKO REDUCE TO CORE SIZE F6B30990 SLN 3 SET PROGRAM CARD FLAG F6B31000 SUB LCTRO DOES ENTRY POINT LIST OVERLAP LOADED DATA F6B31010 TPL RDCDO *NO, READ NEXT CARD F6B31020 ADMK0 PZE -1 YES, LOADING CANNOT CONTINUE F6B31030 REM F6B31040 REM CARD IS FORTRAN TRANSFER CARD (PREFIX 4, WORD COUNT 0) F6B31050 FTRA0 LAC EPRGO,2 COMPUTE LENGTH OF ENTRY POINT LIST F6B31060 TXI FTRAO+2,2,EPLST F6B31070 SXA EPCTO,2 SAVE COUNT F6B31080 TXI NTSTO+1,2,2 *BUMP TO TEST BEFORE USING DATA F6B31090 REM F6B31100 REM REENTRY AFTER ONE OBJECT PROGRAM TRANSFER VECTOR IS F6B31110 REM COMPLETE TO INITIALIZE TRANSFER VECTOR IN NEXT PROGRAM F6B31120 INIT0 CAL EPLST,2 GET NEXT NAME ON ENTRY POINT LIST F6B31130 TNZ INITO+5 IS THIS MAIN PROGRAM (BLANK NAME) F6B31140 CLA EPLST+1,2 YES, GET ENTRY POINT TO MAIN PROGRAM F6B31150 STA TRADO INITIALIZE TRANSFER ADDRESS F6B31160 TRA NTSTO+1 *TEST FOR END OF ENTRY POINT LIST F6B31170 ANA PFLGO IS THIS TRANSFER VECTOR EMPTY FLAG, F6B31180 TNZ NTSTO+1 *OR NAME OF ENTRY POINT F6B31190 CLA EPLST,2 NO, GET TRANSFER VECTOR COUNT F6B31200 PDX ,4 F6B31210 PXA ,4 F6B31220 ADD EPLST+1,2 COMPUTE ORIGIN AT TOP OF TRANSFER VECTOR F6B31230 STA RGVCO INITIALIZE COPY LOOP F6B31240 REM F6B31250 REM REENTRY TO INITIALIZE NEXT VECTOR NAME IN OBJECT PROGRAM F6B31260 EPCT0 AXT **,1 LOAD ENTRY POINT LIST COUNT F6B31270 RGVC0 CAL **,4 GET NEXT NAME ON OBJECT PROGRAM VECTOR F6B31280 ANA PFLGO HAS THIS NAME BEEN INITIALIZED F6B31290 TZE NTSTO *YES F6B31300 CAL* RGVCO NO, GET NAME AGAIN F6B31310 SRVC0 LAS EPLST,1 IS NAME ON ENTRY POINT LIST F6B31320 TRA SRVCO+3 NO F6B31330 TRA INIVO *YES F6B31340 TIX SRVCO,1,2 IS ENTRY POINT LIST EXHAUSTED F6B31350 AXT 20,1 YES, GET COUNT OF MISSING LIST BUFFER F6B31360 SRV10 NZT TVLST,1 IS THIS CELL EMPTY F6B31370 TRA ADNMO *YES, ADD THIS NAME TO LIST F6B31380 LAS TVLST,1 NO, IS THIS NAME ALREADY ON LIST F6B31390 TRA SRV1O+5 NO F6B31400 TRA NTSTO *YES, IGNORE THIS NAME F6B31410 TIX SRV1O,1,1 IS MISSING LIST EXHAUSTED F6B31420 HTR RDCDO-1 *YES, PAUSE ON MORE THAN 20 MISSING NAMES F6B31430 REM F6B31440 REM ADD NAME TO MISSING TRANSFER VECTOR LIST F6B31450 ADNM0 SLW TVLST,1 ADD NAME TO MISSING LIST F6B31460 STZ TVLST+1,1 CLEAR NEXT CELL TO SET SEARCH STOP F6B31470 TTR NTSTO *GO TEST FOR END OF TRANSFER VECTOR F6B31480 REM F6B31490 REM TRANSFER VECTOR NAME HAS BEEN FOUND F6B31500 INIV0 CAL ADNMO+2 GET TTR COMMAND F6B31510 SLW* RGVCO INSERT IN TRANSFER VECTOR F6B31520 CLA EPLST+1,1 GET ENTRY POINT AND F6B31530 STA* RGVCO INITIALIZE TRANSFER VECTOR F6B31540 REM F6B31550 REM REENTRY FOR NAME ALREADY INITIALIZED, OR NAME LOST F6B31560 NTST0 TIX EPCTO,4,1 IS TRANSFER VECTOR EXHAUSTED F6B31570 REM F6B31580 REM REENTRY FOR TRANSFER CARD, OR PROGRAM WITH BLANK VECTOR F6B31590 TIX INITO,2,2 IS ENTRY POINT LIST EXHAUSTED F6B31600 ZET OVRLP YES, ARE ANY ENTRY POINTS MISSING F6B31610 HTR RDCDO-1 *YES, PAUSE AND GET NEXT CARD F6B31620 LXA LCTRO,4 NO, SET PARAMETERS FOR WD I/O PACKAGE F6B31630 PXD ,4 PLACE HIGHEST LOCATION IN LOWER CORES F6B31640 ORA CMBKO LOWEST LOCATION IN COMMON F6B31650 STO WDIOF IN DECREMENT AND ADDRESS OF PARAMETER F6B31660 LXA EPCTO,2 COMPUTE LENGTH OF LOADER AND EPLST F6B31670 TXI FINIO,2,CLERO-EPLST F6B31680 REM F6B31690 REM I/O DATA F6B31700 IT8L0 IOCT CD8LO,,1 F6B31710 IO9L0 IOCT CD9LO,,1 F6B31720 IO8L0 IOCP CD8LO,,1 F6B31730 IO8R0 IOCT CD8RO,,1 F6B31740 IOCD0 IOST **,,** (ALSO USED AS TXL TO ENTRY POINT WHEN F6B31750 REM NON-FORTRAN TRANSFER CARD ENCOUNTERED) F6B31760 REM CONSTANTS F6B31770 PFLG0 SVN FLAG FOR EMPTY TRANSFER VECTOR F6B31780 LCTR0 PZE 100 RELOCATED PROGRAM BREAK LAST PROG LOADED F6B31790 CMBK0 PZE -1 LOWEST COMMON BREAK LOADED F6B31800 REM F6B31810 REM AFTER SUCCESSFUL LOAD RESTORE MACHINE TO PRISTINE STATE F6B31820 FINI0 TOV FINIO+1 TURN OFF TRIGGERS F6B31830 SLF F6B31840 TQO FINIO+3 F6B31850 EFTM ENTER FLOATING POINT TRAP MODE F6B31860 STZ CD9LO CLEAR 0,1,2 F6B31870 STZ CD9RO F6B31880 STZ CD8LO F6B31890 CLER0 STZ CLERO,2 CLEAR LOADER, TVLST, EPLST F6B31900 TIX CLERO,2,1 F6B31910 AXT 0,7 CLEAR INDEX REGISTERS F6B31920 TRAD0 TRA ** AND GO F6B31930 ENDLD SYN * F6B31940 34PCH BSS 0 PATCH SPACE F6B31949 PZE (NOT USED) F6B31950 AAAAA SLW PCH9R YES, INSERT CHKSM INTO 9R (RESTORE CODE) *F6B31951 TRA PNCH2 RETURN TO CODING. *F6B31952 BBBBB SLW PCH9L (RESTORE INSTRUCTION) *F6B31953 ZAC NOP PAGE LINE COUNT RESET *F6B31954 STT HDPCT FOR MACHINE LANGUAGE LISTING. *F6B31955 TRA PROL0+2 RETURN TO CODING *F6B31956 CCCCC CLA COLFL BINARY IS REQUESTED ON NARROW PAGE $F6B31957 STD WRTIO+4 CHANGE FULL PAGE TEST $F6B31958 ZSD COLFL CHANGE COLUMN FULL TEST $F6B31959 AXT -1,2 $F6B31960 SXD ONEFL-1,2 CHANGE FULL COLUMN RESET $F6B31961 AXT 1,2 $F6B31962 SXD LSTHD,2 CHANGE LAST PAGE TEST $F6B31963 SXD COLFL+4,2 CHANGE COLUMN THREE TEST $F6B31964 TRA INITW-6 $F6B31965 DDDDD NZT XSWCH8 IF BINARY IS REQUESTED ON NARROW PAGE $F6B31966 TRA EOF02 IT IS NOT $F6B31967 LXA (PGCT),4 IT IS, WRITE FINAL BLOCK $F6B31968 TXL EOF02,4,0 WHICH IS ALREADY IN $F6B31969 TRA EOF0X THE BUFFER $F6B31970 EEEEE LXA (PGCT),4 $F6B31971 TXL REGUL,4,0 $F6B31972 TRA REMAN-1 $F6B31973 TXL EOF0X,1,0 $F6B31974 TRA LOC02-1 $F6B31975 FFFFF CLA XTEVBS STORE LOWEST LOCATION OF (20)F6B31976 STA PCH8R PROGRAM DATA IN 8R ADDRESS (20)F6B31977 TRA PST01-2 (20)F6B31978 GGGGG SBM IOLIN REDUCE NUMBER OF STORAGE (20)F6B31979 STA IOLIN MAP COLUMNS FROM 5 TO 3 (20)F6B31980 TRA INITW (20)F6B31981 FINIS ORG 34PCH/8*8+96 $F6B31988 BUFFR BSS 10*28+2+1 BUFFER SIZE FOR OLD LIBRARY FORMAT $F6B31989 REM FOLLOWING LOCATIONS ARE NOW TREATED AS AN $F6B3198A REM EXTENSION OF BUFFR TO ALLOW A LARGER LIBRARY RECORD $F6B3198B BUFF1 BSS CITSIZ F6B31990 BUFF2 BSS CITSIZ F6B32000 BOTTAB BSS 0 BOTTOM OF ALLOWABLE MEMORY FOR TABLES F6B32010 END -1 F6B99999