$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