$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