HED * LOADER-SYSTEM LINKAGE TABLE * * ρρ *** LOADER-SYSTEM LINKAGE TABLE * * *ρ * CONTENTS FILLED IN FROM TSB SYSTEM TAPE ON PAPER TAPE * LOADS, FROM DISC ON DISC LOADS. * ORG 4000B JMP LDR INITIATE LOADING SEQUENCE LSLTB EQU * LIBRA BSS 1 SYSTEM LIBRARY PROGRAM ORIGIN COM6 BSS 1 ADDRESS OF SYSTEM LIBRARY DISC * ADDRESSES. INCRE BSS 1 LENGTH OF TTY TABLE TTYDA BSS 1 ADDRESS OF USER DISC ADDRESS ?MASK BSS 1 ADDRESS OF USER MASK ?BHED BSS 1 => START OF LOGICAL BUFFER ?BSTR BSS 1 => END OF LOGICAL BUFFER ?BGIN BSS 1 => START OF PHYSICAL BUFFER ?BEND BSS 1 => END OF PHYSICAL BUFFER ?ID BSS 1 ADDRESS OF ID-NAME SWPIA BSS 1 ADDRESS OF USER-DEPENDENT ITEMS SWPLN BSS 1 LENGTH OF SWAP AREA SWPAA BSS 1 CORE ADDRESS OF SWAP AREA DATE BSS 1 ADDRESS OF HOUR OF YEAR TIME BSS 1 ADDRESS OF TENTHS OF SECONDS YEAR BSS 1 ADDRESS OF YEAR TSBLA BSS 1 SYSTEM START-UP DISC ADDRESS MGSLE BSS 1 MAG TAPE SLEEP PMAIN BSS 1 START OF UTILITY PWRFL BSS 1 POWER FAIL INTERRUPT CODE HED UTILITY CONTROL MAIN EQU * LDA .+24 LDB TITLE "2000E UTILITY PROGRAM" CR-LF,LF JSB ASR35,I INCOM LDA .+3 LDB STAR PRINT * JSB ASR35,I I« CLA INPUT COMMAND JSB ASR35,I JSB CLEAR,I CLEAR ALL DISC DRIVES * * SCAN BUFFER FOR COMMAND * JSB GETCA,I GET FIRST CHARACTER JMP CERR NONE ALF,ALF SAVE IT STA ADR1 JSB GETCA,I GET SECOND CHARACTER JMP CERR NONE IOR ADR1 STA ADR1 STORE COMMAND LDA CBUF LOAD ADDRESS OF COMMANDS STA ADR2 SAVE IT LDA .-7 SET COUNT FOR 7 COMMANDS. STA CNT2 LDA ADR1 LOAD COMMAND CLB CLEAR COMMAND NUMBER CPA ADR2,I COMPARE COMMAND JMP SCAN FOUND IT. INB NOPE - TRY AGAIN ISZ ADR2 NEXT COMMAND ISZ CNT2 DONE? JMP *-5 NO * CERR LDA .+8 LDB COMRI,I ??? (D) JSB ASR35,I JMP INCOM INPUT COMMAND AGAIN * * SCAN: COMMAND HAS BEEN FOUND * SEARCH FOR FIRST PARAMETER * *ρ SCAN STB INDEX SAVE COMMAND NUMBER * JSB GETCA,I JMP *+4 NO PARAMETER CPA COMMA RSS JMP *-4 NO-NEXT CHAR * * PARAMETER HAS BEEN FOUND * GO TO CORRECT COMMAND * ρρ LDA TBAD LOAD ADDRESS OF COMMAND JUMP TABLE ADA INDEX ADD INDEX OF COMMAND JMP 0,I I… * TBAD DEF *+1,I COMMAND JUMP TABLE DEF LOADA’ DEF COPY DEF SLOAD DEF SDUMP ** DEF FORMA DEF PACK DEF DLOAD * ρρ CBUF DEF CTABL CTABL ASC 7,LOCOSLSDFOPADL LOAD,COPY,SLOAD,ETC. * * HED *A LOAD ROUTINE ** * * LOAD DISCS FROM MAGNETIC TAPE * AND INITIATE OPERATION OF TSB * ρρ LOAD JSB GETCA,I JMP LDR NONE - PAPER TAPE JSB BBSP,I JSB OCTLA,I CHECK FOR OCTAL INTEGER JSB SCHKA,I CHECK SELECT CODE STA MTFLG SET MAG TAPE FLAG JSB MGTPC,I CONFIGURE MAG TAPE * JSB MGTP,I OCT 3 REWIND TAPE * * LOAD DISCS FROM TAPE * *ρ LDA .-5 LOAD ID AND LABEL STA WORD,I LDB TBUFU& JSB MGTP,I OCT 0 JMP EOFA,I JMP TPEA,I LDA B100 LDB TBUF JSB DISC,I LDA B111 READ LDB B100 EQUIPMENT TABLE JSB MGTP,I OCT 0 JMP EOFA,I JMP TPEA,I JMP LDR14 GO BUILD ADT * ρρ B377 OCT 377 DISCA OCT 0 DRP OCT 0 TCNT OCT 0 MGTP DEF MGTDR MGTDR EQU XMTD MGTPC DEF MTDIN ADR1 OCT 0 * 4 HED * TSB LOADER * * *** MAIN LOADING SEQUENCE * * * BEGIN HERE FOR NORMAL LOADING SEQUENCES. * LDR JSB SCFGI,I CONFIGURE THE SYSTEM CONSOLE (D) CLB SET STB SLEPT INITIALIZE SLEEP FLAG (D) CLC 0,C I/O ISZ 1 TO JMP *-2 NULL STATE CLA ZERO STA SYSLF DIRECTORY TRACK STA SYSLF+1 COUNTERS STA SDRVA,I JSB LSTAT,I MAKE SURE DISC IS READY LDA .12 ASK LDB LBRYA JSB ASR35,I IF LIBRARY CLA JSB ASR35,I EXISTS? JSB GETCA,I ANSWER GIVEN? JMP ERR1 NO CPA Y YES, 'Y'? JMP LDR5 YES, ASSUME 'YES' CPA N NO, 'N'? ?J JMP LDR1 YES, ASSUME 'NO' ERR1 LDA .15 LDB ILINA TRY JSB ASR35,I AGAIN JMP LDR+1 (D) LDR1 LDA .20 ASK LDB SYSDA FOR JSB ASR35,I SYSTEM CLA ID JSB ASR35,I CODE * * CONVERT SYSTEM ID CODE * JSB INTGA,I GET SYSTEM ID CPB B5.7 NONE? JMP ID1 STB SYID1 LDA M128 OUTPUT STA WORD,I ID AND LABEL LDA B100 TO DISC LDB SYIDT JSB DISC,I JMP ID2 ID1 LDA .15 LDB ILINA JSB ASR35,I JMP LDR1 * ρρ * *** SYSTEM GENERATION * * * CREATE NASCENT EQUIPMENT TABLE * ID2 LDA M16 SET DIRECTORY LENGTH STA DIREC FOR TWO DUMMY ENTRIES LDA EQTLN ZERO STA TEMP0 OUT CLB THE REST LDA EQTA LDR2 INA OF THE STB 0,I ISZ TEMP0 EQUIPMENT TABLE JMP LDR2 CLA SET STA TEMP1 FOR LDA B11 DISC SELECT CODE STA TEMP2 LDA SETDS SET DISC ENTRY STA DTBL CCB STB MTFLG SET FLAG TO 'SYSGEN' MODE JMP LDR14 * ρρ *** INITIATE PAPER TAPE RELOAD * ρρρϋ * * PRIMARY USE IS FOR LINKING A NEW SYSTEM (FOR EXAMPLE, A * SYSTEM UPDATE) WITH THE LIBRARY OF A CURRENT SYSTEM. * LDR5 LDA B11 FAKE DTBL ENTRY STA DTBL FOR DISC DRIVER LDA M256 READ STA WORD,I EQUIPMENT LDA DEQTA TABLE LDB CEQTA FROM JSB DISC,I DISC 0 * *** BEGIN EMERGENCY LOADING SEQUENCE * * * ENTRY IS TO HERE WHEN ATTEMPTING TO RELOAD THE SYSTEM * USING THE EQUIPMENT TABLE IN CORE (I.E., SYSTEM WAS * HALTED BY OTHER THAN THE 'SLEEP' ROUTINE). * *ρ LDR6 CLA SET FLAG TO STA MTFLG 'PAPER TAPE RELOAD' STA SYSLF ZERO COUNTERS FOR STA SYSLF+1 DIRECTORY TRACKS LDA ADLEN READ AND M128 STA WORD,I ADT LDB ADTBA ADB BIT15 FROM LDA ADLOC JSB DISC,I DISC LDA ADLEN RECOVER THE JMP LDR18 SYSTEM TRACKS SKP * * *** BUILD ADT * * * CREATE AN ADT ENTRY OF ZERO SECTORS FOR EACK AVAILABLE * TRACK (THE TRACK LENGTH WILL BE FILLED IN BELOW). THE * ENTRY FOR TRACK 0, DISC 0 AND A TERMINATING PSEUDO- * ENTRY BOUND THE ADT. * LDR14 LDA ADTBA CREATE LDB DISCN STB 0,I FIRST INA CLB STB LBAD NO BAD TRACKS STB 0,I ADT INA STA TEMP1 ENTRY LDA M202 INITIALIZE STA TEMP2 ADT ENTRIES LDA M6144 SET LENGTH OF TRACK TO TEST STA WORD,I LDA DISCN STA TEMP3 LDR15 LDA TEMP3 ADA B200 STA TEMP3 SAVE DISC ADDRESS OF CURRENT TRACK JSB DNTR,I FORMAT DISC TRACK JMP LD.15 ISZ LBAD BAD TRACK JMP LDR15 BAD TRACK IGNORE LD.15 EQU * *Φ LDA TEMP3 STA TEMP1,I IΕ ISZ TEMP1 CREATE CLB STB TEMP1,I ZERO-LENGTH ISZ TEMP1 ADT ENTRY ISZ TEMP2 ALL TRACKS CONSIDERED? JMP LDR15 NO LDA TEMP1 YES CCB APPEND STB 0,I INA TERMINAL CLB STB 0,I PSEUDO-ENTRY CMA RECORD -# ADA ADTBA OF WORDS STA ADLEN IN ADT LDB LBAD ANY BAD TRACKS? SZB,RSS JMP LDR18 NO LDA LBAD LDB LBDMS Sθ JSB NMOTA,I YES - TELL OPERATOR ABOUT THEM LDA .+22 LDB LBDMA LDA ADLEN RESTORE (A) (D) * *** RECOVER TRACKS * *ρ * ALL ADT ENTRIES WITH ZERO SECTORS ARE RECOVERED * AS FULL TRACKS. THIS PICKS UP ALL SYSTEM TRACKS ON * PAPER TAPE RELOADS AND RETURNS THEM TO THE POOL OF * TRACKS AVAILABLE FOR LOADING BELOW. * ENTER WITH (A) = -#ENTRIES IN ADT. * LDR18 ADA .4 SET ENTRY COUNTER ARS (SKIPPING FIRST STA TEMP0 AND LAST ENTRIES) LDA ADTBA LOAD ADDRESS INA OF SECOND WORD LDR19 ADA .2 OF ENTRY LDB 0,I IS LENGTH SZB,RSS 0 SECTORS? JMP LDR21 YES LDR20 ISZ TEMP0 NO, DONE? JMP LDR19 NO JMP LDR23 YES LDR21 CCB LOAD ADB 0 ENTRY'S LDA 1,I DISC ADDRESS JSB ISOTA,I GET TRACK LENGTH INB IN SECTORS STA 1,I RESTORE TO LDA 1 FULL TRACK JMP LDR20 * ρρ *** CLAIM DISC TRACKS * ρρ * * CLAIM TRACKS FOR THE SYSTEM AND USER SWAPPING. THE * ADT ENTRIES ARE SET TO LENGTH ZERO RATHER * THAN BEING REMOVED. * LDR23 JSB NPRTA,I GET NUMBER OF PORTS LDA .-21 STA TEMP0 LDB TRKTA CLA TRACK TABLE STA 1,I ‚‚ INB ISZ TEMP0 TO ZEROS JMP *-3 LDA .-21 GET ONE LOADER TRACK STA TEMP0 LDA TRKTA FOUR SYSTEM TRACKS, STA TEMP1 LDR24 CLA FOUR SYSTEM LIBRARY TRACKS, JSB GTTRA,I STA TEMP1,I AND 16 ISZ TEMP1 ISZ TEMP0 USER TRACKS JMP LDR24 LDB TRKTA,I SET DISC ADDRESS OF LOADER STB LDRT0,I SYSTEM TRACK INTO DISC LOADER LDB TRKTA INB SET DISC ADDRESSES OF TSB DLD 1,I INTO DISC LOADER DST LDRT1,I FOR BOOTSTRAP LOADING * *** WRITE SYSTEM LOADER TO DISC * * THIS SECTION WRITES THE TSB SYSTEM DISC LOADER ONTO * TRACK 0: SECTORS 1,2,3 * ρρ LDA N1024 TRANSFER STA WORD,I SYSTEM LOADER CLA,INA TO DISC 0 ADA B100 LDB TSBBA JSB DISC,I * LDA MTFLG RELOAD FROM SZA,RSS PAPER TAPE? JMP LDR43 YES * *** GET REST OF SYSTEM TRACKS * ρρ * ρρ * CLAIN 4 TRACKS FOR THE IDT AND 1 TRACK FOR THE ADT * LDA M4 STA TEMP0 NN LDB IDTTA SET ADDRESS OF DISC ADDRESSES STB TEMP1 LDA IDTRL STA IDTLA LDR28 EQU * ΩΩΩΒ CCA JSB GTTRA,I GET A TRACK STA TEMP1,I SAVE IT ISZ TEMP1 LDA MTFLG MAG TAPE? SSA,RSS S JMP LDR26 YES! CLA STA IDTLA,I ISZ IDTLA LDR26 EQU * * ISZ TEMP0 JMP LDR28 CCA CLAIM TRACK FOR ADT JSB GTTRA,I STA ADLOC LDA M2 SET TO COUNT TWO STA TEMP0 DIRECTORY TRACKS LDB DIRE6 PUT DIRECTORY ADDRESS LDR31 STB TEMP1 IN TEMP1 CCA REMOVE TRACK FROM JSB GTTRA,I ADT STA TEMP1,I PUT TRACK # IN DIRECTORY LDB TEMP1 COMPUTE NEXT ADB .7 DIRECTORY ENTRY ISZ TEMP0 ALL TRACKS CLAIMED? JMP LDR31 NO LDA M128 STA WORD,I WRITE LDA DIRE6,I NULL STA TEMP4 DIRECTORY LDB DIRBA TO JSB DISC,I DISC LDA MTFLG MAG TAPE INA,SZA,RSS LOAD? JMP LDR43 NO * IN LOADER * ρρ * READ IN ID TRACKS * LDA IDTTA STA IDTRA AΣ LDA IDTRL STA IDTLA LDA .-4 STA TCNT88 LDR27 LDA IDTLA,I LOAD STA WORD,I TRACK LDB TBUF FROM JSB MGTP,I MAG OCT 0 TAPE JMP EOFA,I,Θ JMP TPEA,I LDA IDTRA,I OUTPUT LDB TBUF TO JSB DISC,I DISC ISZ IDTLA ISZ IDTRA ISZ TCNT JMP LDR27 * * LOAD LIBRARY * * LDA M2030j STA TEMP0 INPUT TRACK LDB TRTAB TABLE STB TEMP1 JSB MGTP,I OCT 0 ΡΡ JMP EOFA,I JMP TPEA,I LDA B100 LDR32 EQU * LDB TEMP1,I LOAD TRACK LENGTH SZB,RSS ZERO? JMP LDR37 YES - EMPTY TRACK STA TEMP2 CLA CMB,INB STB COUNT SAVE SECTORS REQUIRED ASL 7 SAVE WORD LENGTH STB WORD,I LDB ADLEN SET ADT BRS CONTER STB TEMP3 LDB ADTBA INB LDR33 LDA 1,I Iΐ ADA COUNT GET LENGTH OF ADT ENTRY SSA,RSS ENOUGH ROOM? JMP LDR35 YES ADB .+2 NO - TRY SOME MORE ISZ TEMP3 DONE? JMP LDR33 NO * ρρ ERR5 LDA .20 NO LDB OODSA TERMINATE JSB ASR35,I LOADING JMP ERINA,I LDR34 LDA 1,I SAVE DISC ADDRESS STA TEMP3 REMOVE ADB .+2 ADT LDA 1 ENTRY JSB MOVUA,I JMP LDR36 LDR35 STA 1,I SAVE REMAINDER ADB .-1 SZA,RSS ANY LEFT? JMP LDR34 NO LDA 1,I YES - SAVE DISC ADDRESS STA TEMP3 ADA TEMP1,I COMPUTE NEW DISC ADDRESS STA 1,I LDR36 LDA TEMP2 COMPUTE NEW DISC ADRESS CMA,INA MINUS OLD DISC ADDRESS ADA TEMP3 STA TEMP1,I SAVE IN TRACK LDA WORD,I TABLE ADA D3072 TOO LONG? SSA,RSS JMP LDRE1 NO STA COUNT YES - SAVE DIFFERENCE LDA M3072 STA WORD,I READ FROM TAPE LDB TBUF JSB MGTP,I OCT 0 JMP EOFA,I JMP TPEA,I,© LDA TEMP3 OUTPUT TO LDB TBUF DISC JSB DISC,I LDA COUNT STA WORD,I LDA COUNT READ STA WORD,I REMAINDER LDB TEMP3 FROM ADB .+24 TAPE STB TEMP3 LDRE1 LDA WORD,I LDB TBUF JSB MGTP,I OCT 0 JMP EOFA,I JMP TPEA,I LDA TEMP3 WRITE LDB TBUF TO JSB DISC,I DISC LDA TEMP2 UPDATE OLD LDR37 EQU * ADA B200 TACK ADDRESSES ISZ TEMP1 ISZ TEMP0 DONE JMP LDR32 NO * * LOAD DIRECTORY * LDA DIRD0 STA TEMP0 NN LDR40 LDA TEMP0,I LOAD LENGTH SZA,RSS JMP LDR43 3p STA WORD,I LDB TBUF JSB MGTP,I READ DIRECTORY TRACK OCT 0 0Ρ JMP EOFA,I,Θ JMP TPEA,I LDA WORD,I SAVE # CCB OF ASR 3 ENTRIES STA TEMP1 LDB TBUF LDR41 EQU * šš ADB .+6 LOAD DISC ADDRESS LDA 1,I RAL GET TRACK ALF,ALF NUMBER AND B377 ADA TRTAB LDA 0,I GET MODIFICATION VALUE ADA 1,I COMPUTE NEW DISC ADDRESS STA 1,I ADB .+2 ISZ TEMP1 MORE? JMP LDR41 YES LDA TEMP0 WRITE DIRECTORY ADA .+6 TRACK TO LDA 0,I DISC LDB TBUF JSB DISC,I LDA .-5 STA WORD,I SET B.PB LDA TEMP0 DIRECTORY ADA .+6 6ρ LDA 0,I LDB TEMP0 INB ADB BIT15 JSB DISC,I * LDA TEMP0 SECOND ADA .+7 TACK STA TEMP0 SEE IF WE'VE LDA DIRD0 ALREADY ADA .+7 DONE CPA TEMP0 IT JMP LDR40 NO * ρρ *** WRITE ADT TO DISC * LDR43 LDB ADLEN WRITE STB WORD,I ADT LDA ADLOC LDB ADTBA TO JSB DISC,I DISC * CCA INITIALIZE STA SYSLF SYSTEM LIBRARY STA SYSLF+1 FLAGS LDA MTFLG LOADING FROM CMA,SSA,INA,SZA DISC? JMP LDR50 * ρρ *** LOAD SYSTEM FROM PAPER TAPE * ρρ * ρρ * READS THE TSB SYSTEM TAPE, OR TAPES IF MORE THAN ONE * EXECUTING A HLT 77B ON RECOGNIZING AN END-OF-TAPE * CONDITION). THE LAST RECORD IS IDENTIFIED BY AN ORIGIN * OF 0. CHECKSUM'S ARE COMPUTED FOR EACH RECORD: A FAILURE * MAY BE RETRIED BY BACKING UP TO THE START OF THE RECORD. * THE CORE TO BE OCCUPIED BY EACH RECORD IS CHECKED AGAINST * A TABLE OF ADMISSABLE AREAS TO HELP CATCH ORIGIN * MIS-READS BEFORE LOADING A RECORD. RECOVERY MAY BE * ATTEMPTED BY BACKING UP TO THE BEGINNING OF THE RECORD. * ρρ LDR46 CLA,RSS SET FOR START OF TAPE LDA M10 SET FOR END-OF-TAPE CHECK CCE GET RECORD'S LDR47 JSB READA,I WORD COUNT CMB,CCE,INB,SZB AS NEGATIVE JMP LDR48 INA,SZA FEED FRAME, END-OF-TAPE? JMP LDR47 NO LDA .13 YES LDB EOTMA PRINT JSB ASR35,I 'END OF TAPE' HLT 77B WAIT FOR NEXT TAPE JMP LDR46 LDR48 STB COUNT SAVE WORD COUNT CMB SAVE TRUE STB TEMP1 WORD COUNT -1 JSB READA,I SKIP FEED FRAME JSB READA,I READ LOAD ORIGIN SZB,RSS ZERO ORIGIN? JMP LDR70 YES LDA 1 NO, INITIALIZE CHECKSUM COUNTER STB TEMP0 SAVE STB TEMP3 ORIGIN CPB LNKAD SYSTEM LINKAGE ADDRESSES? JMP LDR49 YES JSB ADVLA,I NO, VALIDATE ORIGIN LDB 0 COMPUTE LAST ADDRESS ADB TEMP1 TO BE LOADED JSB ADVLA,I VALIDATE IT LDR49 CPA LIBRA SYSTEM LIBRARY PROGRAM? JSB SYSLB YES CLE READ A JSB READA,I WORD ADA 1 ADD TO CHECKSUM COUNTER STB TEMP0,I STORE WORD ISZ TEMP0 ADVANCE ADDRESS ISZ COUNT RECORD ALL READ? JMP LDR49+2 NO CLE YES JSB READA,I READ CHECKSUM CPB 0 DO CHECK SUMS AGREE? JMP LDR46+1 YES STA TEMP1 NO, SAVE STB TEMP2 REGISTERS CCB LDA TEMP3 FIRST RECORD OF CPA LIBRA SYSTEM LIBRARY PROGRAM? STB SYSLF+1 YES, PROTECT AGAINST SPURIOUS LDA .17 CALL TO SYSLB LDB CHKSA PRINT JSB ASR35,I 'CHECKSUM ERROR' LDA TEMP1 LOAD REGIST LDB TEMP2 FOR DISPLAY HLT 66B WAIT FOR REREAD ATTEMPT JMP LDR46 * * NOW LOAD USER DISCS * LDR50 CLA,INA A CLB JSB MGTP,I SPACE OVER ONE FILE OCT 4 JMP EOFA,I JMP TPEA,I CLA,INA STA SUB1A,I SET UP LDA DIRD0 FOR ADA .+14 SELECTIVE LOAD STA DRP STA DRP1 LDR52 ADA .+6 IS DISC ON SYSTEM LDA 0,I SZA JMP LDR51 LDR54 LDA DRP1 CPA DIRD3 ANY MORE DRIVES? JMP LDR55 NO - LOAD SYSTEM ADA .+14 YES - GO TO NEXT ONE STA DRP STA DRP1 ISZ SUB1A,I JMP LDR52 * LDR51 LDB SUB1A,I FORM DISC ADDRESS JSB FSUBA,I STA DSC1A,I CLA CLEAR STA SFLAG SELECTIVE FLAG JMP SL1A,I LOAD DISC LDR53 CLA,INA CLB JSB MGTP,I SPACCE OVER FILE OCT 4 4 JMP EOFA,I JMP TPEA,I©© * * UPDATE ADT * LDA ADLEN READ CURRENT ADT STA WORD,I FROM SYSTEM DISC LDA ADLOC LDB TBUFI JSB DISC,I LDB ADLEN ADB .+2 CMB,INB ADB TBUF ADB BIT15 LDA ADTTT INPUT ADDITIONAL STA WORD,I ADT ENTRIESX LDA DSC1A,I ADA .+2 JSB DISC,I LDA ADLEN ADA ADTTT RESET ADT LENGTH STA ADLEN STA WORD,I, ADA .+2 CMA,INA ADA TBUF APPEND CCB PSEUODO ENTRY STB 0,I TO END INA CLB STB 0,I άά LDA ADLOC OUTPUT LDB TBUF UPDATED ADT JSB DISC,I TO DISC JMP LDR54 MORE DISCS? * * LOAD SYSTEM FROM MAG TAPE * LDR55 CLA STA SYSLF+1 LDA B111 OUTPUT STA WORD,I CORRECT LDA DEQTA EQUIPMENT LDB B100 TABLE JSB DISC,I LDA .-9 INPUT LDB TBUF FIRST JSB MGTP,I RECORD OCT 0 JMP EOFA,I JMP TPEA,I LDA TBUF,I LOAD # OF SEGMENTS STA COUNT LDA TBUF INA STA TEMP0 ISZ COUNT LDR56 LDA TEMP0,I LOAD SEGMENT LENGTH ISZ TEMP0 0P LDB TEMP0,I LOAD CORE ADDRESS JSB MGTP,I READ SEGMENT OCT 0 JMP EOFA,I JMP TPEA,I ISZ TEMP0 ISZ COUNT JMP LDR56 LDA B111 UPDATE STA WORD,I EQUIPMENT LDA DEQTA TABLE LDB B100 ADB CEQTA JSB DISC,I * * LOAD SLOP * LDR58 LDA M256 LDB LIBRA READ SYSTEM JSB MGTP,I LIBRARY OCT 0 PROGRAM JMP LDR57 JMP TPEA,I JSB SYSLB WRITE TO DISC JMP LDR58 LDR57 BLF,BLF EOF?F SSB,RSS JMP EOFA,I NO JSB MGTP,I REWIND OCT 5 JMP LDR70+1 LDR70 JSB SYSLB TRANSFER LAST PAPER TAPE PROGRAM