File contents
$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