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
* FORTRAN COMMON I/O PACKAGE IOEX VERSION F0000000
* FAP F0000020
* FORTRAN COMMON I/O PACKAGE IOEX VERSION F0000030
COUNT 2000 F0000040
ABS F0000050
LBL 9F00,X F0000060
SST IBSYS $F0000070
EJECT F0000920
SPACE 10 F0000930
EJECT F0000940
EJECT F0000950
REM PARAMETERS VARIABLE AT ASSEMBLY TIME F0000960
REM F0000970
MONIT EQU 12 NUMBER OF CELLS RESERVED FOR MONITOR. F0000980
TOPMEM SYN SYSEND-64 TOP OF MEMORY AVAILABLE TO SYSTEMS F0000990
TOPIOP SYN TOPMEM TOP OF AD INTERIM IOP F0001000
BOTIOP SYN TOPIOP-2111 LOWER LIMIT OF IOP F0001010
TOPTAB SYN BOTIOP-1 TOP OF AVAILABLE TABLE BUFFERS F0001020
BOTTOM SYN SYSORG+MONIT LOAD POINT FOR FORTRAN SYSTEM RECORDS F0001030
(PCBK) SYN BOTTOM-1 OBJCT PROGRAM COMMON BREAK,,PROGRAM BREAK F0001040
(DORG) SYN BOTTOM LOAD POINT FOR DIAGNOSTIC RECORD. F0001050
REM F0001060
SYSTAP EQU 1 (SYSLB1) FORTRAN SYSTEM TAPE F0001070
LIBTAP EQU 1 (SYSLB1) FORTRAN LIBRARY TAPE F0001080
FINTAP EQU 2 (SYSUT3) INTERMEDIATE TABLE TAPE, FIRST F0001090
SINTAP EQU 3 (SYSUT4) INTERMEDIATE TABLE TAPE, SECOND F0001100
TINTAP EQU 4 (SYSUT1) INTERMEDIATE FORTRAN/FAP TAPE, THIRD F0001110
MINTAP EQU 5 (SYSIN1) MONITOR INPUT TAPE F0001120
MLSTAP EQU 6 (SYSOU1) MONITOR LISTING OUTPUT TAPE F0001130
MBNTAP EQU 7 (SYSPP1) MONITOR BINARY OUTPUT TAPE F0001140
MCHTAP EQU 8 (SYSUT2) MONITOR CHAIN INTERMEDIATE TAPE F0001150
SNPTAP EQU 9 (SYSCK1) SNAP-SHOT TAPE F0001160
REM F0001170
NTAPE EQU 16 MAXIMUM NUMBER OF LOGICAL TAPES IN SYSTEM F0001180
NCHAN EQU 4 MAXIMUM NUMBER OF CHANNELS IN SYSTEM F0001190
REM C MUST BE A MULTIPLE OF 2, TABSZ ALSO. F0001200
TABSZ EQU 80 MAXIMUM SIZE OF IOP DICTIONARY F0001210
EJECT F0001220
REM LOWER MEMORY MAP F0001230
REM OF F0001240
REM IBSYS-FORTRAN F0001250
REM F0001260
SYSORG REM WEREIN BCD FLAG FOR SAVING FLAGBOX F0001270
REM SAVE SI F0001280
REM MQ F0001290
REM AC F0001300
REM QP/XR2,,XR4 F0001310
REM CONTENTS OF LOC. 0 (25)F0001320
REM TXI *-1,,XR1 PROGRAM F0001330
REM TRIGGER STATUS BITS (25)F0001340
REM FLAGBX F0001350
REM LINECT LINES THIS JOB,, PAGE NO. THIS F0001420
REM NOT USED $F0001430
REM PRCBRK COMMON BREAK,, PROGRAM BREAK F0001440
BOTTOM REM F0001450
EJECT F0001460
EJECT F0001470
REM F0001480
REM F0001490
REM F0001500
REM F0001510
REM DEFINITIONS OF OPERATION MNEMONICS FOR IOPX F0001520
REM F0001530
REM OPERATION RECORD ENDFILE CHECK F0001540
K EQU 512 F0001550
(WROW) EQU 32*K+16+8+1 WRITE ROW BIN IMMEDIATE F0001560
(RDEC) EQU 32*K+8+4+2 READ DECIMAL PERMITTED IMMEDIATE F0001570
(WEFC) EQU 32*K+8+4+1 WRITE ENDFILE IMMEDIATE F0001580
(RBEC) EQU 32*K+8+4 READ BINARY PERMITTED IMMEDIATE F0001590
(WDNC) EQU 32*K+8+2+1 WRITE DECIMAL IMMEDIATE F0001600
(RDNC) EQU 32*K+8+2 READ DECIMAL PROHIBITED IMMEDIATE F0001610
(WBNC) EQU 32*K+8+1 WRITE BINARY IMMEDIATE F0001620
(RBNC) EQU 32*K+8 READ BINARY PROHIBITED IMMEDIATE F0001630
(RDEP) EQU 32*K+4+2 READ DECIMAL PERMITTED LATER F0001640
(WEFP) EQU 32*K+4+1 WRITE ENDFILE LATER F0001650
(RBEP) EQU 32*K+4 READ BINARY PERMITTED LATER F0001660
(WDNP) EQU 32*K+2+1 WRITE DECIMAL LATER F0001670
(RDNP) EQU 32*K+2 READ DECIMAL PROHIBITED LATER F0001680
(WBNP) EQU 32*K+1 WRITE BINARY LATER F0001690
(RBNP) EQU 32*K READ BINARY PROHIBITTED LATER F0001700
(SKDC) EQU 16*K+8+2 SKIP DECIMAL IMMEDIATE F0001710
(SKBC) EQU 16*K+8 SKIP BINARY IMMEDIATE F0001720
REM BACKSPACE FOR BTT F0001730
(SKDP) EQU 16*K+2 SKIP DECIMAL LATER F0001740
(SKBP) EQU 16*K SKIP BINARY LATER F0001750
REM BACKSPACE NONE F0001760
(CHKU) EQU 8*K DELAY AND CHECK LAST ACTIVITY ON LOG TAPE F0001770
(SUAV) EQU 8*K+2+1 SET UNIT(S) AVAILABLE $F0001771
(SUNV) EQU 8*K+2 SET UNIT(S) UNAVAILABLE $F0001772
(TPER) EQU 4*K ERROR ON TAPE RECORD FOUND BY COMPILER F0001780
(SNAP) EQU 1*K DUMP MEMORY AND PANEL ON LOG TAPE 9 F0001790
REM F0001800
REM CALL FOR TAPE DATA TRANSMIT F0001810
REM TSX (TAPE),4 F0001820
REM PZE IOCOM,T1,FLAGS F0001830
REM (MZE IOCOM,T1,FLAGS PRINT 'COND IGNORD')F0001840
REM PZE ,,TAPNO OMIT LABEL F0001850
REM (PZE LABEL,T2,TAPNO CHECK LABEL) F0001860
REM (MZE LABEL,T2,TAPNO OMIT LABEL CHECK) F0001870
REM PZE ERRET,T3 PRINT ERROR MESSAGE F0001880
REM (MZE ERRET,T3 DELET ERROR MESSAGE)F0001890
REM F0001900
REM CALL FOR TAPE REPOSITION F0001910
REM TSX (TAPE),4 F0001920
REM PZE SKLST,T1,FLAGS F0001930
REM (MZE SKLST,T1,FLAGS PRINT 'COND IGNORD')F0001940
REM PZE ,,TAPNO OMIT LABEL F0001950
REM (PZE LABEL,T2,TAPNO CHECK LABEL) F0001960
REM (MZE LABEL,T2,TAPNO OMIT LABEL CHECK) F0001970
REM PZE ERRET,T3 PRINT ERROR MESSAGE F0001980
REM (MZE ERRET,T3 DELET ERROR MESSAGE)F0001990
REM F0002000
REM CALL FOR SNAPSHOT F0002010
REM TSX (TAPE),4 F0002020
REM PZE SNLST,T1,FLAGS F0002030
REM PZE LABEL,T2,PARNO F0002040
REM PZE ERRET,T3 (NOT SIGNIFICANT) F0002050
REM F0002060
REM F0002070
REM RETURN AFTER ERROR ON PRIOR ACTIVITY F0002080
REM TO PRINT ERROR MESSAGE AND CALL MACHINE ERROR RECORD F0002090
REM TSX (TAPE),4 F0002100
REM PZE ERROR,T1,FLAGS F0002110
REM (MZE ERROR,T1,FLAGS PRINT ERROR IGNORED)F0002120
REM PZE LABEL,T2,TAPNO F0002130
REM (MZE LABEL,T2,TAPNO RETURN TO CALLER) F0002140
REM ERRET,T3 (NOT SIGNIFICANT) F0002150
REM F0002160
REM CALL FOR CHECK PRIOR ACTIVITY OR FOR CHANGING $F0002170
REM THE STATUS OF TAPES IN THE AVAILABILITY CHAIN $F0002171
REM TSX (TAPE),4 F0002180
REM PZE TAPNO,T1,FLAGS F0002190
REM (FOR ALL TAPES IF TAPNO,T1 IS ZERO ON $F0002191
REM A SYSUAV CALL) $F0002192
REM F0002200
REM CALL FOR ONLINE PRINT F0002210
REM TSX (PRNT),4 F0002220
REM PZE FWORD,,COUNT PROGRAM CONTROL F0002230
REM (MZE FWORD,,COUNT SINGLE SPACE) F0002240
REM F0002250
REM CALL FOR ONLINE PUNCH F0002260
REM TSX (PNCH),4 F0002270
REM PZE FWORD,,COUNT ROW BINARY F0002280
REM (MZE FWORD,,COUNT COLUMN BINARY) F0002290
REM (MON FWORD,,COUNT HOLLERITH) F0002300
REM IN COLUMN BINARY PACKAGE ROTATES CONTENTS F0002310
REM OF 24 WORD ROW BINARY BUFFER IN WHICH THE F0002320
REM COLUMN BINARY BITS ARE INCLUDED IN 9L F0002330
REM AND CHECKSUM, AND NO GARBAGE APPEARS ON F0002340
REM CARD IMAGE. WORD COUNT NOT SIGNIFICANT. F0002350
REM WORD COUNT MUST BE GREATER THAN ZERO. F0002360
REM F0002370
REM CALL TO READ NEXT SYSTEM RECORD F0002380
REM TSX (LOAD),4,N F0002390
REM BCI 1,RECNAM (IF N = 1, FOR DISK) F0002400
REM F0002410
REM CALL TO DIAGNOSTIC F0002420
REM TSX ERROR,4 F0002430
REM . F0002440
REM . F0002450
REM ERROR TXI (DIAG),,-NN F0002460
REM PZE ADDITIONAL F0002470
REM PZE INFORMATION F0002480
REM -NN IS ZERO FOR MACHINE ERROR. F0002490
REM -NN IS A UNIQUE NUMBER ASSOCIATEDF0002500
REM WITH SOURCE PROGRAM ERROR. F0002510
REM F0002520
REM CALL TO SOURCE ERROR RECORD F0002530
REM F0002540
REM TSX (SECL),4 F0002550
REM F0002560
REM CALL TO MACHINE ERROR RECORD F0002570
REM F0002580
REM TSX (MECL),4 F0002590
REM F0002600
REM CALL TO RESTORE MEMORY AND HALT (31)F0002610
REM F0002620
REM TSX (DGLD),4 (31)F0002630
REM F0002640
REM CALL TO RESTORE CONSOLE F0002650
REM F0002660
REM STL (REST)+3 F0002670
REM NOP *+2 RETURN ADDRESS. F0002680
REM TRA (REST) F0002690
REM F0002700
REM CALL TO SET TAPE DENSITY F0002710
REM F0002720
REM TSX (STDN),4 F0002730
REM *** TAPNO F0002740
REM F0002750
REM *** IS PZE FOR HIGH DENSITY. F0002760
REM *** IS MZE FOR LOW DENSITY. F0002770
REM F0002780
REM IOCOM,T1 ORIGIN OF LIST OF NO MORE THAN 5 I/O COMMANDSF0002790
REM COMMANDS TO TRANSMIT EXACTLY ONE RECORD F0002800
REM F0002810
REM SKLST,T1 LOCATION OF CONTROL WORD F0002820
REM PZE NRECS,,NFILS (FORWARD) F0002830
REM MZE NRECS,,NFILS (BACKWARD) F0002840
REM PZE ,,-1 (REWIND) F0002850
REM MZE ,,-1 (REWIND UNLOAD) F0002860
REM F0002870
REM SNLST,T1 ORIGIN OF LIST OF NO MORE THAN 8 PARAMS F0002880
REM OF THE FORM FWORD,,COUNT TO TAKE SELECTIVEF0002890
REM DUMPS ON LOG TAPE 9, WHICH WILL BE F0002900
REM INTERPRETED BY DUMP RECORD ONTO LOG TAPE 6F0002910
REM F0002920
REM F0002930
REM ERROR,T1 LOCATION OF ONE BCD WORD DESCRIBING ERROR F0002940
REM F0002950
REM LABEL,T2 LOCATION OF ONE BCD WORD LABEL F0002960
REM OMITTED IF RECORD IS UNLABELED (I/O TYPE) F0002970
REM F0002980
REM TAPNO LOGICAL TAPE NUMBER F0002990
REM F0003000
REM PARNO NUMBER OF PARAMETERS IN (SNAP) LIST F0003010
REM F0003020
REM ERRET,T3 LOCATION OF ERROR RETURN F0003030
REM F0003040
REM FWORD,,COUNT LOCATION OF FIRST WORD,,NUMBER OF WORDS F0003050
REM (LESS THAN 25) TO BE CONVERTED TO/FROM F0003060
REM ONE RECORD OF BCD/COL BINARY CARD IMAGES F0003070
REM OR (LESS THAN -1) TO BE WRITTEN/READ F0003080
REM DIRECTLY IN BINARY F0003090
REM F0003100
REM F0003110
REM FLAGS FLAGS IN DECREMENT FIELD AS LISTED BELOW F0003120
REM F0003130
REM FLAGS IN DECREMENT FIELD (K = 512) F0003140
REM F0003150
REM MNEMONIC EQUIVALENCES FOR I/O FLAGS F0003160
REM F0003170
(DATA) SYN 32*K BIT 3 TAPE DATA TRANSMIT F0003180
(SKIP) SYN 16*K 4 TAPE REPOSITION F0003190
(CHKU) REM 8*K 5 CHECK PRIOR ACTIVITY F0003200
(TPER) REM 4*K 6 ERROR ON PRIOR ACTIVITY F0003210
ONLNX SYN 2*K 7 ON-LINE DATA TRANSMIT (INTERNAL) F0003220
SYN 2*K+1 PUNCH F0003230
SYN 2*K+3 PRINT F0003240
REM K 8 NOT USED F0003250
REM +256 9 NOT USED F0003260
REM +128 10 NOT USED F0003270
REM +64 11 NOT USED F0003280
REM +32 12 NOT USED F0003290
(WROW) REM +16 13 TAPE WRITE OF ROW BINARY CARD F0003300
(...C) SYN +8 14 TAPE DATA TRANSMIT DELAY AND CHECK F0003310
REM TAPE REPOSITION DELAY AND CHECK F0003320
(..E.) SYN +4 15 TAPE DATA READ PERMIT EOF F0003330
REM WRITE WRITE EOF F0003340
(.D..) SYN +2 16 TAPE DATA TRANSMIT DECIMAL F0003350
REM TAPE REPOSITION DECIMAL F0003360
(W...) SYN +1 17 TAPE DATA TRANSMIT WRITE F0003370
REM F0003380
REM F0003390
REM F0003400
REM IF P1 AND/OR P2 IS ADDRS,T1,-1 F0003410
REM P1 AND/OR P2 ARE FOUND (INDIRECTLY) IN LOC(ADDRS,T1) F0003420
REM THIS INDIRECT FEATURE IS UNLIMITED IN DEPTH F0003430
REM THIS INDIRECT FEATURE MAY NOT BE USED FOR ERRET,T3 F0003440
REM F0003450
REM F0003460
EJECT F0003470
REM F0003480
REM LISTING CONVENTIONS F0003490
REM F0003500
C EQU 1 SYMBOLIC TAG FOR HISTORIC CHAN. REFERENCE F0003510
T EQU 2 SYMBOLIC TAG FOR CURRENT LOGICAL TAPENO F0003520
H EQU 2 SYMBOLIC TAG FOR HISTORIC LOGICAL TAPENO F0003530
REM F0003540
REM USAGE OF ACTUAL TAGS INDICATES OTHER FUNCTF0003550
REM F0003560
REM THE PUNCTUATION ''..'' IS AN INTERROGATION POINT F0003570
REM F0003580
QZE OPSYN PZE PSEUDO-OP WHICH MAY BE PZE OR MZE F0003590
REM F0003600
LODPT BOOL 1 BEGINNING OF TAPE MNEMONIC. F0003610
EOFIL BOOL 4 END OF FILE MNEMONIC. F0003620
REDUN BOOL 10 REDUNDANCY MNEMONIC. F0003630
WMODE BOOL 100 WRONG MODE READ MNEMONIC. F0003640
EOTAP BOOL 2 END OF TAPE MNEMONIC F0003650
BOFBIT BOOL 200 BEGINNING OF FILE MNEMONIC $F0003651
EJECT F0003660
REM MNEMONIC EQUIVALENCES FOR NON-DATA SELECT CALLS F0003670
REM F0003680
.RDC. EQU 0 RESET DATA CHANNEL (NOP) F0003690
.SDL. EQU 1 SET DENSITY LOW F0003700
.SDH. EQU 2 SET DENSITY HIGH F0003710
.REW. EQU 3 REWIND F0003720
.RUN. EQU 4 REWIND AND UNLOAD F0003730
.BSR. EQU 5 BACKSPACE RECORD F0003740
.BSF. EQU 6 BACKSPACE FILE F0003750
.WEF. EQU 7 WRITE END OF FILE F0003760
REM F0003770
REM F0003780
REM MNEMONIC EQUIVALENCES FOR SPR EXIT HUBS F0003790
REM F0003800
EJECT EQU 1*512 SPR EXIT FOR PAGE EJECT F0003810
DBLSP EQU 4*512 SPR EXIT FOR DOUBLE SPACE F0003820
SUPRS EQU 9*512 SPR EXIT FOR SPACE SUPPRESS F0003830
CLOCK EQU 10*512 SPR EXIT FOR PRINTING CLOCK F0003840
REM F0003850
TTL INITIALIZATION OF IOP F0003860
REM INITIALIZATION OF IOP VIA SYSUN1 AND SYSUAV TABLES F0003870
REM F0003880
REM F0003890
ORG BOTIOP-300-15 $F0003900
BCI 1,FORTRAN SYSTEM $EXECUTE NAME, N IGNORED. F0003910
REM F0003920
ORG SYSTRA F0003930
TRA INITT GO INITIALIZE IOPX. F0003940
REM F0003950
ORG BOTIOP-300-14 $F0003960
REM F0003970
INITT CAL BOTTOM-12 IS THIS OLD HAT.. F0003980
ERA WEMES . F0003990
TZE INITA YES. F0004000
AXT INITT-SYSORG-1,1 NO, BRAINWASH $F0004010
STZ INITT-1,1 $F0004020
TIX *-1,1,1 . F0004030
CAL SYSCUR $EXECUTE WHAT $F0004031
ERA FAPCD $F0004032
TNZ *+3 IS IT IBSFAP $F0004033
TRA FCOUNT YES (22)F0004034
ORS* (FGBX) IN (FGBX) $F0004035
CLA INITT-1 NO - SET FORTRA IN SYSCUR $F0004036
STO SYSCUR $F0004037
CAL WEMES SET BCD MESSAGE FOR FUTURE INTERROGATION. F0004040
TRA INITS $F0004050
INITA LXA SYSPOS,1 WHICH LIBRARY TAPE IS IT $F0004060
TXI *+1,1,SYSLB1-1 COMPUTE SYSUNI ENTRY $F0004070
SXA TAPNO-1,1 INITIALIZE LOGICAL TAPE 1 $F0004080
CAL DISKF PREPARE TO SET DISK BIT $F0004090
SXA *+1,1 SET SYSUNI LOCATION $F0004100
LDI* ** GET UCB WORD ONE $F0004101
LNT 020000 IS THIS 7909 CHANNEL $F0004110
ALS 11 NO, LEAVE FLAGBOX ALONE $F0004120
ORS* (FGBX) SET FLAGBOX $F0004130
LXD TAPNO,1 NUMBER OF LOGICAL TAPES $F0004140
SXD TPNRT,1 TO INITIALIZATION TAPE COUNT $F0004150
LNT 020000 IS SYSTEM ON DISK.. F0004160
TRA INIT0-2 NO, INITIALIZE TAPES $F0004170
CAL OVLY1 YES, OVERLAY NECESSARY INSTRUCTIONS. F0004180
SLW SECL0 F0004190
CAL OVLY2 F0004200
SLW MECL0 F0004210
CAL OVLY3 F0004220
SLW MECL0+1 FOR DISK ENTRY TO SER/MER. F0004230
TRA INIT0 INITIALIZE REMAINING TAPES $F0004231
REM $F0004240
DUP 1,6 NOT EXECUTED $F0004250
PZE $F0004251
LDQ DIAG6+1 SYSTEM ON TAPE, DO NOT $F0004257
SLQ DISKT GO TO SYSLDR FOR LIBRARY $F0004260
INIT0 NZT TAPNO,1 DOES INSTALLATION WANT F0004270
TIX *-1,1,1 THIS LOGICAL TAPE.. F0004280
LDI TAPNO,1 IS THIS TAPE TO BE FOUND F0004290
LFT 377777 IN SYSUAV CHAIN.. F0004300
TRA SYSVL *YES, FIND IT. F0004310
CAL* TAPNO,1 NO, FIND IN SYSUNI. F0004320
PAI TEST SYSUNI ENTRY $F0004330
RFT 077777 IS ADDRESS ZERO.. $F0004331
TRA INIT1 NO $F0004332
TXH *+2,1,7 YES, BUT IS IT LOGICAL TAPE 8.. F0004340
TRA UNAVL *NO, ADD IT TO THE LIST. F0004350
INIT1 STA TAPNO,1 NON-ZERO, IF UNIT EXISTS. F0004360
ACL L(03) SAVE LOGICAL TAPE NUMBER IN UCB WORD 4 $F0004370
STA *+1 F0004380
SXD **,1 F0004390
TXH INIT2,1,7 DO NOT SET DENSITY OF LOG TAPE 8-16 F0004400
LDI* TAPNO,1 IS THIS FUNCTION ON 7909 CHANNEL.. F0004410
LFT 020000 . F0004420
TXH SYSDK,1,1 *YES, QUIT (BUT LET SYSTEM BE ON DISK). F0004430
LXA TAPNO,4 DOES INSTALLATION WISH F0004440
TXH INIT2,4,0 TAPE DENSITIES SET VIA SYSUNI.. F0004450
AXT .SDH.,4 YES, ASSURE CORRECT TAPE FUNCTION DENSITY F0004460
PBT HIGH.. F0004470
AXT .SDL.,4 LOW F0004480
SXD *+2,4 . F0004490
TSX (NDATA,4 . F0004500
PZE TAPNO,1,** FORMAT = L(UCB),,SDNH/SDNL F0004510
INIT2 TIX INIT0,1,1 CONTINUE DEFINITIONS FOR ALL UNITS. F0004520
LDI* TAPNO-5 DO NOT ALLOW SYSCRD TO BE F0004530
LFT 100 SYSIN1. F0004540
TRA SYSCD *GOOD GRIEF, IT IS. F0004550
REM F0004560
AXT -3,1 DEFINE L(UCB) FOR F0004570
INIT3 CLA* TAPNO,1 READER/PRINTER/PUNCH F0004580
STA TAPNO,1 NON-ZERO, IF SYSUNI FUNCTION ASSIGNED. F0004590
TXI *+1,1,1 F0004600
TXH INIT3,1,1 CONTINUE DEFINITIONS FOR ON-LINE UNITS. F0004610
CAL* TAPNO+2 PICK UP CHANNEL OF ON-LINE PUNCH F0004620
ANA DCMSK AND INITIALIZE CHANNEL INSTRUCTIONS. F0004630
ARS 18 F0004640
STA PUNSL F0004650
ARS 9 F0004660
PAC ,1 F0004670
TXI *+1,1,1 F0004680
LDQ* (RCHXI F0004690
SLQ PNCH5 F0004700
CAL QPNC3 F0004710
SLQ QPNC3 F0004720
ORS QPNC3 F0004730
CAL* (RCHXI F0004740
ORA D(400 F0004750
XCL F0004760
SLQ PUNLL F0004770
LDQ* (TCOXI F0004780
SLQ PDELY F0004790
REM F0004800
INIT4 NZT INITT ANY UNAVAILABLE SYSUNI FUNCTIONS.. F0004810
TRA UNVLF YES. F0004820
LXD SYSLDR,2 SET UP DELAY LOOP FOR LOAD ROUTINE. F0004830
TXI *+1,2,1 . F0004840
SXA LOADD,2 . F0004850
AXT 0,0 (NOT USED) (33)F0004860
REM PREPARE FOR POSSIBLE SYSOU1/2 SWITCH F0004870
CLA SYSOU1 IS SYSOU1 IDENTICAL WITH SYSOU2.. F0004880
ANA ADMSK . F0004890
TZE INIT5 *SYSOU1 DOES NOT EXIST (HMMM...) F0004900
STA ERASA . F0004910
CLA SYSOU2 . F0004920
ANA ADMSK . F0004930
TZE INIT5 *WHO KNOWS, SYSOU2 DOES NOT EXIST. F0004940
ERA ERASA . F0004950
TZE INIT5 *YES, RESIGN THYSELF. F0004960
CAL SYSOU2 NO, PREPARE FOR AUTOMATIC F0004970
AXT -1,4 SWITCH TO SYSOU2 IN CASE OF EOT, RTT. F0004980
SXD IODGH,4 . F0004990
ZSD IODGI+4 . F0005000
AXT 6,4 MOVE THE NEW SWITCH MESSAGE $F0005010
CAL SYSO2+6,4 $F0005020
SLW IOSWT+6,4 $F0005030
TIX *-2,4,1 . F0005040
INIT5 AXT LOAD1,4 SET TRANSFER POINT F0005050
SXA SYSTRA,4 FOR ALL SYSTEM RECORDS. F0005060
TSX (LOAD),4,1 *INITIALIZATION COMPLETED, (29)F0005070
BCI 1,9F0100 CALL IN TAPE POSITIONER (29)F0005080
DUP 1,6 (29)F0005090
PZE PATCH SPACE (29)F0005100
REM F0005150
EJECT F0005160
REM F0005170
REM F0005180
REM ROUTINE TO ACCUMULATE UNAVAILABLE SYSUNI FUNCTIONS F0005190
REM F0005200
UNAVL STZ INITT FLAG UNAVAILABLE SYSUN1 FUNCTIONS. F0005210
AXT -8,4 (LIMITED TO FOUR) F0005220
TXI *+1,4,2 BUMP STRING POSITION F0005230
SXA *-2,4 AND SAVE FOR NEXT ENTRY. F0005240
CAL SYSFC,1 ENTER FUNCTION IN UNAVAILABLITY STRING. $F0005250
SLW STRNG,4 $F0005260
TXL UNVLF,4,0 EXCEED MAXIMUM MISSING LIST YET $F0005270
STZ TAPNO,1 FLAG UNAVAILABLE. F0005280
TRA INIT2 *RETURN FOR REMAINING TAPES. F0005290
REM F0005300
REM ROUTINE TO REQUEST OPERATOR CLARIFICATION OF SYSUNI F0005310
REM F0005320
UNVLF TSX (PROUT,4 PRINT ON-LINE REQUEST FOR F0005330
PZE 1 F0005340
PZE STRNG,,10 F0005350
TRA INTRP *FORCE INTERRUPT OF SYSTEM. F0005360
REM F0005370
TITLE F0005380
STRNG BCI 8, F0005390
BCI 2, UNAVAILABLE. F0005400
REM F0005410
REM F0005420
REM ROUTINE TO LOCATE REQUIRED LOGICAL TAPE IN SYSUAV CHAINS F0005430
SYSVL PIA COMPUTE CHANNEL AND RELATIVE F0005440
ANA DCMSK TAPE NUMBER FOR THIS SYSUAV TAPE. F0005450
ARS 18 F0005460
STA SYSV2 . F0005470
RIL 777777 . F0005480
PIA . F0005490
ALS 3 . F0005500
STD SYSV1 . F0005510
CAL SYSUAV LOCATE THE BEGINNING OF THE F0005520
PAC ,2 SYSUAV AVAILABILITY CHAIN. F0005530
SYSV1 TIX *+1,2,** BUMP TO REQUIRED CHANNEL POINTER. F0005540
CLA 0,2 . F0005550
TZE SYSV3 *NOTHING AVAILABLE ON THIS CHANNEL. F0005560
SYSV2 AXT **,4 BUMP TO PROPER TAPE. F0005570
PAC ,2 . F0005580
CLA 0,2 . F0005590
TXL SYSV3,2,0 IS THIS REALLY A TAPE IN CHAIN.. F0005600
TIX *-3,4,1 YES, CONTINUE ON DOWN THE CHAIN. F0005610
LDI 0,2 CHECK AVAILABILITY BIT. F0005620
LNT 600000 IS UNIT DETACHED FROM CHANNEL $F0005630
TRA *+2 NO, MAYBE WE CAN USE IT $F0005640
TRA SYSV3 YES, FORGET ABOUT IT $F0005650
LFT 40000 IS UNIT RESERVED $F0005660
TRA SYSV4 YES, MENTION IT $F0005670
LFT 20000 IS UNIT ON 7909 CHANNEL $F0005680
TRA SYSV5 YES, MENTION IT $F0005690
RIL 600000 MAKE AVAILABLE AND RESET $F0005700
STI 0,2 THE NO-REPOSITIONING FLAG $F0005710
CAL MZERO INDICATE WE DISTURBED $F0005720
ORS SYSJOB THE AVAILABILITY CHAIN $F0005730
PXA ,2 COMPUTE UCB LOCATION FOR $F0005740
SBM *-1 STA IN TAPNO $F0005750
TRA *+2 F0005760
SYSV3 ZAC DELETE UCB REFERENCE. F0005770
STZ TAPNO,1 CLEANSE IOPU ENTRY. F0005780
TRA INIT1 *ENTER THIS TAPE L(UCB) IN IOPU (MAY BE 0) F0005790
SYSV4 CAL SYSVR SET RESERVE UNIT MESSAGE. F0005800
TRA *+2 F0005810
SYSV5 CAL SYSVD SET DISK UNIT TROUBLE MESSAGE. F0005820
SLW SYSVM+4 . F0005830
PXA ,1 CONVERT LOGICAL TAPE NUMBER. F0005840
TSX (DECVA,4 . F0005850
STQ SYSVM+2 F0005860
TSX (PROUT,4 NOTIFY OPERATOR IN PASSING. F0005870
PZE 1 . F0005880
PZE SYSVM,,8 . F0005890
TRA SYSV3 *RETURN. F0005900
REM F0005910
REM REFUSE CARD READER INPUT F0005920
SYSCD TSX (PROUT,4 LET OPERATOR KNOW HOW WE FEEL ABOUT IT. F0005930
PZE 2 . F0005940
MZE SYSDM,,4 F0005950
PZE CARDM,,3 $F0005960
TRA INTRP *FORCE INTERRUPT OF SYSTEM. F0005970
REM F0005980
REM REFUSE DISK ASSIGNMENT F0005990
SYSDK TSX (PROUT,4 *NOTIFY OPERATOR OF ILLEGAL SYSUNI DISK. F0006000
PZE 3 . F0006010
MZE SYSDM,,4 . F0006020
MZE SYSFC,1,1 . F0006030
PZE SYSDM+4,,5 $F0006040
REM F0006050
REM INTERRUPT ROUTINE F0006060
INTRP TSX (PROUT,4 READY SENSE SWITCH 1 AND SYSCRD... F0006070
PZE 1 . F0006080
PZE SYSSW,,12 $F0006090
TSX (PAUSE,4 ...THAT REFRESHES. F0006100
STZ BOTTOM-12 WE'RE OUT. F0006110
CLA IBSNXT TELL IBSYS TO SKIP TO $F0006120
STO SYSGET NEXT $JOB $F0006130
TRA SYSRET AND GIVE UP $F0006140
SYSVD BCI 1,DISK ILLEGAL DISK REFERENCE... F0006150
SYSVM BCI 8,LOGICAL TAPE NNNNN IS XXXXX - CAN'T BE USED. F0006160
REM F0006170
WEMES BCI 1,WEREIN FLAG TO INDICATE THAT THIS ENTRY TO F0006180
REM INITT IS NOT DUE TO $EXECUTE CARD. F0006190
DISKF MZE ,,64 MONITOR AND DISK FLAGS FOR FLAGBX. F0006200
REM F0006210
SYSDM BCI 4, FORTRAN CANNOT ACCEPT F0006220
BCI 5, FUNCTION ON 7909 CHANNEL. $F0006230
CARDM BCI 3, INPUT ON SYSCRD. $F0006240
SYSO2 BCI 6, $SWITCH SYSOU1,SYSOU2 SIMULATED. $F0006250
SYSSW BCI 6,START WILL SKIP TO $JOB. SW1 MAY BE $F0006260
BCI 6, USED WITH $RESTART,ETC., IN SYSCRD. $F0006261
SYSVR BCI 1,RESRVD UNIT IS RESERVED $F0006262
OVLY1 CAL LSECL+1 F0006270
OVLY2 CAL LSECL+2 F0006280
OVLY3 SLW LSECL+1 F0006290
L(03) PZE 3 F0006300
D(400 PZE ,,256 MASK FOR LCHX FOR ON-LINE PUNCH. F0006310
FAPCD BCI 1,IBSFAP $F0006311
FAPBT OCT 4 $F0006312
PZE PATCH SPACE (29)F0006320
PZE PATCH SPACE (29)F0006321
PZE PATCH SPACE (29)F0006322
IBSNXT BCI 1,IBSNXT TO SKIP TO $JOB $F0006323
INITS SLW BOTTOM-12 $F0006324
LDQ SYSJOB $F0006325
TQP INITA IS SYSJOB PLUS $F0006326
CAL L(08) NO,SET BIT IN FLAGBOX $F0006327
ORS* (FGBX) FOR SYSUAV RESTORATION $F0006328
TRA INITA $F0006329
MZERO MZE 0 USED TO SET SYSJOB $F0006330
FCOUNT LDC SYSLDR,4 -L(UCB) FOR LIBRARY UNIT (29)F0006340
CAL 2,4 PICK UP UCB WORD 3, THEN ADJUST RECORD(29)F0006341
ACL TGADD AND FILE COUNT,AS IBSFAP LOADS FORTRA (29)F0006342
LDI 0,4 DO NOT DO SO (29)F0006343
LNT 020100 IF ON DISK (29)F0006344
SLW 2,4 (29)F0006345
CLA FAPBT SET BIT 33 OF FLAGBOX (22)F0006346
TRA INITA-5 (22)F0006347
REM F0006350
IPTCH SYN * PATCH SPACE FROM HERE TO (LOAD) $F0006360
TTL TRANSFER VECTOR F0006370
REM COMMON TRANSFER VECTOR AND TAPE I/O ROUTINES F0006380
REM F0006390
REM F0006400
REM ENTRY POINTS F0006410
REM F0006420
ORG BOTIOP F0006430
(LOAD) TRA LOAD0 CALLER TO READ SYSTEM TAPE. F0006440
PZE DGLD3 LOCATION OF FORTRAN RECORD NUMBER FOR DIAGF0006450
NOP F0006460
REM F0006470
(DIAG) STL IOSVX SET RETURN FROM CHANNEL SAVER ROUTINE F0006480
NOP DIAG0 F0006490
TRA IOSAV *SAVE ALL REGISTERS F0006500
REM F0006510
(TAPE) STL IOSVX SET RETURN FROM CHANNEL SAVER ROUTINE F0006520
NOP TAPS0 F0006530
TRA IOSAV *SAVE ALL REGISTERS F0006540
REM F0006550
(PRNT) STL IOSVX SET RETURN FROM CHANNEL SAVER ROUTINE F0006560
NOP PRNT0 F0006570
TRA IOSAV *SAVE ALL REGISTERS F0006580
REM F0006590
(PNCH) STL IOSVX SET RETURN FROM CHANNEL SAVER ROUTINE F0006600
NOP PNCH0 F0006610
TRA IOSAV *SAVE ALL REGISTERS F0006620
REM F0006630
(STAT) AXT TERST,1 LOAD ORIGIN OF STATISTICS TABLE AND F0006640
AXT TAPNO,2 UNIT TABLE. F0006650
TRA 1,4 F0006660
REM F0006670
(REST) STL DGLD2 RESTORE CONSOLE AND REGISTERS F0006680
NOP *+2 FROM DIAGNOSTIC SAVE ROUTINE. F0006690
TRA DGLD0 *RESTORE. F0006700
TRA* ** *RETURN TO CALLER. F0006710
REM F0006720
(STDN) SXA STDNX,4 SAVE LINKAGE. F0006730
CLA 1,4 HIGH OR LOW DENSITY.. F0006740
AXT .SDL.,4 F0006750
TMI *+2 MINUS 1,4 SETS DENSITY LOW. F0006760
AXT .SDH.,4 F0006770
SXD SETDN,4 SAVE DENSITY SPECIFICATION. F0006780
PAC ,4 COMPUTE L(UCW) POINTER F0006790
TIX *+1,4,-TAPNO F0006800
SXA SETDN,4 F0006810
TSX (NDATA,4 *NON-DATA SELECT TO SET DENSITY F0006820
SETDN PZE **,,** FORMAT= PZE L(UCW),,SDNH/SDNL F0006830
STDNX AXT **,4 RETURN F0006840
TRA 2,4 *TO CALLER. F0006850
REM F0006860
(SECL) TTR SECL0 CALLER TO SOURCE ERROR RECORD. F0006870
REM F0006880
(MECL) TTR MECL0 CALLER TO MACHINE ERROR RECORD. F0006890
REM F0006900
(DGLD) TTR DGLDH RESTORE MEMORY,REGISTERS,CONSOLE,HALT (31)F0006910
PZE SPACE FOR AN F0006920
PZE ADDITIONAL F0006930
PZE ENTRY POINT. F0006940
TTL MONITOR AND FLAG CELLS F0006950
REM PARAMETERS VARIABLE AT EDIT TIME F0006960
(PGCT) PZE 0,,56 MAXIMUM NUMBER OF LINES PER PAGE F0006970
REM (EXCLUDING HEADING)(NON-ZERO ADDRESS RESTRF0006980
(LIBT) PZE ,,LIBTAP LIBRARY ON LOGICAL TAPE 1 (SYSLB1) F0006990
OCT ,,,, SPACE FOR ADDITIONAL PARAMETERS F0007000
EJECT F0007010
REM MONITOR COMMUNICATIONS REGION F0007020
REM F0007030
(FGBX) PZE BOTTOM-4 LOCATION OF MONITOR FLAGS F0007040
REM F0007050
REM 400000000000 MONITOR CONTROL F0007060
REM 010000000000 JOB NOT PRECEDED BY EOF (26)F0007065
REM 000100000000 SYSLB1 IS ON DISK F0007070
REM 000002000000 CHAIN JOB F0007080
REM 000001000000 CHAIN JOB-BSS CNTRL IN CORESF0007090
REM 000000400000 DEBUG FOR THIS JOB F0007100
REM 000000200000 BINARY INPT EXISTS ON MBNITPF0007110
REM 000000100000 XEQ FOLLOWS THIS COMPILE F0007120
REM 000000000200 XEQ FOLLOWS THIS JOB F0007130
REM 000000000010 LEAVE SYSJOB MINUS $F0007138
REM 000000000004 MODE IS IBSFAP $F0007139
REM 000000000002 SNAP-SHOTS EXIST F0007140
REM 000000000001 TAPE STATISTICS OUTPUT F0007150
REM SYSTEM TAPE SPACERS $F0007160
REM 000000000000 SPACE SYSTEM TO SIGN-ON $F0007161
REM 000010000000 SPACE SYSTEM TO SOURCE ERR $F0007162
REM 000020000000 SPACE SYSTEM TO MACH. ERR. $F0007163
REM 000040000000 SPACE SYSTEM TO DUMP $F0007164
REM $F0007165
REM F0007170
(LNCT) PZE BOTTOM-3 LOCATION OF CUMULATIVE LINES OUTPUT. F0007180
(DATE) PZE FORTRAN DATE CELL $F0007190
(SNCT) PZE COUNT OF SNAP-SHOTS ON LOG TAPE 9 F0007200
REM F0007210
(MSLN) *** ** FLAG FOR ENTRY INTO MACHINE ERROR RECORD F0007220
REM OR SOURCE ERROR RECORD. F0007230
REM 1 FROM FAP F0007240
REM 2 FROM MONITOR F0007250
REM 4 FROM SECTIONS 1 THROUGH 6 F0007260
REM AND THE GENERAL DIAGNOSTIC F0007270
REM F0007280
(ENDS) PZE END CARD SETTINGS 1 THROUGH 15. F0007290
(LODR) TXI **,,** *ENTRY POINT,,FORTRAN RECORD RECORD NUMBER F0007300
(LBLD) PZE ** LOAD POINT FOR DISK LIBRARY $F0007310
REM LOADED WITH SYSLDR $F0007311
REM SPACE FOR $F0007319
PZE ADDITIONAL F0007320
PZE COMMUNICATIONS. F0007330
REM F0007340
REM TABLE OF CHANNEL REGISTERS AFTER SUCCESSFUL READ F0007350
REM F0007360
REM RELEVANT INFORMATION IS CHANNEL ADDRESS REGISTER (21-35) F0007370
REM CHANNEL ADDRESS REGISTER IS LOCATION OF LAST WORD READ+1 F0007380
(SCHU) PZE ** CHANNEL STATUS FLAGS F0007390
DUP 1,NTAPE F0007400
PZE **,,** LOGICAL TAPES 1 THRU NTAPE F0007410
TTL 0 F0007420
REM *************************************************************F0007430
REM ROUTINE TO SAVE CONSOLE AND REGISTERS F0007440
REM F0007450
IOSAV SLW IOSVR+3 SAVE ALL REGISTERS F0007460
ARS 2 F0007470
STO IOSVR+2 F0007480
STQ IOSVR+1 F0007490
STI IOSVR F0007500
LDI INDIC LOAD CONSOLE INDICATORS F0007510
TOV *+2 IS AC OVERFLOW ON .. F0007520
RIR 1000 NO, TURN BIT OFF, F0007530
STI IOSVR+4 SAVE FLAG. F0007540
SXA CURTP+5,4 SET CALLER LOCATION IN LABEL. F0007550
SXA IOSEX+2,4 F0007560
SXA IOSEX+1,2 F0007570
SXA IOSEX,1 F0007580
IOSVX TRA* ** *RETURN VIA ENTRY POINT. F0007590
REM F0007600
INDIC OCT 1400 PRESET CONSOLE INDICATORS(OVFLO LIGHTS) F0007610
REM DEFINITIONS OF INDICATOR BITS F0007620
REM F0007630
REM BITS S,1-25 NOT USED F0007640
REM BIT 26 ON AC OVERFLOW INDICATOR ON F0007650
REM BIT 27 ON MQ OVERFLOW INDICATOR ON F0007660
REM BIT 28 ON DIVIDE CHECK INDICATOR ON F0007670
REM BIT 29 ON SENSE LIGHT 4 OFF F0007680
REM BIT 30 ON SENSE LIGHT 3 OFF F0007690
REM BIT 31 ON SENSE LIGHT 2 OFF F0007700
REM BIT 32 ON SENSE LIGHT 1 OFF F0007710
REM BIT 33 ON TURNS OFF ALL SENSE LIGHTS F0007720
REM BIT 34 NOT USED F0007730
REM BIT 35 NOT USED F0007740
REM F0007750
REM F0007760
IOSVR PZE ** SAVE INDICATORS F0007770
PZE ** SAVE MQ F0007780
PZE ** SAVE LOGICAL ACCUMULATOR F0007790
PZE ** SAVE ALGEBRAIC ACCUMULATOR F0007800
PZE ** SAVE TRIGGER FLAGS F0007810
REM ROUTINE TO RESTORE CONSOLE AND REGISTERS F0007820
REM F0007830
REM F0007840
IOSEX AXT **,1 RELOAD REGISTERS F0007850
AXT **,2 F0007860
AXT **,4 F0007870
LDI IOSVR+4 LOAD TRIGGER FLAGS F0007880
CAL IOSEX PREPARE TO TURN AC OVERFLOW ON F0007890
RFT 1000 WAS AC OVERFLOW ON. F0007900
ALS 4 YES, TURN IT BACK ON F0007910
CLA IOSVR+2 RESTORE ALGEBRAIC AND LOGICAL ACCUMULATOR F0007920
ALS 2 F0007930
ORA IOSVR+3 F0007940
RNT 1000 WAS AC OVERFLOW ON. F0007950
TOV *+1 NO, TURN IT BACK OFF F0007960
LDQ IOSVR+1 RELOAD MQ F0007970
LDI IOSVR RELOAD SI F0007980
IORLX TRA* ** *RETURN TO USER. F0007990
REM *************************************************************F0008000
EJECT F0008010
REM SYSTEM TAPE RECORD TO CORE STORAGE (1 TO CS) F0008020
REM F0008030
LOAD0 SXA LOADX,4 SAVE POSSIBLE LINKAGE. F0008040
LDQ 0,4 PREPARE FOR POSSIBLE DISK LOADING. F0008050
SLQ LOADS (SET TO NOP IF SYSTEM IS ON TAPE) F0008060
CAL 1,4 PICK UP RECORD NAME TO BE LOADED F0008070
SLW LOADS+1 . F0008080
LOADD ZET ** DELAY FOR POSSIBLE TRAPPING ON SYSLB1. F0008090
TRA *-1 . F0008100
LOADS TSX SYSLDR,4 (SET TO TSX SYSLDR,4,1 FOR DISK USE) F0008110
BCI 1,XXXXXX BCD RECORD NAME TO BE SEARCHED, IF ON DISKF0008120
REM F0008130
REM SYSTRA RETURNS CONTROL TO THIS POINT F0008140
LOAD1 SYN * F0008150
LXD (LODR),4 . F0008160
SXD CURTP+5,4 SAVE CURRENT RECNO IN LABEL. F0008170
LOADX AXT **,4 RESTORE POSSIBLE LINKAGE. F0008180
CAL POINT-SYSTAP UPDATE SYSTEM TAPE POSITION POINTER. F0008190
ADD L(01) . F0008200
STO POINT-SYSTAP . F0008210
NZT DIAGY IS THIS A LOAD OF GENERAL DIAGNOSTIC.. F0008220
TRA *+7 NO F0008230
CLA DIAGY YES, PICK UP PARAMETERS. F0008240
LDQ DIAGY+1 . F0008250
LDI DIAGY+2 . F0008260
LXA DGSV6-2,1 RESTORE INDEX REGISTERS. F0008270
LXA DGSV6-1,2 . F0008280
LXA DGSV6,4 . F0008290
STZ DIAGY RESET SWITCH. F0008300
TRA (LODR) *TRANSFER INTO NEW RECORD. F0008310
REM F0008320
EJECT F0008330
REM GENERAL DIAGNOSTIC CALLER F0008340
REM F0008350
DIAG0 CLA 0,4 GET LOCATION OF TSX TO DIAGNOSTIC F0008360
STA *+1 SET ADDRESS TO GET LOCATION OF TXI (DIAG).F0008370
LDI ** LOAD TXI INSTRUCTION. F0008380
LFT 77777 IS THIS A CALL TO GENERAL DIAGNOSTIC. F0008390
TRA DIAG1 YES, GO TO CALLER. F0008400
CLA DIAG9 GET PRINT PARAMETERS. F0008410
TRA IODG0 GO TO ON-LINE DIAGNOSTIC. F0008420
REM F0008430
DIAG1 STI DIAGY SAVE FIRST WORD OF CALLING SEQUENCE (TXI).F0008440
ADD L(01) INCREMENT TO GET SECOND WORD, IF ANY. F0008450
STA *+3 F0008460
ADD L(01) INCREMENT TO GET THIRD WORD, IF ANY. F0008470
STA *+2 F0008480
LDQ ** GET SECOND AND F0008490
CLA ** THIRD WORD OF CALLING SEQUENCE. F0008500
STQ DIAGY+1 F0008510
STO DIAGY+2 F0008520
STL DGSV4 SET RETURN FROM SAVER ROUTINE. F0008530
NOP *+2 F0008540
TRA DGSVA DUMP MEMORY FOR DIAGNOSTIC F0008550
LDI* (FGBX) CHECK FOR DISK SYSTEM. F0008560
LFT 100 . F0008570
TRA DIAG6 SYSTEM IS IN THE DISK FILE. F0008580
CLA POINT-1 GET CURRENT POSITION OF SYSTEM TAPE. F0008590
STD *+2 SAVE CURRENT FILE POSITION. F0008600
AXT 4,4 COMPUTE FILE POSITION OF G.DIAG. F0008610
TIX *+1,4,** . F0008620
SXD ERASD,4 . F0008630
TSX (TAPE),4 SPACE TO THE GENERAL DIAGNOSTIC FILE. F0008640
PZE ERASD,,(SKBP) . F0008650
PZE ,,SYSTAP . F0008660
DIAG6 STL DGLD2 SET RETURN FROM RELOADING ROUTINE. F0008670
NOP *+2 F0008680
TRA DGLD0 F0008690
TSX (LOAD),4,1 *ENTER GENERAL DIAGNOSTIC. F0008700
BCI 1,9D0000 F0008710
REM F0008720
DIAGY PZE **,,** CELL FOR SAVING TXI (DIAG),,-N F0008730
PZE ** CELL FOR SAVING SECOND WORD OF CALLER. F0008740
PZE ** CELL FOR SAVING THIRD WORD OF CALLER. F0008750
REM F0008760
DIAG9 PZE *+1,,ERAS1 F0008770
PZE *+1,,11 F0008780
TITLE F0008790
BCI 9, *** PROBABLE MACHINE ERROR. PLEASE REFER TO SYSTEM L F0008800
BCI 2,ISTING. *** F0008810
TTL GENERAL I/O ROUTINES F0008820
REM F0008830
REM F0008840
REM F0008850
REM INITIALIZE CURRENT OFF-LINE ACTIVITY F0008860
REM F0008870
REM F0008880
REM F0008890
TAPS0 LDI 2,4 LOAD LABEL-ADDRESS,T2,TAPENO. F0008900
LNT 77777 IS THIS INDIRECT.. F0008910
TRA *+4 NO. F0008920
STI ERAS2 YES, INITIALIZE LOCATION OF PARAMETER F0008930
LDI* ERAS2 GET NEW LABEL ADDRESS, T2, TAPNO. F0008940
TRA TAPS0+1 AND CHECK F0008950
PIA PLACE SECOND PARAMETER IN AC. F0008960
LDI 1,4 LOAD INSTRUCTION,T1,FLAGS. F0008970
LNT 77777 IS THIS INDIRECT F0008980
TRA *+4 NO F0008990
STI ERAS2 YES, INITIALIZE LOCATION OF PARAMETER F0009000
LDI* ERAS2 LOAD NEW INSTRUCTION,T1,FLAGS F0009010
TRA *-4 AND CHECK F0009020
LFT 75000 IS THIS ILLEGAL FLAG F0009030
TRA *+3 NO. F0009040
CLA FLERM YES, GET MESSAGE PARAMETERS. F0009050
TRA IODG0 *GO TO ON-LINE DIAGNOSTIC. F0009060
LDQ L(00) SET NO ERR-RETURN/LABEL FLAG PROVISIONALLYF0009070
LNT (CHKU) IS THIS A CALL TO CHECK PRIOR ACTIVITY.. F0009080
REM OR CHANGE UNIT AVAILABILITY.. $F0009081
TRA TAPS1 NO F0009090
PIA YES, COMPUTE EFFECTIVE TAPE NUMBER F0009100
STT *+1 F0009110
SXA ERASA,** F0009120
SUB ERASA F0009130
PAX ,T F0009140
PIA F0009150
TAPCK TRA AVPCH *TO SEE IF REALLY (CHKU) CALL $F0009160
STL TAPRX SET RETURN FOLLOWING CHECK OF PRIOR USE. F0009170
NOP *+2 RETURN FROM CHANNEL CHECKER ROUTINE. F0009180
TRA TAPER *CHECK PRIOR ACTIVITY F0009190
LDC CURTP+2,T LOAD (SCHU) INDEX (LOGICAL TAPENO). F0009200
NZT (SCHU),T WAS AN EOF READ.. F0009210
STZ (SCHU),T YEAS, SET IT TO A READ AND CHECK FLAG. F0009220
TRA CHKTO *EXIT TO RESTORE ROUTINE. F0009230
REM F0009240
REM F0009250
TAPS1 STP CURTP+5 SAVE LABEL FLAG (FROM CALLER 2,4). F0009260
REM MINUS INDICATES NO CHECK ON LABEL F0009270
STT ERASR INITIALIZE LOCATION OF LABEL F0009280
STA ERASR F0009290
ZET ERASR IS A LABEL REQUIRED F0009300
LDQ* ERASR YES, PICK UP LABEL F0009310
STQ CURTP+3 (ACTUAL LABEL OR ZERO FLAG) F0009320
STD CURTP+2 SAVE LOGICAL TAPE NUMBER (OR PARNO) F0009330
PIA RECALL INSTRUCTION ADDRESS,T1 F0009340
STT *+1 COMPUTE EFFECTIVE INSTRUCTION ADDRESS F0009350
SXA ERASA,** F0009360
SBM ERASA F0009370
STA SKIP0 SET LOCATION OF POSSIBLE SKIP PARAMETER. F0009380
ADD L(05) F0009390
STA PATCH2+3 SET LOCATION OF END OF I/O LIST $F0009400
LDQ 3,4 LOAD POSSIBLE ERROR RETURN F0009410
STL TAPRX SET RETURN FOLLOWING CHECK OF PRIOR USE F0009420
NOP TAPE0 TO TAPE DATA TRANSMIT ROUTINE F0009430
LFT (SKIP) IS THIS TAPE REPOSITION.. F0009440
STL TAPRX YES, RESET RETURN F0009450
NOP SKIP0 TO TAPE REPOSITION ROUTINE F0009460
TRA TAPER *CHECK PRIOR ACTIVITY F0009470
REM F0009480
EJECT F0009490
REM ROUTINES TO SPACE RECORDS AND FILES F0009500
REM F0009510
REM F0009520
SKIP0 CLA ** PICK UP ACTUAL POSITIONING PARAMETER. F0009530
LDC CURTP+2,4 LOAD LOGICAL TAPENO, COMPLEMENTED. F0009540
NZT (SCHU),4 WAS EOF SENSED.. F0009550
STZ (SCHU),4 YES, RESET POSSIBLE READ NOP. F0009560
STO UNITT+3,C SAVE PARAMETER IN CHANNEL DATA TABLE. F0009570
STA ERASA SAVE COUNT OF RECORDS TO BE SKIPPED. F0009580
STD ERASD SAVE COUNT OF FILES TO BE SKIPPED. F0009590
SXA SKIP6,C SAVE IR C. F0009600
PDX ,1 LOAD FILE COUNT. F0009610
TPL SKIPF *SKIP IS SKIP FORWARD. F0009620
REM F0009630
TXL SKIP1,1,-2 IS THIS SPECIAL REWIND AND UNLOAD.. F0009640
AXT .RUN.,4 YES, F0009650
REWD1 SXD NDSEL,4 SET NON-DATA SELECT PARAMETER. F0009660
TSX NONDT,4 *RUN TAPE FUNCTION SPECIFIED IN IR2. F0009670
CAL INITL RESET TAPE POSITION STATUS WORD F0009680
SLW POINT,T TO INITIAL POSITION. F0009690
TRA TAPEX *EXIT TO CALLER, VIA TAPEX. F0009700
SKIP1 TXL SKIP2,1,0 ANY FILES TO BE SKIPPED.. F0009710
TSX (NDATA,4 *BACKSPACE NFILES. F0009720
PZE TAPNO,T,.BSF. F0009730
TIX *-2,1,1 F0009740
REM F0009750
SKIP2 LXA ERASA,1 LOAD NUMBER OF RECORDS TO BE SKIPPED. F0009760
TXL SKIPE,1,0 ANY RECORDS TO BE SKIPPED.. F0009770
TSX (NDATA,4 *BACKSPACE NRECORDS. F0009780
PZE TAPNO,T,.BSR. F0009790
TIX *-2,1,1 F0009800
SKIPE NZT ERASD WERE ANY FILES SPACED.. F0009810
TRA CMP01 *NO, COMPUTE NEW TAPE POSITION. F0009820
STZ ERASA YES, RESET RECORD COUNT F0009830
ZET CURTP+3 IS THERE A LABEL.. F0009840
TSX FINDL,4 *YES, OBTAIN POSITION OF DATA. F0009850
TRA CMP01 *NO LABEL, OR NOT FOUND. F0009860
TRA CMP02 CONTINUE BELOW. F0009870
CMP01 CAL POINT,T PICK UP PREVIOUS TAPE POSITION. F0009880
SUB ERASD SUBTRACT NFILES BACKSPACED. F0009890
NZT ERASD WERE FILES SPACED $F0009891
SUB ERASA NO. SUB. NRECORDS BACKSPACED $F0009892
ZET ERASD YES. MASK $F0009893
ORA ADMSK FOR FILE SPACED $F0009900
CMP02 SLW POINT,T SAVE NEW POSITION. F0009910
LNT (...C) IS THIS DELAY AND CHECK IMMEDIATE.. F0009920
TRA TAPEX *NO, RETURN TO CALLER VIA TAPEX. F0009930
STL CHKIX SPECIAL BTT TEST, CHECK UCB3. F0009940
NOP TAPEX EXIT TO CALLER VIA TAPEX AFTER F0009950
TRA CHKIO TESTING FOR BTT. F0009960
SPACE 5 F0009970
REM FORWARD SPACE FILES AND/OR RECORDS F0009980
SPACE 2 F0009990
SKIPF TXL SKIP3,1,-2 IS THIS A REWIND SPECIAL.. F0010000
CLA TAPNO,T YES, MAY THIS TAPE BE REWOUND.. F0010010
TMI RWERR *NO, IT IS AN OUTPUT TAPE (LISTING). F0010020
AXT .REW.,4 YES, SET NON-DATA SELECT PARAMETER F0010030
TRA REWD1 *AND CONTINUE ABOVE. F0010040
REM F0010050
SKIP3 TXL SKIP5,1,0 ANY FILES TO BE SKIPPED FORWARD.. F0010060
TSX IOPRQ,4 *SKIP FORWARD ONE FILE. F0010070
PZE SKIPR . F0010080
TNX SKIP4,1,1 ANY MORE FILES TO SKIP.. F0010090
SXA SKP01,1 SAVE LOOPING INDEX. F0010100
LXA SKIP6,C RESTORE UNITT POINTER. F0010110
STL CHSKX YES, GO CHECK CHANNEL TRIGGERS F0010120
NOP *+2 (KICKED OUT IN CASE OF RTT) F0010130
TRA CHSKP F0010140
RNT EOFIL WAS END OF FILE SENSED.. F0010150
TRA MEFER **NO, GO TO ERROR ROUTINE. F0010160
SKP01 AXT **,1 RESTORE LOOPING IR. F0010170
TRA SKIP3+1 CONTINUE. F0010180
SKIP4 LXA ERASA,1 LOAD NUMBER OF RECORDS TO BE SKIPPED. F0010190
TXL SKIP6,1,0 ANY RECORDS TO BE SKIPPED.. F0010200
LXA SKIP6,C RESTORE UNITT POINTER. F0010210
STL CHSKX CHECK POSSIBLE PRIOR FILE SKIP, ETC. F0010220
NOP *+2 F0010230
TRA CHSKP F0010240
RNT EOFIL WAS EOF NOT SENSED.. F0010250
TRA MEFER *MISSING EOF, TELL THEM. F0010260
SKIP5 LXA ERASA,1 LOAD NUMBER OF RECORDS TO BE SKIPPED. F0010270
TXL TAPEX,1,0 ANY RECORDS TO BE SPACED FORWARD.. F0010280
TSX IOPRQ,4 *SKIP OVER ONE RECORD, F0010290
PZE SKIPR+2 BY READING THE LABEL. F0010300
TNX SKIP6,1,1 ANY MORE RECORDS TO BE SKIPPED.. F0010310
SXA SKP02,1 SAVE LOOPING IR. F0010320
LXA SKIP6,C RESTORE UNITT POINTER. F0010330
STL CHSKX YES, CHECK PREVIOUS SKIP. F0010340
NOP *+2 F0010350
TRA CHSKP F0010360
RFT EOFIL WAS EOF MISTAKENLY SENSED.. F0010370
TRA TEFER YES, TELL THEM ABOUT IT. F0010380
SKP02 AXT **,1 RESTORE LOOPING IR. F0010390
TRA SKIP5+2 NO, CONTINUE SKIPPING. F0010400
REM F0010410
SKIP6 AXT **,C RESTORE IR C. F0010420
NZT ERASD WERE ANY FILES SPACED.. F0010430
TRA *+5 NO. F0010440
ZET CURTP+3 YES. IS THERE A LABEL. F0010450
TSX FINDL,4 YES, FIND DATA POSITION. F0010460
TRA *+2 NOT LABELED, COMPUTE POSITION. F0010470
TRA TAPE2 *POSITION SET BY FIND SUBROUTINE. F0010480
CAL POINT,T PICK UP CURRENT TAPE POSITION. F0010490
NZT ERASD WERE ANY FILES SPACED. F0010500
TRA *+4 *NO. F0010510
ANA DCMSK YES, MASK OUT ALL BUT FILE NUMBER. F0010520
ADD L(01) INITIALIZE RECORD POSITION. F0010530
ADD ERASD ADD FILE COUNT. F0010540
ADD ERASA ADD RECORD COUNT. F0010550
SLW POINT,T SAVE NEW POSITION. F0010560
TRA TAPE2 *CONTINUE WITH COMMON ROUTINE. F0010570
REM F0010580
SPACE 3 F0010590
SKIPR IORPN ,,-1 I/O COMMAND TO SKIP FILE F0010600
TCH *-1 F0010610
IORT LABEL,,3 I/O COMMAND TO SKIP RECORD F0010620
REM F0010630
EJECT F0010640
REM ROUTINES TO ISSUE CURRENT READ/WRITE TAPE RECORD F0010650
REM F0010660
TAPE0 CAL CURTP+2 SAVE MODE IN HISTORIC BUFFER. F0010670
STA UNITT+1,C . F0010680
LNT (WEFP) IS THIS WRITE END OF FILE.. F0010690
TRA TAPES NO. F0010700
TSX (NDATA,4 *YES, ENTER NON-DATA SELECT F0010710
PZE TAPNO,T,.WEF. ROUTINE. F0010720
TRA ETERR *EOT ON WEF RETURN, GIVE MESSAGE. F0010730
STL NOENT NORMAL RETURN, F0010740
TSX ENTER,4 UPDATE DICTIONARY. F0010750
STZ NOENT RESET FLAG. F0010760
CAL POINT,T PICK UP CURRENT TAPE POSITION. F0010770
ANA DCMSK PRESERVE THE FILE COUNT, F0010780
ADD D(01) AND INCREMENT IT. F0010790
SSM SET WRITE OPERATION FLAG. F0010800
STO POINT,T SAVE NEW TAPE POSITION. F0010810
TRA TAPE2 *CONTINUE WITH COMMON ROUTINE. F0010820
REM F0010830
REM OPERATION IS TAPE DATA TRANSMIT F0010840
TAPES LFT (SNAP)+(W...) IS THIS CALL FOR (SNAP) OR WRITE.. F0010850
TRA TAPE1 *YES, ONE OR THE OTHER. F0010860
LDC CURTP+2,4 NO, CONSTRUCT (SCHU) INDEX. F0010870
CLA (SCHU),4 PICK UP LAST STORE CHANNEL F0010880
TNZ TAPE1 WAS EOF SENSED ON PRIOR READ.. F0010890
TPL TAPE1 YES, IS FOLLOWING RECORD DELETED.. F0010900
STZ (SCHU),4 YES, RESET MINUS FLAG (...P), F0010910
TRA TAPEX *AND IGNORE CURRENT REQUEST. F0010920
TAPE1 SXD *+2,C SET LOCATION AT $F0010930
AXT UNITT+8,4 UNITT+8 $F0010940
TIX *+1,4,** MINUS C(C) CHANNEL POINTER $F0010950
TRA PATCH2 MOVE I/O (OR SNAPSHOT) LIST $F0010960
LFT (SNAP) IS THIS CALL FOR (SNAP).. F0010970
TRA SNAP0 *YES, GO TO SNAPSHOT ROUTINE. F0010980
SXD *+2,C COMPUTE LOCATION OF I/O SEQUENCE. F0010990
AXT UNITT+2,4 . F0011000
TIX *+1,4,** . F0011010
NZT CURTP+3 IS LABEL REQUIRED.. F0011020
TXI *+1,4,1 NO, BYPASS IOSP LABEL COMMAND. F0011030
SXA TPSEL,4 SET I/O TRANSLATOR CALLER. F0011040
LFT 20 IS THIS CALLLFOR OFF-LINE ROW.. F0011050
TRA ROTAT *YES, ROTATE AND RETURN. F0011060
TPROW NZT CURTP+3 IS RECORD LABELED.. F0011070
TRA *+7 NO. F0011080
LFT (W...) YES, IS THIS A WRITE OPERATION.. F0011090
TRA *+4 YES. F0011100
TSX FINDL,4 *LOCATE ENTRY FOR DATA TO BE READ. F0011110
TRA NODAT NO DATA, DON-T READ $F0011120
TRA *+2 DATA EXISTS, READ IT. F0011130
TSX ENTER,4 *ENTER NEWLY WRITTEN DATA IN DICTIONARY. F0011140
CAL TPSEL PREPARE FOR READ FLAG. F0011150
LFT (W...) IS THIS WRITE OPERATION.. F0011160
CLS TPSEL SET FLAG FOR F0011170
STO TPSEL WRITE REQUEST. F0011180
REM F0011190
REM ENTRY FROM FORWARD SKIPS AND WEF CALL F0011200
TAPE2 TRA PATCH3 $F0011210
CAL CURTP+6,4 . F0011220
SLW **,4 MOVE HISTORIC INFORMATION $F0011230
TXH *+2,4,3 . F0011240
SLW **,4 . $F0011250
TIX *-4,4,1 . F0011260
LNT (WEFP) IS THIS A WEF OR SKIP ENTRY.. F0011270
LNT (DATA) . F0011280
TRA TPSEL+1 *YES, ONE OR THE OTHER. F0011290
TSX IOPRQ,4 *ISSUE CURRENT TAPE DATA TRANSMIT REQUEST. F0011300
TPSEL QZE ** . F0011310
STZ *-1 CLEAR OPERATION BIT S. F0011320
LNT (...C) IS THIS A CHECK IMMEDIATE CALL.. F0011330
TRA TAPEX NO, F0011340
STL TAPRX YES, F0011350
NOP TAPEX SET RETURN AND F0011360
TRA TAPR0 *CHECK CURRENT ACTIVITY IMMEDIATELY. F0011370
SPACE 3 F0011380
TAPEX STL IORLX SET RETURN FOLLOWING CONSOLE AND F0011390
NOP 3,4 REGISTER RESTORATION TO CALLER 3,4. F0011400
ZET CURTP WAS ERROR RETURN SPECIFIED.. F0011410
STL IORLX YES, CHANGE CALLER RETURN F0011420
NOP 4,4 POINT TO 4,4. F0011430
LFT ONLNX BUT THEN, IS THIS AN ON-LINE CALL.. F0011440
CHKTO STL IORLX YES, CHANGE CALLER RETURN F0011450
NOP 2,4 POINT TO 2,4. F0011460
TRA IOSEX *1660 A.D. F0011470
REM F0011480
REM F0011490
REM OFF-LINE ROW BINARY CARD ROTATION SUBROUTINE F0011500
ROTAT CAL* SKIP0 PICK UP INPUT CARD IMAGE 9L ADDRESS. F0011510
STA TPROA+2 F0011520
CAL ROBIO MOVE I/O COMMAND. F0011530
STD UNITT+3,C PLACE IN HISTORIC BUFFER F0011540
STA UNITT+3,C FOR THIS CHANNEL. F0011550
SXA TPROC,T SAVE CURRENT LOGICAL TAPENO. F0011560
SXA TPROC+1,C SAVE UNITT INDEX. F0011570
STL TAPRX SET RETURN FROM CHANNEL CHECKER ROUTINE. F0011580
NOP *+2 (MAKE SURE CARD IMAGE BUFFER IS CLEAR) F0011590
TRA TAPR0 *CHECK PREVIOUS OPERATION. F0011600
NOP ROBUF+12,1 INDIRECT ADDRESSING CELL. F0011610
TPROD AXT 24,1 LOAD WORD COUNT. F0011620
STZ ROBUF+24,1 CLEAR OUTPUT CARD IMAGE BUFFER F0011630
TIX *-1,1,1 F0011640
AXT 12,2 LOAD SHIFT COUNT F0011650
TPROA AXC -1,4 LOAD FLIP-FLOP. F0011660
AXT 12,1 INITIALIZE BIT COUNTER. F0011670
LDQ ** GET A WORD. F0011680
TPROB ZAC CLEAR AC. F0011690
LGL 1 SHIFT IN NEXT BIT F0011700
ALS 11 SPACE F0011710
LGL 1 SHIFT IN NEXT BIT F0011720
ALS 11 SPACE F0011730
LGL 1 SHIFT IN NEXT BIT F0011740
ALS 12,2 POSITION IN WORD F0011750
ORS* TPROD,4 INSERT INTO OUTPUT BUFFER. F0011760
TIX TPROB,1,1 *IS HALF COMPLETE, NO CONTINUE. F0011770
CAL TPROA+2 YES, INCREMENT WORD ADDRESS F0011780
ADD L(01) OF INPUT IMAGE. F0011790
STA TPROA+2 SET NEW ADDRESS. F0011800
SXA TPROA,4 RESET FLIP-FLOP. F0011810
TXL TPROA,4,1 *IS THIS ROW COMPLETE, NO CONTINUE. F0011820
TIX TPROA,2,1 *YES, IS CARD COMPLETE, NO. F0011830
TPROC AXT **,T RELOAD CURRENT LOGICAL TAPENO. F0011840
AXT **,C RELOAD UNITT INDEX. F0011850
TRA TPROW *RETURN TO COMMON ROUTINE. F0011860
REM F0011870
ROBIO IORT ROBUF,,24 F0011880
EJECT F0011890
REM F0011900
REM PREPARE FOR CURRENT REQUEST F0011910
REM F0011920
REM ENTRY POINT FOR CURRENT ON-LINE REQUEST F0011930
ONLNC STZ CURTP SET NO ERROR-RETURN FLAG. F0011940
ZSD CURTP+2 DELETE LOGICAL TAPE NUMBER. F0011950
LDI 1,4 LOAD PARAMETER F0011960
LNT 77777 IS THIS INDIRECT F0011970
TRA ONLN1 NO F0011980
STI ERAS2 YES, INITIALIZE INDIRECT ADDRESS TO F0011990
LDI* ERAS2 LOAD NEW PARAMETER F0012000
TRA *-4 AND CHECK F0012010
REM F0012020
REM F0012030
REM ENTRY POINT FOR CURRENT OFF-LINE REQUEST F0012040
TAPER XCL RECALL POSSIBLE ERROR RETURN F0012050
PAI FOR CURRENT REQUEST. F0012060
LFT 377777 IS THIS ERROR RETURN F0012070
ZAC NO. F0012080
STP CURTP SAVE ABSOLUTE RETURN FLAG F0012090
STT *+1 COMPUTE EFFECTIVE ADDRESS F0012100
SXA ERASA,** F0012110
SUB ERASA F0012120
STA CURTP SET ERROR RETURN (MAY BE ZERO FOR NONE) F0012130
XCL RECALL FLAGS (1,4) F0012140
PAI F0012150
LXD CURTP+2,T RELOAD CURRENT LOGICAL TAPE NUMBER. F0012160
LFT (SNAP) IS THIS CALL FOR (SNAP).. F0012170
AXT SNPTAP,T YES, LOAD SNAP TAPE NUMBER INSTEAD. F0012180
TPNRT TXH TPNRR,T,** *IS TAPE NUMBER LEGAL, NO. F0012190
NZT TAPNO,T HAS THIS UNIT BEEN ASSIGNED A UCB.. F0012200
TRA TPNRR *NO, THIS UPDATE TAPE IS RESRVD/7909/UNAVL.F0012210
LNT (TPER) IS THIS (TPER) CALL.. F0012220
TXL TPNRR,T,0 *NO, IS TAPE NUMBER LEGAL, NO. F0012230
DISKT TXL TDISK,T,1 IS CALL FOR SYSTEM FUNCTION (NOP IF TAPE) F0012240
PXD ,T NO, GET LOGICAL TAPE NUMBER F0012250
ALS 12 AND POSITION FOR SAVING IN F0012260
SLW TPNUM INDEX TABLE. F0012270
CAL* TAPNO,T PREPARE TO SET THE MOOD. F0012280
ARS 18 SHIFT TAPE ADDRESS TO AC ADDRESS. F0012290
LNT (.D..) IS MODE TO BE DECIMAL.. F0012300
ORA L(16) MODE TO BE BINARY. F0012310
STA CURTP+2 SAVE TAPE UNIT ADDRESS (MODE). F0012320
ARS 4 SET IOPRQ MODE PERAMETERS $F0012330
ALS 16 . $F0012331
STT L(SL) . F0012340
CAL TAPNO,T F0012350
STP CURTP+2 SAVE OUTPUT TAPE FLAG. F0012360
ONLN1 STI CURTP+1 SAVE INSTRUCTION,,FLAGS F0012370
CAL* TAPNO,T PICK UP CHANNEL OF THIS TAPE FUNCTION. F0012380
ANA DCMSK F0012390
ARS 27 F0012400
PAX ,4 LOAD CHANNEL NUMBER. F0012410
ALS 4 F0012420
PAX ,C LOAD UNITT TABLE INDEX. F0012430
TXH TPNRR,4,NCHAN DOES CHANNEL EXIST, NO. F0012440
LFT (TPER) IS THIS RETURN AFTER ERROR ON PRIOR CHECK.F0012450
TRA DGRET *YES F0012460
REM F0012470
REM CHECK PRIOR ACTIVITY ON THIS UNIT F0012480
REM F0012490
REM ENTRY FOR IMMEDIATE CHECK OF CURRENT OPERATION F0012500
TAPR0 CAL UNITT+12,C PICK UP HISTORICAL FLAGS F0012510
TZE TAPR9+7 *IS THERE ANY PRIOR HISTPRY.. F0012520
PAI YES, LOAD HISTORICAL FLAGS. F0012530
LFT ONLNX IS THIS ON-LINE.. F0012540
TRA TAPR9 *YES, EXIT. F0012550
CAL UNITT+13,C PICK UP HISTORICAL LOGICAL TAPE F0012560
PDX ,H NUMBER. F0012570
LFT (SKIP) IS THIS CHECK OF PRIOR TAPE SKIP FORWARD..F0012580
TRA TAPR7 YES F0012590
REM F0012600
REM ACTIVITY WAS ON OR OFF LINE DATA TRANSMIT F0012610
LNT (W...) YES, IS THIS WRITE-SELECT OPERATION.. F0012620
TXI *+1,H,NTAPE NO, BUMP LOGICAL TAPE NO. TO READ-BLOCK F0012630
CAL TERST,H INCREMENT RECORD COUNT, READ OR WRITTEN. F0012640
ADD L(01) F0012650
STO TERST,H F0012660
TIX *+1,H,NTAPE BUMP LOGICAL TAPE NUMBER BACK. F0012670
REM F0012680
REM REENTRY TO CHECK AFTER REREADING/REWRITING RECORD F0012690
TAPR1 STL CHKIX SET RETURN FROM CHANNEL CHECKER ROUTINE F0012700
NOP *+2 F0012710
TRA CHKIO *CHECK PRIOR DATA TRANSMIT F0012720
LNT (DATA) IS THIS NON-DATA-TRANSMIT OPERATION.. F0012730
TRA TAPR9 YES. F0012740
LFT (W...) NO, IS THIS WRITE.. F0012750
TRA TAPRD YES F0012760
REM F0012770
REM PRIOR OPERATION WAS READ F0012780
SXA *+1,H CONSTRUCT (SCHU) INDEX F0012790
TAPRF AXC **,4 BY COMPLEMENTED TAPENO. F0012800
CAL TAPNO,H PICK UP RESULTS OF F0012810
PAC ,2 SCHX FOR PRIOR READ F0012820
CLA 3,2 OF THIS TAPE FUNCTION. F0012830
ORA LSEVN ALLOW (SCHU) ARITMETIC. F0012840
STO (SCHU),4 SAVE IN PROPER (SCHU) WORD. F0012850
STA ERASA F0012860
LXA TAPRF,H . F0012870
RNT EOFIL WAS EOF SENSED.. F0012880
NZT UNITT+14,C NO, IS LABEL DELETED.. F0012890
TRA TAPRB YES, DON'T CHECK NOISE ON UNLBLD RECORDS, F0012900
REM NOR ON LABELED EOF (IOEX HAS DONE IT ALREADY) F0012910
REM F0012920
PAX ,4 F0012930
CLA UNITT+3,C PREPARE TO COMPARE I/O COMMAND F0012940
ANA ADMSK WITH SCHX RESULTS. F0012950
CAS ERASA WAS AN ACTUAL RECORD READ.. F0012960
TRA TAPRA YES. F0012970
TRA TAPR6 NO, LABEL ONLY. TRY AGAIN. F0012980
TXL TAPRA,4,LABEL MAYBE, IS ADDRESS BELOW LABEL BUFFER.. F0012990
CAL TERRT,H NO, INCREMENT NOISE RECORD COUNT. F0013000
ADD D(01) ON READS. F0013010
SLW TERRT,H . F0013020
TRA TAPR6 *TRY AGAIN. F0013030
TAPRA RFT REDUN+WMODE WAS REDUNDANCY SENSED READING DATA.. F0013040
TRA TAPRC *YES. F0013050
CLA UNITT+16,C NO, LOAD LABEL FLAG. F0013060
TMI TAPR9 SHOULD LABEL BE IGNORED. F0013070
CLA UNITT+8,C PICK UP LABEL READ LAST TIME. F0013080
SUB UNITT+14,C SUBTRACT THE REQUESTED LABEL. F0013090
TNZ POSR0 *ARE THEY THE SAME, NO.. F0013100
CLA UNITT+9,C YES, PICK UP ACTUAL POSITION OF TAPE, F0013110
SUB UNITT+15,C SUBTRACT WHAT IT SHOULD BE. F0013120
TNZ POSR0 *WAS CORRECT RECORD READ.. F0013130
TXI TAPRE,H,NTAPE YES, CHECK CURRENT TEMPORARY RTT TOTAL. F0013140
REM F0013150
REM TAPE IS INCORRECTLY POSITIONED, TRY TO CORRECT IT F0013160
POSR0 CAL UNITT+8,C GET LABEL OF RECORD ACTUALLY READ. F0013170
STL NOENT SET FLAG FOR DUMMY SEARCH. F0013180
TSX FINDL,4 *IS THERE A HISTORY OF IT.. F0013190
TRA POSRR *NO, GO TO DIAGNOSTIC. F0013200
STZ NOENT RESET SEARCH FLAG. F0013210
CLA UNITT+9,C GET POSITION ACTUALLY READ. F0013220
STA ERASA SAVE RECORD POSITION, F0013230
STD ERASD AND FILE POSITION. F0013240
SXA POSR3+1,C SAVE IR C. F0013250
CLA UNITT+15,C GET POSITION WHERE TAPE SHOULD BE. F0013260
ANA DCMSK MASK OUT RECORD POSITION F0013270
SUB ERASD COMPUTE THE FILE DIFFERENCE. F0013280
TZE POSR3+2 *IS IT OFF BY ANY FILES, NO.. F0013290
PDX ,1 LOAD FILE DIFFERENCE. F0013300
TMI POSR2 *SHOULD ANY FILES BE BACKSPACED,YES.. F0013310
POSR1 TSX IOPRQ,4 *NO, SKIP FORWARD NFILES. F0013320
PZE SKIPR,2 F0013330
TIX *-2,1,1 ALL FILES SPACED.. F0013340
TRA POSR3 YES, CONTINUE BELOW. F0013350
POSR2 AXT .BSF.,4 BACKSPACE NFILES. F0013360
SXD NDSEL,4 . F0013370
TSX NONDT,4 . F0013380
TSX NONDT,4 . F0013390
TIX *-1,1,1 ALL FILES BACKSPACED.. F0013400
TRA POSR1 YES, BUT GET OVER FILE MARK. F0013410
POSR3 ZSA ERASA ALL FILES ARE SPACED, CLEAR RECORD COUNT. F0013420
AXT **,1 RESTORE IR C. F0013430
CLA UNITT+15,C PICK UP PROPER TAPE POSITION. F0013440
ANA ADMSK SAVE ONLY RECORD COUNT F0013450
SUB ERASA SUBTRACT ACTUAL RECORD POSITION. F0013460
PAX ,1 LOAD RECORD COUNT DIFFERENCE. F0013470
TMI POSR5 *SHOULD ANY RECORDS BE BACKSPACED, YES.. F0013480
POSR4 TNX POSR6,1,1 NO, SHOULD ANY BE FORWARD SPACED.. F0013490
TSX IOPRQ,4 *YES, SKIP FORWARD ONE RECORD. F0013500
PZE *+1,2 F0013510
IORTN *+1,,-1 I/O COMMAND TO SKIP RECORD (NOP). F0013520
TRA POSR4 CONTINUE ON RECORD COUNT. F0013530
POSR5 AXT .BSR.,4 BACKSPACE NRECORDS. F0013540
SXD NDSEL,4 . F0013550
TSX NONDT,4 . F0013560
TSX NONDT,4 . F0013570
TIX *-1,1,1 ANY MORE RECORDS TO BACKSPACE.. F0013580
POSR6 LXA POSR3+1,C RESTORE IR C. F0013590
STL CHKIX TAPE SHOULD BE POSITIONED F0013600
NOP *+2 CORRECTLY. RESET ANY FLAGS. F0013610
TRA CHKIO F0013620
CAL TAPNO,H INCREMENT POSITIONING ERROR COUNT. F0013630
ADD D(01) F0013640
SLW TAPNO,H F0013650
PAI F0013660
LNT 62 HAVE THERE BEEN 50 POSITIONING ERRORS.. F0013670
TRA TAPR6 *NO, TRY AGAIN. F0013680
LDI (SCHU) YES, RELOAD FLAGS, F0013690
CLA EXPOS AND PICK UP ERROR MESSAGE PARAMETERS. F0013700
TRA IODGA *GO TO TAPE DIAGNOSTIC. F0013710
SPACE 3 F0013720
REM CHECK FOR REDUNDANCY READING UNLABELED DATA OR END FILE F0013730
REM F0013740
TAPRB RFT REDUN+EOFIL+WMODE ANY TROUBLE.. F0013750
TRA *+4 YES, ONE OR THE OTHER. F0013760
LFT ONLNX NO, WAS PRIOR OPERATION ON-LINE.. F0013770
TRA TAPR9 YES, DO NOT INCREMENT COUNTERS. F0013780
TRA UPDAT *NO. F0013790
RFT REDUN+WMODE YES, WAS IT RTT OR WRONG MODE READ.. F0013800
TRA TAPRC *YES, GO TO ERROR PROCEDURE F0013810
ZAC NO, SET END OF FILE FLAG. F0013820
LNT (...C) WAS DELAY AND CHECK REQUESTED.. F0013830
SSM NO, SET FLAG TO OMIT NEXT RECORD F0013840
LNT (..E.) IS EOF PROHIBITED.. F0013850
TRA TEFER *YES, PRINT ERROR COMMENT. F0013860
STO (SCHU),4 NO, SET END FILE FLAG F0013870
CAL POINT,H PICK UP CURRENT POSITION F0013880
ANA DCMSK PRESERVE FILE POSITION. F0013890
ADD INITL INCREMENT FILE COUNT AND SET F0013900
SLW POINT,H RECORD POSITION. F0013910
TRA TAPR9 CLEAR HISTORICAL BUFFER, AND EXIT. F0013920
REM F0013930
REM REDUNDANCY READING. F0013940
REM F0013950
TAPRC LXA TAPRF,H RELOAD HISTORICAL LOGICAL TAPENO. F0013960
RFT WMODE WAS TROUBLE A WRONG MODE READ.. F0013970
NZT UNITT+11,C YES, WAS THERE AN ERROR RETURN.. F0013980
TRA RDPRR **NOT WRONG MODE, OR NO ERROR RETURN. F0013990
TSX (NDATA,4 WRONG MODE READ WITH ERROR RETURN. F0014000
PZE TAPNO,H,.BSR. BACKSPACE BEFORE THE RECORD READ WELL. F0014010
CLA UNITT+11,C PICK UP HISTORIC ERRET F0014020
SLW ERRET,H FOR ERROR RETURN. F0014030
LAC TAPRF,4 SAVE FLAGS IN PROPER (SCHU). F0014040
STI (SCHU),4 . F0014050
CAL TERTT,H REDUCE RTT COUNTER ON READS. F0014060
SUB L(01) . F0014070
SLW TERTT,H . F0014080
TRA TAPR9 *EXIT ON WRONG MODE READ SIGNAL. F0014090
REM F0014100
REM PRIOR ACTIVITY WAS WRITE F0014110
TAPRD RFT EOTAP WAS END TAPE SENSED.. F0014120
TRA ETERR *YES F0014130
REM F0014140
REM TEMPORARY RTT POSSIBLY SENSED F0014150
TAPRE LDI TERCT,H LOAD ERROR COUNTS FOR TESTING. F0014160
TIX TAPR3,H,NTAPE *BUMP HISTORIC TAPENO BACK ON READ F0014170
REM F0014180
REM ERROR ON WRITE SELECT, POSSIBLY F0014190
RNT 36 IS CUMULATIVE ERROR COUNT 30 FOR THIS TAPEF0014200
TRA UPDAT *NO. F0014210
CLA WTXRM YES, PICK UP ERROR MESSAGE PARAMETERS. F0014220
TRA TAPRG *GO CLEAR OUT COUNT (25)F0014230
REM F0014240
REM ERROR ON A READ SELECT, POSSIBLY F0014250
TAPR3 RNT 62 IS CUMULATIVE ERROR COUNT 50 ON THIS TAPE.F0014260
TRA UPDAT *NO. F0014270
CLA RDXRM YES, PICK UP ERROR MESSAGE PARAMETERS, F0014280
TRA RDPRR+1 *GO TO DIAGNOSTIC. F0014290
SPACE 3 F0014300
REM RETRY READING ONLY LABEL READ OR MISPOSITIONED PREVIOUSLY F0014310
REM F0014320
TAPR6 LXA TAPRF,H PICK UP HISTORIC LOGICAL TAPNO. F0014330
AXT UNITT+2,4 F0014340
NZT UNITT+14,C SHOULD WE EXPECT A LABEL.. F0014350
AXT UNITT+3,4 NO, BYPASS LABEL READING. F0014360
SXD *+1,C . F0014370
TIX *+1,4,** . F0014380
SXA TAPRS,4 SET UP ORIGIN OF I/O COMMAND SEQUENCE. F0014390
CAL UNITT+1,C SET UP MODE. F0014400
ALS 12 . F0014410
STT TAPRS . F0014420
LDI UNITT+12,C CHECK FOR WRITE/READ OPERATION. F0014430
CLA TAPRS PICK UP PARAMETER FOR SPECIAL ENTRY (MODE)F0014440
LFT (W...) IS THIS WRITE.. F0014450
SSM YES, SET FLAG. F0014460
TSX IOPRQ+2,4 *RETRY. F0014470
TAPRS QZE **,**,IOPSL . F0014480
TRA TAPR1 *CHECK THIS RETRY. F0014490
SPACE 10 F0014500
REM *************************************************************F0014510
REM F0014520
REM CHECK PRIOR TAPE SPACE FORWARD OPERATION F0014530
REM F0014540
TAPR7 STL CHSKX SET RETURN FROM SKIP CHECKER ROUTINE F0014550
NOP *+2 F0014560
TRA CHSKP *CHECK FINAL SKIP F0014570
CLA UNITT+3,C PICK UP SKIP PARAMETER. F0014580
PAX ,4 LOAD RECORD COUNT. F0014590
RFT EOFIL WAS EOF SENSED.. F0014600
TRA TAPR8 YES F0014610
TXL MEFER,4,0 *NO. WERE RECORDS SPACED FORWARD, NO. F0014620
TRA TAPR9 *YES, VALID SKIP PERFORMED. F0014630
REM F0014640
REM CHECK FINAL RECORD SPACED FORWARD F0014650
TAPR8 TXL TAPR9,4,0 WERE ANY RECORDS SPACED.. F0014660
TRA TEFER *YES, UNEXPECTED EOF, GIVE MESSAGE. F0014670
REM F0014680
REM F0014690
REM *************************************************************F0014700
REM TERMINAL ROUTINE TO UPDATE COUNTERS AND F0014710
REM CLEAR THE HISTORIC BUFFER. F0014720
REM F0014730
REM ENTRY FOR TAPE DATA TRANSMIT F0014740
UPDAT CAL POINT,H PICK UP PREVIOUS TAPE POSITION AND F0014750
ADD L(01) INCREMENT RECORD COUNT. F0014760
SLW POINT,H SAVE NEW TAPE POSITION. F0014770
REM F0014780
REM ENTRY FOR TAPE NON-DATA AND ON-LINE SELECTS F0014790
TAPR9 STZ UNITT+1,C CLEAR HISTORIC BUFFER FOR THIS CHANNEL. F0014800
STZ UNITT+11,C . F0014810
STZ UNITT+12,C . F0014820
STZ UNITT+13,C . F0014830
STZ UNITT+14,C . F0014840
STZ UNITT+15,C . F0014850
STZ UNITT+16,C . F0014860
LXD CURTP+2,T RESTORE CURRENT TAPENO FOR ERROR TEST, ETCF0014870
LDI CURTP+1 LOAD CURRENT INSTRUCTION,,FLAGS (1,4) F0014880
LFT ONLNX+(SNAP) IS THIS ON-LINE OR SNAP.. F0014890
TRA TAPRX-1 *YES, NO ERROR RETURN POSSIBLE. F0014900
CLA ERRET,T ANY ERROR ON THIS LOGICAL TAPE.. F0014910
TZE TAPRW *IS THERE STILL AN ERROR RETURN.. F0014920
STA *+2 YES, ERROR OCCURED, INITIALIZE RETURN. F0014930
STL IORLX SET RETURN FROM CHANNEL RESTORE ROUTINE F0014940
NOP ** TO ERROR RETURN. F0014950
STZ ERRET,T DELETE ERROR FLAG. F0014960
TRA IOSEX *RELOAD ALL REGISTERS. F0014970
TAPRW CLA POINT,T PICK UP CURRENT TAPE POSITION. F0014980
SLW CURTP+4 SET DATA POSITION FOR THIS REQUEST. F0014990
LNT (W...) IS THIS A WRITE OPERATION.. F0015000
SLW POINT,T NO, RESET POSSIBLE WRITE FLAG. F0015010
PIA RESTORE CALLER 1,4. F0015020
TAPRX TRA* ** *EXIT, TO ISSUE CURRENT REQUEST, ETC. F0015030
REM F0015040
REM F0015050
REM DISK LIBRARY READING F0015060
REM F0015070
WITHOT BOOL 07400 (33)F0015080
WITH BOOL 07401 (33)F0015083
TDISK LNT (SKIP) IS THIS (SKIP) (33)F0015086
TDISKP TSX MNDSK,4 NO, INITIALIZE XR4 FOR CALLTR (33)F0015090
AXT WITH,4 YES, RESET SWITCH FOR FIRST TIME (33)F0015100
SXD CALLDR,4 ... (33)F0015110
TRA TAPEX RETURN (33)F0015120
MNDSK LFT (...C)+(CHKU) SHOULD WE READ NOW (33)F0015130
TXI TDSK3,4,TDSK5+TDISKP (33)F0015140
REM YES,SET XR4 FOR CALLTR (33)F0015150
STL TWR NO, REMEMBER READ CALL (33)F0015160
TRA TAPEX RETURN (33)F0015170
TWR PZE SET NON-ZERO ON READ AND PROCEED (33)F0015180
TDSK3 LNT (CHKU) IS THIS CHECK UNIT (33)F0015190
TRA *+3 NO (33)F0015191
NZT TWR YES, WAS THERE A PRECEDING READ (33)F0015192
REM AND PROCEED (33)F0015200
TRA CHKTO NO, RETURN (33)F0015210
STZ TWR SET TO ALL READS DONE (33)F0015220
STI ERAS1 SAVE INDICATORS (33)F0015230
CALLTR SXA SYSTRA,4 SET RETURN FROM SYSLDR (33)F0015240
STL (SCHU)+SYSTAP SET NO EOF, RESET BY SCATTER-LOAD (33)F0015250
CALLDR TSX SYSLDR,4,1 READ NEXT RECORD, NOTE THAT DECRMENT (33)F0015260
REM MAY BE MODIFIED (33)F0015270
BCI 1,9FL001 (33)F0015280
TDSK5 AXT LOAD1,4 RESTORE LOADING RETURN (33)F0015290
SXA SYSTRA,4 ... (33)F0015300
AXT WITHOT,4 SET CALLDR TO NOT FIRST READ (33)F0015310
SXD CALLDR,4 ... (33)F0015320
LDI ERAS1 RESTORE INDICATORS (33)F0015325
LNT (CHKU) WAS THIS CHECK UNIT (33)F0015326
TRA TAPEX NO, TAKE READ RETURN (33)F0015330
TRA CHKTO YES, TAKE (CHKU) RETURN (33)F0015331
REM ********************************************************$F0015340
REM PATCH TO PERMIT WRITE REDUNDANCY RECOVERY (25)F0015345
TAPRG STZ TERCT,H CLEAR '30 REDUNDANCY' COUNT (25)F0015350
TRA RDPRR+1 FROM HISTORY CELL (25)F0015355
IODGK TSX IOPRQ,4 WRITE TRAILER RECORD ON (25)F0015360
MZE IODGL OUTPUT TAPE (25)F0015370
STL CHKIX DELAY WITH NO ACTION (25)F0015380
AXT *+2,0 (25)F0015390
TRA CHKIO (25)F0015400
TSX (NDATA,4 WRITE ANOTHER END OF FILE (25)F0015410
TAPNO,T,.WEF. (25)F0015420
TRA IODGH-3 END OF TAPE RETURN (25)F0015430
TRA IODGH-3 NORMAL (25)F0015440
IODGL IORT *+1,,4 (25)F0015450
BCI 4,1EOR END OF OUTPUT REEL (25)F0015460
IODGN TSX (NDATA,4 REWIND TAPE TO CLEAR IOEX (25)F0015470
TAPNO,T,.REW. EOT SIGNAL FROM UCB (25)F0015480
TRA IODGM+4 (25)F0015490
DUP 1,32 PATCH SPACE (25)F0015500
PZE (25)F0015510
REM ********************************************************$F0015920
AVPCH SXD CURTP+2,T SAVE LOGICAL TAPE NUMBER. $F0015930
LNT (SUAV)*(SUNV)-(CHKU) IS THIS SYSUAV CALL.. $F0015940
TRA TAPCK+1 *NO, TO CHECK UNIT $F0015950
LXD TAPNO,1 GET NUMBER OF TAPES $F0015960
REM TEST TAPE NUMBER GIVEN IN CALL $F0015970
XEC TPNRT *(TXH TPNRR,T,**) $F0015980
PAI SAVE FLAGS FOR TEST $F0015990
TXL SUAV1,T,0 WAS TAPE NO. GIVEN.. $F0016000
LXD CURTP+2,1 YES,USE IT $F0016010
SUAV1 TXL CHKTO,1,10 EXIT IF TAPE NO. BELOW 11 $F0016020
REM CHANGE ABOVE TEST IF STRUCTURE OF IOPUN IS ALTERED $F0016030
NZT TAPNO,1 DOES TAPE (UCB) EXIST.. $F0016040
TRA SUAV3 *NO,SKIP IT $F0016050
LDI* TAPNO,1 OBTAIN UCB WORD ONE $F0016060
RIL 400000 AND SET UNAVAILABLE $F0016070
LBT IS THAT WHAT WAS WANTED.. $F0016080
TRA *+3 *YES $F0016090
LNT 40000 NO,IS UNIT RESERVED.. $F0016100
SIL 400000 MAKE AVAILABLE IF NOT $F0016110
STI* TAPNO,1 SAVE NEW UCB ONE $F0016120
SUAV3 TXH CHKTO,T,0 *WAS TAPE NO. GIVEN.. $F0016130
TXI SUAV1,1,-1 *NO,CONTINUE FOR ALL UNITS $F0016140
EJECT F0016150
REM *************************************************************F0016160
REM F0016170
REM SUBROUTINE TO LOCATE DATA POSITION F0016180
REM F0016190
FINDL SXA FIND5,4 SAVE CALLING LINKAGE. F0016200
AXT TABSZ,4 LOAD LENGTH OF TABLE OF CONTENTS. F0016210
FIND0 NZT NOENT IS THE LABEL IN THE CURRENT BUFFER. F0016220
FIND1 CAL CURTP+3 YES, OTHERWISE ALREADY IN AC. F0016230
FIND2 LAS TABLE,4 DOES LABEL MATCH THIS ENTRY. F0016240
TRA *+2 NO. F0016250
TRA FIND3 YES, NAMES ARE THE SAME. F0016260
TIX FIND0,4,2 *NO. IS THE TABLE EXHAUSTED, NO CONTINUE. F0016270
LXA FIND5,4 YES, NO PRIOR HISTORY. RESTORE LINKAGE. F0016280
TRA 1,4 *TAKE NOT FOUND RETURN TO CALLER. F0016290
FIND3 SXD FIND4,4 SAVE INDEX VALUE FOR THIS ENTRY. F0016300
ZET NOENT SHOULD THE CURRENT BUFFER BE UPDATED. F0016310
TRA FIND5 NO. F0016320
CLA TABLE+1,4 YES, GET POSITION OF DATA. F0016330
ERA TPNUM MASK OUT TAPE ADDRESS. F0016340
LRS 12 SHIFT TAPE NUMBER INTO DECREMENT FIELD. F0016350
STD FINDE STORE TAPE NUMBER FOR TEST. F0016360
ZET FINDE HAS THE RIGHT DATA ON THE RIGHT F0016370
TRA FIND2+3 *UNIT BEEN FOUND. NO, CONTINUE SEARCH. F0016380
LLS 12 YES, RETRIEVE REST OF THE RECORD COUNT. F0016390
LDQ TABLE+1,4 LOAD THE DATA POSITION INTO THE MQ. F0016400
LFT (SKIP) IS THIS A TAPE REPOSITION OPERATION.. F0016410
TRA FIND4+4 *YES, SET POSITION ACCORDING TO HISTORY. F0016420
LAS CURTP+4 DOES CURRENT TAPE POSITION MATCH HISTORY. F0016430
SLW CURTP+4 NO, TAPE MUST BE MISPOSITIONED. F0016440
FIND4 TXI *+4,,** YES. DECREMENT HAS INDEX TO THIS ENTRY. F0016450
LNT (W...) IS THIS A WRITE OPERATION.. F0016460
TQP *-3 *NO. IS THIS A MULTIPLE RECORD FILE, NO. F0016470
CAL CURTP+4 YES, GET LATEST TAPE POSITION. F0016480
LXD CURTP+2,4 LOAD LOGICAL TAPE NUMBER. F0016490
STA POINT,4 UPDATE CURRENT TAPE POSITION. F0016500
STD POINT,4 F0016510
FIND5 AXT **,4 RESTORE LINKAGE. F0016520
TRA 2,4 *TAKE FOUND EXIT TO CALLER. F0016530
REM F0016540
NOENT PZE ** INDICATES STRICT SEARCH. F0016550
FINDE PZE ,,** DECREMENT ERASABLE FOR FIND SUBROUTINE. F0016560
REM F0016570
REM F0016580
REM SUBROUTINE TO UPDATE THE DICTIONARY F0016590
REM F0016600
ENTER SXA ENTR7,4 SAVE CALLING LINKAGE. F0016610
LXD CURTP+2,4 LOAD LOGICAL TAPE NUMBER. F0016620
CLA POINT,4 GET CURRENT UNIT POSITION. F0016630
ORA TPNUM INCLUDE LOGICAL TAPE NUMBER WITH F0016640
SLW ERAS1 POSITION AND SAVE. F0016650
CLS POINT,4 GET CURRENT UNIT POSITION. F0016660
TPL ENTR4 *WAS LAST OPERATION A WRITE, YES. F0016670
STO POINT,4 NO, SET WRITE FLAG. F0016680
AXT TABSZ,4 LOAD DICTIONARY LENGTH. F0016690
ENTR1 CLA TABLE+1,4 GET AN ENTRY. F0016700
TZE ENTR3 *IS THERE AN ENTRY, NO. F0016710
LAS ERAS1 DOES THIS WRITE OVER-WRITE DATA. F0016720
TRA *+3 POSSIBLY. F0016730
TRA ENTR2 *YES. F0016740
TRA ENTR3 NO. F0016750
ERA TPNUM MAYBE. DELETE LOGICAL TAPE NUMBER F0016760
ARS 12 FROM ENTRY. SHIFT TAPE NUMBER TO F0016770
ANA DCMSK DECREMENT FIELD AND MASK OUT REST. F0016780
TNZ ENTR3 *IS THIS THE SAME LOGICAL TAPE, NO. F0016790
ENTR2 STZ TABLE,4 DELETE THIS ENTRY FROM THE F0016800
STZ TABLE+1,4 DICTIONARY. F0016810
ENTR3 TIX ENTR1,4,2 *HAS THE ENTIRE DICTIONARY BEEN SEARCHED. F0016820
ENTR4 ZET NOENT IS THIS STRICTLY AN UPDATE. F0016830
TRA ENTR7 *YES, DO NOT ENTER DATA. F0016840
TSX FINDL,4 IS THIS A MULTIPLE RECORD FILE. F0016850
TRA ENTR5 *NO, UNIQUE LABEL. F0016860
LXD FIND4,4 YES, LOAD ENTRY POSITION IN DICTIONARY. F0016870
CLA TABLE+1,4 GET DATA POSITION WORD AND F0016880
SSM SET THE SIGN MINUS TO INDICATE THAT F0016890
TRA ENTR6+3 IT IS A MULTIPLE RECORD. F0016900
ENTR5 AXT TABSZ,4 LOAD DICTIONARY LENGTH. F0016910
NZT TABLE,4 IS THIS LOCATION AVAILABLE. F0016920
TRA ENTR6 *YES. F0016930
TIX *-2,4,2 *NO. IS TABLE EXHAUSTED, NO CONTINUE. F0016940
CLA OVRFL YES, GET ERROR MESSAGE PARAMETERS. F0016950
TRA IODG0 *GO TO DIAGNOSTIC. F0016960
ENTR6 CAL CURTP+3 GET BCD LABEL AND F0016970
SLW TABLE,4 ADD TO DICTIONARY. F0016980
CLA ERAS1 GET DATA POSITION AND INSERT F0016990
STO TABLE+1,4 IN DICTIONARY WITH NAME. F0017000
ENTR7 AXT **,4 RESTORE LINKAGE. F0017010
TRA 1,4 *RETURN TO CALLER. F0017020
REM F0017030
OVRFL PZE *+1,,ERAS1 LOC. OF PRINT PARAMETERS,,LABEL INSERT. F0017040
PZE *+1,,5 LOCATION OF MESSAGE,, WORD COUNT. F0017050
BCI 5, DICTIONARY OVERFLOW IN IOP. F0017060
REM F0017070
EJECT F0017080
************************************************************************F0017090
REM F0017100
REM SUBROUTINE TO NOTE STATUS OF CHANNEL TRIGGERS F0017110
REM F0017120
REM IR H CONTAINS HISTORICAL LOGICAL TAPENO F0017130
REM (SCHU) WILL CONTAIN TRIGGER FLAGS F0017140
REM F0017150
REM F0017160
REM BIT 28 BEGINNING OF FILE $F0017165
REM BIT 29 RECORD READ IN WRONG MODE F0017170
REM 30 CHECK COMPLETED F0017180
REM 31 I/O CHECK (NOT AVAILABLE) F0017190
REM 32 REDUNDANCY CHECK (READ ONLY) F0017200
REM 33 END OF FILE F0017210
REM 34 END OF TAPE F0017220
REM 35 BEGINNING OF TAPE F0017230
REM F0017240
REM F0017250
CHKIO RIR 777777 CLEAR INSTRUCTION FROM INDICATORS. F0017260
SIR 150 PRESET INDICATORS. F0017270
CAL TAPNO,H DELAY TILL PRIOR SELECT IS F0017280
PAC ,4 COMPLETED FOR F0017290
ZET 1,4 THIS TAPE F0017300
TRA *-1 FUNCTION. F0017310
NZT 2,4 COMPLETED, TEST FOR BTT. F0017320
SIR LODPT UCB3 IS ZERO, ASSUME LOAD POINT (BIT 35). F0017330
CLA 0,4 TEST FOR EOT F0017340
ANA *-1 AS INDICATED IN UCB1, BIT 18. F0017350
TZE *+2 NO EOT SENSED.. F0017360
SIR EOTAP END OF TAPE WAS SENSED, (BIT 34 ON). F0017370
CLA 3,4 TEST FOR EOF F0017380
TPL *+2 AS INDICATED IN UCB4, BIT S. F0017390
SIR EOFIL END OF FILE WAS SENSED, (BIT 33 ON). F0017400
ALS 1 TEST FOR RTT (READ ONLY) F0017410
PBT RTT SENSED.. F0017420
RIR REDUN NO RTT SENSED, (BIT 32 OFF). F0017430
ALS 1 TEST FOR WRONG MODE READ. F0017440
PBT . F0017450
RIR WMODE NOT READ IN WRONG MODE (BIT 29 OFF). F0017460
CAL 2,4 CHECK BOF $F0017461
ANA REC $F0017462
TNZ *+2 IS THIS BOF $F0017463
SIR BOFBIT YES BIT 28=1 $F0017464
STI (SCHU) SAVE FLAGS. F0017470
CHKIX TRA* ** *RETURN. F0017480
REC OCT 777777 $F0017485
REM F0017490
REM F0017500
REM CHECK SKIP OPERATION F0017510
CHSKP STL CHKIX SET RETURN FROM CHANNEL CHECK ROUTINE F0017520
NOP *+2 F0017530
TRA CHKIO *CHECK THIS SKIP FORWARD OPERATION F0017540
RFT REDUN WAS TAPE REDUNDANCY SENSED.. F0017550
TRA SKPRR *YES, PRINT ERROR MESSAGE F0017560
CHSKX TRA* ** F0017570
REM *************************************************************F0017580
TTL READ/WRITE TRANSLATOR F0017590
REM ROUTINE TO ENTER TAPE ACTION REQUEST TO IOEX F0017600
SPACE 3 F0017610
REM CALLING SEQUENCE F0017620
REM F0017630
REM TSX IOPRQ,4 F0017640
REM QZE IOSEQ,MODE F0017650
REM F0017660
REM WHERE F0017670
REM F0017680
REM QZE = PZE FOR READ F0017690
REM = MZE FOR WRITE F0017700
REM F0017710
REM IOSEQ IS THE LOCATION OF AN I/O COMMAND SEQUENCEF0017720
REM F0017730
REM MODE = 0 FOR BCD F0017740
REM = 2 FOR BINARY F0017750
REM MODE USUALLY APPEARS IN TAG OF L(SL) F0017760
SPACE 2 F0017770
REM IR2 (CALLED T) POINTS TO WORD WITH L(UCB)IN ADDRF0017780
REM F0017790
REM F0017800
REM F0017810
IOPRQ CLA 1,4 PICK UP PARAMETER. F0017820
ORA L(SL) MASK IN THE LOCATION OF SEL ROUTINES. F0017830
REM ENTRY POINT TO AVOID SEL WORD WORD MODE SETTING F0017840
SXA IOPRX,4 SAVE LINKAGE. F0017850
XCA SAVE SEL WORD. F0017860
CAL TAPNO,T LOCATE PROPER UCB WORD2, F0017870
PAC ,4 THROUGH THE I/O FUNCTION TABLE. F0017880
ZET 1,4 DELAY TILL F0017890
TRA *-1 UNIT TRAPS AND IS FREED. F0017900
STQ 1,4 INSERT NEXT REQUEST IN UCB 2, F0017910
REM F0017920
TSX (ACTIV,4 ENTER REQUEST FOR TAPE F0017930
PZE TAPNO,T ACTIVITY AND CONTINUE ON THE WAY. F0017940
IOPRX AXT **,4 RETURN TO F0017950
TRA 2,4 *CALLER. F0017960
SPACE 5 F0017970
REM SEL ROUTINE ENTERED FROM IOEX F0017980
REM F0017990
IOPSL SXA IOPSX,4 SAVE IOEX LINKAGE. F0018000
PAC ,4 FORM INDEXIC POINTER TO UCB. F0018010
TMI IOPSM IS IT POSTING TIME .. F0018020
CAL 0,4 NO, SEL(+) MUST INITIATE I/O SEQUENCE. F0018030
PDX ,2 PICK UP TAPE-ADDRESS. F0018040
CLA 1,4 SET ORIGIN OF I/O COMMAND F0018050
STA* (RCHXI SEQUENCE (IR1 POINTS TO CHANNEL). F0018060
STT IOPSI SET POSSIBLE WRONG MODE READ TEST. F0018070
STT *+1 PREPARE TO MODIFY TAPE ADDRESS. F0018080
TXL *+2,**,0 IS MODE TO BE BINARY.. F0018090
TXI *+1,2,16 YES F0018100
TMI IOPSW IS THIS READ SELECT.. F0018110
STZ* IOPLB,1 RESET NOISE RECORD TEST, LABEL+2. F0018120
STZ IOPER,1 TURN OFF WRONG MODE SWITCH, PROVISIONALLY.F0018130
CAL* (URRXI PICK UP NUMBER OF SEL(+) REENTRIES. F0018140
PAX ,4 TEST FOR FIRST REENTRY. F0018150
TXH *+6,4,1 . F0018160
TXL *+5,4,0 . F0018170
IOPSI TXH *+2,**,0 FIRST TIME, WHAT WAS THE MODE.. F0018180
TXI *+2,2,16 BCD, INVERT TO BINARY. F0018190
TIX *+1,2,16 BINARY, INVERT TO BCD. F0018200
STL IOPER,1 SET MODE INVERSION ATTEMPT FLAG. F0018210
SXA *+1,2 F0018220
RDS ** SELECT TAPE UNIT F0018230
XEC* (RCHXI AND RESET-LOAD CHANNEL. F0018240
IOPSX AXT **,4 LOAD LINKAGE AND F0018250
TRA 1,4 *RETURN TO IOEX. F0018260
IOPSW SXA *+1,2 F0018270
WRS ** SELECT TAPE UNIT F0018280
TRA IOPSX-1 AND CONTINUE ABOVE. F0018290
SPACE 3 F0018300
IOPSM CAL 3,4 PICK UP LOGICAL TAPENO F0018310
PDX ,2 OF TRAPPING UNIT (UCB4). F0018320
ZET* IOPLB,1 TEST FOR NOISE. F0018330
SIL 400000 FULL LABEL READ, RESET POSSIBLE NOISE FLAGF0018340
LFT 440000 IS THERE AN IOEX NOISE FLAG,READING.. (28)F0018350
TRA IOPSN *NO, OR ELSE WE HAD TO RESET IT. F0018360
CAL TERRT,2 NOISE RECORD, INCREMENT COUNTER. F0018370
ADD D(01) . F0018380
STD TERRT,2 . F0018390
LXA IOPSX,4 TAKE NOISE RECORD READ RETURN (28)F0018400
TRA 2,4 *COMMENT 'NOISE DISCARDED' (28)F0018401
IOPSP ZET .MODSW TEST FOR DC-IOEX (28)F0018402
STL IOPER,1 YES, SET WRONG MODE READ (28)F0018403
TRA IOPSF-3 (28)F0018410
IOPSN LFT 200000 DO NOT TEST FOR RTT IF F0018420
TRA IOPSF *EOF OR EOT WAS SENSED. F0018430
LFT 100000 TEST FOR PERMANENT RTT ON READ. F0018440
TXI IOPSP,2,NTAPE PERMANENT RTT READING (28)F0018450
CLA* (URRXI WERE THERE ANY RTT OR ERASE AREAS.. F0018460
TZE IOPSF *NO. F0018470
LNT 040000 YES, HAVE WE JUST WRITTEN .. F0018480
TXI *+6,2,NTAPE NO, IT WAS A BAD READ. F0018490
STA ERASS YES, INCREMENT NUMBER OF ERASE AREAS F0018500
CAL TERCT,2 WRITTEN. F0018510
ADD ERASS BY CURRENT NUMBER OF ERASES. F0018520
SLW TERCT,2 . F0018530
TRA IOPSF *CONTINUE BELOW. F0018540
CAL TERCT,2 INCREMENT READ RTTS. F0018550
ADD L(01) . F0018560
STA TERCT,2 . F0018570
IOPSF CAL (COMMM SAVE LAST SCHX RESULTS, F0018580
STA 3,4 IN UCB4. F0018590
RIL 040000 RESET POSSIBLE WRITE FLAG. F0018600
ZET IOPER,1 WAS THERE A SUCCESSFUL WRONG MODE READ. F0018610
SIL 140000 YES, SET WRONG MODE AND RTT BITS ON. F0018620
STZ IOPER,1 RESET FLAG. F0018630
PIA SAVE EOF/EOT, PERM RTT, TEMP RTT, F0018640
ALS 1 AND WRONF MODE FLAGS (IF ANY). F0018650
STP 3,4 . F0018660
STZ 1,4 HALT FURTHER ACTION ON THIS UNIT NOW. F0018670
TRA IOPSX *RETURN TO IOEX. F0018680
ERASS PZE ** COUNT OF ERASE ENTRIES TO SEL (+) F0018690
SPACE 3 F0018700
DUP 1,NCHAN F0018710
IOPER PZE WRONG MODE FLAGS F0018720
IOPLB PZE UNITT+10-16 NOISE RECORD TEST POINTERS F0018730
PZE UNITT+10-32 F0018740
PZE UNITT+10-48 F0018750
PZE UNITT+10-64 F0018760
TTL NON-DATA SELECT ROUTINES F0018770
REM NON-DATA SELECT ROUTINE F0018780
REM F0018790
REM CALLING SEQUENCE F0018800
REM F0018810
REM AXT OP,4 F0018820
REM SXD NDSEL,4 F0018830
REM TSX NONDT,4 F0018840
REM F0018850
REM WHERE F0018860
REM OP = 1 THROUGH 6 FOR SDNL...BSF F0018870
REM (WEF SELECT HANDLED UNIQUELY) F0018880
REM F0018890
REM F0018900
NONDT SXA NONDX,4 SAVE LINKAGE. F0018910
TSX (NDATA,4 *TAPE FUNCTION NOW INACTIVE, F0018920
NDSEL PZE TAPNO,T,** PERFORM NON-DATA OPERATION. F0018930
NONDX AXT **,4 F0018940
TRA 1,4 *RETURN. F0018950
TTL ON-LINE ROUTINES F0018960
REM ROUTINE TO PRINT ON-LINE VIA IOEX F0018970
REM F0018980
PRNT0 CLS L(00) PREPARE FOR VARIOUS TYPE LINES. F0018990
STO PRNT6 . F0019000
STO PRNT6+1 . F0019010
AXT -3,T SET TAPENO INDEX TO PRINTER UNIT POINTER. F0019020
STL TAPRX CHECK PRIOR ACTIVITY AND PREPARE F0019030
NOP *+2 FOR THIS CALL TO PRINT. F0019040
TRA ONLNC . F0019050
PDX ,4 IS WORD COUNT ZERO.. F0019060
TXL CHKTO,4,0 *IF ZERO, EXIT. F0019070
REM F0019080
LDI ONLIN SET HISTORICAL FLAGS F0019090
SIL 3 FOR PRINTER FUNCTION F0019100
STI UNITT+12,C AND SAVE IN PROPER CHANNEL TABLE. F0019110
PAI PLACE PARAMETER IN INDICATORS. F0019120
LDQ* CURTP+1 $F0019130
STQ ERAS1 SAVE PROGRAM CONTROLCHARACTER $F0019140
LFT 400000 IS PROGRAM CONTRAL REQUIRED $F0019150
TRA PRNT3 NO $F0019160
ZAC YES, SPACE UNDER PARTIAL PROG CONTROL F0019170
LLS 5 OBTAIN CONTROL CHARACTER. F0019180
TMI PRNT2 SINGLE SPACE (B) .. F0019190
AXT DBLSP,2 NO, DOUBLE SPACE (0) .. F0019200
TZE *+4 YES. F0019210
AXT EJECT,2 . F0019220
LBT NO, EJECT (1).. F0019230
TXL PRNT4,4,12 NO, MUST BE SPACE SUPPRESS (+). F0019240
SXD PRNT6,2 SET CARRIAGE CONTROL PARAMETER F0019250
ZAC F0019260
STP PRNT6 F0019270
PRNT2 CLS L(16) RESET FIRST CHARACTER F0019280
LRS 5 OF BCD MESSAGE F0019290
STQ* CURTP+1 TO BLANK. F0019300
PRNT3 PIA 12 F0019310
TNX PRNT5,4,12 SPLIT LINE INTO CYCLE BLOCKS (1-72). F0019320
SXD PRNT6+2,4 SET COUNT OF SECOND CYCLE BLOCK (73-120) F0019330
STO PRNT6+1 SET BASE OF FIRST CYCLE BLOCK. F0019340
ADM PRNT3 SET BASE+12 FOR BASE OF F0019350
STA PRNT6+2 SECOND CYCLE BLOCK. F0019360
AXT 12+SUPRS,4 SET SPACE SUPPRESS FOR F0019370
SXD PRNT6+1,4 SECOND CYCLE BLOCK. F0019380
TRA PRINT F0019390
SPACE 3 F0019400
PRNT4 TXI *+1,4,SUPRS SUPPRESS SPACING ON SHORT LINE. F0019410
STI PRNT6+2 SET MESSAGE ORIGIN, F0019420
SXD PRNT6+2,4 SET WORD COUNT AND SPR EXIT PARAMETER. F0019430
TRA PRINT F0019440
REM F0019450
PRNT5 SLW PRNT6+2 72 OR LESS CHARACTERS IN MESSAGE, F0019460
REM F0019470
PRINT TSX (PROUT,4 *PRINT MESSAGE ON-LINE VIA IOEX. F0019480
PZE 3 F0019490
PRNT6 QZE ,,** PRE-PRINT CARRIAGE CONTROL. F0019500
QZE **,,** MAY BE MZE 0, AND IGNORED. F0019510
PZE **,,** F0019520
SPACE 3 F0019530
LDQ ERAS1 RESTORE CONTROL CHARACTER F0019540
STQ* CURTP+1 TO ORIGINAL BCD TEXT. F0019550
TRA CHKTO *RETURN TO CALLER (2,4). F0019560
EJECT F0019570
REM F0019580
REM PUNCH CARDS ON-LINE F0019590
REM F0019600
PNCH0 AXT -2,T LOAD PUNCH UNIT POINTER. F0019610
STL TAPRX GET PARAMETERS. F0019620
NOP *+2 F0019630
TRA ONLNC . F0019640
SPACE 3 F0019650
LDI ONLIN SET HISTORICAL FLAG F0019660
SIL 1 FOR ON-LINE F0019670
STI UNITT+12,C PUNCH. F0019680
REM F0019690
PDX ,4 F0019700
TXH *+3,4,0 IS WORD COUNT ZERO.. F0019710
PDELY TCOA * YES, DELAY TILL FINISHED. F0019720
TRA CHKTO *EXIT. F0019730
PAI F0019740
LFT 100000 HOLLERITH.. F0019750
TRA PNCH4 YES, USE IOEX ROUTINES. F0019760
SLW PNCH4+3 SAVE I/O COMMAND. F0019770
LAC SYSPCH,4 PICK UP LOCATION OF PUNCH UCB. F0019780
CLA *+1 SET PRIORITY WORD. F0019790
BRN ,,*+5 F0019800
STO 1,4 F0019810
TSX (ACTIV,4 ENTER ACTIV FOR IMMEDIATE REQUEST. F0019820
MZE SYSPCH F0019830
TRA CHKTO GO AWAY TILL SEL (+). F0019840
SXA PNCH6,4 SAVE LINKAGE. F0019850
SXA PNCH6+1,1 F0019860
CAL PNCH4+3 PICK UP I/O PARAMETER. F0019870
PAI F0019880
PUNSL WPU ** SELECT PUNCH F0019890
LNT 400000 IS COLUMN BINARY REQUESTED.. F0019900
TRA PNCH3 NO, PUNCH ROW BINARY. F0019910
REM F0019920
ADD L(12) YES, PREPARE TO ROTATE IMAGE. F0019930
STA BBUFF F0019940
ADD L(12) F0019950
STA BBUFF+1 F0019960
STL QPNC3 SET SELECT INSTRUCTION TO PUNCH OUT F0019970
PNCH2 NOP IOCBI FROM COLUMN BINARY BUFFER F0019980
AXT 12,4 PREPARE TO PUNCH 12 ROWS ON COL BIN CARD F0019990
CAL CBMSK PICK UP CONVERSION MASK F0020000
PNCH1 SLW ERAS2 SAVE CURRENT POSITION OF MASK F0020010
AXT 2,2 SET LEFT HALF F0020020
STZ PLEFT+2,2 CLEAR THIS HALF ROW F0020030
AXT 12,1 PREPARE TO ROTATE 12 WORDS OF ROW IMAGE F0020040
CAL* BBUFF+2,2 GET NEXT WORD F0020050
ANA ERAS2 EXTRACT BITS FOR THIS COLUMN F0020060
ARS 12,4 ASSEMBLE ROW IMAGE OF COLUMN F0020070
LGR 1 F0020080
ARS 11 F0020090
LGR 1 F0020100
ARS 11 F0020110
LGR 1 F0020120
CAL PLEFT+2,2 PICK UP PARTIALLY CONVERTED ROW F0020130
LGL 3 APPEND THIS ROW BITS IN COLUMN IMAGE F0020140
SLW PLEFT+2,2 F0020150
TIX PNCH1+4,1,1 IS ROW BINARY WORD COUNT EXHAUSTED F0020160
TIX PNCH1+2,2,1 YES, IS RIGHT HALF DONE F0020170
XEC QPNC3 YES, PUNCH LEFT, RIGHT HALVES THIS ROW F0020180
PUNLL LCHA PNCH2 DELAY TILL ROW IS PUNCHED (COMMAND RESET).F0020190
TNX PNCH5,4,1 IS COLUMN BINARY ROW COUNT EXHAUSTED.. F0020200
CAL ERAS2 NO, REPOSITION CONVERSION MASK F0020210
ALS 1 F0020220
TRA PNCH1 LOOP FOR MORE. F0020230
REM F0020240
PNCH3 STO IORBI INITIALIZE I/O COMMAND F0020250
STL QPNC3 SET SELECT INSTRUCTION TO PUNCH OUT F0020260
NOP IORBI FROM ROW BINARY BUFFER F0020270
XEC QPNC3 PUNCH OUT CARD F0020280
TRA PNCH5+1 *RETURN AS THOUGH THROUGH SEL(-). F0020290
REM F0020300
PNCH4 STO *+3 SET PARAMETER FOR IOEX F0020310
TSX (PUNCH,4 TO PUNCH HOLLERITH F0020320
PZE 1 F0020330
PZE **,,** CARDS ON-LINE. F0020340
TRA CHKTO *RETURN TO CALLER (2,4). F0020350
REM F0020360
REM F0020370
PNCH5 RCHA L(00) STOP PUNCH. F0020380
LAC SYSPCH,4 RESET PRIORITY WORD. F0020390
STZ 1,4 . F0020400
PNCH6 AXT **,4 RETURN TO IOEX, NON-DATA F0020410
AXT **,1 F0020420
TRA 2,4 *RETURN. F0020430
REM F0020440
QPNC3 RCHA* ** RESET LOAD CHAN. COMM. FOR PUNCH(INDIRECT)F0020450
CBMSK PZE 4097,,64 MASK TO CONVERT ROW TO COLUMN BIN. IMAGE F0020460
IORBI IOCT **,,** COMMAND FOR ROW BINARY OUTPUT BUFFER F0020470
IOCBI IOCT PLEFT,,2 COMMAND FOR COL. BINARY OUTPUT BUFFER F0020480
PLEFT PZE COLUMN BINARY, LEFT-HALF BUFFER F0020490
PZE COLUMN BINARY, RIGHT-HALF BUFFER F0020500
BBUFF PZE **,1 POINTERS TO LEFT/RIGHT F0020510
PZE **,1 HALVES OF CARD TO BE ROTATED. F0020520
TTL SNAPSHOTS F0020530
REM F0020540
REM SNAPSHOT ROUTINE F0020550
REM F0020560
SNAP0 AXT SNPTAP,T RESTORE SNAP INDEX POINTER $F0020570
ZET (SNCT) ARE THERE ANY PREVIOUS SNAPSHOTS $F0020580
TRA SNAP2 YES $F0020590
AXT .REW.,4 NO, MAKE SURE SNAP-TAPE $F0020600
SXD NDSEL,4 IS REWOUND $F0020610
TSX NONDT,4 $F0020620
LDI* (FGBX) LOAD MONITOR FLAGS $F0020630
SIR 2 SET UP SNAP-SHOT FLAG $F0020640
STI* (FGBX) SAVE MONITOR FLAGS $F0020650
LDI CURTP+1 RESTORE (SNAP) INDICATOR $F0020660
SNAP2 CAL CURTP+3 IS THERE A LABEL FOR THIS SNAP-SHOT $F0020670
TNZ *+2 YES F0020680
CAL BLNKS NO, SUPPLY BLANKS F0020690
SLW SNAPA+2 FOR HEADING F0020700
CLA (SNCT) INCREMENT SNAP COUNTER F0020710
ADD L(01) . F0020720
STO (SNCT) F0020730
TSX (DECVA,4 *CONVERT THIS SNAP NUMBER TO BCD, F0020740
STQ SNAPA+5 INSERT IN HEADING, F0020750
SNAP3 TSX IOPRQ,4 F0020760
MZE SNAPA,2 F0020770
STL DGSV4 SET RETURN FROM DUMP SAVE ROUTINE F0020780
NOP *+2 F0020790
TRA DGSV0 *SAVE CONSOLE F0020800
TSX IOPRQ,4 WRITE CONSOLE. F0020810
MZE SNAPB,2 F0020820
LXD CURTP+2,4 LOAD PARAMETER COUNT. F0020830
TXL SNAP5,4,0 IS MERELY THE CONSOLE REQUESTED.. F0020840
SNAP4 CLA UNITT+3,C NO, SOME CORE DUMPING IS REQUIRED. F0020850
STA SNAPD INITIALIZE I/O COMMAND LOAD POINT, F0020860
STD SNAPD AND WORD COUNT. F0020870
SXA *+6,4 SAVE LOOPER. F0020880
TSX IOPRQ,4 *WRITE OUT A BIT OF CORE. F0020890
MZE SNAPC,2 . F0020900
STL CHKIX DELAY ON THIS WRITE. F0020910
NOP *+2 . F0020920
TRA CHKIO . F0020930
AXT **,4 RESTORE LOOPER. F0020940
TXI *+1,C,-1 BUMP TO NEXT SNAP PARAMETER. F0020950
TIX SNAP4,4,1 CONTINUE SNAPPING. F0020960
SNAP5 AXT 2,2 WRITE TWO EOFS. F0020970
TSX (NDATA,4 . F0020980
PZE TAPNO-SNPTAP,,.WEF. F0020990
NOP EOT ON WEFING, SAVE FLAG FOR LATER. F0021000
TIX *-3,2,1 SECOND EOF. F0021010
SNAP6 TSX (NDATA,4 BACKSPACE OVER SECOND EOF. F0021020
PZE TAPNO-SNPTAP,,.BSR. F0021030
TSX (PROUT,4 *PRINT SNAPPY COMMENT. F0021040
PZE 1 . F0021050
PZE SNAPA+2,,4 . F0021060
STL DGLD2 SET RETURN FROM RELOADING ROUTINE. F0021070
NOP *+2 $F0021080
TRA DGLD0 *RESTORE CONSOLE. F0021090
LDI CURTP+1 $F0021095
TRA TAPEX $F0021096
SNAPA IORT *+1,,5 F0021100
BCI 5,1 LABELX SNAPSHOT F0021110
SNAPB IORT DGSV5+1,,9 F0021120
SNAPC IOCP *+1,,1 F0021130
SNAPD IORT **,,** F0021140
TTL DIAGNOSTICS F0021150
TITLE F0021160
REM I/O DIAGNOSTIC ROUTINES F0021170
REM F0021180
REM ON ENTRY TO ERROR ROUTINE, THE FOLLOWING DATA EXIST F0021190
REM UNITT+16,1 (ADDR) CONTAINS HISTORIC CALLING LINKAGE F0021200
REM CURTP+5 (ADDR) CURRENT, IF NO HISTORIC F0021210
REM UNITT+13,1 (DECR) CONTAINS HISTORIC LOGICAL TAPE NUMBER F0021220
REM CURTP+2 (DECR) CURRENT, IF NO HISTORIC F0021230
REM XR2 CONTAINS LOGICAL TAPE NUMBER F0021240
REM XR1 CONTAINS UNITT INDEX F0021250
REM F0021260
REM F0021270
FLERM PZE *+1,,ERAS1 F0021280
PZE *+1,,4 F0021290
BCI 4,ILLEGAL OP CODE FOR IOP. F0021300
REM F0021310
RWERR CLA RWERM GET PRINT PARAMETERS F0021320
TRA IODGA GO TO TAPE DIAGNOSTIC F0021330
REM F0021340
RWERM PZE *+1,,ERAS1 F0021350
PZE *+1,,5 F0021360
BCI 5,OUTPUT TAPE MAY NOT BE REWOUND. F0021370
REM F0021380
REM F0021390
MEFER CLA MEFEM EOF MISSING SKIPPING FILES. F0021400
TRA IODGB GO TO TAPE DIAGNOSTIC. F0021410
REM F0021420
MEFEM PZE *+1,,MEFEM+7 $F0021430
PZE *+1,,6 $F0021440
BCI 5,NO EOF SENSED FILE SPACING TO $F0021450
BCI 1, F0021460
REM F0021470
TEFER CLA TEFEM UNEXPECTED EOF SENSED. F0021480
LFT (SKIP) READING OR SPACING. F0021490
CLA TEFRM SPACING. F0021500
TRA IODGB GO TO TAPE DIAGNOSTIC. F0021510
REM F0021520
TEFEM PZE *+1,,TEFEM+4 LOC. OF PRINT PARAMETERS,,LABEL INSERT $F0021530
PZE *+1,,3 $F0021540
BCI 3, EOF SENSED $F0021550
REM F0021560
TEFRM PZE *+1,,TEFRM+7 F0021570
PZE *+1,,6 F0021580
BCI 5,EOF SENSED SPACING RECORDS TO F0021590
BCI 1, F0021600
REM F0021610
TPNRR PXA ,T GET ILLEGAL TAPE NUMBER. F0021620
TSX (DECVA,4 *CONVERT TO BCD F0021630
STQ TPNRM+3 SET IN COMMENT $F0021640
CLA TPNRM GET PARAMETERS. F0021650
TRA IODG0 GO TO ON-LINE DIAGNOSTIC. F0021660
REM F0021670
TPNRM PZE *+1,,ERAS1 F0021680
PZE *+1,,5 $F0021690
BCI 5, TAPE NOT IN I/O TABLE. $F0021700
REM F0021710
REM F0021720
REM INCORRECT TAPE LABEL READ. F0021730
POSRR CLA POSRM GET PARAMETERS. F0021740
TRA IODGB GO TO TAPE DIAGNOSTIC. F0021750
REM F0021760
POSRM PZE *+1,,POSRM+7 LOC. OF PRINT PARAMETERS,,LABEL INSERT F0021770
PZE *+1,,6 F0021780
BCI 6, POSITIONING ERROR READING F0021790
REM F0021800
ETERR CLA ETERM END OF TAPE SENSED. F0021810
TRA IODGB GO TO TAPE DIAGNOSTIC. F0021820
REM F0021830
ETERM PZE *+1,,ETERM+5 LOC.OF PRINT PARAMETERS,,LABEL INSERT $F0021840
PZE *+1,,4 $F0021850
BCI 4,END OF TAPE SENSED $F0021860
REM F0021870
REM F0021880
REM F0021890
WTXRM PZE *+1,,ERAS1 LOC. OF PRINT PARAMETERS,,NO LABEL. F0021900
PZE *+1,,9 F0021910
BCI 9, MORE THAN 30 REDUNDANCY CHECKS WRITING THIS TAPE. F0021920
REM F0021930
RDXRM PZE *+1,,ERAS1 LOC. OF PRINT PARAMETERS,, NO LABEL. F0021940
PZE *+1,,7 F0021950
BCI 7,OVER 50 REDUNDANCIES READING THIS TAPE. F0021960
REM F0021970
RDPRR CLA RDPRM PERMANENT READ REDUNDANCY. F0021980
LDI (SCHU) RELOAD INDICATORS (NOW HAVE ERROR COUNTS).F0021990
TRA IODGB GO TO TAPE DIAGNOSTIC. F0022000
REM F0022010
RDPRM PZE *+1,,RDPRM+7 F0022020
PZE *+1,,6 F0022030
BCI 5,PERMANENT REDUNDANCY READING F0022040
BCI 1, F0022050
REM F0022060
SKPRR CLA SKPRM PICK UP ERROR MESSAGE FOR SKIPPING. F0022070
TRA IODGB GO TO TAPE DIAGNOSTIC. F0022080
REM F0022090
SKPRM PZE *+1,,SKPRM+6 LOC. OF PRINT PARAMETERS,,LABEL INSERT. $F0022100
PZE *+1,,5 $F0022110
BCI 5,REDUNDANCY CHECK SPACING $F0022120
REM F0022130
EXPOS PZE *+1,,ERAS1 LOC. OF PRINT PARAMETERS,, NO LABEL. F0022140
PZE *+1,,5 PRINT PARAMETERS. F0022150
BCI 5, EXCESSIVE POSITIONING ERRORS. F0022160
REM F0022170
NODAT LDI IOSVR+4 PICK UP INDICATORS FOR CURRENT COMMAND $F0022171
STI (SCHU) AND PLACE FOR POSSIBLE CHECK. $F0022172
CLA NDATA GET PARAMETERS. $F0022180
TRA IODGA GO TO DIAGNOSTIC. F0022190
REM F0022200
NDATA PZE *+1,,NDATA+3 LOC) OF PRINT PARAMETERS,,LABEL INSERT. F0022210
PZE *+1,,5 PRINT PARAMETERS. F0022220
BCI 5, DOES NOT EXIST. F0022230
REM F0022240
REM RETURN ON PRIOR ERROR OR I/O RELATED ERROR (TPER) F0022250
REM F0022260
DGRET LXA CURTP+5,4 GET LOCATION OF CALLER. F0022270
LDQ BLNKS F0022290
ZET CURTP+3 IS THERE A LABEL. F0022300
LDQ CURTP+3 GET LABEL. F0022310
CAL BLNKS INSERT A BLANK AFTER THE LABEL. F0022320
LGL 6 F0022330
STA TPERM+2 F0022340
XCL F0022350
ORA BLANK INSERT BLANK AFTER LABEL. F0022360
SLW CURTP+3 SAVE LABEL. F0022370
CAL BLNKS F0022380
RFT 777777 IS THERE AN ERROR WORD. F0022390
CAL* SKIP0 YES, GET IT AND F0022400
TNZ *+2 IF NONE EXISTS, F0022410
CAL BLNKS SUPPLY BLANKS. F0022420
SLW TPERM+4 INSERT IT INTO THE COMMENT. F0022430
RIR 777777 DELETE ANY CONFUSING FLAGS $F0022433
STI (SCHU) SAVE INDICATORS AS THOUGH TAPE CALL $F0022435
CLA TPERM GET PRINT PARAMETERS. F0022440
TRA IODGB GO TO TAPE DIAGNOSTIC. F0022450
REM F0022460
TPERM PZE *+1,,TPERM+3 F0022470
PZE *+1,,5 F0022480
BCI 5, LABEL XXXXXX ERROR. F0022490
REM F0022500
EJECT F0022510
REM ROUTINE FOR ON-LINE CLASS OF ERRORS. F0022520
REM F0022530
IODG0 LDI L(00) RESET ANY CONFUSING FLAGS. F0022540
RIL 400000 SET CANNOT IGNORE BIT. F0022550
IODG1 SXA IODG2,4 SAVE IR4. F0022560
TSX IODPA,4 PRINT ANY PRIOR MESSAGE. F0022570
TSX DGETA,4 GET NEW INFORMATION. F0022580
TSX DGST0,4 SET UP NEW MESSAGE. F0022590
AXT (PROUT,4 SET HEADING PARAMETER FOR ON-LINE. F0022600
SXA IODPC,4 . F0022610
TSX IODPB,4 PRINT NEW MESSAGE. F0022620
AXT IODPC+4,4 RESTORE HEADING TO LONG TAPE TYPE. F0022630
SXA IODPC,4 . F0022640
IODG2 AXT **,4 RELOAD IR4. F0022650
LFT (DATA)+(SKIP) IS THIS REALLY A TAPE ERROR.. F0022660
TRA IODG3 YES, QUIT. F0022670
LFT 3 F0022680
TRA TAPR9 *RETURN TO EXECUTOR. F0022690
REM ENTRY FOR ERRORS WHICH HAVE NO ERROR RETURN F0022700
IODG3 TSX IODPB,4 PRINT ERROR COMMENT. F0022710
STL DGSV4 SAVE MEMORY AND F0022720
NOP MECL0 THEN GO TO MACHINE ERROR RECORD. F0022730
TRA DGSVA F0022740
REM F0022750
REM *************************************************************F0022760
REM F0022770
REM I/O DIAGNOSTIC ROUTINE FOR TAPE ERRORS. F0022780
REM F0022790
IODGA RIR 777777 DELETE ANY CONFUSING FLAGS. F0022800
IODGB SXA IODGC,4 SAVE IR4. F0022810
TSX IODPA,4 SAVE REGISTERS AND PRINT ANY PRIOR MESS. F0022820
TSX DGETA,4 GET NEW INFORMATION. F0022830
IODGE TSX DGST0,4 SET UP MESSAGE. F0022840
STZ NOENT RESET TABLE SEARCH FLAG. F0022850
LXD DGST2,T RELOAD LOGICAL TAPE NUMBER. F0022860
ZAC . $F0022870
STD TERCT,T RESET WRITE ERROR COUNT $F0022871
STD TERCT-NTAPE,T RESET READ ERROR COUNT $F0022880
LDI (SCHU) GET INDICATORS (FLAGS). F0022890
LNT (DATA) IS THIS TAPE DATA TRANSMIT.. F0022900
TRA IODGM NO, SKIP POSTIONING PROCEDURE. F0022910
RFT REDUN IS THIS AN RTT ERROR.. F0022920
TRA *+3 YES. F0022930
TSX (NDATA,4 NO, POSITION TAPE INFRONT OF ERROR RECORD.F0022940
PZE TAPNO,T,.BSR. F0022950
CLA TAPNO,T CHECK FOR OUTPUT TAPE FLAG. F0022960
TPL IODGM IS THIS AN OUTPUT TAPE.. F0022970
LNT (DATA)+(W...) YES,IS THIS WRITE OPERATION.. F0022980
TRA IODGM NO. F0022990
TSX (NDATA,4 YES,WRITE EOF $F0023000
PZE TAPNO,T,.WEF. $F0023010
NOP END OF TAPE RETURN. $F0023020
TRA IODGK WRITE OPERATOR MESSAGE (25)F0023030
TSX (NDATA,4 F0023040
PZE TAPNO,T,.RUN. F0023050
TSX IODPB,4 PRINT ERROR COMMENT. F0023060
IODGH TXH IODGI,4,0 MAY WE SWITCH TO SYSOU2 (SET BY INITT).. F0023070
CAL SYSOU2 YES, SWITCH SYSUNI POINTERS F0023080
LDQ SYSOU1 . F0023090
SLW SYSOU1 . F0023100
STQ SYSOU2 . F0023110
STA TAPNO-MLSTAP RESET IOPU POINTER. F0023120
IODGI TSX (PROUT,4 PRINT PREDETERMINED MESSAGE. F0023130
PZE 1 F0023140
PZE IOSWT,,6+DBLSP $F0023150
TSX IODPB,4 RESTORE REGISTERS. F0023160
TXH *+2,4,-1 DOES THIS CHANGE REUIRE HALT.. F0023170
TSX (PAUSE,4 $F0023180
IODGC AXT **,4 . F0023190
TRA TAPR6+1 *REWRITE. F0023200
IOSWT BCI 6,CHANGE TAPE, PRESS START TO CONT. $F0023210
REM (MESSAGE SET BY INITT) F0023220
REM F0023230
IODGM RNT EOTAP WAS ERROR END OF TAPE CONDITION.. F0023240
TRA *+3 NO F0023250
NZT IODGR YES, IS THERE AN ERROR RETURN (25)F0023260
TRA IODGN NO, REWIND TAPE (25)F0023270
LFT (SKIP) IS THIS A SKIPPING OPERATION.. F0023280
TRA IODGF YES, NO POSSIBLE ERROR OPTIONS. F0023290
LFT (TPER) NO, IS THIS A (TPER) CALL.. F0023300
TRA IODGD YES. F0023310
CLA IODGR IS THERE AN ERROR RETURN. F0023320
TZE IODG3 *NO. F0023330
STA ERRET,T SAVE RETURN ADDRESS. F0023340
TPL IODGQ TRANSFER IF MESSAGE IS TO BE PRINTED. F0023350
LFT (W...) IS THIS A READ OPERATION.. F0023360
TRA IODGQ-1 NO. F0023370
RNT REDUN IS THIS REDUNDANCY ERROR.. F0023380
TRA IODGQ NO. F0023390
CAL TERRT,T REDUCE COUNTER, F0023400
SUB L(01) THIS MAY BE A READ IN WRONG MODE F0023410
SLW TERRT,T F0023420
STZ IODPD RESET PRINT PARAMETERS. F0023430
IODGQ LDC DGST2,4 LOAD LOGICAL TAPE NUMBER. F0023440
CAL (SCHU),4 GET LAST ADDRESS+1 FROM SCHX. F0023450
ALS 18 MOVE TO DECREMENT FIELD AND SAVE. F0023460
STO (SCHU),4 F0023470
CLA (SCHU) GET ERROR FLAGS AND SAVE WITH SCHX. F0023480
STA (SCHU),4 F0023490
TSX IODPB,4 PRINT ERROR COMMENT. F0023500
TRA TAPR9 RETURN TO EXECUTOR. F0023510
REM F0023520
IODGD CLA CURTP+5 GET INDICATOR WORD. F0023530
TPL IODG3 *SHOULD RETURN BE MADE TO CALLER, NO. F0023540
TSX IODPB,4 PRINT ERROR COMMENT. F0023550
TRA TAPEX F0023560
REM F0023570
IODGF CLA IODGR RECALL ERROR RETURN. F0023580
RFT REDUN IS THIS REDUNDANCY ERROR.. F0023590
TRA *+4 YES. F0023600
TZE IODG3 *IS THERE AN ERROR RETURN, NO. F0023610
STA ERRET,T YES, SAVE ERROR RETURN ADDRESS. F0023620
TRA IODGQ CONTINUE WITH ACCEPT PROCEDURE. F0023630
TPL *+3 REDUN ERROR, SHOULD MESSAGE BE PRINTED.. F0023640
STZ IODPD NO. RESET PRINT PARAMETERS. F0023650
TRA *+5 RETURN TO CALLER. F0023660
TSX IODPB,4 PRINT ERROR COMMENT. F0023670
TSX (PROUT,4 PRINT TRAILER. F0023680
PZE 1 F0023690
PZE IODGG,,5 -TAPE POSITIONING ERROR MAY RESULT $F0023700
TSX IODPB,4 RESTORE REGISTERS. F0023710
TRA CHSKX RETURN TO EXECUTOR F0023720
REM F0023730
IODGR PZE STORAGE FOR ERROR RETURN INFORMATION. F0023740
REM F0023750
IODGG BCI 5, POSITIONING ERROR MAY RESULT $F0023760
REM F0023770
REM *************************************************************F0023780
REM F0023790
REM I/O DIAGNOSTIC CALLER TO PRINT ROUTINE. F0023800
REM F0023810
IODPA STO IODPI SAVE REGISTERS. F0023820
STI IODPI+1 F0023830
STQ IODPI+2 F0023840
SXA IODPE,1 F0023850
SXA IODPF,2 F0023860
IODPB SXA IODPG,4 SAVE CALLING LINKAGE. F0023870
NZT IODPD IS THERE A PRIOR MESSAGE. F0023880
TRA IODPE NO. F0023890
IODPC TSX *+4,4 (SET TO TSX (PROUT,4 IF NEED BE) F0023900
PZE 1 SHORT MESSAGE PRINTER. F0023910
PZE IODPN,,5 $F0023920
TRA *+5 . F0023930
TSX (PROUT,4 *YES, PRINT HEADING. F0023940
PZE 2 F0023950
PZE IODPN,,12+SUPRS F0023960
PZE IODFN+1,,2 $F0023970
TSX (PROUT,4 PRINT ERROR COMMENT. F0023980
PZE 2 F0023990
IODPD PZE **,,** F0024000
IODPH PZE **,,** (COND. IGNORED/NOT IGNORED) F0024010
STZ IODPD RESET COMMENT PARAMETERS, F0024020
IODPE AXT **,1 RELOAD REGISTERS F0024030
IODPF AXT **,2 TO INITIAL CONDITION. F0024040
IODPG AXT **,4 LOAD CALLING LINKAGE. F0024050
CLA IODPI F0024060
LDI IODPI+1 F0024070
LDQ IODPI+2 F0024080
TRA 1,4 RETURN TO CALLER. F0024090
REM F0024100
IODPI PZE STORAGE FOR AC. F0024110
PZE STORAGE FOR INDICATORS. F0024120
PZE STORAGE FOR MQ. F0024130
IODPJ PZE *+1,,5 F0024140
BCI 5, CONDITION CAN NOT BE IGNORED. F0024150
IODPK PZE *+1,,3 $F0024160
BCI 3,CONDITION IGNORED. $F0024170
IODPN BCI 2, RECORD NO. F0024180
IODPO BCI 2, , LOC. $F0024190
IODPP BCI 4, . ERROR ON LOG. $F0024200
IODPQ BCI 2, , TAPE $F0024210
IODPR BCI 1, F0024220
IODFN BCI 3,, FUNCTION F0024230
REM F0024240
REM *************************************************************F0024250
REM F0024260
REM SUBROUTINE TO GET INFORMATION FROM THE CURRENT F0024270
REM BUFFER OR THE HISTORICAL BUFFER. F0024280
REM F0024290
DGETA LFT 077777 IS THIS TXI DIAG,,0. F0024300
LFT 004000 NO. IS THIS (TPER). F0024310
REM F0024320
TRA DGETB YES. GET CURRENT BUFFER. F0024330
NZT UNITT+12,C IS OPERATION IN HISTORIC BUFFER.. F0024340
TRA DGETB NO. F0024350
CLA UNITT+11,C YES, GET ERRET,T3. F0024360
STO IODGR F0024370
LDQ UNITT+16,C GET CALLER LOCATION,, FORTRAN RECORD F0024380
LDI UNITT+13,C TAPE ADDRESS,,LOGICAL TAPNO F0024390
CAL UNITT+14,C LABEL. F0024400
TRA 1,4 *RETURN TO CALLER. F0024410
DGETB CLA CURTP GET INFORMATION FROM CURRENT BUFFER. F0024420
STO IODGR SAVE ERRET,T3. F0024430
LDI CURTP+2 GET TAPE ADDRESSES. F0024440
CAL CURTP+3 GET LABEL. F0024450
LDQ CURTP+5 GET LOCATION OF CALLER AND FORTRAN RECORD.F0024460
TRA 1,4 *RETURN TO CALLER. F0024470
REM F0024480
REM *************************************************************F0024490
REM F0024500
REM SUBROUTINE TO SET UP DIAGNOSTIC HEADING. F0024510
REM F0024520
DGST0 SXA DGST1,4 SAVE LINKAGE. F0024530
STQ DGST2+1 SAVE INFORMATION IN CASE OF REDUNDANCY. F0024540
STI DGST2 SENSE INDICATORS. F0024550
LDC IODPI,4 LOAD ADDRESS FOR INSERTING LABEL. F0024560
TNZ *+2 IS THERE A LABEL. F0024570
CAL BLNKS NO LABEL, SET TO BLANKS. F0024580
SLW 0,4 SET LABEL IN MESSAGE. F0024590
PIA SAVE LOGICAL TAPE NUMBER. F0024600
LGR 15 CONVERT PHYSICAL F0024610
TSX (BCD5X,4 TAPE ADDRESS TO OCTAL. F0024620
SLW IODPR SET IN HEADING. F0024630
LXD DGST2,4 GET LOGICAL TAPE ADDRESS. F0024640
PXA ,4 F0024650
TSX (DECVA,4 CONVERT TO BCD F0024660
STQ IODPQ SAVE IN HEADING. F0024670
CAL SYSFC,2 PLACE SYSUNI SYMBOLIC F0024680
SLW IODFN+2 NAME IN MESSAGE. F0024690
LXD DGST2+1,4 GET FORTRAN RECORD NUMBER. F0024700
PXA ,4 CONVERT RECORD NUMBER TO BCD. F0024710
TSX (DECVA,4 . F0024720
LGL 30 . F0024730
ALS 6 . F0024740
ORA P0INT . F0024750
LGL 6 . F0024760
SLW IODPO SET IN HEADING. F0024770
LAC DGST2+1,4 GET LOCATION OF CALLER F0024780
PXA ,4 IN TRUE NUMBER. F0024790
LGR 15 CONVERT CALLER LOCATION F0024800
TSX (BCD5X,4 TO OCTAL BCD. F0024810
SLW IODPP INSERT IN HEADING. F0024820
CLA* IODPI SET PRINT PARAMETERS F0024830
STO IODPD FOR COMMENT. F0024840
LDI IODPI+1 LOAD FIRST WORD OF CALLING SEQUENCE F0024850
CLA IODPJ OR (SCHU). F0024860
LFT 400000 CAN ERROR BE IGNORED. F0024870
CLA IODPK YES. F0024880
LNT (SKIP) IS THIS A SPACING OPERATION.. F0024890
TRA *+3 NO. F0024900
RFT REDUN YES, IS THIS REDUNDANCY.. F0024910
CLA IODPK YES, CONDITION CAN BE IGNORED. F0024920
STO IODPH SET PARAMETERS. F0024930
DGST1 AXT **,4 LOAD CALLING LINKAGE. F0024940
TRA 1,4 RETURN TO CALLER. F0024950
REM F0024960
DGST2 PZE **,,** TAPE ADDRESSES. F0024970
PZE **,,** CALLER,,FORTRAN RECORD. F0024980
REM F0024990
REM *************************************************************F0025000
EJECT F0025010
REM ROUTINE TO CALL MACHINE ERROR RECORD OR F0025020
REM SOURCE PROGRAM ERROR RECORD. F0025030
REM F0025040
SECL0 AXT 11,4 SKIP TO SOURCE ERROR REC (TRA TO LSECL...)F0025050
TRA *+2 F0025060
MECL0 AXT 10,4 SKIP TO MACH. ERROR REC (TRA TO LMECL...) F0025070
SXA MECL2-1,4 F0025080
TSX CLOSO,4 ELIMINATE ANY HANGING ERRORS. F0025090
LDC SYSLDR,2 PICK UP CURRENT FILE POSITION F0025100
CAL 2,2 OF SYSTEM TAPE F0025110
PDX ,1 F0025120
LDC SYSPOS,2 PICK UP INITIAL FILE POSITION. F0025130
SXD *+1,2 F0025140
TXI *+1,1,** SUBTRACT INITIAL FROM CURRENT FILE F0025150
TXI *+1,1,1 ASSURE THAT AT LEAST ONE FILE IS BKSPCD. F0025160
SXD MECL2-3,1 SAVE FILE DIFFERENCE. F0025170
AXT 3,2 F0025180
MECL1 TSX (TAPE),4 POSITION SYSTEM TAPE TO F0025190
PZE MECL2,2,(SKBP) MER OR SER. F0025200
PZE ,,SYSTAP F0025210
TIX MECL1,2,1 F0025220
CAL *+2 GET SENSE LITE OFF OPERATION AND OR INTO F0025230
ORS (MSLN) ERROR FLAG CELL TO GET APPROPRIATE SLN. F0025240
SLF MAKE SURE LITES ARE OFF. F0025250
XEC (MSLN) TURN ON SIGNAL LITE. F0025260
LSECL TSX (LOAD),4,1 *READ MACH/SOURCE ERROR REC (DISK LOAD SER)F0025270
BCI 1,9F1100 F0025280
BCI 1,9F1000 F0025290
REM F0025300
MZE ,,** NFILES BACKSPACE F0025310
PZE ,,1 GET OVER EOF MARK F0025320
PZE ** NRECORD FORWARD SPACE F0025330
MECL2 SYN * F0025340
REM F0025350
REM *************************************************************F0025360
REM F0025370
REM ROUTINE TO SAVE MACHINE CONFIGURATION. F0025380
REM F0025390
DGSVA SXD DGSVD,4 SET SWITCH F0025400
REM ENTRY FOR SNAPSHOTS F0025410
DGSV0 SXA DGSV2,4 SAVE IR4. F0025420
STI DGSV5 SAVE SENSE INDICATORS. F0025430
CLA (LODR) SAVE RECORD NUMBER. F0025440
STO DGLD3 F0025450
AXT 3,4 SAVE LOCATIONS F0025460
CLA 3,4 0,1 AND 2 IN CASE F0025470
STO DGLD3,4 A DUMP IS TAKEN. F0025480
TIX *-2,4,1 F0025490
AXT 8,4 F0025500
CLA IOSEX+3,4 SAVE REGISTERS F0025510
STO DGSV6+1,4 FROM SAVER ROUTINE F0025520
TIX *-2,4,1 F0025530
LDI DGSV6-3 LOAD SENSE LIGHT FLAGS F0025540
TQO *+2 IS MQ OVERFLOW ON F0025550
RIR 400 NO, TURN OFF BIT. F0025560
DCT IS DIVIDE CHECK LIGHT ON F0025570
SIR 200 YES, SET BIT 28 ON. F0025580
CAL L(08) LOAD SENSE LIGHT BIT. F0025590
AXT 4,4 INITIALIZE LITE COUNTER. F0025600
SLT 5,4 TEST SENSE LITE. F0025610
OAI SET APPROPRIATE BIT IF LITE IS OFF. F0025620
ALS 1 SHIFT BIT FOR NEXT TEST. F0025630
TIX *-3,4,1 *ALL LITES TESTED, NO CONTINUE. F0025640
CAL D(01) INITIALIZE BIT IN AC FOR SS TEST. F0025650
SWT 7,4 TEST SENSE SWITCHES 6 THROUGH 1. F0025660
OAI SENSE SWITCH UP, OR APPROPRIATE BIT. F0025670
ALS 1 SHIFT BIT FOR NEXT TEST. F0025680
TXI *+1,4,1 INCREMENT INDEX FOR NEXT TEST. F0025690
TXL *-4,4,6 *ALL SENSE SWITCHES TESTED, NO CONTINUE. F0025700
STI DGSV6-3 SAVE SENSE LIGHT FLAGS F0025710
ENK SAVE CONSOLE KEYS F0025720
STQ DGSV6-8 F0025730
DGSVD TXH DGSV2,4,** IS THIS TERMINAL CALL F0025740
ZSD *-1 YES, RESET SWITCH. F0025750
TSX CLOSO,4 ELIMINATE ANY HANGING ERRORS. F0025760
TSX (TAPE),4 DUMP A CORE BUFFER FOR DIAGNOSTIC. (31)F0025770
MZE DGSV7,,(WBNC) (31)F0025780
DGSV1 PZE ,,SINTAP (31)F0025790
PZE *+4 ERROR RETURN ADDRESS (31)F0025800
TSX (TAPE),4 BACKSPACE OVER DUMP (31)F0025810
MZE BKSRC,,(SKBP) (31)F0025820
PZE ,,SINTAP (31)F0025830
DGSV2 AXT **,4 RESTORE IR4. F0025840
LDI DGSV5 RESTORE SENSE INDICATORS. F0025850
DGSV4 TRA* ** RETURN TO CALLER. F0025860
REM F0025870
DGSV5 PZE TEMPORARY STORAGE FOR SENSE INDICATORS. F0025880
PZE ** KEYS F0025890
PZE ** SENSE INDICATORS F0025900
PZE ** MQ F0025910
PZE ** LOGICAL AC F0025920
PZE ** ALGEBRAIC AC F0025930
PZE ** FLAGS FOR LIGHTS, SWITCHES, INDICATORS F0025940
PZE ** INDEX REGISTER 1 F0025950
PZE ** INDEX REGISTER 2 F0025960
DGSV6 PZE ** INDEX REGISTER 4 F0025970
DGSV7 IORT (DORG),,8700 I/O COMMAND FOR DUMP+DIAGNOSTIC (31)F0025980
REM (31)F0025990
REM (31)F0026000
REM ROUTINE TO RESTORE CONSOLE AND MEMORY. (31)F0026020
REM (31)F0026030
DGLDH STL DGLD2 SET RETURN TO FINAL HALT. (31)F0026040
NOP DGLD2+1 (31)F0026050
TSX (TAPE),4 RESTORE MEMORY FROM DUMP TAPE (31)F0026060
MZE DGSV7,,(RBNC) (31)F0026070
DGLD1 PZE ,,SINTAP (31)F0026080
PZE *+4 ERROR RETURN ADDRESS (31)F0026090
TSX (TAPE),4 BACKSPACE OVER DUMP FOR (31)F0026100
MZE BKSRC,,(SKBP) FURTHER USE OF DUMP TAPE (31)F0026110
PZE ,,SINTAP (31)F0026120
REM ENTRY POINT FOR (REST),DIAG,SNAP F0026130
DGLD0 LDI DGSV6-3 LOAD SENSE LIGHT FLAGS F0026140
CAL L(01) PREPARE TO TURN MQ OVERFLOW ON. F0026150
RFT 400 WAS MQ OVERFLOW ON. F0026160
FDP SKIPF YES, TURN IT BACK ON. F0026170
RFT 200 WAS DIVIDE CHECK INDICATOR ON. F0026180
DVP L(00) YES, TURN IT BACK ON. F0026190
CAL L(04) LOAD TEST BIT FOR SENSE LITES. F0026200
AXT 5,4 INITIALIZE COUNTER/MODIFIER. F0026210
TIO *+2 *SHOULD LITE BE TURNED ON, NO. F0026220
SLN 5,4 YES. (FIRST TIME EXECUTE AS SLF) F0026230
ALS 1 SHIFT TEST BIT TO NEXT POSITION. F0026240
TIX *-3,4,1 *ALL BITS TESTED, NO CONTINUE. F0026250
AXT 8,4 MOVE MACHINE REGISTERS F0026260
CLA DGSV6+1,4 INTO RELOADING BUFFER F0026270
STO IOSEX+3,4 F0026280
TIX *-2,4,1 F0026290
STL IORLX SET RELOADING RETURN ADDRESS. F0026300
NOP *+2 F0026310
TRA IOSEX RELOAD MACHINE REGISTERS. F0026320
DGLD2 TRA* ** RETURN TO CALLER. F0026330
HTR * THIS IS THE END. F0026340
REM F0026350
OCT ,, CELLS FOR SAVING 0,1, AND 2. F0026360
DGLD3 PZE CELL FOR SAVING FORTAN RECORD NUMBER F0026370
REM F0026380
REM *************************************************************F0026390
REM F0026400
REM ROUTINE TO CLOSE OUT CHANNELS AND TAPES. F0026410
REM F0026420
CLOSO LXD TAPNO,2 F0026430
STZ ERRET,2 CLEAR ERROR RETURN BUFFER FOR THIS TAPE. F0026440
TIX *-1,2,1 F0026450
AXT 16*NCHAN,2 CLEAR HISTORIC TABLE OF HISTORIC INSTR, F0026460
STZ UNITT+12,2 F0026470
TIX *-1,2,16 F0026480
TRA 1,4 RETURN TO CALLER. F0026490
REM F0026500
TTL GENERAL ERASIBLE F0026510
ERAS1 PZE F0026520
ERAS2 PZE F0026530
ERASA PZE ERASIBLE - ADDRESS F0026540
ERASD PZE ERASIBLE - DECREMENT F0026550
ERASR PZE FULL WORD ERASIBLE (EFFECTIVE ADDR COMP) F0026560
TPNUM PZE CURRENT LOGICAL TAPENO, BITS 3-5. F0026570
TTL GENERAL CONSTANTS F0026580
ONLIN PZE ,,1024 FLAG FOR ON-LINE ACTIVITY F0026590
BKSRC MZE 1 BACKSPACE ONE RECORD COMMAND F0026600
INITL PZE 1,,1 INITIAL TAPE POSITION CONSTANT F0026610
L(SL) PZE ,,IOPSL LOCATION OF SELECT ROUTINE. F0026620
BLNKS BCI 1, BLANK WORD F0026630
BLANK BCI 1,00000 BLANK CHARACTER F0026640
P0INT BCI 1, 00. DECIMAL POINT WITH BLANKS. F0026650
TGADD PZE -2,-1,0 ADD 1 TO FILE CT., SUB. 2 FROM REC. CT(29)F0026660
ADMSK PZE -1 MASK FOR ADDRESS F0026670
DCMSK PZE ,,-1 MASK FOR DECREMENT. F0026680
LSEVN OCT 377777000000 MASK TO DUMMY UP THE (SCHU) ENTRY F0026690
L(00) PZE 0 F0026700
L(01) PZE 1 F0026710
L(04) PZE 4 F0026720
L(05) PZE 5 F0026730
L(08) PZE 8 F0026740
L(12) PZE 12 F0026750
L(16) PZE 16 F0026760
D(01) PZE ,,1 DECREMENT ONE F0026770
BCI 1,SYSCK2 THESE F0026780
BCI 1,SYSCK1 SYMBOLIC F0026790
BCI 1,SYSUT2 NAMES F0026800
BCI 1,SYSPP1 MUST F0026810
BCI 1,SYSOU1 BE F0026820
BCI 1,SYSIN1 IN F0026830
BCI 1,SYSUT1 SAME F0026840
BCI 1,SYSUT4 ORDER F0026850
BCI 1,SYSUT3 AS F0026860
BCI 1,SYSLB1 IOPU. F0026870
SYSFC SYN * F0026880
TTL TABLES F0026890
TITLE F0026900
REM F0026910
CURTP QZE ** ERROR RETURN (SIGN = F0026920
PZE **,,** CURRENT INSTRUCTION,,FLAGS (1) F0026930
QZE **,,** TAPE ADDRESS,,LOGICAL TAPENO (2) F0026940
BCI 1, LABEL (3) F0026950
PZE **,,** LOGICAL FILE,,LOGICAL RECORD (4) F0026960
QZE **,,** CALLER LOCATION,,FORTRAN RECORD (5) F0026970
REM F0026980
LABEL BCI 1, BUFFER FOR TAPE LABEL (LAST THREE CELLS F0026990
PZE **,,** IN CURTP/UNITT) F0027000
PZE **,,** F0027010
EJECT F0027020
REM CHANNEL DATA TABLES F0027030
REM F0027040
REM HISTORICAL TABLE CHANNEL (C) TO A F0027050
DUP 16,NCHAN F0027060
QZE ** HISTORIC SELECT (MODE). (1) F0027070
IOSP *+6,,3 I/O COMMAND TO READ/WRITE LABEL. (2) F0027080
PZE **,,** I/O COMMAND TO READ/WRITE RECORD (3) F0027090
PZE **,,** DITTO (4) F0027100
PZE **,,** DITTO (5) F0027110
PZE **,,** DITTO (6) F0027120
PZE **,,** DITTO (7) F0027130
BCI 1, LABEL READ/WRITTEN. (8) F0027140
PZE **,,** LOGICAL FILE,, LOGICAL RECORD R/W. (9) F0027150
PZE **,,** CALLER LOCATION,, FORTRAN RECORD W. (10) F0027160
PZE ** ERROR RETURN (11) F0027170
PZE **,,** HISTORIC INSTRUCTION,,FLAGS (12) F0027180
PZE **,,** TAPE ADDRESS,,LOGICAL TAPE NUMBER (13) F0027190
BCI 1, LABEL (14) F0027200
PZE **,,** LOGICAL FILE,,LOGICAL RECORD (15) F0027210
QZE **,,** CALLER LOCATION,,FORTRAN RECORD (16) F0027220
UNITT SYN *-1 F0027230
REM F0027240
REM TABLE OF CURRENT TAPE POSITIONS. F0027250
REM RECORD POSITION,, FILE POSITION F0027260
DUP 1,NTAPE-1 F0027270
QZE 1,,1 LOGICAL TAPES NTAPE TO 1 F0027280
PZE 2,,1 SYSTEM TAPE PICKS UP AT SPACER RECORD. F0027290
POINT SYN * F0027300
REM F0027310
REM TABLE OF ERROR RETURNS FOR EACH LOGICAL TAPE F0027320
DUP 1,NTAPE F0027330
PZE ** LOGICAL TAPE NTAPE TO 1. F0027340
ERRET PZE ** ONLINE ACTIVITY F0027350
REM F0027360
REM TABLE OF READ ERROR COUNTS F0027370
DUP 1,NTAPE F0027380
PZE **,,** LOGICAL TAPE NTAPE TO 1. F0027390
TERTT SYN * F0027400
REM F0027410
REM TABLE OF WRITE ERROR COUNTS F0027420
DUP 1,NTAPE F0027430
PZE **,,** LOGICAL TAPE NTAPE TO 1. F0027440
TERCT SYN * CUMULATIVE ERROR COUNT,,RECORD ERROR COUNTF0027450
REM F0027460
REM TABLE OF READ TAPE USAGE F0027470
REM RECORD COUNT,, NOISE RECORD COUNT F0027480
DUP 1,NTAPE F0027490
PZE **,,** LOGICAL TAPE NTAPE TO 1 F0027500
TERRT SYN * F0027510
REM F0027520
REM TABLE OF WRITE TAPE USAGE F0027530
REM RECORD COUNT,, NOISE RECORD COUNT F0027540
DUP 1,NTAPE F0027550
PZE **,,** LOGICAL TAPE NTAPE TO 1 F0027560
TERST SYN * F0027570
REM F0027580
REM DICTIONARY OF DATA ON TAPE F0027590
DUP 2,TABSZ/2 F0027600
PZE BCD LABEL F0027610
PZE TAPNO-FILE,,RECORD F0027620
TABLE SYN * F0027630
EJECT F0027640
REM *************************************************************F0027650
CDBUF BSS 26 F0027660
REM F0027670
ROBUF SYN CDBUF ROTATED ROW BINARY TAPE IMAGE BUFFER. F0027680
REM F0027690
REM *************************************************************F0027700
REM F0027710
PATCH2 SXA *+7,4 STORE LOCATION $F0027720
AXT 5,4 LOAD MAX I/O SEQUENCE COUNT $F0027721
STI ERASE SAVE INDICATORS $F0027722
LDI **,4 MOVE I/O (OR SNAP SHOT) LIST $F0027723
LFT 700000 DO NOT ALLOW IOCD $F0027724
TRA *+2 IF IOCD CHANGE TO IOCT $F0027725
SIL 500000 $F0027726
STI **,4 $F0027727
TIX *-5,4,1 $F0027728
LDI ERASE RELOAD INDICATORS $F0027729
TRA TAPE1+4 CONTINUE $F0027730
ERASE PZE $F0027731
PATCH3 SXD *+2,C SET LOCATION AT $F0027732
AXT UNITT+11,4 UNITT+11 MINUS $F0027733
TIX *+1,4,** C(C) CHANNEL POINTER, $F0027734
SXA TAPE2+4,4 STORE IT, POINT TO $F0027735
TXI *+1,4,6 UNITT+17, AND $F0027736
SXA TAPE2+2,4 STORE IT. $F0027737
AXT 6,4 . $F0027738
TRA TAPE2+1 GO BACK IN LINE $F0027739
IOPTC EQU * PATCH SPACE HERE TO IOPUN $F0027740
REM F0027750
REM F0027760
TTL IOPU F0027770
REM LOGICAL/FUNCTIONAL EQUIVALENCE TABLE F0027780
REM F0027790
REM FUNCTION FORTRAN LOGICAL TAPE F0027800
REM F0027810
IOPUN ORG TOPIOP-20 F0027820
LBL 9FIOPU,X F0027830
PZE SYSUAV,1,3 16 B F0027840
PZE SYSUAV,0,3 15 A F0027850
PZE SYSUAV,1,2 14 B F0027860
PZE SYSUAV,0,2 13 A F0027870
PZE SYSUAV,1,1 12 B F0027880
PZE SYSUAV,0,1 11 A F0027890
PZE SYSCK2 10 A F0027900
PZE SYSCK1 9 A F0027910
PZE SYSUT2 8 B F0027920
PZE SYSPP1 7 B F0027930
MZE SYSOU1 6 A F0027940
PZE SYSIN1 5 A F0027950
PZE SYSUT1 4 A F0027960
PZE SYSUT4 3 B F0027970
PZE SYSUT3 2 B F0027980
PZE SYSLB1 1 A F0027990
TAPNO PZE 0,,NTAPE DENSITY,,NUMBER OF LOGICAL TAPES F0028000
PZE SYSCRD ON-LINE CARD READER F0028010
PZE SYSPCH ON-LINE CARD PUNCH F0028020
PZE SYSPRT ON-LINE PRINTER F0028030
END -1 F0028040