&oQ((.e 7  7 .&x‹5 |.LEϷPt7e5e v.r^‹+7 VFx7D7<5 n..5D x7"5@Nx7.5@x75@w . E} =`.  7` E =4.0@ |U.V@d $@ @@oQ0] ,@e 7  7 ,&@x‹5 |Z,L@EϷPt7e5e v,r@^‹+7 VFx7D7<5 3,@.5D x7"5@Nx7,@5@x75@w ,@ E} =%, A 7` E =,0A@ |UD,VA@d Tfx` a b 6~,|AHd$ oQ(] W,e 7  7 ,&x‹5 |,LEϷPt7e5e v`,r^‹+7 VFx7D7<5 ,.5D x7"5@Nx7,5@x75@w Z, E} =,  7` E =y,0@ |U,V@d Tfx` a b 6,|Hd&oQ*((o,e xEϷP,$x75 xx7plU@m,Hd Jfx` a b ,,l<d "5ߋcb ڃ[ Tfx` a b 6.|Hd ,5ߋcb .ڃ7 .( * 5@b .ee . - L~ .7 BD`  K.:E7@0n4 &x.`r\04 N. E_8 62.0ߋ00  ,5ߋcb .ڃ7 ,A( * 5@b Z,Aee ,A - L~ ,B7 BD`  ,:BE7@0n4 &x,`Br\04 NS,B E_8 62h,B0ߋ00 BD024684@ ,5ߋcb .ڃ7 &,( * 5@b ,ee U, - L~ ,7 BD`  ,:E7@0n4 &x,`r\04 N, E_8 62,0ߋ00 _024689* 5@b  /02468o;DATE:14-JUN-73 ;DATE:22-MAY-72 ;********** M A G T A P E D U M P ********** .TITLE MAGDMP R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 SWR=177570 RECSIZ = 256. ;# WORD PER RECORD RFSIZE = 10000 ;# SECTORS ON RF-11 DDCSZE = 20000 ;# SECTORS ON DDC DISC ; RF-11 REGISTER ADDRESSES FOR LOAD MODULE READ DCS = 177460 DWC = 177462 DMA = 177464 DAR = ,$   k\M,{O ,       d!8,&  !  @0,L !. 6 / !-- ,r &e #~!!& !), .8E  !B~,  ?0EEEE, !!!\ !Pt,d!DOSLOD V001A # x\M(!02468,!0 %e e;********** M A G T A P E D U M P ********** ; .TITLE MAGCOR R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 SWR=177570 RECSIZ = 256. ;# WORD PER RECORD ; MAG TAPE REGISTER ADDRESSES COM = 167544 ;TAPE COMMAND TWC = 167540 ;TAPE WORD COUNT STAT = 167542 ;TAPE STATUS MAR = 167546 ;TAPE MEMORY ADDRESS0; ORIGIN: 30-SEP-73 DOSLOD.S01 .TITLE DOSLOD LOAD A DOS LINKED LOAD MODULE ; THIS PROGRAM WILL RUN UNDER DOS. IT IDENTIFIES ITSELF AND ; REQUESTS A COMMAND STRING. THE USER TYPES IN A DATASET SPECIFIER ; FOR A LINKED LOAD MODULE FILE ON EITHER THE DF OR DDC DISC. ; DOSLOD PERFORMS A "LOOK" FOR THE FILE AND, IF FOUND TO BE A LINKED ; AND AVAILABLE FILE ON EITHER OF THE TWO DISCS, A POSITION-INDEPENDENT ; SECTION OF THE PROGRAM IS TRANSF; 7-JUN-72 ; 24-MAY-72 ; TEST PROGRAM FOR EXERCIZING THE DISC AND LINE PRINTER TOGETHER R0 = %0 R1 = %1 R2 = %2 R3 = %3 R4 = %4 R5 = %5 SP = %6 PC = %7 SWR = 177570 PS = 177776 DSCCSR = 165300 DSCWC = 165302 DSCMA = 165304 DSCADR = 165306 LPMA = 165010 LPLF = 165012 LPWC = 165014 LPCMD = 165016 LPCSR = oQ**e xEϷP1*$x75 xx7plU@*Hd Jfx` a b ,*l<d "5ߋcb ڃ( 5@b -y START: MOV PC,SP ADD #STACK-.,SP ;USE IMBEDDED STACK SPACE MOV #1,CMD ;INIT COMMAND WORD TO "READ" CLR R0 HALT1: HALT ;WAIT FOR OPTION-SELECTION KEY MOV @#SWR,R0 MOV R0,R2 ;OPTION-SELECT KEY BIC #-30000-1,R2 ;ISOLATE LOGICAL TAPE # BIS R2,CMD ;SET IT INTO COMMAND WORD MOV R0,R2 ;RESET KEY WORD HALT2: HALT  177466 DAE = 177470 COM = 167544 ;TAPE COMMAND TWC = 167540 ;TAPE WORD COUNT STAT = 167542 ;TAPE STATUS MAR = 167546 ;TAPE MEMORY ADDRESS ; OPTION-SELECT BITS: ; IF BIT #: IS SET, IT ENABLES: ; 00 RF-11 DISC ; 01 DDS DISC ; 02 DUMP FROM CORE ; 03  165016 ; CONSOLE SWITCH BITS ON: ; 1 111 110 000 000 000 ; 5 432 109 876 543 210 ; _ ___ ___ ___ ___ _00 : DISC READ ; _ ___ ___ ___ ___ _01 : DISC WRITE ; _ ___ ___ ___ ___ _1_ : ALTERNATE DISC READ & WRITE ; _ ___ ___ ___ __0 0__ : DISC PATTERN = 000000 ; _ ___ ___ ___ __0 1__ : DISC PATTERN = 052525 ; _ ___ ___ ___ __1 1__ : DISC PATTERN = 177777 ; _ ___ ___ ___ __1 0__ : D& :(,7 7 7 xBE  ,$PwPwE  w.H EF XZZF&g, ;NOW WAIT FOR MEMORY-START ADDRESS .PAGE MOV @#SWR,R0 ;LOAD FOR DISPLAY AND STORE MOV R0,MEMLOC BIT #1,R2 ;TAPE READ SELECTED? BEQ HALT3 ;YES: LEAVE COMMAND AT READ INC CMD ;BUMP IT TO WRITE HALT3: HALT ;NOW WAIT FOR MEMORY-END ADDRESS MOV @#SWR,R0 MOV R0,ENDADR HALT ;WAIT FOR WORD COUNT .PAGE TAPEIO: READ FROM TAPE ; 04 WRITE TO DISC ; 06 READ DISC LOAD MODULE ; 07 TRANSFER ENTIRE DISC ; 08 INGORE TAPE ERRORS ; 12-13 TAPE UNIT SELECTED ; 15 WAIT BETWEEN DISC AND TAPE .PAGE ;ROUTINE TO DUMP DISC TO MAG TAPE START: RESET MOV PC,SP ADD #STACK-.,SP ISC PATTERN = 125252 ; _ ___ ___ ___ _1_ ___ : ENABLE STEPPING OF DELAY #1 ; _ ___ ___ ___ 1__ ___ : ENABLE STEPPING OF DELAY #2 ; _ ___ ___ __1 ___ ___ : DISC INTERRUPT ENABLE ; _ ___ ___ _1_ ___ ___ : HALT ON DISC INTERRUPT OR DONE ; _ ___ ___ 1__ ___ ___ : DELAY STEP SIZE INCLUDES [INCR.A] ; _ ___ __1 ___ ___ ___ : DELAY STEP SIZE INCLUDES [INCR.B] ; _ ___ _1_ ___ ___ ___ : DELAY STEP SIZE INCLUDES [INCR.nN  5x* N, 8& h x5 xU,5& 5@x550x 5 x N (Nx, _ 5@x ,&  ߋx 5x!,J ߵyߵy,nߵy  ,5x ;******HERE WHEN READY TO READ/WRITE TAPE****** MOV MEMLOC,R3 ;TAPE MEM ADDR NXTREC: ;RETURN HERE FOR EACH SUCCESSIVE RECORD BIS #40000,@#COM ;RESET TAPE JSR PC,TAPRDY ;WAIT FOR TAPE READY MOV R3,@#MAR ;SET MEMORY ADDRESS REGISTER MOV @#SWR,R4 ;POSSIBLE WORD COUNT BNE NXTR10 ;USE IT IF NOT ZERO MOV #RECSIZ,R4 ;ELSE USE PRE-SET SIZE NXTR10: MOV R ;USE IMBEDDED STACK SPACE CLR R0 CLR MEMLOC ;INIT PARAMETERS FOR DISC TRANSFER MOV #100000-2,ENDADR MOV #DDCSZE/400,REPCNT ;# TIMES TO LOOP FOR DDC DISC CLR SECTOR ;WILL START AT BEGIN MOV #400,NUMSEC ;# SECTORS WHICH FIT INTO 16 K HALT1: HALT ;WAIT FOR OPTION-SELECTION KEY MOV @#SWR,R0 MOV R0,R2 ;OPTION-SELECTION KEY TSTB R2 C] ; _ __0 1__ ___ ___ ___ : FINAL PRINTER CHAR IN ODD PARITY ; _ __1 ___ ___ ___ ___ : INHIBIT ALL PRINTER ADDRESSING ; _ _10 ___ ___ ___ ___ : ENABLE PRINTER INTERRUPT ; _ 1__ ___ ___ ___ ___ : HALT ON DISC ERROR ; 1 ___ ___ ___ ___ ___ : HALT IN PROGRAM WAIT LOOP START: MOV #340,@#PS MOV #START,SP CLR COUNTA CLR COUNTB CLR ERRCNT MOV @#SWR,R0 7 ~z( "(,v 5 x! njfߵy,^PߵyRBߵyF4 0,.(  @  G," @ ,FUUTEST LINE FOR COMBINED DMA P:,jRINTER AND DISC EXERCISERABCDEFGHIJK,LMNOPQRSTUVWXYZ1234567890'(*)=,$.ABC3,DEFGHIJKLMNOPQRSTUVWXYZ1234567890'(*} )=,$.3 4,@#TWC ;SET WORD COUNT ASL R4 ;GET BYTE COUNT ADD R4,R3 ;BUMP MEM ADDR CLR @#STAT JSR PC,TAPRDY MOV CMD,@#COM ;*****READ/WRITE ONE RECORD***** JSR PC,TAPRDY ;WAIT FOR TAPE READY BIT #400,R2 ;ERROR SKIP BIT SET? BNE AGAIN ;BYPASS ERROR CHECK TSTB @#STAT+1 ;ANY ERRORS? BEQ AGAIN ;NO: GO FOR ANOTHER O! ;STICK OPTION? BEQ . ;STICK HERE FOR OPERATOR INTERVENTION MOV #2,CMD ;INIT FOR TAPE WRITE MOV #5,DSCMD ;INIT FOR DISC READ BIT #20,R2 ;WAS DISC WRITE SELECTED? BEQ INIT1 ;NO MOV #3,DSCMD ;CHANGE TO WRITE DEC CMD ;TAPE READ INIT1: BIC #-30000-1,R2 ;ISOLATE LOGICAL TAPE # BIS R2,CMD ;SET IT INTO COMMAND" MOV R0,R1 MOV R1,R2 BIC #-100-1,R0 ;ISOLATE DISC INTERRUPT MOV #3,R5 ;WRITE COMMAND BIS R0,R5 ;[OR] IN THE INTERRUPT BIT MOV R5,RDCMD ;READ COMMAND SAVE MOV #5,R5 ;"WRITE" BIS R0,R5 MOV R5,WRTCMD ;WRITE COMMAND SAVE BIC #-1-1,R1 ;GET READ/WRITE BIT ASL R1 ;MAKE INTO INDEX BNE A03 $NE MOV @#STAT,R0 ;DISPLAY STATUS HALT BR TAPEIO ;GO AGAIN AFTER RESET AT LOAD POINT .PAGE AGAIN: ;SEE IF ANOTHER RECORD IS DESIRED CMP R3,ENDADR ;HAVE WE FINISHED REQUESTED AREA BLOS NXTREC ;NOT YET MOV #-1,R0 ;DISPLAY ALL DONE FINIS: HALT BR TAPEIO ;GO BACK AND DO AGAIN TAPRDY: ;SUBROUTINE TO CHECK FOR TAPE READY % WORD MOV R0,R2 ;RESET KEY WORD CLRB DSWICH ;SET FOR DDC DISC MOV PC,R5 ADD #DSCTAB-.,R5 BIT #2,R2 ;DDC DISC SELECTED? BNE TEST1 ;YES ADD #10.,R5 ;RF-11 DISC INCB DSWICH MOV #RFSIZE/400,REPCNT ;RE-SET FOR RF-11 DISC TEST1: TSTB R2 ;WHOLE DISC? BMI HALT5 ;YES: BYPASS REST OF STUFF CLR & ;SET FOR 2: WRITE TST -(R1) ;MAKE -2 FOR READ A03: MOV R1,INDEX ;SAVE IT MOV DSCBUF,R0 ;PREPARE TO INIT DISC BUFFER MOV DSCWDS,R1 ASR R2 ;SHIFT PATTERN SELECTORS ... BIC #-6-1,R2 ;...TO GIVE INDEX OF 0,2,4, OR 6 MOV PATERN(R2),R2 ;GET ONE OF FOUR PATTERNS MOV R2,(R0)+ ;FILL BUFFER INC R1 BLE .-4 MOV #DSCINT,' :L*7 7 7 xBE*$PwPwE  w,H EF XZ*nN  5x*z* 8& h x5 xB*5& 5@x55.x 5 x N* _ 5@x p*&  ߋx 5x!p*J  MOV #20.,-(SP) ;MUST WAIT BEFORE CHECKING STATUS DEC (SP) BNE .-2 BIT #100,@#STAT ;STILL BUSY? BNE .-6 ;YES TST (SP)+ RTS PC .PAGE CMD: 0 ENDADR: 0 MEMLOC: 0 .=.+10 STACK =. .END START ) REPCNT ;ONLY ONE TIME THRU MOVB #1,CMD ;RESET TOTAPE READ HALT2: HALT ;NOW WAIT FOR MEMORY-START ADDRESS .PAGE MOV @#SWR,R0 ;LOAD FOR DISPLAY AND STORE MOV R0,MEMLOC MOV R0,ENDADR ;INIT IN CASE DUMP FROM DISC BIT #10,R2 ;TAPE READ SELECTED? BNE HALT3 ;YES: LEAVE COMMAND AT READ INC CMD ;BUMP IT TO WRITE BIT *@#530 MOV #300,@#532 MOV #LPINT,@#200 MOV #200,@#202 MOV #LPBUF,R2 A04: MOVB (R2),R4 JSR PC,PARITY MOVB R4,(R2)+ CMP R2,#LPBUF+132. BLO A04 .PAGE BIT #4000,@#SWR BEQ A05 MOVB #'*,-(R2) A05: MOV #400,@#DSCCSR MOV @#PS,-(SP) JSR PC,LPINT A10: CLR -(SP) JSR PC,DSCINT TST @#+ߵyߵy*nߵy *5x7 ~z(*v 5 x! njfߵy*^PߵyRBߵyF4 0*.(  @  4*" @ *FUUTEST LINE FOR COMBINED DMA P'*jRINTER AND DISC EXERCISERABCDEFGHIJK{*LMNOPQRSTUVWXYZ1234567890'(*)=,$.ABC *DEFGHIJKLMNOPQRS/@@@oQ7*@e 7  7  *$@x‹5v *H@pEϷPh7e5e v*l@R‹+7 J:x78705+*@ "5D x75@N*@x7 5@x75@w 1*@ E} *@ = 7`* A E =@*DA - #104,R2 ;COR OR LOAD MODULE? BEQ HALT4 ;NO: GET MORE DISC PARAMETERS HALT3: HALT ;NOW WAIT FOR MEMORY-END ADDRESS MOV @#SWR,R0 MOV R0,ENDADR BIT #100,R2 ;LOAD MODULE? BNE HALT4 ;YES HALT ;NOW SET SWITCHES FOR WORD COUNT BR TAPEIO ;NO: GO DO TAPE READ HALT4: HALT ;WAIT FOR START SECTOR NUMBER MOV @#SWR,R0 .SWR BPL A20 HALT BR A05 A20: BIT #20000,@#SWR BNE A30 BIT #100010,@#LPCSR ;DONE OR ERROR? BEQ A30 CLR -(SP) JSR PC,LPINT A30: BIT #100,@#SWR BNE A20 BIT #100200,@#DSCCSR ;DISC READY OR ERROR? BNE A10 BR A20 .PAGE LPINT: BIT #10000,@#SWR BNE LPRTI MOV #40,@#LPCMD ;RTUVWXYZ1234567890'(*j )=,$. ,! W 05G,!- L~ 3,"7 BD`  E8,D"7@vjt &hb,j"XTT >,"  E6t?,", "# 1 ;LOAD FOR DISPLAY AND STORE MOV R0,SECTOR BIT #100,R2 ;LOAD MODULE READ? BNE HALT5 ;YES:BYPASS SECTOR COUNT HALT ;WAIT FOR # OF CONSECUTIVE SECTORS MOV @#SWR,R0 ;LOAD FOR DISPLAY AND STORE MOV R0,NUMSEC HALT5: HALT ;NOW SET SWITCHES FOR WORD COUNT MOV R2,-(SP) ;SAVE KEY WORD BIT #100,R2 ;LOAD MODULE WRITE? BNE LODMOD 2ESET MOV #4000,R1 BIT #20000,@#SWR BEQ LP100 MOV #144000,R1 LP100: MOV #1,@#LPLF MOV #LPBUF,@#LPMA MOV #-66.,@#LPWC MOV R1,@#LPCMD LPRTI: RTI .PAGE DSCINT: MOV @#DSCCSR,R0 BPL DSCA10 BIT #40000,@#SWR BEQ DSCA05 HALT DSCA05: MOV #400,@#DSCCSR INC ERRCNT DSCA10: INC COUNTA BNE DSCA20 IN3pU@d TfxN*hA` a b 6<d ,5ߋ*Acb "ڃ7  >*A 5@b ee*A  -*A L~ 7 }*BBD` E 7*@B@h4 rlVJ*dB4 N E_8Y*B 620ߋ0$B84ERRED DOWN TO PHYSICAL ZERO. ; THIS ROUTINE FIRST ZEROES CORE FROM LOCATION 2000 TO THE END OF MEMORY, ; AND THEN PROCEEDS TO READ THE SPECIFIED LINKED FILE FROM THE ; SPECIFIED DISC. IF THE LINKED FILE IS NOT A LOAD MODULE, A LOAD ; ERROR WILL PROBABLY OCCUR QUICKLY, DUE TO THE DISCOVERY OF AN ODD ; LOAD ADDRESS. NOTE THAT NO SPECIFIC CHECK IS MADE ON THE COMD. ; WHEN THE TRANSFER BLOCK IS ENCOUNTERED WITH AN EVEN ADDRESS, ; MACHINE CONTROL IS TRANSFE5 TST (SP)+ ;POP SAVED KEY .PAGE REPEAT: MOV MEMLOC,@4(R5) ;SET UP CURRENT MEMORY ADDRESS MOV SECTOR,R0 ;PREPARE TO SET UP DISC ADDRESSING DSWICH: BR .+2 ;USE DDC DISC BR SETDAR ;SKIP SET-UP FOR DEC DISC MOV R0,R1 ;MUST FIRST GET ADDRESS EXTENSION BITS SWAB R1 ASR R1 ASR R1 BIC #-3-1,R1 ;ISOLATE ONLY EXTENSION BITS MOV 6C COUNTB DSCA20: TSTB @#SWR BPL DSCA30 HALT DSCA30: MOV DELAY1,R5 DEC R5 BNE .-2 BIT #20,@#SWR BEQ DSCA50 DEC LOOP1 BGT DSCA50 MOV HLDCNT,LOOP1 BITB #1,@#SWR+1 BEQ DSCA40 SUB INCR.A,DELAY1 DSCA40: BITB #2,@#SWR+1 BEQ DSCA42 SUB INCR.B,DELAY1 DSCA42: BITB #4,@#SWR+1 BEQ DSCA44 C02468c@GRRED THERE. A BUS RESET IS ISSUED JUST ; PRIOR TO THE RELOCATION OF THE POSITION-INDEPENDENT SECTION. R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 PGMSP = 2000 ;RELOCATABLE PROGRAM'S STACK HAS TOP HERE START: MOV #KBOLNK,-(SP) EMT 6 ; .INIT MOV #KBILNK,-(SP) EMT 6 ; .INIT MOV #KBOFIL,-(SP) MOV #KBOLNK,-(SP) EMT 16 ; ER1,@10(R5) ;PUT THEM OUT ASL R0 ;NOW SET UP WORD ADDRESS ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 SETDAR: MOV R0,@6(R5) ;DISC ADDRESS SETCNT: MOV NUMSEC,R0 ;GET WORD COUNT FROM SECTOR COUNT ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 ;GET BYTE COUNT ADD R0,ENDADR ;GF SUB INCR.C,DELAY1 DSCA44: TST DELAY1 BGT DSCA50 MOV MXDLY1,DELAY1 DSCA50: MOV DSCBUF,@#DSCMA MOV DSCWDS,@#DSCWC MOV TRACK,@#DSCADR BIT #2,@#SWR ;IS "ALTERNATE" BIT SET? BEQ DSCA52 ;NO - KEEP INDEX FROZEN NEG INDEX ;ALTERNATE BETWEEN +2 AND -2 DSCA52: MOV INDEX,R0 MOV ALTCMD(R0),@#DSCCSR ;READ OR WRITE!!! MOV DELAY2,R5 H;********** M A G T A P E D U M P ********** ; .TITLE MAGFLP R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 SWR=177570 RECSIZ = 256. ;# WORD PER RECORD ; MAG TAPE REGISTER ADDRESSES COM = 167544 ;TAPE COMMAND TWC = 167540 ;TAPE WORD COUNT STAT = 167542 ;TAPE STATUS MAR = 167546 ;TAPE MEMORY ADDRESS"D@DDDDD@D A@D""""""""" """""""ADDB B CoQ^]  oQ] oQ.] oQ*^AoQ*4dA $oQ*KA{4doNk\MK U ,k\MkQ  k\M^ sdlD{IH{^o KY{Ko#+oQ0١K (3oQp'4d 7 foQp'^ RRoQp'K VVmdmnmoQ4d Z oQkQ q $D"""""a ͋,L  B8w&B ` % & }&*C$$Βe E%>k  aʋaՀ$ & * P$ ΋Ί   ΋   d Ί  ( 1'u  Q$f $5@ U C΋ Cb M΋U@ U &  B" .&0 M &0 & M 0 &IET ADDR OF FIRST BYTE BEYOND BUF END SUB #2,ENDADR ;ADDR OF FINAL WORD TO WRITE ASR R0 ;BACK TO WORD COUNT BIC #100000,R0 ;CLEAR EXTENDED SIGN, IF ANY NEG R0 MOV R0,@2(R5) ;WORD COUNT MOV DSCMD,@(R5) ;*****READ/WRITE***** TSTB @(R5) ;READY? BPL .-4 ;NOT YET MOV @10(R5),R0 ;STATUS REG: ANY ERRORS? BPL CONTINUE J DEC R5 BNE .-2 BIT #40,@#SWR BEQ DSCB50 DEC LOOP2 BGT DSCB50 MOV HLDCNT,LOOP2 BITB #1,@#SWR+1 BEQ DSCB40 SUB INCR.A,DELAY2 DSCB40: BITB #2,@#SWR+1 BEQ DSCB42 SUB INCR.B,DELAY2 DSCB42: BITB #4,@#SWR+1 BEQ DSCB44 SUB INCR.C,DELAY2 DSCB44: TST DELAY2 BGT DSCB50 MOV MXDLY2,DELAY2 DSCB50: K.OPEN (O) MOV #KBIFIL,-(SP) MOV #KBILNK,-(SP) EMT 16 ; .OPEN (I) MOV #KBOBUF,-(SP) MOV #KBOLNK,-(SP) EMT 2 ; .WRITE [#] MOV #KBOLNK,-(SP) EMT 1 ; .WAIT MOV #KBIBUF,-(SP) MOV #KBILNK,-(SP) EMT 4 ; .READ -- COMMAND STRING MOV #KBILNK,-(SP) EMT 1 L START: MOV PC,SP ADD #STACK-.,SP ;USE IMBEDDED STACK SPACE MOV #1,CMD ;INIT COMMAND WORD TO "READ" CLR R0 HALT1: HALT ;WAIT FOR OPTION-SELECTION KEY MOV @#SWR,R0 MOV R0,R2 ;OPTION-SELECT KEY BIC #-30000-1,R2 ;ISOLATE LOGICAL TAPE # BIS R2,CMD ;SET IT INTO COMMAND WORD MOV R0,R2 ;RESET KEY WORD HALT2: HALT M ;NO: GO ON HALT BR REPEAT ;NOW TRY AGAIN .PAGE CONTINUE: TST R2 ;KEY CALL FOR STOP BEFORE WRITE? BPL TAPEIO ;NO: GO ON MOV #-1,R0 ;DISPLAY GOOD DISC READ HALT ;WAIT FOR POSSIBLE PATCHES TAPEIO: ;******HERE WHEN READY TO READ/WRITE TAPE****** MOV MEMLOC,R3 ;TAPE MEM ADDR NXTREC: ;RETURN HERE FOR EACH SUCCESSIVE RECORD BIS N RTI .PAGE PARITY: CLR R0 MOV #7,R1 MOV R4,R5 PAR100: ASR R5 ADC R0 DEC R1 BNE PAR100 ASL R4 ASR R0 RORB R4 RTS PC COUNTA: 0 COUNTB: 0 ERRCNT: 0 RDCMD: 0 INDEX: ALTCMD: 0 WRTCMD: 0 DELAY1: 1 DELAY2: 1 MXDLY1: 2000 MXDLY2: 2000 LOOP1: 0 LOOP2: 0 HLDCNT: 0 INCR.A: 10 INCR.B: 40 INCR.C: 100 DSCWDS: -400 TRACK: 1000 DSCBUF: 2000O ; .WAIT ; IN CASE COMMAND DATASET HAS BEEN ASSIGNED TO A FILE-STRUCTURED ; DEVICE, TEST FOR END-OF-FILE AFTER COMMAND STRING INPUT: BITB #100,KBISTA ;END-OF-FILE? BEQ .+4 ;NO - CONTINUE EMT 60 ;YES- EXIT MOV #KBICSI,-(SP) EMT 56 ;CALL CSI1 TST (SP)+ ;POP ERROR CODE BNE ERR MOV #KBCSCB,-(SP) EMT 57 ;CALL CSI2: P ;NOW WAIT FOR MEMORY-START ADDRESS .PAGE MOV @#SWR,R0 ;LOAD FOR DISPLAY AND STORE MOV R0,MEMLOC BIT #1,R2 ;TAPE READ SELECTED? BEQ HALT3 ;YES: LEAVE COMMAND AT READ INC CMD ;BUMP IT TO WRITE HALT3: HALT ;NOW WAIT FOR MEMORY-END ADDRESS MOV @#SWR,R0 MOV R0,ENDADR HALT ;WAIT FOR WORD COUNT .PAGE TAPEIO:Q #40000,@#COM ;RESET TAPE JSR PC,TAPRDY ;WAIT FOR TAPE READY MOV R3,@#MAR ;SET MEMORY ADDRESS REGISTER MOV @#SWR,R4 ;POSSIBLE WORD COUNT BNE NXTR10 ;USE IT IF NOT ZERO MOV #RECSIZ,R4 ;ELSE USE PRE-SET SIZE NXTR10: MOV R4,@#TWC ;SET WORD COUNT ASL R4 ;GET BYTE COUNT ADD R4,R3 ;BUMP MEM ADDR CLR @#STAT JSR PC,TAPRDY 0 PATERN: 000000 052525 125252 177777 LPBUF: .ASCII "TEST LINE FOR COMBINED DMA PRINTER AND DISC EXERCISER" .ASCII "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'(*)=,$." .ASCII "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'(*)=,$." LPBFND = .-1 .END SGET INPUT FILE SPEC INTO LINK&FILE BKS TST (SP)+ ;POP ERROR WORD MOV #177400,R2 ;SOMETHING TO DISPLAY IN CASE OF ERROR MOV #DSCTAB,R0 ;INIT POINTER TO DDC DISC ADDRESSES CMP INPDEV,DCNAM ;SEE IF WAS "DC"... BEQ 2$ CMP INPDEV,DFNAM ;...OR "DF" BNE ERR ;IT'S GOT TO BE ONE OF THOSE TWO INCB SWICH1 ;TAKE "DF" PATH ADD #12,R0 2$: MOV #5T ;******HERE WHEN READY TO READ/WRITE TAPE****** MOV MEMLOC,R3 ;TAPE MEM ADDR NXTREC: ;RETURN HERE FOR EACH SUCCESSIVE RECORD BIS #40000,@#COM ;RESET TAPE JSR PC,TAPRDY ;WAIT FOR TAPE READY MOV R3,@#MAR ;SET MEMORY ADDRESS REGISTER MOV @#SWR,R4 ;POSSIBLE WORD COUNT BNE NXTR10 ;USE IT IF NOT ZERO MOV #RECSIZ,R4 ;ELSE USE PRE-SET SIZE NXTR10: MOV RU MOV CMD,@#COM ;*****READ/WRITE ONE RECORD***** JSR PC,TAPRDY ;WAIT FOR TAPE READY BIT #400,R2 ;ERROR SKIP BIT SET? BNE AGAIN ;BYPASS ERROR CHECK TSTB @#STAT+1 ;ANY ERRORS? BEQ AGAIN ;NO: GO FOR ANOTHER ONE MOV @#STAT,R0 ;DISPLAY STATUS HALT BR TAPEIO ;GO AGAIN AFTER RESET AT LOAD POINT .PAGE AGAIN: ;SEE IF &oQp'((.e xEϷPx.&75 x7U@d .Lnfx` a b P`dt.r F5ߋcb Dڃ@ .ÌČp7   5@b 'W,R2 MOV #DCS,R1 4$: MOV (R0)+,(R1)+ ;SET UP DISC ADDRESSES SOB R2,4$ MOV #LNKINP,-(SP) EMT 6 ;INIT FOR 'LOOK' DATASET MOV #FILINP,-(SP) CLR -(SP) MOV #LNKINP,-(SP) EMT 14 ; .LOOK FOR REQUESTED LOAD FILE MOV (SP)+,SECTOR ;START SECTOR ON DISC MOV (SP)+,BLOCKS ;FILE SIZE MOV (SP)+,R2 ;FLAGS BIC X4,@#TWC ;SET WORD COUNT ASL R4 ;GET BYTE COUNT ADD R4,R3 ;BUMP MEM ADDR CLR @#STAT JSR PC,TAPRDY MOV CMD,@#COM ;*****READ/WRITE ONE RECORD***** JSR PC,TAPRDY ;WAIT FOR TAPE READY BIT #400,R2 ;ERROR SKIP BIT SET? BNE AGAIN ;BYPASS ERROR CHECK TSTB @#STAT+1 ;ANY ERRORS? BEQ AGAIN ;NO: GO FOR ANOTHER OYANOTHER RECORD IS DESIRED CMP R3,ENDADR ;HAVE WE FINISHED REQUESTED AREA BLOS NXTREC ;NOT YET CLR ENDADR DEC REPCNT ;DO IT AGAIN? BGT SETCNT ;AM TRANSFERRING ENTIRE DISC MOV #-1,R0 ;DISPLAY ALL DONE FINIS: HALT BR TAPEIO ;GO BACK AND DO AGAIN TAPRDY: ;SUBROUTINE TO CHECK FOR TAPE READY MOV #20.,-(SP) ;MUST WAIT BEFoQp'&,e xEϷPxL,&75 x7U@d ,Lnfx` a b P`d,r F5ߋcb Dڃ@,ÌČp7 } 5@b y[ #-360-1,R2 ;LEAVE BITS 4 THRU 7 CMP R2,#200 ;WAS IT THERE, AVAILABLE, ETC? BNE ERR ;WHOOPS! CLR R0 ;PREPARE MOV #PGMSIZ/2,R1 ; TO MEET MOV #XSTART,R2 ; THY RESET ; DOOM! 6$: MOV (R2)+,(R0)+ ;XFER REST DOWN TO THE BOTTOM SOB R1,6$ CLR PC ;GO DO IT, KID! ERR: MOV R2,-(SP) ;DISPLAY SOMETHING \NE MOV @#STAT,R0 ;DISPLAY STATUS HALT BR TAPEIO ;GO AGAIN AFTER RESET AT LOAD POINT .PAGE AGAIN: ;SEE IF ANOTHER RECORD IS DESIRED CMP R3,ENDADR ;HAVE WE FINISHED REQUESTED AREA BLOS NXTREC ;NOT YET ; ; FLIP ALL DATA BYTE FOR BYTE ; MOV MEMLOC,R0 ;GET MEMORY START ADDRESS FLIP00: MOVB (R0)+,R3 ;GET A CHAR MOV #1,R4 ;SET MA]ORE CHECKING STATUS DEC (SP) BNE .-2 BIT #100,@#STAT ;STILL BUSY? BNE .-6 ;YES TST (SP)+ RTS PC .PAGE LODMOD: ;HERE WHEN READING IN LINKED LOAD MODULES MOV PC,-(SP) ADD #BUF1-.,(SP) MOV (SP),BF1BGN ADD #200,(SP) MOV (SP),BLKPTR ;FORCE READ ON FIRST CALL MOV (SP)+,BF2BGN LODM10: JSR PC,NEXTBK ;G^;DATE:12-NOV-72 ;DATE:22-MAY-72 ;********** D D C ( B L U E ) D I S C T O M A G T A P E ****** .TITLE DSKMAG R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 SWR=177570 RECSIZ = 256. ;# WORD PER RECORD RFSIZE = 10000 ;# SECTORS ON RF-11 DDCSZE = 20000 ;# SECTORS ON DDC DISC ; RF-11 REGISTER ADDRESSES FOR LOAD MODULE READ DCS = 177460 DWC = 177462 DMA = 177464_ MOV #1477,-(SP) ; F077 SEEMED LIKE A GOOD ONE IOT EMT 60 ;EXIT .PAGE ;COMMAND INPUT LINK BLOCK 0 KBILNK: 0 .RAD50 /KBI/ 1 .RAD50 /KB/ ;COMMAND OUTPUT LINK BLOCK 0 KBOLNK: 0 .RAD50 /KBO/ 1 .RAD50 /KB/ ;COMMAND INPUT FILENAME BLOCK 0,4 ;OPEN FOR INPUT KBIFIL: ,,,, ;COMMAND OUTPUT FILENAME BLOCK `SK TO BIT 0 FLIP10: ASLB R3 ;SHIFT LSB TO C BCS FLIP20 ;WAS LSB SET BICB R4,R5 ;CLEAR BIT IN RESULT FLIP15: ASLB R4 ;SHIFT MASK TO MSB BEQ FLIP25 ;ALL BITS FLIPPED? BR FLIP10 ;NO FLIP20: BISB R4,R5 ;SET APPROPRIATE BIT BR FLIP15 FLIP25: MOVB R5,-1(R0) ;REPLACE BYTE WITH ITS FLIP CMP R0,ENDADR ;ALL BYTES FLIPPED? BLOS FLIP00 aO GET NEXT BLOCK MOV (R0)+,R1 ;BLOCK LOAD ADDRESS SUB #2,R4 ;COUNT OFF FOR LOAD ADDRESS WORD BNE LODM20 ;WAS NOT THE TRANSFER BLOCK MOV (SP)+,R2 ;RESTORE SAVED KEY WORD BR CONTINUE ;NOW GO WRITE TO TAPE LODM20: MOVB (R0)+,(R1)+ ;TRANSFER DATA TO DESIRED LOCATIONS DEC R4 ;BYTE COUNT BGT LODM20 ;MORE BR LODM10 ;GET Nb DAR = 177466 DAE = 177470 COM = 167544 ;TAPE COMMAND TWC = 167540 ;TAPE WORD COUNT STAT = 167542 ;TAPE STATUS MAR = 167546 ;TAPE MEMORY ADDRESS ; CONSOLE SWITCH OPTIONS: ; BIT #: RESET/SET ; 00 TO TAPE/FROM TAPE ; 01 DDC DISK/RF-11 DISK .PAGE REPEAT: MOV MEMLOC,@4(R5) ;SET UP CURRENT MEMOc 0,2 ;OPEN FOR OUTPUT KBOFIL: ,,,, ; CSI COMMAND BLOCK KBCSCB: KBICSI LNKINP ;WANT SPEC FOR INPUT FILE TO BE DUMPED FILINP ;SAME ; COMMAND INPUT CSI HEADER KBICSI: 2 ;USE "OUTPUT" FIELD ONLY (ACTUALLY FOR INPUT SPEC) ,,,,, ;RESERVE SIX MORE FOR CSI KBIBUF: 80. ;THE COMMAND STRING BUFFER .BYTE 0 ;MODE KBISTA: .BYTE 0 ;STATUS 0 ;ACTUAL BYTE COUNT f MOV #-1,R0 ;DISPLAY ALL DONE FINIS: HALT BR TAPEIO ;GO BACK AND DO AGAIN TAPRDY: ;SUBROUTINE TO CHECK FOR TAPE READY MOV #20.,-(SP) ;MUST WAIT BEFORE CHECKING STATUS DEC (SP) BNE .-2 BIT #100,@#STAT ;STILL BUSY? BNE .-6 ;YES TST (SP)+ RTS PC .PAGE CMD: 0 ENDADR: 0 MEMLOC: 0 .=.+10 STACK =. eEXT BLOCK NEXTBK: ;SUBROUTINE TO READ ONE LINKED BLOCK AT A TIME CMP BLKPTR,BF2BGN ;IS A DISC READ REQUIRED? BLO NEXT20 ;NO: STILL IN UPPER HALF NEXT10: JSR PC,DISCRD ;YES - GO READ IN TWO SECTORS SUB #176,BLKPTR ;REPOSITION BLOCK POINTER IN UPPER HALF NEXT20: MOV BLKPTR,R0 MOV BF2BGN,R1 ;LIMIT SUB R0,R1 ;# BYTES LEFT IN UPPER HALF ASR R1 ;# WORDS LEFT jRY ADDRESS MOV SECTOR,R0 ;PREPARE TO SET UP DISC ADDRESSING DSWICH: BR .+2 ;USE DDC DISC BR SETDAR ;SKIP SET-UP FOR DEC DISC MOV R0,R1 ;MUST FIRST GET ADDRESS EXTENSION BITS SWAB R1 ASR R1 ASR R1 BIC #-3-1,R1 ;ISOLATE ONLY EXTENSION BITS MOV R1,@10(R5) ;PUT THEM OUT ASL R0 ;NOW SET UP WORD ADDRESS ASL R0 gKBIDAT: .=.+80. ;CHARACTERS START HERE .PAGE ;COMMAND OUTPUT LINE BUFFER KBOBUF: MSGLTH ;MAX BYTES 0 ;MODE AND STATUS MSGLTH ;ACTUAL BYTES .ASCII "DOSLOD V001A" .BYTE 15,12,43,13 MSGLTH = .-KBOBUF-6 ;# BYTES IN MESSAGE .EVEN DCNAM: .RAD50 /DC/ DFNAM: .RAD50 /DF/ 0 LNKINP: 0 ;INPUT LINK BLOCK .RAD50 /LOD/ 1 INPDEV: 0 ;ROOM FOR PHYSh.k\M(kew(0(.d3"  &d.&@0 =.L. 6/ -- <&.r&e $~& "kew kew$"(.  .E  B~kew  kew. "kew. ?0EEEEiNEXT30: DEC R1 ;COUNT DOWN WORDS BGE NEXT40 MOV R0,BLKPTR ;END OF UPPER HALF: NOTE WHERE WE ARE BR NEXT10 ;...AND SHIFT THIS BLOCK TO UPPER HALF NEXT40: DEC (R0)+ ;LOOK FOR A "1" FOR BLOCK START BNE NEXT30 ;KEEP LOOKING MOV (R0)+,R1 ;BYTE COUNT NEXT50: MOV R0,R5 ;SAVE DATA POINTER MOV R1,R2 ;INIT CHECKSUM SUB #4,R1 .END START kICAL DEVICE NAME FROM COMMAND STRING 0,0 FILINP: 0,0,0 ;SPACE FOR INPUT FILENAME 0,0,0 ;UIC AND PROTECT DSCTAB: ;DISC ADDRESSES TABLE ; FOR DDC DISC: .WORD 165300 ;DISC CONTROL STATUS AND COMMAND REG .WORD 165302 ;DISC WORD COUNT .WORD 165304 ;DISC MEMORY ADDRESS REG .WORD 165306 ;DISC ADDRESS REG .WORD 165310 ;DISC ERROR REGISTER ; FOR RF-11 DISC: l. P d.dDOSLOD V001A # x\M*02468kew.0 %e e.& W 05G.L- L~ .r7 BD`  E.7@vjt &hbx.XTT >O. m ;REDUCE BC DUE TO "1" AND BC WORDS MOV R1,R4 ;SAVE DATA BYTE COUNT NEXT60: MOVB (R0)+,R3 ;EXTRACT NEXT BYTE ADD R3,R2 ;ACCUM CHECKSUM DEC R1 ;MORE? BGE NEXT60 INCB R2 ;INCLUDE THE INITIAL "1" IN CHECKSUM BNE ERROR INC R0 ;IF C/S WAS LOW BYTE, POINT TO NEXT WORD BIC #1,R0 ;IN ANY CASE, BEGIN ON A WORD BOUNDARY MOV R0,BLKPTR ;REMEMBER NEW POINTER ASL R0 ASL R0 ASL R0 ASL R0 SETDAR: MOV R0,@6(R5) ;DISC ADDRESS SETCNT: MOV NUMSEC,R0 ;GET WORD COUNT FROM SECTOR COUNT ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 ;GET BYTE COUNT ADD R0,ENDADR ;GET ADDR OF FIRST BYTE BEYOND BUF END SUB #2,ENDADR ;ADDR OF FINAL WORD TO WRITE ASR o .WORD 177460 ;DISC CONTROL STATUS AND COMMAND REG .WORD 177462 ;DISC WORD COUNT .WORD 177464 ;DISC MEMORY ADDRESS REG .WORD 177466 ;DISC +DDRESS REG .WORD 177470 ;DISC ADDRESS EXTENSION REG .PAGE .CSECT PICSEC ;THIS IS THE P-I-C RELOCATABLE SECTION XSTART: BR 4$ ;EXECUTED AT ABSOLUTE ZERO .WORD 0,10$-XSTART,0 ;INIT NXM TRAP VECTOR 4$: MOV E6t?,""  $$q POSITON MOV R5,R0 ;RESET DATA POINTER RTS PC ;RTN WITH: R0=DATA PTR; R4=DATA BYTE CNT ERROR: MOV R2,R0 ;DISPLAY WRONG CHECKSUM HALT BR .-2 DISCRD: ;SUBROUTINE TO READ TWO DISC SECTORS IN A LINKED FILE MOV #400,@#DCS ;POWER CLEAR MOV BF1BGN,@#DMA ;INIT DISC MEM REG JSR PC,RD1BLK ;READ INTO FIRST BLOCK MOV BUF1,SECTOR ;FIND LINK TO NEXT SECTOR }& :((,@ x p h@ `D ,$7   P5@b,H x)  r~ W #,ln x s#PGMSP,SP MOV #PGMSIZ,R0 6$: CLR (R0)+ ;CLEAR CORE ALL THE WAY... BR 6$ 10$: CMP (SP)+,(SP)+ ;...UNTIL THE TRAP OCCURS LODMOD: ;HERE WHEN READING IN LINKED LOAD MODULES MOV PC,-(SP) ADD #BUF1-.,(SP) MOV (SP),BF1BGN ADD #200,(SP) MOV (SP),BLKPTR ;FORCE READ ON FIRST CALL MOV (SP)+,BF2BGN LODM10: JSR PC,NEXTBK ;GO GET NEXT BLOCK MOV tzzH:~z @@FzLJ 8OB< OxZ`62*~U:w8R4w2yNJvr  @7   c1/c Zb7 7`@| Z%`(~j`7X| Z%\awXc b%FF      DwPM7 Br>r ܆~ m nB  b u MOV BUF2-2,-(SP) ;SAVE LAST WORD OF BUF 1 MOV BF2BGN,-(SP) SUB #2,(SP) MOV #400,@#DCS ;POWER CLEAR MOV (SP)+,@#DMA ;SET TO WRITE LINK WORD INTO PREV BUFFER JSR PC,RD1BLK ;READ SECOND BLOCK MOV (SP)+,BUF2-2 ;RESTORE WORD WIPED OUT BY LINK WORD RTS PC RD1BLK: ;SUBROUTINE TO READ ONE SECTOR AT "SECTOR" MOV SECTOR,R0 ;INITED DURING OPERATOR DIALOGUE MOV R0,R1 v ;REWIND! JSR PC,GO MOV #20,R5 ;SPACE FORWARD TO END-OF-FILE JSR PC,GO MOV #40000,R5 ;RESET JSR PC,GO CLR RECCNT A0010: INC RECCNT ;COUNTS # OF RECORDS INCLUDING B-O-T GAP MOV #200,R5 ;BACK-SPACE RECORD JSR PC,GO BIT #40000,@#MGSTAT ; DID WE BACK INTO B-O-T? BEQ A0010 ;NOT YET MOV #1,RPTFLG ;ALLOW 2 LOOw (R0)+,R1 ;BLOCK LOAD ADDRESS CMP R1,#PGMSIZ ;BE SURE LOAD/XFR ADDR IS ABOVE HERE BHI 2$ HALT 2$: SUB #2,R4 ;COUNT OFF FOR LOAD ADDRESS WORD BNE 4$ ;IS NOT THE TRANSFER BLOCK YET BIT #1,R1 ;IS XFER ADDR ODD? BEQ .+4 ;NO: OKAY TO GO HALT MOV R1,PC ;GO TO XFER ADDRESS 4$: MOVB (R0)+,(R1)+ ;TRANSFER DATA TO DESIRED LOCATIx2/cr c ZFTF rbe7 wp: @r " b  G~Z+ 6w0@ r  2 c 6 H d ` w&6     w  ~+@2 r, 2l x T   " *" %;*"@Z{[lP}M]\Nk`Kaz^L~no| # A0700 A0600: SUB #EBCDIC+1,R4 ;WAS IT IN REGULAR PART OF TABLE? BGE A0650 ;YES ADD #5+11-40,R4 ;WAS ONE OF SPECIALS @ BEGIN OF TABLE A0650: ADD #40,R4 ;CREATE ASCII CHAR FROM TABLE INDEX A0700: MOVB R4,(R1)+ ;REPLACE EBCDIC WITH NON-PARITY ASCII DEC R0 ;MORE CHARS IN BUF? BGT A0300 ;NEXT CHAR RTS PC .PAGE ; DONE WITH CONVERSION OF ALL OF BUFRROR-FILE TYPE XXX #COMPRS-DIRECTORY UPDATE DISC ERROR ,,~, 5 E  A6  Ny7 ނd 4D w.w:7OL1F1B7 ҅ w w| wx~T-y1 1 H7 @7 B7+ N%  :+x`E e  j~-ww $  肷 .l@lwF\.+0 R B  6 6@~J, |ʵ  , -  C!)@A(C ׭ ) F f d 6 6̕`  n9~,     E   d z V    V  @ACE~:-BE ,׭ )     M . s7-  [7 ~db r?!~-5 ?|.6ͭ r. e R0 ;BACK TO WORD COUNT BIC #100000,R0 ;CLEAR EXTENDED SIGN, IF ANY NEG R0 MOV R0,@2(R5) ;WORD COUNT MOV DSCMD,@(R5) ;*****READ/WRITE***** TSTB @(R5) ;READY? BPL .-4 ;NOT YET MOV @10(R5),R0 ;STATUS REG: ANY ERRORS? BPL CONTINUE ;NO: GO ON HALT BR REPEAT ;NOW TRY AGAIN .PAGE CONTINUE: FER: NOW PRINT IT PRINT: MOV #100,@#LPCMD ;RESET MOV CURBUF,R0 ;PLACE IN PRINTER BUFFER BNE B0300 ;INPUT BUFFER RAN OUT IN MIDDLE OF LINE B0100: MOV #PRTBUF,R0 B0200: MOV #12.,TABPTR B0300: DEC R5 ;INPUT CHAR COUNT BGE B0320 ;MORE TO GET CMP R0,#PRTBUF ;BUFFER END WITHOUT LINE TERMINATOR? BNE C0100 ;YES: BE NICE AND PRINT ANYWAY RTS PC ~D. N  = zw h2 r. wVwdw ,_.7 7+ M |J}wv+ ~.M d> n-jK0FCDAB7 + HM " < % .Y X ~4/ MBww0w< p^F LLŕgi^@ @LyD D 4 Bw2,, `еTyTy `~/kK Ny 7 B 4 NyUy7 $ PM7 w, BRw>R 137? BGE B0300 ;YES: IGNORE CLR -(SP) ;GET EVEN PARITY FOR R2 MOV #7,R4 MOV R2,R3 B0450: ASR R3 ADC (SP) DEC R4 BGT B0450 ASL R2 ASR (SP)+ RORB R2 ;SHIFT IN PARITY BIT MOVB R2,(R0)+ ;STICK IT INTO PRINT BUFFER DEC TABPTR ~2 2ȋ _S@~|2~233R *** MOUNT DECTAPES 0,1,2,3 SET SWITCHES=-1 TO RESTORE DISK HIT WHEN READY: R~l3 DISK ERROR - ABORTED DECTAPE ~r102wF *$ w<  rl7 h6 n;  & - ßå U d6ʐ ~1ï ï  $ w B6exd6 wbO 1V4 ( ~b2 &  x  ~ MG%    k~2  P? ~8 bwGßrנ0נ9å$ å.PE READY BIT #400,R2 ;ERROR SKIP BIT SET? BNE AGAIN ;BYPASS ERROR CHECK TSTB @#STAT+1 ;ANY ERRORS? BEQ AGAIN ;NO: GO FOR ANOTHER ONE MOV @#STAT,R0 ;DISPLAY STATUS HALT BR TAPEIO ;GO AGAIN AFTER RESET AT LOAD POINT .PAGE AGAIN: ;SEE IF ANOTHER RECORD IS DESIRED CMP R3,ENDADR ;HAVE WE FINISHED REQUESTED AREA BLOS NX;KEEP TRACK OF POSITION BNE B0500 MOV #12.,TABPTR ;RESET TAB COUNTER B0500: CMP R0,#PRTBUF+131. ;REACH END OF PRINTER LINE CAPACITY? BLOS B0300 ;GET ANOTHER CHAR .PAGE C0100: ;NOW ENTER PRINT SECTION MOVB #240,(R0) ;SPACE IN POSSIBLE ODD BYTE AT END MOV #PRTBUF,R3 SUB R0,R3 ;GET (NEG) CHAR COUNT ASR R3 ; (NEG) WORD COUNT BNE C0400 ERROR - ABORTED"~3j~\4~4y~L5å  נAנZ~R3 נaנz  $E q  06 H 6~8|7 h-  ~3f \ .ε^%-|wlwɵE~B4 $AI'D/  >   @@~4J h666 &6x4"5~55j54585  ̕>TREC ;NOT YET CLR ENDADR DEC REPCNT ;DO IT AGAIN? BGT SETCNT ;AM TRANSFERRING ENTIRE DISC MOV #-1,R0 ;DISPLAY ALL DONE FINIS: HALT BR TAPEIO ;GO BACK AND DO AGAIN TAPRDY: ;SUBROUTINE TO CHECK FOR TAPE READY MOV #20.,-(SP) ;MUST WAIT BEFORE CHECKING STATUS DEC (SP) BNE .-2 BIT #100,@#STAT ;STILL BUSY? ;SOMETHING THERE: GO PRINT IT CMP R2,#12 ;WAS LAST INPUT CHAR LINE FEED? BNE C0500 ;NO MOVB #201,ONECHR ;YES: SET TO UPSPACE BIT #400,@#SWR ;SET TO DOUBLE-SPACE? BEQ C0200 ;NO INC ONECHR ;TWO LINES C0200: JSR PC,PRTONE ;GO UPSPACE ONE OR TWO LINES BR PRINT C0400: MOV #PRTBUF,@#LPADR MOV R3,@#LPWC MOV #1,@~5~<6~6 #,׭>X׭6T~25Q  TL  @ u V . l *c˕! h M . S~5,  , #˕7 V7 PNSDwLPQAZRDMBINTU8W~"6// RASM V01A PAGE XXXXX DD-MMM-19YY HH:MM:SS P'D%~667 BNE .-6 ;YES TST (SP)+ RTS PC .PAGE BF2BGN: 0 CMD: 0 ;TAPE COMMAND WORD DSCMD: 0 ENDADR: 0 ;LAST WORD DESIRED TO COPY NUMSEC: 0 MEMLOC: 0 REPCNT: 0 SECTOR: 0 BLKPTR: 0 BUF1 =. .=.+200 BUF2 =. .=.+200 .=.+20 STACK = . DSCTAB: ;DISC ADDRESSES TABLE ; FOR DDC DISC: .WORD 165300 ;DISC CONTROL STATUS#LPLF BIT #400,@#SWR ;DOUBLE SPACE? BEQ C0500 ;NO MOV #3,@#LPLF C0500: MOV #4000,@#LPCMD ;***** PRINT! ***** CLR CURBUF TST @#LPSTAT BPL .-4 TST FORMFD ;DID FF END LINE? BEQ C0600 ;NO JSR PC,NEWPGE C0600: BR PRINT ;NOW BACK FOR NEXT LINE .PAGE TABPUT: ;INSERT SPACES FOR TAB CMP R0,#PRTBUF+131~,7~7~8-~86~78~7~88~z87 777 AND COMMAND REG .WORD 165302 ;DISC WORD COUNT .WORD 165304 ;DISC MEMORY ADDRESS REG .WORD 165306 ;DISC ADDRESS REG .WORD 165310 ;DISC ERROR REGISTER ; FOR RF-11 DISC: .WORD 177460 ;DISC CONTROL STATUS AND COMMAND REG .WORD 177462 ;DISC WORD COUNT .WORD 177464 ;DISC MEMORY ADDRESS REG .WORD 177466 ;DISC +DDRESS REG .WORD 177470. ;END OF LINE? BHI C0100 MOVB #240,(R0)+ ;INSERT SPACE DEC TABPTR BNE TABPUT BR B0200 ;GO RESET COUNTER & FETCH NEXT CHAR GO: MOV R5,@#MAGCMD ;ISSUE TAPE CONTROLLER COMMAND TAPRDY: MOV #30,-(SP) ;FIRST DELAY, THEN CHECK READY DEC (SP) BNE .-2 TST (SP)+ CLR WATCNT TPRDY1: INC WATCNT BIT #040200,@#MGSTAT ;READY OR AT~ 9<~9~9L~t:a7i7 7g7O7O7\ &R   77 w.7ĕ Q$~8BB`@ K wʥ m222@    $e\vwNV w~j90&   66֋w:S-;: ׭'1X  ~9 ׭ ɵ ɵ-we`0p  V`L ;DISC ADDRESS EXTENSION REG .END START B-O-T? BEQ TPRDY1 RTS PC NEWPGE: MOVB #300,ONECHR JSR PC,PRTONE CLR FORMFD RTS PC .PAGE PRTONE: MOV #-1,@#LPWC ;ENTRY POINT FOR PRINTING ONE WORD BIT #4,@#LPSTAT ;MUST WAIT FOR PRINTER READY TO GIVE... BEQ .-6 ;...AUTOLINEFEED CHANCE TO FINISH BEFORE KILLING ; IT BY GOING TO PAPER-FEED MODE CLR @#LPLF ;TO PAPER-FEED MODE MOV #ONECH~:[~d;~;j~T<~Z:wL:-:-: w.c  v wwww2wwwmNF f~:!*0Q$Q$Q$Q$Q$wQ$wwDwwww7  7wt5 7m~J;    f K͟ׯ` ?6t6-   K t~;HC#< * ; .!.!// *** RASM ERROR # XX. THE VALUE IS .WORD 165300 ;DISC CONTROL STATUS AND COMMAND REG .WORD 165302 ;DISC WORD COUNT .WORD 165304 ;DISC MEMORY ADDRESS REG .WORD 165306 ;DISC ADDRESS REG .WORD 165310 ;DISC ERROR REGISTER ; FOR RF-11 DISC: .WORD 177460 ;DISC CONTROL STATUS AND COMMAND REG .WORD 177462 ;DISC WORD COUNT .WORD 177464 ;DISC MEMORY ADDRESS REG .WORD 177466 R,@#LPADR MOV #4000,@#LPCMD ;***** PRINT ***** TST @#LPSTAT BPL .-4 RTS PC CNTSAV: 0 COMAND: 0 CURBUF: 0 ERRFLG: 0 FORMFD: 0 NOTRYS: 0 ONECHR: .BYTE 0,240 RECCNT: 0 RPTFLG: 0 TABPTR: 0 WATCNT: 0 WRDCNT: 0 .PAGE EBCTAB: .BYTE 005,045,000,024,025 EBCDIC: .BYTE 100,132,177,173,133,154,120,175,115,135 .BYTE 134,116,153,140,113,141,360,361,362,363 .BYTE 364,365,366,367,370,371,172,13~<y~D=~=~4>. mJ 7 B ;~:<6w<  VE7f6 7 7 7 7 |  tFD   * c %D%VE’ ~E 7 *D7   6r6 ɋ 8 ~*= 606 f6ɋ @> > wcN JUĝ> E7; pn   ~= å   ww׽@׽ 66 ;DISC +DDRESS REG .WORD 177470 ;DISC ADDRESS EXTENSION REG .END START 6,114,176 .BYTE 156,157,174,301,302,303,304,305,306,307 .BYTE 310,311,321,322,323,324,325,326,327,330 .BYTE 331,342,343,344,345,346,347,350,351 EBCEND =.-1 .EVEN PRTBUF =. .=.+134. MAGBUF =. .END START ~>~$?~?6  B`E   eeW!6 &~>fv  w & 09wdw   77 ,~ ~> 7 j7  E - 1- 7B7 70!ׂ  "6 7d6 & ע~ ?  W m " R  ww |  NA  @ w 0qLi~?WW µ G ; (NEG) WORD COUNT BNE C0400 ;SOMETHING THERE: GO PRINT IT CMP R2,#12 ;WAS LAST INPUT CHAR LINE FEED? BNE C0500 ;NO MOVB #201,ONECHR ;YES: SET TO UPSPACE BIT #400,@#SWR ;SET TO DOUBLE-SPACE? BEQ C0200 ;NO INC ONECHR ;TWO LINES C0200: JSR PC,PRTONE ;GO UPSPACE ONE OR TWO LINES BR PRINT C0400: MOV #PRTBUF,@#LP .PAGE   PAGE 11  4-29-72 01:22:21:48 00258* ;****************PROCESSING FOR INDIVIDUAL G S D ENTRIES************** 00259* ; ON ENTRY TO EACH ROUTINE, R1 AND R4 POINT TO CANDIDATE ENTRY 00260* 00261* ;*******MODULE NAME******** 00262* LODE00: 00263* 001072 004767 JSR PC,SRMODN ;SEARCH FOR MODULE NAME  003400 00264* 001076~@-~@~A<~|A '7 "  $   d~?  W"µ@6µwµwµn ͵'$ 7D>U.~r@׭(6 207 7 7n)(o\a  ~@ z , r |ĝ$6e Pd6 5j B׭` P ~bA 72ADR MOV R3,@#LPWC MOV #1,@#LPLF BIT #400,@#SWR ;DOUBLE SPACE? BEQ C0500 ;NO MOV #3,@#LPLF C0500: MOV #4000,@#LPCMD ;***** PRINT! ***** CLR CURBUF TST @#LPSTAT BPL .-4 TST FORMFD ;DID FF END LINE? BEQ C0600 ;NO JSR PC,NEWPGE C0600: BR PRINT ;NOW BACK FOR NEXT LINE .PAGE TABPUT: 000406 BR LDER16 ;NOT UNIQUE 00265* 001100 016767 MOV SYME,PTROBJ ;POINTER TO NEW MODULE NAME IN LSD  007420  007406 00266* 001106 004767 JSR PC,INSYME ;GO INSERT ENTRY INTO LSD  003662 00267* 001112 000725 BR LODD20 00268* ; ******************************************************************** 00269* 00270* 001114 012704 LDER16: MOV #16+100000,~AL~lB~B[~\C7 7 wEՇעעע & עע Š Հ T4 ~A  7   77 6 667| 75 7|v6uc}a ~RB] e4e<ee. e e   ̞  a 7 -  5~B5  oi - !  ;INSERT SPACES FOR TAB CMP R0,#PRTBUF+131. ;END OF LINE? BHI C0100 MOVB #240,(R0)+ ;INSERT SPACE DEC TABPTR BNE TABPUT BR B0200 ;GO RESET COUNTER & FETCH NEXT CHAR GO: MOV R5,@#MAGCMD ;ISSUE TAPE CONTROLLER COMMAND TAPRDY: MOV #30,-(SP) ;FIRST DELAY, THEN CHECK READY DEC (SP) BNE .-2 TST (SP)+ CLR WATCNT TPRDY1: INC WATCNTR4 ;MODULE NAME NOT UNIQUE  100016 00271* 001120 004767 JSR PC,ERRPRT ;PRINT ERROR AND RETURN  005150 00272* 001124 000667 BR LODC20 ;IGNORE THIS MODULE AND GET NEXT ONE 00273* 00274* .PAGE   PAGE 12  4-29-72 01:22:23:18 00275* ;*******SECTION NAME******** 00276* LODE20: 00277* 001126 004767 JSR PC,~Cj~LD~Dy~W 48t `w%8 r% @ q< ~ZI&efF8 ŝaweH8 U h BՀ ~I X 6F8DeEDa$E wJ B`D E T >8 f6 88<8 R .85 u~JJ SET GOW;N R3 R AS 3 2006 0206100 1*4201 C"RPCU "EW;N 3 ,RP)(S V MO 3 6011 0166100 0*4201 047717  " STTLTXH"IT WTERI WORD EA RGO ; IOXTTEC, P SR J 6747002 1106 0 * 1914 05 3700 0  010000  E ITWR ; .WTRTX1, # B OV M 6727114 1006 0 * 1814 0 --N- IXTTEW NED EA RND AUT OXTTET ENRRCUE ITWRO TREHE ; 0:O1XT T * 1714 0 2 :3134::201 729--2 4 56 GEPA   + 001216 103263 BHIS LODD20 ;ORIG WAS BIGGER: LEAVE IT 00295* 001220 016164 MOV VALR(R1),VALR(R4) ;REPLACE WITH NEW BIGGER SIZE  000006  000006 00296* 001226 000657 BR LODD20 00297* ; ******************************************************************** 00298* 00299* 00300* 001230 012704 LDER17: MOV #17,R4 ;SECTION NAME CONFLICT W/GLOBAL SYMBOL  ~J[~TK~Kj~DLP KKceba7 b ђ ~exEr))e n Q$BD`h s 6 f05 E AG.P 6*4101 METIS HI TEDEDNER FENSRA TNO: ES;Y 40TOTX O BL 1 4403 1026100 5*4101 2? #BKW LOBET IIS: #1K BLE OVABC PEW;N 3 ,RP)(S P CM 3 6021 0006100 4*4101 000200  OKLC BNDCOSEN ITEBYT RSFIF OPC ; 3 ,R8.12 # DD A 0327064 0706 0 * 1314 0 XTTEE ACPLRE- S YE ; 0 O1XT T LO B 0434102 0706 0 * 1214 0 E?ONK OCBLN IXTTEW LOBEC PEW NIS ; R4),SP ( MP C 0416020 0706 0 ' 000017 00301* 001234 004767 JSR PC,ERRPRT  005034 00302* .PAGE   PAGE 13  4-29-72 01:22:26:04 00303* ;*******GLOBAL SYMBOL******** (HERE AT LAST...) 00304* 001240 132761 LODE40: BITB #UNDEF,FLAGS(R1);REF OR DEF?  000010  000004 00305* 001246 001427 BEQ LODE50 ;REF 00306* 001250 004767 JSR PC,PTGLOB ;DEF - SEE IF IT ~Ly~4M~M~$Nw~*LJL  * 06XL@~L@J~M@~M* 1114 0 ERSFANTRO NOFE AS CINC RPCU@ 4 REPKE ; R34, R OV M 0304016 0606 0 * 1014 02 4502 0  XTTET ENIDES ROFN BG@ E LUVAC ;P 4 ,RRGTOTX V MO 4 7016 0626000 9*4001 102400  W LOBEK OR WOR FVESA ; P)(S,-PCUR C OV M 4667016 0506 0 * 0814 04 4102 0  622400  K OCBLT EX TXT NOFN BGO TTR C'NOC LMPBU ; PCUR,CBCXT T DD A 6767060 0506 0 * 0714 0L UL FISR FEUF BIFT EX TEDATULUMCC AUTTPOUO TNETIOUBRSU ; #IS ALREADY IN LSD  003306 00307* 001254 000420 BR LODE44 ;NOT FOUND 00308* 001256 132764 BITB #UNDEF,FLAGS(R4);FOUND: IS IT ALREADY DEFINED?  000010  000004 00309* 001264 001407 BEQ LODE42 ;NO: GO REMOVE IT FROM UNDEF AREA 00310* 001266 152764 BISB #DBLDEF,FLAGS(R4) ;FLAG OLD ONE AS A DOUBLER  000004  000004 00311* 001274 152761 BISB #DBLDEF,FLAGS(R1~N~O~O~P~ Nw H  .M! %ML %  MR  $V܅ww/~Nww  JVo~  ȋqȕË sMH 7MM$ `a&E `D%~N Հ a 9L 01wTw   # $ȋȕË  6~rOL~}  w 7:w T:OUXT T * 0614 0 * 0514 0 .)XTTED TEEACRY WLNER OUF OTYRIEGNT I ; * 0414 0E THT ECOTPRD AN, METIA T AORCTSEE ONT OUT EX TUR OERFFBUN CAE W ; * 0314 0, AY WISTHN I. #1K OCBLO NT IINGA AINK AC BADREE BTOY NL O ; * 0214 0, SCDIO TENTTRI WBEL IL W#2K OCBLT EX TENTTRI-WLYALTIAR P AATTHN EA M ; * 0114 0L IL WISTHS SECAY AN MIN N. IADREE BLLWIS CKLO BWO TEW NTEIAPRROPP A ; * 0014 0E THD AN, UT) ;ALSO FLAG NEW ONE  000004  000004 00312* 001302 000405 BR LODE44 ;BYPASS REMOVAL 00313* 001304 004767 LODE42: JSR PC,SQUISH ;REMOVE FROM UNDEFINED TABLE  003704 00314* 001310 162767 SUB #BPSYM,USYME ;AND ADJUST ITS POINTER  000012  007226 00315* 001316 010104 LODE44: MOV R1,R4 ;AGAIN POINT TO INPUT ENTRY 00316* 001320 004767 JSR PC,INPTRH ;IN-~|P~P=~lQ  " A;ȕe5 5 Ë  ~ONL <w X   fȥȥp wm ŀ   ~bP! L MM 5$ 5$ 5  e  MN  M. f w~P %7 LHw7 2%,V,܅  wX w`Lݬptrv~RQbQnQzQ5QzY OENTTRI WBEL IL WKSOCBLH OT BS,CKLO BWO THE TDESIUT O ; * 9913 0 OR, CKLO BNDCOSEE THO NT IISC PEW NHE TIF R.CUOCL IL WERSFANTRO N ; * 9813 0, #1K OCBLN HIIT WLSAL FLLTI SPCW NEE THF I. NDMAOM CLD RANY BUEAL V ; * 9713 0 EW N ATOT SEN EE BAS HC"RPCU "ESATICND ICHHI WO,ER ZBEY MA" BCXT"T ( ; * 9613 0 " T U O T X T " ; * 9513 0 * 9413 0 2 :2114::201 729--2 4 55 GEPA   SERT IT ALPHABETICALLY IN THIS SECT'N  003534 00317* ;IF IT WAS DOUBLY DEFINED, BOTH ENTRIES ARE FLAGGED AS SUCH. THE FIRST 00318* ;ENTRY WILL BE USED AS THE REF'D VALUE. THE MAP WILL SHOW ALL OF THEM. 00319* 001324 000620 BR LODD20 00320* 00321* ; * * * GLOBAL REF * * * 00322* 001326 004767 LODE50: JSR PC,PTGLOB ;IS IT IN LSD ALREADY?  003230 00323* 001332 000401 BR ~QL~\R~R[~LS1QX5QYQQQQw   b Q)6{~Qw && && & , w d& wQ5QQЀQЭ <w & ,~BR  dQQ5QQ1Qw HQ  LQwbQHe  QQ QQ Q QQP Q~RQQP W Qw $EE QD^QQDQ |S1Qw4.SLT\ThTvTTTTTTTTTUQ%~2SWQ GEPA . * 9313 0 * 9213 04 2200 0  T EX TTHWIR ROERO CIIS;D T PRRR,EPC R JS 7 7604 0446000 1*3901 050000  R45, # OV M5:R0DE L0427010 0406 0 * 9013 0C P TS R 0702006 0306 0 * 8913 05 R0DE L NE B 0110004 0306 0 * 8813 02 3700 0  S?ORRR ENY;A RRTETX T TS 7 7605 0306000 7*3801 T EX TTHWIE ITWRR OADREO ;G IOSCDI T EM 3 0204 1266000 6*3801 16 LODE52 ;NOT FOUND: INSERT IT 00324* 001334 000614 BR LODD20 ;FOUND: NO NEED TO DO ANYTHING 00325* 001336 004767 LODE52: JSR PC,INUSYM ;INSERT AS AN UNDEFINED  003376 00326* 001342 000611 BR LODD20 00327* .PAGE   PAGE 14  4-29-72 01:22:28:30 00328* ;NOW ALL OBJ MODULES HAVE BEEN PASSED OVER ONCE, ALL 00329* ; y  ~S  3632 l32 x 77  P < 6 Bee@ W  ~6:6 S W& N &  xTvTtK~V B giX T̷N1 W 8 wxw 5wZ| 458ڧ~ Wԧ5̧Z7 rw lTw&~UNQQwڪEE D\Q@Q f^Q  DLQ+ŀ| n *-el.QBK~UE,I  5@ =NQC\Q5@@wh ĕ Q^NQQ2    ށ Q Qĕ\Q~VQĒ1Q  1Qĕ\QQQf^Q  HQ=NQ Qf\Q p ĕ=NQQ > 6-~zV8w 5 W<|45|<A|p ,( &0   0 S0:P2XT T0403004 0106 0 * 7813 0C P TS R0:P1XT T0702002 0106 0 * 7713 0E YT BERPP UADLO ; + 3)(R4, R B OV M 2304110 0106 0 * 7613 04 R B WA S 0403006 0006 0 * 7513 0 TEBY ; 0 P2XT T MI B 0304104 0006 0 * 7413 0D ANMMCO ; 2 R ST T 0257002 0006 0 * 7313 0 XTTEO NT ITEBYT RSFIE ACPL ; + 3)(R4, R B OV M 2304110 0006 0 * 7213 0 S.IT B 8OWFLEROVT NOD DIE YT BEDNKLIA E UR SBEO TDEMAS ICKHE C ; * 7113 0 00335* 00336* LODF00: ;END OF PASS 1 00337* 001344 012767' MOV #ND1MSG,TTYBUF ;INIT TO PRINT "END PASS 1" ON TTY  010000  005006 00338* 001352 012746' MOV #TTYLST,-(SP)  006344 00339* 001356 104013 EMT TTYOUT 00340* 001360 005067 CLR PRSIZE ;INIT PROGRAM LOAD SIZE  007126 00341* 001364 012700' MOV #LSDBGN,R0 ;INIT PTR TO LSD wv1f& f&  ptrvhWtWW5W_1W$^5~WW_WWWWw   b W)0w && && & ,Z~W w d& wW5WWЀWʧ <w & ,  dWW5WW1Ww NW F~tX RWwhWHe  WW WW W WWP WWWP W Ww EE ~XWacC `0  +~V5@|A > <Q4QΨ& & rQQ4QeQ4Qf `D` ~jWQQCD`Q1QQ1Q@Q 4   Q=NQf^Q@JQ ~ J@Q 3 1Q1Q~WQDLQA5@ =HQf\QQ QNQf`Qw <ÝaQ ANQ7QQwQ@Q@Q~ZX7  5@|s 5|l5|h5 | T.EX TTOIND OR WORE YT BEDNKLIT PUO TNETIOUBRSU ; T:PUXT T * 7013 0 0 :3094::201 729--2 4 54 GEPA    GEPA . * 6913 0 * 6813 0C P TS R 0702006 7705 0 * 6713 00 5302 0  ERNTOI PEW;NR TEINPOILRA,TR3 V MO: 30APTR7 3610 0725700 6*3601 567500  ERNTOI PETES RTOE AREPPR ;3 ,RCKLOLBAITR # OV M ' 0327016 7605 0 * 6513 04 5601 0  NTOU CORCTSER LEAITRP UM;B  011020 00342* 001370 010067 MOV R0,PTROBJ ;...AND TO CURRENT OBJ MODULE  007120 00343* 001374 000402 BR LODF20 00344* 001376 062700 LODF10: ADD #BPSYM,R0 ;NEXT ENTRY  000012 00345* 001402 020067 LODF20: CMP R0,SYME ;END OF LSD?  007116 00346* 001406 103056 BHIS LODF90 ;YES: EXIT LOOP 00347* 001410 116001 MOVB FLAGS+1(R0),R1 ;ENTRY TYPE  0DdWWDW |Y1Ww44YRZbZnZ|ZZZZZZZZ[ [WWWH@W  -m=TW ~dY TW WwfdW L =NW=PW && & x W  &  &  w  w ~Y gi&   j1W W %WWॱW5W 1W%Wƥ5W 4w 1WW~TZWfdW l W1W TWWW TWW1WUTWWW^TWW}WTWWU|=JQ=HQ|p w B eQ @eQeQ L~X:J   Q!QQQQQQ E QQQQ JQ3Q3Q Ħ}NQf^Q ~JY 3Qw QQ -PQ rw E =HQQ7@Q^NQQw JBf&~Y Q &6  Z6Z Zdeth f~gbfDkk@qqQ4Rj`_zadaaJvlrr~:ZNNOPDO|} ECASTR C IN: 20APTR7 2605 0625700 4*3601 425417  6 R0DE L MP J 6701006 7505 0 * 6313 0R ROERC IS DNO ; 0 P2RA T EQ B 0214004 7505 0 * 6213 00 4700 0  RRAETR T TS 7 7605 0505700 1*3601 IOSCDI T EM 3 0204 1465700 0*3601 346400  ERILRA TNGTIRI WOR FSTLI ; P)(S,-STALTR # OV M ' 4627012 7405 0 * 5913 0T YET NO ; 0 P3RA T LO B 1434100 7405 0 * 5813 06 7507 0  ? ET YCKLO B00005 00348* 001414 116002 MOVB FLAGS(R0),R2 ;QUALITIES FLAG  000004 00349* 001420 120127 CMPB R1,#GENTRY ;GLOBAL SYMBOL?  000004 00350* 001424 001427 BEQ LODF50 ;YES 00351* 001426 005301 DEC R1 ;SECTION NAME? 00352* 001430 001362 BNE LODF10 ;NO: GET NEXT ENTRY 00353* 00354* .PAGE   PAGE W~Z TW W1Ww` TW1W W TW W1W@WwjWw&TWWwԤEE DbW@W ~D[ fdW  DRW+ŀ| n *-el.WBE,I  5@ =TWCbW~[5@@wh ĕ W^TWW2    ށ W Wĕ\WWĒ1W  1Wĕ\WW~4\WfdW  NW=TW WfbW p ĕ=TWW > 68w 5}}}&f&M & & w[2~ZP~*[ EN^DS^QU^XX^TMp_DT_RER\TY\CR\LP\CM\AS\LD\DI\FL ]DT^BI8]EX~]F] |~[T]F] %7 B>:[ " [$ w p] ZT]R7 VF] ( >V]D~\OFD ENT ;A . 28+1CKLOLBAITR,#R3 P CM 7'3220 0345700 7*3501 6*3501 O: SIFT OUT ITERI WND AL,UL FISR FEUF BIFE SEW NO ; 5*3501 D"AD "NDHIBET ICKTI;S )+R3,(R4 V MO 3 4210 0325700 4*3501 020000  T NO" PCRA"TT BU, EDNCVAADS IC""PE NCSI ; R42, # UB S 0427166 7205 0 * 5313 02 6002 0  T ENEMACPLIS DRDWACKBAC AL;C R4C,APTR B SU 4 7066 1225700 2*3501 146517  ET15  4-29-72 01:22:30:52 00355* ;*******SECTION NAME: MAKE ITS SIZE EVEN, STORE ITS BASE VALUE, SET PTR 00356* ; TO THIS SECTION, AND INCREMENT THE TOTAL PROGRAM SIZE. 00357* 001432 132702 BITB #ABSREL,R2 ;ABSOLUTE OR RELOCATABLE?  000040 00358* 001436 001005 BNE LODF30 ;REL 00359* 001440 005060 CLR VALR(R0) ;ABS: SET SIZE...  000006 00360* 001444 005060 CLR W<6 456 <A6 p ,~\( &0   0 giC `0  5@6 AP  .~$]> <W4WȢ& & rWW4WeW4Wf `D` WWCDfW1WW1W@~]W 4   W=TWfdW@PW ~ J@W 3 1W1WWDRWA5@ =NWfbWW W;~^TWffWw <ÝaW ATW7QWwW D[S#  ]F] n  ] 7!  E|W,  ! J   W,WL~\WC p6 .W,WT R6W,WT \. & && 8 w* 0/c&& & &  /c~ ]W,WB  H !   [ ]~] AC:  ? ILL CMD! ILL PAR! NON-QUIESCENT 7 7 7 a]c ]   FSOFD OA LNTREUR COFE LUVAT GE ; C TPGEC, P SR J 6747006 7105 0 * 5113 0 ERILRA TTOINN IOCTRUSTIND KEACSTT PU ; )+R3,()+SP ( OV M 2326014 7105 0 * 5013 02 6102 0  T LO SERILRA TENOPT EX;N3 ,RERNTOILPAITR V MO 3 7016 0105700 9*3401 202600  4 0000 0  1.S HI TERFT ALLCEN PE OXTNEO TCEANDV;A PCRA,T#4 D AD: 10APTR7 7662 0025700 8*3401 227::0241: 02 -7294- 3 5 E AGP  E AG.P  BASE(R0) ;...AND BASE = 0  000010 00361* 001450 000412 BR LODF40 00362* LODF30: ;RELOCATABLE SECTION 00363* 001452 016003 MOV VALR(R0),R3 ;SECTION SIZE  000006 00364* 001456 010304 MOV R3,R4 00365* 001460 006204 ASR R4 00366* 001462 005503 ADC R3 ;MAKE SIZE EVEN 00367* 001464 016760 MOV PRSIZE,BASE(R0) ;SET BASE OF NEW SECTION  @W@W7  5@6 sP 56 l56 1~^h5 6 U6 =PW=NW6 p w B eW @eWeW :J   W!WWW"~_WWW E WWWWڠ JW3W3W }TWfdW  3Ww WW -VW ~|_rw E =NWW7@W^TWWw D<f& W &6  ~_Z6` `jlzn h^^^~]^^  W,? =!: 6! 7!D0 %b+ y]!#W  &~r^/c4/cx/c/c f]F]  /cJ&& & & P & (/c b(~^!4c E `aes7]  HH:MM:SS MM/DD/YY +_._1_?_<_9_ l &e"~b_ I W, !  rB_&_w*xW, ! 7*3401 " UTTPTX "TOR O",UTDPAD;" 6*3401 ",UTBPSU "TOR HEIT EDEMAS WAL AL;C PC S RT 7 2000 0005700 5*3401 740300  RTRPERC, P SR J 6747004 6705 0 * 4413 05 0200 1  ORRR EONTICALOREE YT;B 4 ,R0000105+#2 V MO: 25ERLD4 7012 0705600 3*3401 ONTIUCTRNS IEDCKTA SOP;P + P)(S T TS 6 7205 0665600 2*3401 R LEAITRO TDD ATOY KA OD:OR;W 10APTR L BP  007022  000010 00368* 001472 060367 ADD R3,PRSIZE ;SUM UP TOTAL SIZE (& END OF THIS SECT)  007014 00369* 001476 010067 LODF40: MOV R0,PTSECT ;POINTER TO NEW SECTION  007016 00370* 001502 000735 BR LODF10 ;GET NEXT ENTRY 00371* 00372* ;*******GLOBAL ENTRY POINT 00373* LODF50: 00374* 001504 132702 BITB #ABSREL,R2 ;ABS OR REL? lmhlJqqFwwW:XTpfegjggP|‹xx|ȃ҃&f~l`&M & & wa2J~` ENdDSdQUdXX$dTMY~\aveDTeREXbTYbCRbLPbCMbASbLDbDIbFLcDTdBI>cEXcLc ZcLc %7 B>:~a rH_4_  _ ~_DԝDԝA  dF] w ` ы Dĥ  D0 C ``a - 6 vP~R`w 6'd w `` Օ+  d 0B` e0  w %Օ- ҋx~`    2(axf&f&О  4~Ba4 rv  w 7 w6 0000 1645600 1*3401 ? NDMAOM CE"YT"BA S HI TAS;W R2 T TS 2 7005 0625600 0*3401 : 05APTR 9*3301 N URET R &ONTIUCTRNS IEDCKTA SOP PSO..;. PC S RT 7 2000 0605600 8*3301 . ..LSBALO GTELUSOABR FOR LEAITRO ;N + P)(S T TS 6 7205 0565600 7*3301 TEBYA S ESNL UERILRA TDO: ES;Y 05APTR E BN 2 0001 0545600 6*3301 042600  E?BLTACALOREL BOYM SISTH ; L VABS A ST T 675700 000040 00375* 001510 001411 BEQ LODF60 ;ABS 00376* 001512 016703 MOV PTSECT,R3 ;POINTER TO CURRENT SECTION  007002 00377* 001516 016360 MOV BASE(R3),BASE(R0) ;SECTION BASE  000010  000010 00378* 001524 066060 ADD VALR(R0),BASE(R0) ;CALC OFFSET FROM LOAD MOD BASE  000006  000010 00379* 001532 000721 BR LODF10 ;NEXT 00380*  a "  a$ w vc ZZcR7 VLc ( >\cD JaS#  cLc n  ~Lb c 7!Խ E6 W,  ! J   W,WLWC ^ .W,WT FW,W~~bT \. & && 8 w* 05i&& & &  5iW,WB  H !  ~~exHe,ew*xW, ! xNe:e &e DԝDԝA  dLc w `~ f ы Dĥ  D0 C ``a - 6 vw 6'd w ff ~fՕ+  d 0B` e0  w %Օ- ҋ    2~f.gxf&f&&f  ߕ P]7 J:fv0 b 6 6 ×ÕC~zeߕ&L 7 |  2 7 6  /c/cߐ& :/c <bb0bb0bbߐ~e& wߕp 1/c7 \7 7 F0 RW ac /cf w/cw ~jfk7hߕ/c yf@g@g@g@g@gffff@g@g@gf& ߕ E/1 7 7  7 UTROUB SHE T. ONTICTLOREC MINADYG INCTFEEFS HU TN,IOUTECEXK AS TTO; 2*3201 ORRI PRECOO NT IADRES ILEDUMOD OA LHE TENWHD TECUXE EBEO TR,LEAITR; 1*3201 SKTAE THN IONTIUCTRNS IRDWOO-TW" OC,LR1D AD "ANS UT PNETIOUBRSU; 0*3201 " T U P A R T " ; 9*3101 564::0241: 02 -7294- 2 5 E AGP  E AG.P 8*3101 420400  RTRPERC, P SR J 6747006 6205 0 * 1713 0 00393* 00394* 001570 062700 LODG10: ADD #BPSYM,R0 ;NEXT ENTRY  000012 00395* 001574 020067 LODG20: CMP R0,SYME ;END OF LSD?  006724 00396* 001600 103116 BHIS LODH10 ;YES: EXIT LOOP 00397* 001602 116001 MOVB FLAGS+1(R0),R1 ;ENTRY TYPE  000005 00398* 001606 001437 BEQ LODG30 ;OBJ MOD NAME 00399* 001610 005301 DEC R1 00400* 001612 001447 ʘ  4 rv  w $~tg7 wglhg) ERROR XXXXX SXXXXX SXXXXX SXXXXX SXXXXX gggggw ~~g w p w| zw T 7 \'wVgPgf& &  R g L[~dh n f xhhhhhhh~h efffff~fffffac/c/c&& ߕ/cpgW"1f w "c~ZgccLgXgdgՀ6w  j 7c b ߕ/c  S / -2L/c~gB bAC ;ߕW"5 b rb bb`bL2b 1 ac/c&&  ~Jhߕ0/cvw  /cw ×&  =7:ߕ/c3 0000 0  R ROERM SUCKHE CCKLO BOD MBJ;O 4 ,R#3 V MO: 03ERLD4 7012 0225600 6*3101 520400  RTRPERC, P SR J 6747006 6105 0 * 1513 02 0000 0  R ROERT UNCOE YT BCKLO;B 4 ,R#2 V MO: 02ERLD4 7012 0125600 4*3101 620400  RTRPERC, P SR J 6747006 6005 0 * 1313 01 0000 0  ORRR EADREK OCBLE ULOD MBJ;O 4 ,R#1 V MO: 01ERLD4 7012 0025600 2*3101 1*3101 ****************************" BEQ LODG40 ;SECTION NAME 00401* 001614 020127 CMP R1,#3 ;ENTRY?  000003 00402* 001620 001363 BNE LODG10 ;NO: IGNORE 00403* 00404* 001622 012746' MOV #GLOBAL,-(SP) ;YES:***PRINT ENTRY NAME & VALUE***  010362 00405* 001626 010046 MOV R0,-(SP) 00406* 001630 104047 EMT R50UNP ;RAD50 UNPACK 00407* 001632 016004 MOV 10(R0),#=~Ti~iw H×&  6  a7Z^ߕ5i ~Dj5iWgiS h 5iߐiW?r ߕ 2 hh5i4gi2  ߐw `~j$5/c ߐ& N # b~h bb/cߐw  ,w 6 7 jo Vlb   ` ~:ib!!zߕ bW Lwrbbebb EW/c7 w/c  @E~i @`eBD& fB 0F 6 v *j  7 7d7l~*jvEpjd ^ @2 j"**************************************** ; 0*3101 PC S RT: 80TBNX7 2000 0005600 9*3001 020000  RNTURE" ODGO "OR FMPBU ; P)(S2, # DD A 1627064 5705 0 * 0813 00 6702 0  T UNCOE YT BTADAH IT WR5T NI;I 5 ,RBC V MO: 70TBNX5 7016 0705500 7*3001 TEBYA AT DSTIR FTOS NTOI POW;N R0 C DE 0 3005 0665500 6*3001 0 ,RR5 V MO 0 5010 0645500 5*3001 ES;Y 60TBNX T BG 4 3703 0625500 &R4 ;GLOBAL'S VALUE RELATIVE TO LOAD BASE 0.  000010 00408* 001636 012703' MOV #GLBVAL+6,R3 ;END OF ASCII BUFFER  010400 00409* 001642 004767 JSR PC,BIN2OC ;CONVERT BINARY TO OCTAL ASCII  004370 00410* 001646 112767 MOVB #' ,MFLAG ;INIT "M" FLAG POSITION WITH SPACE  000040  006502 00411* 001654 136027 BITB FLAGS(R0),#DBLDEF ;WAS THIS SYMBOL MULTIPLY DEFIND  '  ee Dw( 6 &f 씀 ߕ~4k P]7 J:fv0 h 6 6 ×Õߕ&L 7 |  2 7 6 ~k 5i5iߐ& 45i <hh0hh0hhߐ& wߕp ~$l15i7 \7 7 F0 RW gi 5if w5iw k7hߕ5i (j"& $ҝ.( PwZZ~jj~jn!w ZHQ& LQNj@f:LQ HQ(. *8k ~k'xww >[&-2m e ? 6  eW~keaY& 4,w %%E Cw  emB~ lA  Jm6  4*3001 E?OV MTOS TEBYE OR;M R3 C DE 3 3005 0605500 3*3001 767717  E ONK AC BTEBYT IFSH ; ) R02(,-)+R0 ( B OV M0:B6XT N6020114 5505 0 * 0213 00 7102 0  NE OCKBAS TEBYL ALE OV MTOD EE;N 3 ,RBC V MO 3 7016 0505500 1*3001 D DEEE NONTICALOREO NN:VE;E 70TBNX Q BE 0 4101 0465500 0*3001 010000  ? DD OTEBYA AT DSTIR FOFR DD AIS ; R01, # IT B 0027032 5405 0 * 9912 0 TEBYA AT DSTIR FTOR * 000004  000004 00412* 001662 001403 BEQ LODG25 00413* 001664 112767 MOVB #'M,MFLAG ;YES: SET TO FLAG ENTRY IN MAP  000115  006464 00414* 001672 012767'LODG25: MOV #ENTRY,MAPBUF ;SET UP TO PRINT ENTRY LINE  010344  004514 00415* 001700 004767 JSR PC,LPCALL  004322 00416* 001704 000731 BR LODG10 ;NEXT 00417* .PAGE +ylFmFmFmFmFmll~lllFmFmFml& ߕ E/1 7 7  7 efffffffffgi5i5i&& ~mꒀߕ5ivmW"1f w "cccRm^mjmՀ6w ~m j 7c h ߕ5i  S / -2L5iB hAC ;ߕW"5 h~n rh hh`hL2h 1 gi5i&&  ,w D0mn m"$@8EW  9m1m 7 ns~l fm`h7|BABWCEqJm72œ& ‹ & 5@&  ~lŒ Œ$Œ&&f A m`BAW,Jm m   ~rmwwm8PTL CALOT SERE ; R05, R OV M 0005010 5405 0 * 9812 06 7202 0  K OCBLT EX NOR FDYEA-RTR PLK BCEANDV;A R PTLK,BR0 V MO 7 0610 0345500 7*2901 R ROERM SUCKHE;C 03ERLD E BN 3 0301 0325500 6*2901 INEG@B" "1E THS DELUNC ILFSEITM SUCKHE;C R2 CBIN 2 2005 1305500 5*2901 D ENT ATEBYA TREXE ONR FOK AC BGOO ;S 50TBNX E BG 4 3702 0265500 4*2901 . ..TEBYM SUCKHE CESUDCLINT UNCOE YT;B .   PAGE 17  4-29-72 01:22:37:06 00418* LODG30: ;***PRINT OBJECT MODULE'S NAME*** 00419* 001706 012746' MOV #TITLE,-(SP)  010232 00420* 001712 010046 MOV R0,-(SP) 00421* 001714 104047 EMT R50UNP ;UNPACK MODULE'S NAME 00422* 001716 012767' MOV #MODULE,MAPBUF ;INIT TO PRINT MODULE NAME & HEADING  010174  004470 00423* 001724 004767 /ߕ05ivw  5iw ~|n×&  =7:ߕ5i55i ߐ& H # h hh5iߐw t~n ,w 6 7 jo Vlb   ` h!!4 ߕ hW Lw~lorhhehh EW5i7 w5i  @E @`eBD& fB 04~oF 6 v 0p 0~m  7 : 7fTb)-H</c7 & ~bn(a Bbbbb9 b & i7&f rЕ <9<2- "~nPPP)mȵ  &r@pr ɕqe%!G7&~Ro ^< 72e"2 7pB f  D &  ‹ & & 3*2901 ? IND ADO TESYT BTADAE OR;M R1 C DE 1 3005 0245500 2*2901 M SUCKHE CUMCC;A 2 ,RR3 D AD 2 3060 0225500 1*2901 TEBYT EX NCTRAXT;E R3+,0)(R VBMO: 50TBNX3 0012 1205500 0*2901 442700  LYONA AT DOFT UNCOE YT BVESA ; BC1, R OV M 6701014 5105 0 * 8912 04 0000 0  S RDWOC BND A0"1- "IMELO TBCE UCED;R 1 ,R#4 B SU 1 7062 1105500 8*2801 C BESUDCL2JSR PC,LPCALL ;GO PRINT IT  004276 00424* 001730 000717 BR LODG10 ;NEXT 00425* 00426* LODG40: ;***PRINT PROGRAM SECTION NAME*** 00427* 001732 012746' MOV #SECNAM,-(SP)  010307 00428* 001736 010046 MOV R0,-(SP) 00429* 001740 104047 EMT R50UNP ;UNPACK SECTION NAME 00430* 001742 016004 MOV 10(R0),R4  000010 00431* 0013 7 7d7lvEpjd ^ @2 W~\pp"p"& $ҝ.( PwZZp~pn!~pw ZNW& RWNp@f:RW NW(. *>q 'xw[~Lq&-2s e ? 6  elaY& ~q .&w 4 N & L D~oye Ew@57& 5E -?- }~Bp  Ν   Be (- -- ee  +~pE E EvÝ;`Ý1`Ý*`%<< % ÝÜr   ~2q UU&-rE eet?p6 INH ICWH, UMKSECCHT NI;I 2 ,RR1 V MO 2 1010 0065500 7*2801 6*2801 D:EA RCTREOR CFYRIVEO TUMKSECCHE UTMPCOO TNTWAW NO ; 5*2801 4*2801 TEBYA AT DSTIR FTOR TEINPOE AV;S 5 ,RR0 V MO 5 0010 0045500 3*2801 02ERLD E BN 3 0401 0025500 2*2801 ROZEE BSTMUC BOFE YT BERPP;U + 0)(R TBTS 0 7205 1005500 1*2801 T UNCOE YT B'SCKLO;B R1+,0)(R VBMO 1 0012 176546746 012703' MOV #SECVAL+6,R3  010326 00432* 001752 004767 JSR PC,BIN2OC ;CONVERT BINARY TO OCTAL ASCII  004260 00433* 001756 016001 MOV 6(R0),R1 ;SECTION SIZE  000006 00434* 001762 010104 MOV R1,R4 00435* 001764 012703' MOV #SECSIZ+6,R3  010335 00436* 001770 004767 JSR PC,BIN2OC ;CONVERT BINARY TO OCTAL ASCII  004242 00437* 001774 010102 7%%E Cw  esBA  Js6 w D0s t s~002022 012767' MOV #SECT,MAPBUF  010302  004364 00445* 002030 004767 JSR PC,LPCALL ;PRINT SECTION NAME,BASE,SIZE,& CUM SIZE  004172 00446* 002034 000655 BR LODG10 ;NEXT 00447* .PAGE   PAGE 18  4-29-72 01:22:40:02 00448* LODH10: ;END OF PRINTING DEFINEDS: NOW PRINT UNDEFINEDS, IF ANY 00449* 002036 026767 CMP S?2e"~u2 7jB f  D &  ‹ & & N & L yeEw@ m~u57& 5E -?-   Ν  ~tv Be (- -- ee  E E Ev~vÝ;`Ý1`Ý*`%<< % ÝÜx   @~ju~usv{d(v&@&& f&f`~Zv 1  i D7!_ |ŊY BT Q BM.sJ D EE /? 4405 0 * 6912 0? ET YCKLO BOP TOFD EN ; 1 R EC D4:B4XT N0153002 4405 0 * 6812 04 0503 0  100501  ] [1O TTR PITIN ;0 1.TR,PROEZON # OV M0:B4XT'N6727014 4305 0 * 6712 0 CKLO BXTNET ARSTO TCEENQUSE" -0"1A R FOH RCEA S ; * 6612 0 * 6512 0Y ARNDOU BCKLO BOFE AS CIN" .0R1PT "ETES RIDVO;A4 B4XT N R B 0304002 4305 0 * 6412 0R TOEC SOP TING ININMARES TEBY# ; R10, R UB S 0100160 4305 0 * 6312 00 3407 0BYME,USYME ;ANY UNDEFINEDS?  006462  006500 00450* 002044 001427 BEQ LODH30 ;NO: GO TO MESSAGE 00451* 002046 012704 LDER04: MOV #4+100000,R4 ;"UNDEFINED GLOBALS"  100004 00452* 002052 004767 JSR PC,ERRPRT ;PRINT MESSAGE AND RETURN  004216 00453* 002056 012767' MOV #UNDHED,MAPBUF  010400  004330 00454* 002064 004767 JSR PC,LPCALL ;PRINT HEADINC UU&-xE~dw eet?p6  pw `%%wBA  J6 w w U~wwwwwwG&ć <-I~Tx76 w e  0mH5} :xœxx Da`*x4~xwӵeK6 w D~v9W51 4 @ FsNsNs `kK zp ac Hs5Osֈ4v{f  w,~Jww0w0wdDspJsD M*2 u-e  Bv   e 1 lD tRs ~w<@ -wwuEeu  Հ E ``es  Ps Qs =~:xv= v=v=v vUALsC4vv Os w  z   EAARR WELOF OOP;T R12,BKBJ#O V MO 1'7012 0245400 2*2601 423000  R0R,PTLK B OV M 0067010 4205 0 * 6112 0 RTTA SCKLO BXTNED IN FTOE AREPPR ; 0:B3XT N * 6012 0 0 :0593::201 729--2 4 50 GEPA    GEPA . * 5912 0 * 5812 06 0403 0  000200  A RE AORCTSEP TOO TCKBAR TEINPOT IFSH ; R PTLK,B8.12 # UB S 6727162 4105 0 * 5712 02 5201 0FG  004136 00455* 002070 012767' MOV #UNDDEF,MAPBUF ;SET UP TO PRINT FROM UNDEFINED BUF  010446  004316 00456* 002076 012746'LODH20: MOV #UNDNAM,-(SP)  010452 00457* 002102 010046 MOV R0,-(SP) 00458* 002104 104047 EMT R50UNP ;CONVERT TO ASCII 00459* 002106 004767 JSR PC,LPCALL ;GO PRINT IT  004114 00460* 002112 062700 ADD #BPSYM,R0 ;BUMP TO NG V $,x5'x& H H H)6y8y8~Dy:yy6y@yZym~y@*jkoy~4z~zH56v~xJ& `wRŀ5 E 7 <[5@ !% 4~*ye 45 0   5% Z2 lm l m 44 ef~y   bxf 5? @E6vw(Os C4v AJs~zD 5vw2@nw W& N & $ @DsDFsC  METIT EX NOR F #ORCTSEP UM;B ECJSOB C IN 7 2605 0065400 6*2501 ES;Y 01ERLD E BN 6 0701 0045400 5*2501 660700  ? ORRR EADRE ; R ERBJ O ST T 6757000 4005 0 * 5412 0 ****ORCTSET EX NADRE**** ; O CIIS D MT E 2340106 3705 0 * 5312 02 3606 0  T IS LADREC IS;D ) SP-(T,LSBJ#O V MO 6'7412 0725300 2*2501 --R-TOEC SXTNED EA R -ES;Y 1*2501 0*2501JEXT ENTRY  000012 00461* 002116 020067 CMP R0,USYME ;REACHED END?  006422 00462* 002122 103765 BLO LODH20 00463* 00464* LODH30: ;NOW PRINT "PASS 2" ON TTY 00465* 002124 012767' MOV #PAS2MG,TTYBUF  010030  004226 00466* 002132 012746' MOV #TTYLST,-(SP)  006344 00467* 002136 104013 EMT TTYOUT ;PRINT MESSAGE 00468K[~${~{y~||d.|&@&& f&f 1  i| D7!L `` c  .sNs ~zB ac\ RWf  @ 6 Hs4v2vOs  Hsw: 56v ww~~ {@B  ``BmRs V R@ uNsw|ww w @ 52v5vPs vBLs ~{E w B$v2r2rvrv  0tvtvvwf FOs wjB@ 6vOs~{AJsD Qs v ,   LEDUMOT EX NOR FITINO G: REMOO ;N 90TBNX T BL 3 7602 0705300 9*2401 323100  ? LEDUMON IRSTOEC SREMOY AN ; T TCEC S EC D 6753004 3605 0 * 4812 0S ADRER TOEC SVESIESCCSUR FOE ER HOPLO ; 0:B1XT N * 4712 0 EDEDNET NOD EA REW-NNO ; 0 B3XT N LO B 1634102 3605 0 * 4612 00 3407 0  063100  ? ORCTSER WELOO NT IWEE AR ;2 BKBJ#OR,PTLK B MP C ' 2767024 3505 0 * 4512 02 1403 0  100501 N* 00469* ; ******************************************************************** 00470* .PAGE   PAGE 19  4-29-72 01:22:42:38 00471* ;PASS 1 IS NOW COMPLETED. NOW BEGIN PASS 2 TO FORM THE 00472* ;LOAD MODULE ITSELF, COMPLETE WITH HEADER AND TRAILER. 00473* ;THE METHOD IS SHOWN IN STEPS AS FOLLOWS: 00474* O~|_ 6 ŊY BT Q BM4yJ D EE /? 9W51 4 @ LyTy~}Ty `kK zp gi Ny5UyЂ:|f  w,w0w0wdJypPyD MU~|}*2 {-e  B|   e 1 lD tXy <@ -ww{Ee{ ~}  Հ E ``ey  Vy Wy =|= |=|=|P1f& f& :|N|~r|d~|s!A~NV^"}@~b}w w  w w 1~}  ] [1O TTR PITIN ;0 1.TR,PROEZON # OV M ' 6727016 3405 0 * 4412 0 K:BLXT N * 4312 0 * 4212 0S LEDUMOE OR MNO ; 0 B8XT N R B 1505004 3405 0 * 4112 04 7177 1  CKLO B AADRED ANE ULOD MXTNER FOT NI;I D MOXT,NPC R JS: 90TBNX7 7604 0405300 0*2401 9*2301 F.AL HERPP UHE TTOIN ; 8*2301 CKLO BSTLAE THE RCFOO TLEDUMOE THN IORCTSEL NAFIE TH ; R ;1) OPEN A TEMPORARY ELEMENT IN THE BATCH FILE AREA 00475* ;2) BUFFER IN ONE TEXT BLOCK AT A TIME FROM OBJ MODULES 00476* ;3) MODIFY RELOCATABLE CODE KEYED IN ASSOC'D RLD BLOCKS 00477* ;4) BUFFER MODIFIED TEXT OUT TO TEMPORARY LOAD MODULE 00478* ;5) CREATE TRAILER FOR RELOCATING AT RUN TIME 00479* ;6)S|UARyC:|~l~| Uy w  t  5<|D& `wRŀ~~5 E7 <[5@ !% 4e 45 0 f~\  5% Z2 lm l m 44 e   hxf /~ 5? @ E<|w(Uy C:| T F %A%=  7 |E |, Z(P䳊ac w w ~R~& i ww pt `f Հ|V@ x| b w@w-~~ZwR h7@  7#$} :$   @ w@|` l|X| a~Bi72`X| @| x}   n * | R V | H7*2301 R TEAFD EA RISR TOEC SALONTIDIADE ON R.FEUF BORCTSEO-TW ; 6*2301 E THF OLFHAR PEUPN IISK OCBLT EX NOFE YT BNE OSTEA LAT ; 5*2301 L TIUNS ORCTSEN IDSEA RNETIOUBRSU ":CKLO BXTNE;" 4*2301 466::5231: 02 -7294- 9 4 E AGP  E AG.P 3*2301 PC S RT: 30TMNX7 2000 0365300 2*2301 020000  ITEX" ODGO "KETAO TMPBU ; P)(S2, #V FILL IN THE HEADER AND TRAILER POINTERS 00480* ;7) DEFINE A ROS FILE AND TRANSFER LOAD MODULE TO IT 00481* ;8) MAKE APPROPRIATE CHECKS ON TASK DATA IN HEADER... 00482* ; ...AND INIT APPROPRIATE MONITOR TABLES FOR TASK 00483* 00484* ;THESE OPERATIONS ARE DONE A SECTOR AT A TIME, TO 00485* ;CONSERVE PROGRAM BUFFEWAPyD 5|w2@nw W& m~LN & $ @JyDLyC `` c  4yTy B giV RLWf  v~Ā@ 0 Ny:|8|Uy  Nyw:5<|~ ww~~@B  ``BmXy V R@ -~} L> m~"  w&3 7w؁@  DD A 1627062 3305 0 * 3112 04 1303 0  407300  ADRET RSFIE RCFOO TERNTOI PCKLO BITIN ;R PTLK,BK2JBOB # OV M ' 6727014 3205 0 * 3012 00 1603 0  100000  MENAT EX NTOE NCVAAD ; R PTAM,N8. # DD A 6727066 3105 0 * 2912 04 2003 0  D EA RSTLAN OORCTSEA TREXE ONT AN;W CTCTSE C IN 7 2605 0125300 8*2201 103200  6 0000 0  T UNCOR TOEC;S CTCTSE),R06( V MO 7 0616 0045300 ZR SPACE. 00486* 00487* ; FIRST MUST INIT TRAILER AND OTHER POINTERS... 00488* 00489* 002140 016700 MOV PRSIZE,R0 ;TOTAL PROGRAM BYTES  006346 00490* 002144 005300 DEC R0 ;IN CASE SIZE IS MULTIPLE OF 128 BYTES 00491* 002146 006200 ASR R0 00492* 002150 042700 BIC #100000,R0  100000 00493* 002154 006200 ASR R0 00494* 00215[ FUy wjB@ <|UyAPyD Wy | ,  1n~,f& f& @T!~dz!AڄT\d~(@~\} n~ ~*~r H ^ @ L| ȁRn H w œE@|l3 Հŀ } p~V؎   w B *3 u e  ŜuEqeu 7  ~e  ``e0}pCn |r nKFsՀs @|lBE1f~& f&  ̃27*2201 301600  4 0000 0  # R TOEC SRTTA;S ECJSOB),R04( V MO 7 0616 0765200 6*2201 063200  R0R,PTAM N OV M 0067012 2705 0 * 2512 06 1703 0  LEDUMON ICKLO BSTIR FGSLA;F K1OCBL R CL 7 0605 0665200 4*2201 ITEX" NEDO "KETA: REMOO ;N 30TMNX T BL 4 4202 0645200 3*2201 163200  ? ESULOD MREMO ; R CTAM N EC D 6753000 2605 0 * 2212 0 LEDUMOJ OBT EX NADREO TRSTEMERAPAP U^6 006200 ASR R0 00495* 002160 006200 ASR R0 00496* 002162 006200 ASR R0 00497* 002164 006200 ASR R0 00498* 002166 006200 ASR R0 ;PGM BYTES/128=# WHOLE SECTORS FOR PRGM 00499* 002170 005200 INC R0 ;GET TO BEGIN OF NEXT SECTOR AFTER PGM 00500* 002172 010001 MOV R0,R1 ;FIRST SECTOR FOR TRAILER 00501* 002174 006300 ASL R0 00502* 002176 006300 _w w  w w 1|| F| %A%= M~  7 E 6 , Z(P䳊gi {w {w {& o{{ {w~w pn{ ``{ ՀP{@ x h w@wZwR h7@ ~ 7#$ :$   @ w@` r^ i72`^ F ~$`J~zr,,,,, ,,ROS DISC SYSTEM INITIALIZED   pl|p||le~lpZj|@| 6%.t  u| %0 }e B|#E w| ]~j w7 } % %  w   o wX~TSSEE INUTRO ; D:MOXT N * 2112 0 2 :1553::201 729--2 4 48 GEPA    GEPA . * 2012 0C P TS R 0702006 2505 0 * 1912 04 1377 1  P POEG,RR5 R JS: 04UISQ7 5604 0525200 8*2101 01UISQ BR 0 7700 0505200 7*2101 K OCBLN ILLTI;S 03UISQ T BG 5 3703 0465200 6*2101 R2 C DE 2 3005 0445200 5*2101 R FENSRA TCKLO;B + 4)(R+,0)(R V MO: 03UISQ4 0212 0425200 b ASL R0 00503* 002200 006300 ASL R0 00504* 002202 006300 ASL R0 00505* 002204 006300 ASL R0 00506* 002206 006300 ASL R0 00507* 002210 006300 ASL R0 ;NOW HAVE RELATIVE PC FOR TRAILER START 00508* 002212 022020 CMP (R0)+,(R0)+ ;ALLOW FOR 2-WORD TRAILER HEADER 00509* 002214 010067 MOV R0,TRAPC ;INIT PERMANENT FOLLOWER OF TRAILER PC  006310 00510* 0022c~t   n * | R V  H1ŀ @ &&  zzwX~@Rgiz& y 67 wbwp 7 7 R77   6x~d ` ŜE Z-xpe l -j \ r^L 1 wv 88~܆<9=> L> m$  w&3 d~ZRR L/P 1 PARITY ERROR L/P 1 NOT READY L/P 1 ABORTEDԄX&f&f ~҅ 70 B      *:2LBܴac0 3~J  & w0 s3Ƅ3 Ą3 Ȅ΄sʄ3 ʄ3 ̄ "!~†F 4*2101 L BOYM SER PDSOR W=#ERNTOU;C 2 ,RR1 V MO: 02UISQ2 1010 0405200 3*2101 ITEX: ES;Y 04UISQ ISBH 5 0003 1365200 2*2101 063300  ? LEAB TOFP TOD HEACRE ; E YMUS0, R MP C1:I0QU S6700022 2305 0 * 1112 0 ERNTOU CASW LOBEE US ; 1 R SR A 0162000 2305 0 * 1012 0 R1E OVABT ENEMELE ONS AYST ; R01, R DD A 0001066 2205 0 * 0912 02 0100 0  E IZ SNTMELE;E 1 ,RYMPS#B V MO 1 7012 0225200 f20 162700 SUB #LDBYTS+4,R0 ;TRAILER START AS OFFSET FROM RELOC ZERO  000012 00511* 002224 010067 MOV R0,TXTBK1 ;PUT IN FIRST WORD OF LOAD MODULE  004272 00512* 002230 005067 CLR TXTORG ;PC @ BEGIN OF CURRENT TEXT BUFFER  006304 00513* 002234 012767 MOV #LDBYTS,CURPC ;ALLOW FOR LEAD WORDS INSERTED BY LOADER  000006  006230 00514* 002242 012767' MOV #LDBYTS+Tg7w~Tއ@  hx ~r H ^ @ L ·R/~̇n H w œE@l3 Հŀ w V؎   w H ~D *3 { e  Ŝ{Eqe{ 7  e  ``e6pCn 6 r n~KFsՀs @lBhƋ  8  ΄   ƋwF  M΄2e2~:Ąac&  Ą& f Ƅ΄ D  )  s3~Ƅ΄3 Ą3 ȄFsʄƋ3 ʄ3 ̄  *M 3 h  M ̄%̄   Mv w~*  3 ̄h&Rd x MCf΄  ҄ l ̄,̄d :   w8*2001 0 ,RR4 V MO 0 4010 0205200 7*2001 567117  AVGSRE5, R SR J 6745004 2105 0 * 0612 0 LEAB T'DEFND UHE TOMFR4 RBYO TEDNTOI PRYNT EVEMORE ; H:ISQU S * 0512 0 * 0412 0* ****************************************************************** * ; * 0312 0 * 0212 01 Q0NS U R B 6507002 2105 0 * 0112 0 1)(R,-0)(R - OV M 4140010 2105 0 * 0012 0 1)(R,-0)(R - OV M 414001jXTBK1,TXTPTR ;...ALSO FOR TEXT POINTER  006530  006272 00515* 002250 012767 MOV #128.,TXTCNT ;INIT FOR TWO-SECTOR TEXT TRANSFERS  000200  004242   PAGE 20  4-29-72 01:22:46:34 00516* .PAGE   PAGE 21  4-29-72 01:22:46:42 00517* 002256 016767 MOV LODTMP,BFNAME ;INIT BFUP NAME FOR OUTPUT LOAD MOD  006214  kE1f& f&  ҉20~4r,,,,, ,,[~ROS DISC SYSTEM INITIALIZED   prplelpZj|F 6%.z  {~$ %0 e B6 #E w6 w7  % %  w ~  o wXl~v&ff& ȄAaes!ʄB3 Є D! ! 3  Є % !3  ^ĕ  R  s!ʄ5ЕsȄ츅~  3  Є 5  6 & `3   4W 1 .W +5(5%D~ eD   !!5  @& 5 55 ~ t 3҄    ԄhR&d t f6 2005 0 * 9911 0 1)(R,-0)(R - OV M 4140014 2005 0 * 9811 0 1)(R,-0)(R - OV M 4140012 2005 0 * 9711 0 VEMOK OCBL ; 1)(R,-0)(R - OV M2:Q0NS U4140010 2005 0 * 9611 0C P TS R 0702006 1705 0 * 9511 00 ,R)+SP ( OV M 0026014 1705 0 * 9411 01 ,R)+SP ( OV M 0126012 1705 0 * 9311 0E ONR HEOTANE OV MT:YET NO ;2 Q0NS U HI B 0310100 1705 0 * 9211 0? ET Y'NOC LEDIRES DTON OW DWEE AR ; R40, R MP C1:Q0NS U0400026 1605 0 * 9111 02 0100 0 n 004172 00518* 002264 016767 MOV LODTMP+2,BFNAME+2  006210  004166 00519* 002272 112767 MOVB #1,BFTYPE ;TYPE = LOAD MODULE  000001  004163 00520* 002300 012746' MOV #BFBLK1,-(SP)  006452 00521* 002304 104037 EMT BFENTR ;CREATE TEMP ELEMENT FOR LOAD MODULE 00522* 002306 005767 TST BFBLK1 ;ERR?  004140 00523* 002312 001060 Bod~"RX L/P 1 PARI^~TY ERROR L/P 1 NOT READY L/P 1 ABORTEDڊ^&f&f  70 B~      *:Ċ2ĊLBܴgi0  & ~|w0p  e00~& Džw@aAa ! @΄wX f  `BafZ ~5 f ƅ1 N7 H&  & & &  !"$'(+\~r-.03569:@9 0/STUVWXY _,(%\"Z -JKLMN~~ROPQ $*];^R ! +ABCDEFGH .)[<#I ? ~ʍ * 8411 04 RATT ERNS IGO ; 1 Y0NS I R B3:T0NP I1707006 1405 0 * 8311 06 3403 0  120000  RSHEOTH IT WNGLO AITE NCVAADT US.M.. ; BJROPTM,SYBP # DD A 6727060 1405 0 * 8211 03 T0NP I HI B 0310106 1305 0 * 8111 06 3503 0  ..R.TEINPOD MOJ OBW LOBEG INRTSEINF ;I J OBTR,PR4 P CM 7 4620 0325100 0*1801 SD LTOINY TRENT ERNS ITOE IM;T : 02PTIN 9*1701 N AIAGY TR: EROW LLLTI;S 01v06174 00529* 002336 016767 MOV MODCNT,NAMCTR ;RE-INIT COUNTER FOR # OF OBJECT MODULES  006132  006136 00530* 002344 012767' MOV #NAMBUF,NAMPTR ;RE-INIT POINTER TO MODULE NAMES  010546  006132 00531* 002352 012767' MOV #TRAILBLOCK+4,TRAILPOINTER ;INIT TRAILER POINTER  007562  006146 00532* .PAGE   PAGE 22  4-29-72 01:22:48:34 w~\fԊ  ؊ l Ҋ,Ҋd :   wv&ff& ΊAaes!ЊB3 ֊ D! c~Ԏ! 3  ֊ % !3  ^ĕ  R  s!Њ5ЕsΊ쾋  3  ֊ 5~L  6 & `3   4W 1 .W +5(5%D eD   !!{~ď5  @& 5 55 z x RJ$.E~Bprt CR 1 ERROR CR 1 SPUR INT f&f  6 @ B @   1~ {s Ӵac1 0 & z  ~2 & iwճ 3   H  $fd ,  ~X PTIN OSBL 0 7601 1305100 8*1701 020000  2 0000 0  S VEAL HND 2REPAOM CL:UAEQS VEAL HST;1 ) R22(),R42( P CM 2 4626 0225100 7*1701 G INOKLOP EE KR:IERLEAS INE OEW;N 01PTIN O BL 4 7603 1205100 6*1701 : LYALICETATPHALR TELAS INE OEW;N 02PTIN I BH 5 0001 1165100 5*1701 S:RDWOF-AL HSTIR;F ) R2,(4)(R P CM 2 4121 0145100 4*1701 ERRD OICETABPHALE INRMTEDEL IL WREPAOM CN:IOCTSES HI TINL ILSTS IIT; z 00533* LODJ10: ;LOOP HERE TO PROCESS SUCCESSIVE OBJ MODULE BLOCKS 00534* 002360 004767 JSR PC,NXTMOD ;SET UP FOR NEXT OBJECT MODULE  002674 00535* 002364 000534 BR LODJ98 ;EXIT IF NO MORE 00536* 00537* 002366 004767 LODJ12: JSR PC,GETBLK ;GET NEXT NON-GSD BLOCK  000102 00538* 002372 000537 BR LODJ50 ;FOUND A "MODULE-END" BLOCK 00539* 002374 0005{3؊    ڊ~<nX&d t f  e00& Džw@aAa !U~ @ԊwX f  `Baf` 5 f ƅ1 N~,7 H&  & & &  !"$'(+-.03569: M@ 3 |M0_M , D!  ""! !  ~Fl el  M  %(W %B %%%  3*1701 2*1701 E.ER HRTSEIN: EDND EAS HONTIEC SO:;N 02PTIN E BN 7 0001 0125100 1*1701 040000  5 0000 0  ? RYNT EOLMBSYL BALO G AXTNES ;I Y TREN#G),R41(S+AGFL PBCM 7 4226 1045100 0*1701 W.NON IITK ICST: ES;Y 02PTIN ISBH 3 0103 1025100 9*1601 223400  S?OLMBSYD NEFIDEF OND ECHEA RWED DI ; MESY4, R MP C 6704026 0705 0 * 6811 0. E]AM N'SONTIEC SIST IE:ONT RSFI~57 BR LODK10 ;"TEXT" BLOCK 00540* 002376 000401 BR LODJ18 ;"RLD" BLOCK 00541* 002400 000772 BR LODJ12 ;"ISD" BLOCK: IGNORE 00542* 00543* 002402 012767 LODJ18: MOV #3,TSWICH ;RLD! SET FLAG TO SHOW NOT FOLLOWING TXT  000003  006124 00544* 002410 005067 CLR TXTBC ;DON'T ALTER "TXTPTR" IN "TXTOUT"  006122 00545* LODJ20: .<(++~!$-ެ?:'"ABDGHɠKMNPҠSUVYZ\ݠABDG@~HɠKMNPҠSUVYZ03569% f6 wJe`~ 6 w Ǹ DE@!!  CaaŠw ͎e! ee e w ̀~ȓ  ŋW  ~`   CBU3H N ; Bfd CEAB5B  ~wwf. 5 f t1 3 3 s  "   3 ~z$fd : AB."Ȓp &< : n J 3~ w&3 " w 7 w Hǀ DE@!!  CaaŠP KI[S ; * 6711 02 0100 0  RYNT EONTIEC SE)BLSIOS(PT EX;N 4 ,RYMPS#B D AD: 01PTIN4 7062 0725000 6*1601 263400  N IOCTSET ENRRCUF OINEG BTOR PT ; R4T,ECTS P OV M 0467016 0605 0 * 6511 0W LOBE4 REDNE ; R24, R OV M 0204014 0605 0 * 6411 02 3177 1  V SAEG,RR5 R JS 7 5604 0605000 3*1601 2*1601 Y.TRENE ATIDNDCAO TTSINPO4 R D.LSF ;O  ;PROCESS NEXT COMMAND IN RLD BLOCK 00546* 002414 005700 TST R0 ;IS RLD BC EXHAUSTED? 00547* 002416 003046 BGT LODJ22 ;NO - CONTINUE 00548* 00549* LODJ60: ;DONE WITH BLOCK: OUTPUT TEXT, IF ANY, AND CONTINUE 00550* 002420 004767 JSR PC,TXTOUT ;GO OUTPUT TEXT, IF BUFFER IS FULL...  003424 00551* ; ;...OR IF "CURPC" WAS CHANGEDe ee e Q Š@(4 ~j !NW#v*.........kkkx 7r wkw ~t7tw  7^w w >ĝ\7Zk70 , Zk"Rkw.& dk^k@j D A  & ~DCc  w 2w  w  ' 7  &w \w wXw w  fw |t w 7 w#~dtww ǎe! e~je  w ƀȓ  ŋWe ee e Q Š@(~zzBHQ b.........kkk0~Zx 7r wkw 7tw  7^w w >ĝ\7Zk70 , Zk"Rkw.& dk^k}~Ҕ@j D A  &DCc  w 2w  w  1*1601 ONTIEC SNTREUR CTOINY LLCATIBEHALP ARYNT EANT ERNS;I : RHPTIN 0*1601 329::4231: 02 -7294- 6 4 E AGP  E AG.P 9*1501 141200  RTRPERC, P SR J 6747004 0505 0 * 5811 02 0200 0  E URALFIH RCEA SOLMBSYL BALO;G R42,#2 V MO: 22ERLD4 7012 0505000 7*1501 ******************************************************************** ; 6*1501  00552* LODJ66: ;NOW PROCESS NEW BLOCK, IF IT FORCED TEXT OUTPUT 00553* 002424 016702 MOV TSWICH,R2 ;SWITCH INDICATES INITIATING BLOCK TYPE  006104 00554* 002430 020227 CMP R2,#TMAX ;IS THIS VALUE LEGAL  000003 00555* 002434 003013 BGT LDER12 00556* 002436 006302 ASL R2 ;MAKE INTO BYTE INDEX 00557* 002440 000172' JMP @LODJ69(R2)  002444 00558* hw  %-E e䓂 wh6 ߞ =w F6 / w :( w 2! w * w "w * 7 w (~ܕ7w 77Ҟߞ Jw7  ww (b ww w A B` r% wv~T| 7twrjwhg E 7pwhP E tP Iw -% w  c~̖=w 7 =w e0w ,w %@w ~ke=w @' 7  &w \w wXw w  ~Jfw |t w 7 wtwhw  %-E e䓂 wh6 ߞ =w F6 / w :( w 2! w *~•* w "w * 7 w 7w 77Ҟߞ Jw7  ww (b ww w A ~:B` r% w| 7twrjwhg E 7pwhP E tP I-~w -% w  5*1501 PC S RT 7 2000 0465000 4*1501 447317  E ORSTRE ; OPGPRE5, R SR J 6745002 0405 0 * 5311 02 4177 1  W?LORFVE;O F OVYM,SPC R JS 7 7604 0365000 2*1501 + 4)(R+,2)(R V MO 4 2212 0345000 1*1501 + 4)(R+,2)(R V MO 4 2212 0325000 0*1501 + 4)(R+,2)(R V MO 4 2212 0305000 9*1401 RYNT EHE TINE OV;M + 4)(R+,2)(R V MO 4 2212 0265000 8*1401 163500  2 0100 0  ME 00559* .PAGE   PAGE 23  4-29-72 01:22:51:34 00560* LODJ69: ;"TSWICH" JUMP TABLE 00561* 002444 002366' LODJ12 ;T=0: TEXT FOLLOWED BY RLD. NO ACTION ON RLD REQUIRED 00562* 002446 002734' LODK10 ;T=1: TEXT FOLLOWED BY TEXT. PROCESS SECOND TEXT BLK NOW 00563* 002450 002672' LODJ50 ;T=2: TEXT FOLLOWED BY MODULE END. GET NEXT MODULE NOW 00564* 002452 002366' w XwE~Dww=w  w  dw *Ae0w v,w nHBFw 6- .27, ( B~:8w ?w 7 w 777     w %0 %7E `  1 W ֆ ~4m7 yD|jNr™ `ޚ$,VHʗPڔZ7U<D 2 7.7(% ~ w %=w w  w w ww  =w 7 =w e0w ,w %@w ~ky~*e=w @w Xwww=w  w  dw *Ae0w v,w nHBFw 6- .2~7, ( B:8w ?w 7 w 777     w %0 %7E `  1~~ W ֆ m7 yD|jNr™ `ޚ$,VHʗPڔZ7U<~D SY,UYMPS#B D AD 7 7662 0205000 7*1401 043500  2 0100 0  S ERNTOI PTHBOP UM;B E YM,SYMPS#B D AD 7 7662 0125000 6*1401 360100  E YM SATE OL H AKEMA ; SHUISQUNC, P SR J1:Y0NS I6747006 0005 0 * 4511 0 * 4411 06 5103 0  4 ,RMESY V MO 4 7016 0025000 3*1401 2 ,RR4 V MO 2 4010 0005000 2*1401 767317  AVGSRE5, R SR J 6745004 7704 0 * 4111 0 * 4011 0E YMUS{LODJ12 ;T=3: LONE RLD (NO PREVIOUS TEXT). GET NEXT BLOCK 00565* 00566* 000003 TMAX = .-LODJ69/2-1 ;MAX ALLOWABLE T-SWITCH VALUE 00567* ; ******************************************************************* 00568* 00569* 002454 012704 LDER07:MOV #7,R4 ;"BFENTR" ERROR  000007 00570* 002460 004767 JSR PC,ERRPRT  003610 00571* 00572* 002464 01270 7mw \~$w %/w \ z \pp.  L e  ! B ! =L !64~4 $ .!464 $ % w   @w @ % % w  ww  ~D  &C@AEPA&fw w /w w :w   ` E ~` H 8 wFLew 7U4E2 7.7(%  w %=w w  w w ww   ~ 7mw w %/w \ z \pp.  L e  ! B:~ ! =L !644 $ .!464 $ % w   @w @ % % ~w  ww  D  &C@AEPA&fw w /w w :w & E YM SRSTEINPOT USDJ A ; * 3911 0 D)GSN I.,.G(EY TRENE THO TTSINPO4 R ; * 3811 0D LSF OONTIEC SEDINEF DINY TRENN ARTSEIN ; E:YMNS I * 3711 0 8 :3473::201 729--2 4 45 GEPA    GEPA . * 3611 0C P TS R 0702002 7704 0 * 3511 0 K.O. ; 0 ,R)+SP ( OV M 0026010 7704 0 * 3411 04 4677 1  W?LORFVE;O F OVYM,SPC R JS 7 7604 0644700 3*w4 LDER12: MOV #12,R4 ;MAX T-JUMP TABLE INDEX EXCEEDED  000012 00573* 002470 004767 JSR PC,ERRPRT  003600 00574* 00575* 00576* GETBLK: ;SUBROUTINE TO GET A NON-GSD BLOCK. KEEPS FETCHING BLOCKS 00577* ;UNTIL FINDING A TEXT, RLD, OR MODULE END BLOCK. 00578* ;RETURNS TO: RTN+0 FOR MODULE-END; RTN+2 FOR TEXT; 00579* ;RTN+4(w T76  p$ew V׭1~dU7w @ŝŝwdt wt! ~|w w Jw @eZ%ĕt72 $$w Bw .e` w ;w ĝw w~f&f 46 0c.c7$c7$c cw rc5c~lcgbbbV  <  ~r` E ` H 8 wFLew 7U4E(w T76u~ꚍ  p$ew V׭dU7w @ŝŝwd~bt wt! w w Jw @eZ%ĕt72 $$w Bw .e` w ;w ~ڛĝw wf&f 461301 603500  2 0100 0  R TEINPOP UM;B MESY,UYMPS#B D AD 7 7662 0564700 2*1301 + 0)(R+,4)(R V MO 0 4212 0544700 1*1301 + 0)(R+,4)(R V MO 0 4212 0524700 0*1301 Y TRENL BOYM;S + 0)(R+,4)(R V MO 0 4212 0504700 9*1201 EDINEFND UHE TINE OV;M + 0)(R+,4)(R V MO 0 4212 0464700 8*1201 763500  0 ,RMESY U OV M 0067012 7404 0 * 2711 0T IVESA ; ) SP-(0, R OV M 4600010 7404 0 * 2611 0s FOR RLDF RTN+6 FOR ISD. 00580* ;IF LAST BLOCK IN LAST MODULE IS NOT TEXT, RLD, OR MND, 00581* ;NO RETURN WILL BE MADE, BUT THE EXIT FROM PASS 2 WILL BE MADE. 00582* ;ROUTINE WILL NOT REJECT ILLEGAL COMMANDS ABOVE [6], BUT WILL 00583* ;INSTEAD MIS-INTERPRET THEM FOR ONE OF THE LEGAL ONES. 00584* 00585* 002474 004767 JSR PC,NXTBLK ;GET NEXT OBJECT MODULE BLOC6 !%& &e N @ e0w &  ~ b7~brbnbE w   w ׭4b ^w Uw w"~\ nj  7,XR-P Dw@ 78 %(!  %??~ԝw N%w 77w Z e0w ,w w p CZ~Lå 0c.c7$c7$c~R cw rc5ccgbbbV  <6 !%& &e N @ e0w & (~ʜ  b7~brbnbE w   w ׭4b ~B^w Uw w nj  7,XR-P Dw@ 78 %(!  %e~??w N%w * 2511 0D GSN IRYNT EF"RE".O TNGTIINPO4 R: UTNP I ; * 2411 0D LSF OONTIEC SEDINEFND UINY TRENN ARTSEIN ; M:SYNU I * 2311 0* ****************************************************************** * ; * 2211 0 * 2111 0C P TS R 0702006 7304 0 * 2011 00 0100 0  E LUVAT GE: NDOU;F 4 ,R4)(RLFVA V MO 4 4016 0324700 9*1101 SD LIND UNFOT NOE AM;N 22ERLD BR 7 44oK  002646 00586* 002500 000466 BR LODJ98 ;NO MORE BLOCKS: EXIT PASS 2 00587* 002502 010001 MOV R0,R1 ;POINTER TO DATA 00588* 002504 010500 MOV R5,R0 ;BYTE COUNT 00589* 002506 012102 MOV (R1)+,R2 ;GET BLOCK COMMAND 00590* 002510 162700 SUB #2,R0 ;COUNT OFF TWO BYTES FOR COMMAND  000002 00591* 002514 162702 SUB #2,R2 ;DISCARD COMMAND å$ נA   e` ƞ  Ëנe ee e ѐ  ~Ğ@(z)z)@ ODT-11R V002ABE# *;/\ $G _<^,OWEBP@>SRC-FI!XASPMCFRB~<Ÿ)eL x  N N Ê <%! ,c ѐhˋÜ`E $  RP   LwZ ɋr pxj o77w Z e0w ,w w pS~2 Cå å$ נA   e` ƞ  Ëנea~ ee e ѐ  @(x0x0@ ODT-11R V002ABEb;; *;/\ $G _<^,OWEBP@>SRC-FI!XASPM~"CFRBŸ)eL x  N N Ê <%! ,c ѐhˋlÜ`E $  00 0304700 8*1101 327617  E AM NOR FCHARSE ; OBGLPTC, P SR J 6747004 7204 0 * 1711 0 * 1611 0L BALO GOFE LUVA4= RT:PUUT O ; * 1511 0) 50AD(RE AM NALOBGLF ODRAD4= R: UTNP I ; * 1411 0 R4N IUEAL VALIN FTS IRNTURE& L BALO G AOR FSD LCHARSE ; B:LORG S * 1311 0* ****************************************************************** * ; * 1211 0 * 1111 0C P TS R kS BELOW 3.  000002 00592* 002520 003765 BLE GETBLK ;IGNORE THEM AND GET NEXT BLOCK 00593* 002522 042702 BIC #-3-1,R2 ;CHANGE 4 (MND=4+2) TO ZERO  177774 00594* 002526 006302 ASL R2 ;CHANGE TO BYTE INDEX 00595* 002530 060216 ADD R2,(SP) ;BUMP RTN ADDR APPROPRIATELY 00596* 002532 000207 RTS PC 00597* .PAGE   PAGP   LwZ ɋr p/ 0702002 7204 0 * 1011 02 0000 0  RNTURE" ODGO;" ) SP,(#2 D AD 6 7162 0164700 9*1001 ITEXR ERO:;N 01TSGE E BN 3 3701 0144700 8*1001 050000  1 0000 0  ? MENAN IOCTSEA T IIS: ES;Y 4)(R+1GSLA,FTNEC#S PBCM 4 7622 1064700 7*1001 6*1001 N URET RORRR EO:;N PC S RT: 01TSGE7 2000 0044700 5*1001 567617  ? SD LIND UNFOE BMENAN CA ; OBGLPTC, P SR J 6747000 7004gE 24  4-29-72 01:22:54:42 00598* ; ******************************************************************** 00599* LODJ22: ;PROCESS NEXT RLD COMMAND 00600* 00601* 002534 112102 MOVB (R1)+,R2 ;GET RLD COMMAND (NEGATIVE IF BYTE RELOC 00602* 002536 010204 MOV R2,R4 ;WILL USE UNSIGNED COMMAND FOR INDEX 00603* 002540 042704 BIC #-177-1,R4 ;LEAVE ONLY COMMAND: NO SIGN   ,,,,, ;SIX CHARS IN NAME OF UNDEFINED REF 010453 000 010454 000 010455 000 010456 000 010457 000 01689* .PAGE   PAGE 70  4-29-72 01:24:43:38 01690* 010460 000000 ABSVAL: .WORD 0 ;ABS/RELOC FLAG FOR CURRENT SYMBOL 01691* 010462 000000 ASWICH: .WORD 0 ;SWITCH FOR IGNORING "ASECTS" 01692* 010464 000000 BC: .WORD 0 ABSREL = 000040 ABSVAL 010460R ACTSIZ = 000024 ADDPUT 005640R ARG = 000001 ASCDAT 011014R ASWICH 010462R BASE = 000010 BC 010464R BCD = 000001 BFBLK1 006452R BFCLOS = 000041 BFENTR = 000037 BFINIT = 000036 BFNAME 006456R BFOPEN = 000040 BFSECT 006464R BFSIZE 006466R BFSTAT 006462R BFTYPE 006463R BIN = 000000 BIN2OC 006236R BLKPTR 0104 0 * 0411 0 * 0311 0 NDOU;F B R B ; * 0211 0 NDOU FOT;N A R B ; * 0111 0C SEET,GPC SR J L:AL C ; * 0011 0) NDOU FIF (SD LINN IOCTSED MENAO TTSINPO4 RT:PUUT O ; * 9910 0 MENA0 D5RAO TTSINPO4 R: UTNP I ; * 9810 0E AM NONTIEC STOR TEINPOT GE ; C:SEET G * 9710 0 8 :1443::201 729--2 4 44 GEPA   c 177600 00604* 002544 112103 MOVB (R1)+,R3 ;OFFSET FROM TEXT COMMAND 00605* 002546 001402 BEQ LODJ24 ;ZERO OFFSET IS A DUMMY 00606* 002550 162703 SUB #4,R3 ;ADJ OFFSET DUE TO "TXT" CMD & "PC" WORD  000004 00607* 002554 010367 LODJ24: MOV R3,OFFSET ;NOW IS OFFSET FROM FIRST WORD OF TEXT  005726 00608* 002560 066703 ADD TXTPTR,R3 ;ACTUAL BUFFER ADDRESS TO LOCATE TEXT   ;BYTE COUNT 01693* 010466 000000 BLKPTR: .WORD 0 ;POINTER TO CURRENT PLACE IN INPUT BLOCK 01694* 010470 000000 BLOCK1: 0 ;FLAG FOR FIRST BLOCK IN MODULE 01695* 010472 000000 CURPC: .WORD 0 ;CURRENT VALUE OF RELATIVE "PC" 01696* 010474 000000 MODCNT: .WORD 0 ;COUNT OF # OF MODULES TO LINK 01697* 010476 046534 LODTMP: .RAD50 "LOD" 01698* 010500 077430 .RAD50 "TMP" ;NAME OF LOADER TEMPORARY E66R BLOCK1 010470R BPSYM = 000012 BSIZE = ****** G BSZTAB 004336R BTCHID = 000010 B2ONTA 006242R CHKPTC = 000000 CLKENB = 167002 CMDMAX = 000016 CMD.1 = 165016 CMD.2 = 165016 CMD.3 = 000000 CMD.4 = 000000 CMD1 003042R CMD2 003062R CMD3 003106R CMD4 003130R CMD5 003162R CMD6 003206R CMD7 003242R CMD8 003306R CMD9 003374R C GEPA . * 9610 0N AIAGY TR ; 2 L0TG P R B 4307006 6704 0 * 9510 02 0100 0  Y TREND LST EX;N 0 ,RYMPS#B D AD: 04GLPT0 7062 0724600 4*0901 H TCMAO ;N 3*0901 024::4231: 02 -7294- 3 4 E AGP  E AG.P 2*0901 1*0901 PC S RT 7 2000 0704600 0*0901 020000  N URET RD"OO"G ; P)(S2, # DD A 1627064 6604 0 * 8910 0_ 005756 00609* 002564 016705 MOV PTSECT,R5 ;POINTER TO SECTION ENTRY IN LSD  005730 00610* 002570 020427 CMP R4,#CMDMAX ;IS COMMAND WITHIN LEGAL RANGE?  000016 00611* 002574 003032 BGT LDER20 ;ILLEGAL COMMAND 00612* 002576 005767 TST ASWICH ;SET TO IGNORE "ASECTS"?  005660 00613* 002602 001403 BEQ LODJ26 ;NO - O.K. TO GO THROUGH 00614* 002604 02LEMENT 01699* 010502 000000 NAMCTR: 0 ;COUNTER FOR NAMES INPUT FROM TTY 01700* 010504 000000 NAMPTR: 0 ;POINTER TO NAMES IN INPUT LIST 01701* 010506 000000 OFFSET: 0 ;KEEPS OFFSET FROM BEGIN OF LOAD MODULE 01702* 010510 001 ONEZRO: .BYTE 1,0 010511 000 01703* 010512 000000 PRSIZE: .WORD 0 ;CURRENT PROGRAM SIZE 01704* 010514 000000 PTROBJ: .WORD 0 ;POINTER TO CURRENT OBJ MOD ENTRY IN LSD 01705* 010516 000NT.1 = 165014 CNT.2 = 165014 CNT.3 = 000000 CNT.4 = 000000 CR = 000015 CRB1.1 = 177162 CRB1.2 = 177162 CRB1.3 = 000000 CRB1.4 = 000000 CRB2.1 = 177164 CRB2.2 = 177164 CRB2.3 = 000000 CRB2.4 = 000000 CRS.1 = 177160 CRS.2 = 177160 CRS.3 = 000000 CRS.4 = 000000 CRVC.1 = 000230 CRVC.2 = 000230 CRVC.3 = 000000 CRVC.4 = 000000 CR1 = 000002 CR2 = 00 VESAUN ; 0 ,R)+SP ( OV M 0026012 6604 0 * 8810 06 5703 0  E BLTACALOREE LS EE;UTOLBS A0:;= L VABS,AR0 V MO 7 0610 0564600 7*0801 377717  AGFLC LORES/ABE ATOLIS ; R01,L-REBS-A # IC B 0027042 6504 0 * 8610 04 0000 0  S AGFLS L'BOYM;S R0),R44( V MO 0 4016 0464600 5*0801 SD LINE AM NNDOU FTOS NTOI POW;N 4 ,RR0 V MO 4 0010 0444600 4*0801 04GLPT Q BE 3 4101 0424600 3*0801 05[0427 CMP R4,#7 ;ALLOWED TO PROCESS TYPE 7 "PC" CMD ONLY  000007 00615* 002610 001303 BNE LODJ60 ;IGNORE REST OF RLD BLOCK 00616* 002612 006304 LODJ26: ASL R4 ;MAKE WORD INDEX 00617* 002614 000174' JMP @LODJ29(R4) ;GO TO PROPER COMMAND ROUTINE  002620 00618* 00619* .PAGE   PAGE 25  4-29-72 01:22:57:04 00620* 002000 PTR1.0: .WORD 0 ;POINTER FOR DETECTING ONE-ZERO SEQUENC 01706* 010520 000000 PTSECT: .WORD 0 ;POINTER TO CURRENT SECTION NAME IN LSD 01707* 010522 000000 SECTCT: .WORD 0 ;SECTOR COUNTER WHEN READING IN A MODULE 01708* 010524 000000 SYME: .WORD 0 ;NEXT OPENING IN LSD FOR DEFINED SYMBOL 01709* 010526 000000 TRAILPOINTER: .WORD 0 ;NEXT SPACE IN TRAILER BLOCK 01710* 010530 000000 TRAPC: .WORD 0 0002 CR3 = 000000 CR4 = 000000 CUMSIZ 010336R CURPC 010472R DBLDEF = 000004 DBUFSZ = 000001 DEFINE = 000051 DFLIST 006470R DIRAD1 = 000500 DIRLN1 = 000052 DISCIO = 000023 DISCUN = 000001 DPRTY = 000001 DRESDI = 000001 ECHOCH = 000040 END01 010174R END03 010302R END04 010344R END05 010400R END06 010445R ENTRY 010344R EOLCH = 000012 0000  0 0000 0  S MENAD MOJ OBT OUR TEIL;F 0)(R+1GSLA,FMNBJ#O PBCM 0 7622 1344600 2*0801 ! CHAT;M 1*0801 O ;N 04GLPT E BN 7 0101 0324600 0*0801 020000  2 0000 0  ? CHAT MMENAF-AL HND;2 ) R02(),R42( P CM 0 4626 0244600 9*0701 O ;N 04GLPT E BN 3 0201 0224600 8*0701 ? CHAT MMENAF-AL HSTIR;F ) R0,(4)(R P CM: 03GLPT0 4121 0204600 7*0701 PC S RT 7 2000 016W620 002662'LODJ29: .WORD LDER20,CMD1,CMD2,CMD3,CMD4,CMD5,CMD6,CMD7,CMD8,CMD9 002622 003042' 002624 003062' 002626 003106' 002630 003130' 002632 003162' 002634 003206' 002636 003242' 002640 003306' 002642 003374' 00621* 002644 003062' .WORD CMD2,LDER17,CMD4,CMD5,CMD6 ;THESE ARE .CSECT COMMANDS 002646 001230' 002650 003130' 002652 003162' 002654 0032 ;TRAILER "PC" 01711* 010532 000000 TRSCSV: .WORD 0 ;SAVE OF INITIAL TRAILER SECTOR 01712* 010534 000000 TSWICH: 0 ;SWICH USED TO DIRECT FLOW AFTER TEXT OUTPUT 01713* 010536 000000 TXTBC: .WORD 0 ;BYTE COUNT OF DATA IN CURRENT TEXT 01714* 010540 000000 TXTORG: .WORD 0 ;CURRENT PC AT BEGIN OF RESIDENT TEXT 01715* 010542 000000 TXTPTR: .WORD 0 ;POINTER TO CURRENT OPEN SLOT IN TEXT 01716* 010544 000000 USYM EOMCH = 000033 EOMOPT = 000000 EOMPRT = 000000 ERNEND 010133R ERRMSG 010112R ERRNUM 010127R ERRPRT 006274R ERRP10 006340R EXEBC = 000000 EXIT = 000004 FF = 000014 FILESZ = 000020 FLAGS = 000004 FXPART = 000001 GENTRY = 000004 GETBLK 002474R GETPC 004436R GETPCR 004430R GETPC1 004442R GETSEC 004700R GETS01 004704R GLBVAL 010372R GLOBAL 01034600 6*0701 ! NDOU FOT;N R0+,P)(S V MO 0 6012 0144600 5*0701 ET YOT;N 03GLPT O BL 2 4003 1124600 4*0701 323700  D?EN ; E YMUS0, R MP C2:L0TG P6700026 6004 0 * 7310 06 7003 0  OD MBJ ONTREUR;C 0 ,RBJROPT V MO: 01GLPT0 7016 0024600 2*0701 02GLPT BR 2 4000 0004600 1*0701 201001  E BLTAL BOYM SOFG INNNGIBE@ N GIBE: NO ; 0 ,RGNDBLS # OV M ' 0027014 5704 0 * 7010 0D MOJ OBT ENRRCUT AS06' 00622* 000016 CMDMAX = .-LODJ29/2-1 00623* 00624* 002656 000167 LODJ98: JMP LODL00 ;END OF PASS 2: GO WRITE LOAD FILE  000572 00625* ; ******************************************************************* 00626* 00627* 002662 012704 LDER20: MOV #20,R4 ;ILLEGAL TEXT-MODIFICATION COMMAND  000020 00628* 002666 004767 JSR PC,ERRPRT  003402 00629* E: .WORD 0 ;NEXT SLOT IN LSD FOR UNDEFINED SYMBOL 01717* 01718* ; ******************************************************************** 01719* 01720* 011006 NAMBUF: .=$MXOBJ*8.+. ;BUFFER HOLDS OBJ MODULE RAD50 NAMES... 01721* ;...AND SECTOR INFORMATION FOR EACH MODULE. USES FOUR WORDS PER MODULE. 01722* 01723* 011006 000000 TMPBUF: .WORD 0,0,0 ;TEMPORARY CON62R GSDMAX = 000004 GSDTAB 001024R HEADER = ****** G HEDING 010134R HICORE = 117777 HMAXEQ = 000006 HPRIOR = 000011 HSTACK = 000020 HSTATS = 000016 HT = 000011 HTASK = 000017 IDEND 010000R IDMSG 007756R IFD = ****** G INEBC = 000000 INPCNT 011016R INPTRH 005060R INPT01 005072R INPT02 005132R INPT03 005146R INSYME 004774R INSY01 005006R IRTTA SS:YE ; 1 L0TG P EQ B 0314002 5704 0 * 6910 02 0000 0  ? KSANBL6 F OSECA..;. R0),R42( S BI 0 4056 0664500 8*0601 . ..ALCIPE SHE TISTHS ;I 0 ,R4)(R V MO 0 4011 0644500 7*0601 ITE AV;S P)(S,-R0 V MO 6 0410 0624500 6*0601 5*0601 NDOU;F B BR ; 4*0601 NDOU FOT;N A BR ; 3*0601 B LOTG,PPC R JS O 00630* .PAGE   PAGE 26  4-29-72 01:22:58:44 00631* LODJ50: ;MODULE-END BLOCK FOUND: 00632* ;MOVE MODULE POINTER "PTROBJ" TO NEXT MODULE NAME IN LSD; 00633* ;THEN BRING IN NEXT OBJECT MODULE 00634* 00635* 002672 016702 MOV PTROBJ,R2 ;CURRENT MODULE NAME IN LSD  005616 00636* 002676 062702 VERSION BUFFER 011010 000000 011012 000000 01724* 01725* 011014 000214 ASCDAT: .WORD $MXOBJ*7 ;TTY INPUT BUFFER FOR COMMAND STRING 01726* 011016 000000 INPCNT: .WORD 0 ;ACTUAL CHARACTER COUNT 01727* 01728* LSDBGN: ;"LOADER SYMBOL DIRECTORY": WRITES OVER UNNEEDED BUFFER 01729* 014740 .=$LSDSZ*2+. ;RESERVE SPACE FOR SYMBOL TABLE 01730* 014740 LSDENUSYM 004740R IOSTAT = ****** G LDBYTS = 000006 LDER01 005602R LDER02 005612R LDER03 005622R LDER04 002046R LDER05 006040R LDER06 003424R LDER07 002454R LDER10 000634R LDER11 000644R LDER12 002464R LDER13 001036R LDER14 001046R LDER15 001056R LDER16 001114R LDER17 001230R LDER20 002662R LDER21 003032R LDER22 005050R LDER23 003434R LDER24 00 L:AL C ; 2*0601 1*0601 D UNFOF IRYNT ESD LTOR PT4= RT:PUUT O ; 0*0601 E AM N50AD RTOT PR4= RT:PUIN ; 9*0501 8*0501 D.LSE THN IEAAR; 7*0501 LEDUMOT ECBJ ONTREUR CHE TTOH RCEA SHE TNGTIMILIY BLEDUMOT ECBJ OCHEA; 6*0501 TOE QUNI UDEMAE ARD AN, KSANBL6 S AEDCTTEDEE AR, EREVOW HS,CTSEC-; 5*0501 D MENAUNE TH M.RO FMSRAOGPRD OA LTOE AS BNE OLYONK ADD #5,R2 ;POINT TO FLAGS BYTE  000005 00637* 002702 062702 LODJ52: ADD #BPSYM,R2 ;NEXT ENTRY  000012 00638* 002706 020267 CMP R2,SYME ;HIT LSD END?  005612 00639* 002712 103361 BHIS LODJ98 ;*****END OF LSD: NORMAL END OF PASS 2***** 00640* 002714 121227 CMPB (R2),#OBJMN ;IS THIS ENTRY AN OBJ MOD NAME?  000000 00641* 002720 001370 BNE LODJ52 ND = . ;END OF LOADER SYMBOL DIRECTORY 01731* 000001 .END 000000 ERRORS 3444R LDER25 005670R LDER26 004466R LDER30 004044R LDER31 004042R LDER32 004040R LDER33 004036R LDER34 004034R LDER35 004032R LDER36 004030R LEDWDS = 000003 LF = 000012 LFRG.1 = 165012 LFRG.2 = 165012 LFRG.3 = 000000 LFRG.4 = 000000 LINELN = 000110 LODA00 000332R LODA10 000440R LODA20 000460R LODA30 000506R LODA40 000524R LODB10 000530R S HAS HU TND AD,LS; 4*0501 HE TINE NC OLYONS ARPEAPT IS,NE OEDAM NHE TOFE ONS IONTIEC SHE TIF; 3*0501 E.ER HESLIY ITILABN IOCTSEL RONTCOS R'DEOA LHE TTOT REEC SHE;T 2*0501 1*0501 ) OD MBJ OOT(NE AM NALOBGLA R FOD LSH RCEA;S : OBGLPT 0*0501 300::4231: 02 -7294- 2 4 E AGP  E AG.P 9*0401 PC S RT 7 2000 0604500 8*0401 R0+,P)(S V MOG ;NO: KEEP LOOKING 00642* 002722 162702 SUB #5,R2 ;MOVE BACK TO 1ST BYTE OF ENTRY  000005 00643* 002726 010267 MOV R2,PTROBJ ;POINTER TO NEXT OBJ MOD ENTRY IN LSD  005562 00644* 002732 000612 BR LODJ10 ;INIT FOR NEXT MODULE 00645* 00646* .PAGE   PAGE 27  4-29-72 01:23:00:08 00647* LODK10: ;TEXT BLOCK :.7 "7 7 ȀXZ*(>  5x*U*L 8& h x5 x *p5& 5@x5. 5x5 x >* _ 5@x O*R J FߋxD:6*ėx$   @ {*(  TEST LINE FOR  LODB20 000572R LODC10 000654R LODC19 001066R LODC20 000704R LODC30 000712R LODD00 000720R LODD10 000746R LODD15 000764R LODD20 000766R LODE00 001072R LODE20 001126R LODE22 001156R LODE24 001174R LODE40 001240R LODE42 001304R LODE44 001316R LODE50 001326R LODE52 001336R LODF00 001344R LODF10 001376R LODF20 001402R LODF30 001452R LODF40 0014 0 6012 0564500 7*0401 RYNT ESD LTOS NTOI POW;N 4 ,RR0 V MO 4 0010 0544500 6*0401 D!UNFO; 5*0401 4*0401 O ;N D4MOSR E BN 7 3601 0524500 3*0401 020000  2 0000 0  ? CHAT MMENAF-AL HNDCOSE: ES;Y ) R02(),R42( P CM 0 4626 0444500 2*0401 O ;N D4MOSR E BN 3 3701 0424500 1*0401 ? CHAT MMENAF-AL HSTIR;F ) R0,(4)(R P CM: D3MOSR0 4121 0404500 0*0401 D1C ENCOUNTERED: FIRST TRANSFER IT TO INTERNAL 00648* ;BUFFER, THEN GET NEXT BLOCK. IF ANOTHER "TXT", OUTPUT FIRST 00649* ;ONE. IF AN "RLD", MODIFY TEXT, BUILD TRAILER, THEN OUTPUT TEXT 00650* ;IF MODULE END, OUTPUT TEXT BLOCK AND GET ANOTHER MODULE. 00651* 00652* 002734 005767 TST ASWICH ;SWITCH SET TO IGNORE "ASECTS"?  005522 00653* 002740 001212 BNE LODJ*LCOMBINED DMA PRINTER AND DISC EXERCI{*pSERABCDEFGHIJKLMNOPQRSTUVWXYZ1234567*890'(*)=,$.ABCDEFGHIJKLMNOPQRSTUVWXY=Z1234567890'(*)=,$.76R LODF50 001504R LODF60 001534R LODF90 001544R LODG10 001570R LODG20 001574R LODG25 001672R LODG30 001706R LODG40 001732R LODHED 000000RG LODH10 002036R LODH20 002076R LODH30 002124R LODJ10 002360R LODJ12 002366R LODJ18 002402R LODJ20 002414R LODJ22 002534R LODJ24 002554R LODJ26 002612R LODJ29 002620R LODJ30 003042R LODJ32 003062R LMOSR BR 2 7600 0364500 9*0301 120000  OD MJB OANT NO ; R0M,SYBP # DD A4:ODRM S0027062 5304 0 * 3810 0 E?AM SMENAS IS:YE ; 3 ODRM S EQ B 0314000 5304 0 * 3710 05 0000 0  000000  ? MENAD MOJ OBN ARYNG EISTH);R01(S+AGFLN,JMOB # B MP C2:ODRM S6027122 5204 0 * 3610 0C P TS R 0702000 5204 0 * 3510 02 0000 0  " NDOU FOT"NR FON URET RERLT;A ) SP,(#2 D AD 6 7162 0144500 4*0301 ! NDOU FOT;N ?12 ;YES: GO GET NEXT BLOCK 00654* 002742 162700 SUB #2,R0 ;ADJUST BYTE COUNT...  000002 00655* 002746 005721 TST (R1)+ ;...AND POINTER FOR "PC" AS 1ST TXT WORD 00656* 002750 010067 MOV R0,TXTBC ;SAVE TEXT BLOCK BYTE COUNT  005562 00657* 002754 016702 MOV TXTPTR,R2 ;CURRENT OPEN CELL IN TEXT SAVE BUFFER  005562 00658* 002760 005300 LODK20: DEC R0 0 n*|G*  7xp_*5 a`7*,55@ E7|C*Prlj7 f`dб@  X 7NЄ *tF.U@7 B72 : /*" % 5 *@  55ύ 1ODJ34 003106R LODJ36 003130R LODJ38 003162R LODJ40 003206R LODJ42 003242R LODJ44 003306R LODJ45 003340R LODJ46 003374R LODJ50 002672R LODJ52 002702R LODJ60 002420R LODJ66 002424R LODJ69 002444R LODJ98 002656R LODJ99 003102R LODK10 002734R LODK20 002760R LODK30 002770R LODK40 003010R LODK50 003020R LODK52 003026R LODL00 003454R LODL04 00 R0+,P)(S V MO 0 6012 0124500 3*0301 ET YOT;N D2MOSR O BL 4 4003 1104500 2*0301 144000  ? ESINEF DOFD END HEACRE ; MESY0, R MP C1:ODRM S6700024 5004 0 * 3110 00 0211 0  D LSF ORTTA;S R0N,BGSD#L V MO 0'7012 0004500 0*0301 ITE AV;S P)(S,-R0 V MO 6 0410 0764400 9*0201 8*0201 NDOU FOT;N BR B ; 7*0201 NDOU;F AR B ; ;BC TO ZERO? 00659* 002762 002402 BLT LODK30 ;YES 00660* 002764 112122 MOVB (R1)+,(R2)+ ;TRANSFER ANOTHER BYTE 00661* 002766 000774 BR LODK20 ;BACK FOR MORE 00662* 00663* 002770 005067 LODK30: CLR TSWICH ;INDICATE FIRST TXT BLCOK  005540 00664* 002774 004767 JSR PC,GETBLK ;GET NEXT NON-GSD BLOCK  177474 00665* 003000 000403 BR LODK40 ,7 N.W µ 0 0 4,&  C ` 7µ 30J0l0\ (  \*,r7 e 7 N 'W  &2&'  B M4 L *, &'|8 &' | , D B A w`D P3722R LODL10 003750R LODL20 003762R LODL22 004052R LODL25 004164R LODL28 004260R LODL30 004202R LODL40 004270R LODTMP 010476R LPBACK = 000001 LPCALL 006226R LPDT.1 = 165010 LPDT.2 = 165010 LPDT.3 = 000000 LPDT.4 = 000000 LPERR = 000010 LPINH = 000004 LPMXTM = 000264 LPRNTR = 000025 LPSIZE = 000204 LPVC.1 = 000200 LPVC.2 = 000200 LPVC.3 = 000000 ; 6*0201 DNMOSRC, PSR J : LLCA ; 5*0201 NDOU FOT NIFD GEANCHUN4 R ; 4*0201 D)UNFOF (ID LSN IMENAO TTSINPO4 RT:PUUT O ; 3*0201 MENA0 D5RAO TTSINPO4 R: UTNP I ; 2*0201 MENAE ULOD M AOR FSD LOFN IOCTSED NEFIDEH RCEA;S : DNMOSR 1*0201 507::3231: 02 -7294- 1 4 E AGP  E AG.P 7 ;"MODULE-END" 00666* 003002 000406 BR LODK50 ;"TEXT" 00667* 003004 000653 BR LODJ22 ;"RLD" 00668* 003006 000770 BR LODK30 ;ISD: IGNORE 00669* 00670* LODK40: ;TEXT FOLLOWED BY MODULE - END 00671* 003010 012767 MOV #2,TSWICH ;PUT OUT TEXT: THEN GET NEW MODULE  000002  005516 00672* 003016 000403 BR LODK52 ;GO O,@   z-2 @   ,, ^&*&' Le 7 &*1,P   E   ,t  $7 7 ,7  X  z v  X {,s*  `0d7z`w w| h  * ,Z ^ fZ rf \ B_o  LPVC.4 = 000000 LSDBGN 011020R LSDEND = 014740R MAPBUF 006414R MAPLST 006400R MAXID1 = 000764 MAXOVR = 000031 MFLAG 010356R MODCNT 010474R MODEND = 000006 MODULE 010174R MRCH = 000025 MSECR = 000001 MSGBUF = 000000 MXTASK = 000031 MXTIME = 000264 NAMBUF 010546R NAMCTR 010502R NAMPTR 010504R NCFILE = 000057 NCR = 000001 NCRLOC = 000726 NCRWDS = 0003 0*0201 761500  RTRPERC, P SR J 6747002 4704 0 * 1910 06 0200 0  " S!LKFO, LL A'SATTHH--TTH "W:LORFVE;O R46,#2 V MO: 26ERLD4 7012 0664400 8*0101 PC S RT 7 2000 0644400 7*0101 D HEACRED ENE BLTAL BOYM;S 26ERLD I BH 1 0001 1624400 6*0101 264701  4 0604 0  M SYBPD-ENSD#LE,YMUS P CM 7'7226 0544400 5*0101 OWFLEROVE BLTAL BOYM SOR FCKHE;C : VFMOSY 3UTPUT TEXT 00673* 00674* LODK50: ;TEXT FOLLOWED BY TEXT 00675* 003020 012767 MOV #1,TSWICH ;INDICATE MORE TEXT AFTER OUTPUT THIS 1.  000001  005506 00676* 003026 000167 LODK52: JMP LODJ60 ;GO OUTPUT UN-MODIFIED TEXT BLOCK  177366 00677* ; ******************************************************************** 00678* 00679* 003032 012704 LDER21: MOV fr,T 7 R & D   z$m"$$&v,(   6@B(,LE `BEC 3,pm  ! ! |""$&"2FXr2.2FX r 2,Xrwz  ee %Xrr,r  R 53 NDISCS = 000001 NDPRT1 = 000005 ND1END 010030R ND1MSG 010000R ND2END 010112R ND2MSG 010062R NEQP01 = 000012 NEQP02 = 000012 NEQP03 = 000012 NEQP04 = 000012 NEQP05 = 000012 NEQP06 = 000012 NEQP07 = 000000 NEQP08 = 000000 NEQP09 = 000000 NEQP10 = 000000 NEQP11 = 000000 NEQP12 = 000000 NEQP13 = 000000 NEQP14 = 000000 NEQP15 = 000000 NEQP16 = 000000 N4*0101 ******************************************************************** ; 3*0101 2*0101 PC S RT 7 2000 0524400 1*0101 344000  D ANMMCOD RLH IT WEDFICIPE SETFSOF ; R4T,SEFF O DD A 0467066 4404 0 * 1010 04 0204 0  RTTA SCKLO BXTTE@ C ;P R4C,RPCU D AD: C1TPGE4 7066 0424400 9*0001 020000  H TCFER TEAFS NTMERENC IPCE NCSI ; R42, # OV M 0427016 4304 0 * 0810 0O ER ZSEBAE ULOD/ #21,R4 ;FINAL MODULE BLOCK NOT MODULE END  000021 00680* 003036 004767 JSR PC,ERRPRT  003232 00681* .PAGE   PAGE 28  4-29-72 01:23:03:52 00682* LODJ30: CMD1: ;INTERNAL SYMBOL: ADD SECTION BASE TO LOCAL OFFSET - 00683* ;"ADD BIAS" INSTRUCTION INTO TRAILER 00684* 003042 012104 MOV (R1)+,R4 ;LOCAL VALUE 00685* 0030 7r r , R7 ` <N ,F w DDm tDQ$ k,8 bw  Dd H w,\DQ$ nD D \Q$Dd , D BQ$DdD dD,Q$ 87 7 x W- l D,Dde&7!d  V 7 v ,ɥɥ H e8 ,   @LP = 000001 NLPRTY = 000003 NLTASK = 000001 NPRIOR = 000006 NTRYS = 000003 NTTYS = 000001 NWUCH = 000005 NXTBLK 005346R NXTB10 005364R NXTB30 005420R NXTB40 005434R NXTB44 005442R NXTB46 005454R NXTB50 005520R NXTB60 005554R NXTB70 005570R NXTB80 005600R NXTB90 005340R NXTMOD 005260R NXTM30 005336R OBJBK1 007140R OBJBK2 007340R OBJERR 00 MADLOM RO FETFSOFH IT WRNTURE ; : PCET G * 0710 0 * 0610 01 PCET G R B 0204004 4304 0 * 0510 04 7777 1  PCUR CINY ADREALS RDWOD EA LOR FNTOUCC;A 4 ,R+2TSBYLD#- V MO 4 7012 0304400 4*0001 ROZEE BLTACALOREM RO FETFSOFS APCH IT WNSURET;R : CRTPGE 3*0001 ******************************************************************** ; 2*0001 1*0001 N RTD AN..;. R5 +44 066504 ADD BASE(R5),R4 ;CALC OFFSET FROM LOAD MODULE BASE  000010 00686* 003050 004767 JSR PC,ADDPUT ;PUT WORD IN TEXT AND "ADD" INTO TRAILER  002564 00687* 003054 162700 SUB #4,R0 ;BC  000004 00688* 003060 000410 BR LODJ99 00689* 00690* LODJ32: CMD2: ;GLOBAL RELOCATION: OFFSET FROM LOAD BASE INTO TEXT - 00691* ;"ADD,4     7  ,X  e! & e!,| @R P |1 R ,7 jX W 27W 4 X X }0. ' E# w f*;}G`,w8 W! W! sE;}G 8 ,W!  & 366372R OBJHED 007122R OBJLST 006362R OBJMN = 000000 OBJSEC 007134R OFFSET 010506R ONEZRO 010510R OVRLAY = 000001 OVTMIN = 000032 PAS2MG 010030R PAS2ND 010062R PC =%000007 PCMD1 = 000007 PCMD2 = 000010 PHDSZE = 000036 PPTAB = ****** G PRIBKG = 000006 PRIP01 = 177777 PRIP02 = 177777 PRIP03 = 000001 PRIP04 = 000001 PRIP05 = 177777 PRIP06 = 177777 S RT 5 2000 0264400 0*0001 R4+,P)(S V MO 4 6012 0244400 9*9900 R3+,P)(S V MO 3 6012 0224400 8*9900 R2+,P)(S V MO 2 6012 0204400 7*9900 R1+,P)(S V MO 1 6012 0164400 6*9900 ..S.ERTH ORETOES;R R0+,P)(S V MO 0 6012 0144400 5*9900 R5D DEEENN UOP;P + P)(S T TS 6 7205 0124400 4*9900 GS RRETOES;R : OPGPRE 3*9900 2*9900 N RTD AN..;. 5)(R P JM '" INTO TRAILER 00692* 003062 010104 MOV R1,R4 ;POINTS TO GLOBAL NAME 00693* 003064 022121 CMP (R1)+,(R1)+ ;BUMP PTR PAST NAME 00694* 003066 004767 JSR PC,SRGLOB ;SEARCH FOR NAME IN LSD  001632 00695* 003072 004767 JSR PC,ADDPUT ;PUT WORD IN TEXT AND "ADD" INTO TRAILER  002542 00696* 003076 162700 SUB #6,R0 ;BC  000006 00697* 003102 000167 LODJ99: JMP .4 s ) 11$& ` $:<}(H,Z U11   4949 2,~77 ~w ,n7 wf* !7 pwhf* ,wfQ$ 2 H2 ,&f&M , mm-4 PRIP07 = 000000 PRIP08 = 000001 PRIP09 = 000001 PRIP10 = 000000 PRIP11 = 000000 PRIP12 = 000001 PRIP13 = 177777 PRIP14 = 177777 PRIP15 = 177777 PRIP16 = 000000 PRSIZE 010512R PS = 177776 PTGLOB 004562R PTGL01 004602R PTGL02 004606R PTGL03 004620R PTGL04 004672R PTROBJ 010514R PTR1.0 010516R PTSECT 010520R REGPOP 004412R REGSAV 004376R RES0 = 0000 5 1100 0104400 1*9900 P)(S,-R0 V MO 6 0410 0064400 0*9900 P)(S,-R1 V MO 6 1410 0044400 9*9800 P)(S,-R2 V MO 6 2410 0024400 8*9800 . ..STREE AV;S P)(S,-R3 V MO 6 3410 0004400 7*9800 " SR"JY BEDSHPU5 ;R P)(S,-R4 V MO: AVGSRE6 4410 0764300 6*9800 484::3231: 02 -7294- 0 4 E AGP  E AG.P 5*9800 16S0$P0!0000&116IPPR D OR.W 4 0000 0744300 4*9800 15S0$P0!0000# LODJ20 ;COMMON RETURN (GET NEXT RLD COMMAND)  177306 00698* 00699* LODJ34: CMD3: ;INTERNAL DISPLACED RELOCATION: 00700* ;DISPLACEMENT FROM CURRENT PC INTO TEST - 00701* ;"SUB BIAS" INSTRUCTION INTO TRAILER 00702* 003106 004767 JSR PC,GETPCR ;GET PC AS OFFSET FROM RELOCATABLE ZERO  001316 00703* 003112 005404 NEG R4 00704*  &,2  ~&7 e ,V e #0-&],z 7 #0- ,  E7~ee  , e '&~p, e p 4w N ^, e De N w  ,. w e 7!  #w01 RES1 = 000012 RES10 = 000005 RES11 = 000002 RES12 = 000003 RES13 = 000002 RES14 = 000002 RES15 = 000006 RES2 = 000012 RES3 = 000012 RES4 = 000005 RES5 = 000002 RES6 = 000005 RES7 = 000002 RES8 = 000003 RES9 = 000002 RGSAVE = 000001 RLDCMD = 000004 R0 =%000000 R1 =%000001 R2 =%000002 R3 =%000003 R4 =%000004 R&115IPPR D OR.W 4 0000 1724300 3*9800 14S0$P0!0000&114IPPR D OR.W 4 0000 1704300 2*9800 13S0$P0!0000&113IPPR D OR.W 4 0000 1664300 1*9800 12S0$P0!0000&112IPPR D OR.W 4 0000 0644300 0*9800 11S0$P0!0000&111IPPR D OR.W 4 0000 0624300 9*9700 10S0$P0!0000&110IPPR D OR.W 4 0000 0604300 8*9700 09S0$P0!0000&109IPPR D OR.W 4 0000 0564300 7*9700 08S0$P0!0000&108IPPR D OR.W 4 0000 0544300 6*9700 07S0$P0!0000&107IPPR D OR 003114 062104 ADD (R1)+,R4 ;FORM (L-(.+2)) 00705* 003116 004767 JSR PC,SUBPUT ;PUT WORD IN TEXT AND "SUB" INTO TRAILER  002510 00706* 003122 162700 SUB #4,R0 ;BC  000004 00707* 003126 000765 BR LODJ99 ;NEXT 00708* 00709* .PAGE   PAGE 29  4-29-72 01:23:06:22 00710* LODJ36: CMD4: ;GLOBAL ,R 2-7!e &fe ,v  !!!!!w n @` , 7 B w \ 7 ~, 77 ep\e  , MHb-F Z  > H g, R&"H, 7 Ht,* ? 5Ћ#Bw,N ` 7@50 2,5 =%000005 R50PAK = 000046 R50UNP = 000047 SECNAM 010307R SECR = 000005 SECSIZ 010327R SECT 010302R SECTCT 010522R SECTN = 000001 SECVAL 010320R SP =%000006 SQUISH 005214R SQUI01 005232R SQUI02 005240R SQUI03 005242R SQUI04 005252R SRGLOB 004724R SRMODN 004476R SRMOD1 004504R SRMOD2 004522R SRMOD3 004540R SRMOD4 004532R STAT.1 = 16.W 4 0000 0524300 5*9700 06S0$P0!0000&106IPPR D OR.W 4 0000 1504300 4*9700 05S0$P0!0000&105IPPR D OR.W 4 0000 1464300 3*9700 04S0$P0!0000&104IPPR D OR.W 4 0000 0444300 2*9700 03S0$P0!0000&103IPPR D OR.W 4 0000 0424300 1*9700 02S0$P0!0000&102IPPR D OR.W 4 0000 1404300 0*9700 01S0$P0!0000&101IPPR D OR.W 4 0000 1364300 9*9600 8*9600 Y.OREM MTOIND DEOA LRE AEYTH ; 7*9600 EREVENWHE IZ SDISPLACED RELOCATION: 00711* ;DISPLACEMENT FROM CURRENT PC INTO TEXT 00712* ;NO TRAILER ELEMENT 00713* 003130 004767 JSR PC,GETPCR ;GET PC AS OFFSET FROM RELOCATABLE ZERO  001274 00714* 003134 010405 MOV R4,R5 ;SAVE IT 00715* 003136 010104 MOV R1,R4 ;PTR TO GLOBAL NAME 00716* 003140 022121 CMP (R1)+,(R1)+ ;BUMP PAST NAME 00717* r @ e 2 *, "ww` X   .  e L  (,   8w" tnX  n!,      ,( m2 *#e#! ,L  E m7],p 7eR  $5016 STAT.2 = 165016 STAT.3 = 000000 STAT.4 = 000000 STLBIT = 000000 STLINT = 000330 STLREG = 167000 STSIZE = 000144 SUBPUT 005632R SYME 010524R SYMOVF 004454R SYSTTY = 000000 TASKS = ****** G TASMAX = 000062 TEXTIO 006022R TICRES = 000012 TIMBIT = 000004 TIMINT = 000320 TITLE 010232R TMAX = 000003 TMPBUF 011006R TODBIT = 000010 TODINT = 000324 UMIMAX MHE TSTUEEQ RSTMUY HE TND AE,IZ SIND XEFI ; 6*9600 RE ANSIOITRTPAR EITH E.ICSLE-IM TOR NEDIX FOT N.,.E IC,MINADY ; 5*9600 ISY ITORRI PHE TIFT SES IIT BGNSIE TH Y.ITORRI PCHEAR FO ; 4*9600 S ZESI" GEPA "ORK OCBLE BLWALOALX MAF OLEAB;T : ABZTBS 3*9600 2*9600 1*9600 ****** R E D A O L F O D N E* ****;* ITEX T EM 4 0004 1344300 0*9600 UT 003142 004767 JSR PC,SRGLOB ;SEARCH FOR GLOBAL  001556 00718* 003146 160504 SUB R5,R4 ;GET DISPLACEMENT 00719* 003150 004767 JSR PC,TXTPUT ;PUT ALTERED WORD INTO TEXT  002624 00720* 003154 162700 SUB #6,R0 ;BC  000006 00721* 003160 000750 BR LODJ99 ;NEXT RLD 00722* 00723* LODJ38: CMD5: ;GLOBAL ADDITIVE RELOCATIO  R q,  #0 E   , w >Z J w .4ZJ , wR8 &Rj, D ^ D ,$ `' `yH    RR  TPRTY = ****** G TRAERR 006444R TRAHED 007540R TRAILB 007556R TRAILP 010526R TRALST 006434R TRAPC 010530R TRAPUT 005644R TRAP05 005662R TRAP10 005702R TRAP20 005762R TRAP30 005772R TRAR.W 007543R TRASEC 007552R TRES = 000005 TRSCSV 010532R TSTAT = ****** G TSWICH 010534R TTITIM = 000017 TTOTIM = 000017 TTWTIM = 000360 TTYBUF 006360R TTYIN = 0000YOTT T EM 3 0104 1324300 9*9500 446300  P)(S,-STYLTT # OV M ' 4627016 3204 0 * 5809 02 0302 0  620001  GESAES MD"EN2 S AS"P ;F BUTY,TSG2MND # OV M ' 6727010 3204 0 * 5709 0 4 :1323::201 729--2 4 39 GEPA    GEPA . * 5609 00 L4OD L GE B 6423006 3104 0 * 5509 0? REMO ; 0 R EC D 0053004 3104 0 * 5409 0T IS LINO NF IORCTSET AS PMPBU ; )+R1,()+R1 ( N: 00724* ;PUT SUM OF CONSTANT & GLOBAL (OFFSET::0) INTO TEXT; 00725* ;PUT "ADD" INTO TRAILER 00726* 003162 010104 MOV R1,R4 ;PTR TO GLOBAL NAME 00727* 003164 004767 JSR PC,SRGLOB ;SEARCH LSD FOR IT  001534 00728* 003170 022121 CMP (R1)+,(R1)+ ;BUMP PAST GLOBAL TO CONSTANT 00729* 003172 062104 ADD (R1)+,R4 ;CONST + XSYM 00730* 003 `z`@. , ROSLOD IIA # ROSLOD PASS #,1 END  ROSLOD PASS #2 BEGIN ,6 ROSLOD PASS #2 END ERROR #  Z | \},\ **** ROSLOD LOAD MAP **** BE,********** MODULE TITLE: "" SE,CTION ENTRY OFFSET SIZE TOTAL<,>  , 14 TTYLST 006344R TTYOUT = 000013 TTYSW = 000001 TXTBC 010536R TXTBK1 006522R TXTBK2 006722R TXTCMD = 000003 TXTCNT 006520R TXTERR 006426R TXTHED 006504R TXTLST 006416R TXTORG 010540R TXTOUT 006050R TXTO10 006104R TXTO40 006206R TXTPTR 010542R TXTPUT 006000R TXTP10 006012R TXTP20 006014R TXTR.W 006507R TXTSEC 006516R UNDDEF 010446R UMP C 2121022 3104 0 * 5309 06 1402 0  +2MENABF+,1)(R V MO 7 1612 0064300 2*9500 502100  E AM NLEDUMOJ OBT EX NTHWIT IS LLLFI ; E AMFN,B)+R1 ( OV M 6721012 3004 0 * 5109 00 1602 0  E ULOD MCTJEOB= E YP;T ATSTBF R CL 7 0605 0764200 0*9500 S OD MBJ OENTH, STIR FLEDUMOD OA LSELO;C OSCLBF T EM 1 0404 1744200 9*9400 526400  P)(S,-K1BLBF # OV M0:L4OD'L4627010 2704 0 * 4809 06 5410 0 174 004767 JSR PC,ADDPUT ;PUT WORD IN TEXT AND "ADD" INTO TRAILER  002440 00731* 003200 162700 SUB #8.,R0 ;BC  000010 00732* 003204 000736 BR LODJ99 ;NEXT RLD 00733* 00734* LODJ40: CMD6: ;GLOBAL ADDITIVE DISPLACED: 00735* ;SUM OF CONST & GLOBAL, LESS CURRENT OFFSET, TO FORM 00736* ;DISPLACEMENT TO PUT INTO T !********** UNDEFINED REFERENCES  &,&\MR$J} F NDEF = 000010 UNDHED 010400R UNDNAM 010452R UNSQUI 005150R UNSQ01 005166R UNSQ02 005200R USYME 010544R VALF = 000010 VALR = 000006 $ABMES = 000003 $ABMPL = 000000 $ALOD1 = 003042 $ALOD2 = 010460 $BATCH = 000001 $BCHID = 000010 $BCHTP = 000007 $CDISZ = 000004 $CPTNO = 000002 $DDSDC = 000001 $DEBUG = 000001 $DTAPE = 000001 $DYNSZ = 004000 $FD000 = 00  S MENAE ULOD MOFT IS;L R1F,BUAM#N V MO 1'7012 0644200 7*9400 104200  SELO CTOS NTMELE ELEDUMOT ECBJ OOF# ; R0T,CNOD M OV M 0067010 2604 0 * 4609 0 TSENLMLE EP"FU"BN PE OLL ASELO CTOE UR SBE: NTOI PITEXN MOOM;C 8:L2OD L * 4509 06 2002 0  LEDUMOD OA LINP UEDUSS ORCTSEF O;# E IZFS,BR1 V MO 7 1610 0544200 4*9400 3*9400 O GTOS ORCTSEE OR;M 30DLLO E BL 3 7503 0524200 2* EXT; 00737* ;NO TRAILER ELEMENT 00738* 003206 004767 JSR PC,GETPCR ;GET PC AS OFFSET FROM RELOCATABLE ZERO  001216 00739* 003212 010405 MOV R4,R5 ;SAVE IT 00740* 003214 010104 MOV R1,R4 ;GLOBAL NAME PTR 00741* 003216 004767 JSR PC,SRGLOB ;SEARCH FOR NAME IN LSD  001502 00742* 003222 022121 CMP (R1)+,(R1)+ ;BUMP PAST NAME TO CONST 0x3 xsxx3 ~x 3~z, xNl* v 6 F6Z Bf*l*& JnBe@` E@l* `*`*':_NW3:_NW3rW:_NW3:_NW3:_NW3NW*:_NW3:_NW3   '͕ e uBF*r MՋ  W! 0041 $FD001 = 000001 $FD002 = 000001 $FD003 = 000001 $FD004 = 000001 $FD005 = 000101 $FD006 = 000001 $FD007 = 000001 $FD008 = 000001 $FD009 = 000001 $FLTNO = 000004 $FS000 = 000562 $FS001 = 000454 $FS002 = 000454 $FS003 = 000454 $FS004 = 000454 $FS005 = 001750 $FS006 = 000454 $FS007 = 004704 $FS008 = 000454 $FS009 = 000454 $FTDRL = 000001 $FTMAX = 000012 9400 003300  ? ORCTSET AS LEDSSPAE WVEHA ; ECASTR0, R MP C 6700026 2404 0 * 4109 0 RSBEUM NORCTSEH OT BMPBU ; )+R1,()+R0 ( B MP C 2120124 2404 0 * 4009 06 5501 0  T"LSXT"TTHWIE ITWRR OADREO ;G O TIEX,TPC R JS 7 7604 0404200 9*9300 472200  TERI WTOT SE ; W R.XT T B NC I 6752104 2304 0 * 3809 00 2502 0  D.I.E IL FTERI;W D HEXT,TR2 V MO 7 2610 0304200 7*9300 662200  R TOEC0743* 003224 062104 ADD (R1)+,R4 ;C+XSYM 00744* 003226 160504 SUB R5,R4 ;C+XSYM-PC= DISPLACEMENT 00745* 003230 004767 JSR PC,TXTPUT ;PUT ALTERED WORD INTO TEXT  002544 00746* 003234 162700 SUB #8.,R0 ;BC  000010 00747* 003240 000720 BR LODJ99 ;NEXT RLD 00748* 00749* .PAGE   PAGE 30  p6F*& ˕ 㕀 pxsnx 0Zz*w$ &  4z, nx 0[g Kgw$7 k*KgWE g"geg"grFw"gk. ߕ!`*e2ad`*Jw  & & N`#N` NW3*W*RWW~WrWfWZWNWBW(WW~WrWfWZWNWBW6W&W $IDMAX = 000764 $INITD = 000003 $INPNO = 000001 $LSDSZ = 001750 $MXOBJ = 000024 $NBLKS = 000004 $NLINE = 000070 $NRES = 000020 $OVTYP = 000005 $PST = 000000 $PS001 = 000004 $PS002 = 000004 $PS003 = 000004 $PS004 = 000004 $PS005 = 000004 $PS006 = 000004 $PS007 = 000004 $PS008 = 000004 $PS009 = 000004 $PS010 = 000004 $PS011 = 000004 $PS012 = 000004 $PS013 = 0000 STERI WUPT SE ; ECTSTX1, R OV M 6701014 2204 0 * 3609 0 4 :5293::201 729--2 4 38 GEPA    6 5701 0  T"LSXT"TTHWIE ITWRR OADREO ;G O TIEX,TPC R JS 7 7604 0204200 5*9300 642200  0 0100 0  . .D IADREP UET;S EDTHTXD,HITC#B V MO 7 7612 0124200 4*9300 042300  ORCTSED EA RUPT SE ; ECTSTX0, R OV M 6700016 2004 0 * 3309 01 3002 0  ADREO TET;S .WTRTX  4-29-72 01:23:10:02 00750* LODJ42: CMD7: ;SET CURRENT PC AND POINT TO NEW SECTION 00751* ;IF .ASECT, THE CONSTANT WILL BE THE NEW PC, AND ITS 00752* ;BASE WILL BE ZERO. 00753* ;IF .CSECT, THE CONSTANT WILL REPRESENT THE OFFSET FROM 00754* ;THAT SECTION'S BASE. 00755* 003242 010104 MOV R1,R4 ;PTR TO SECT NAME SOUGHT 04 $PS014 = 000004 $PS015 = 000004 $PS016 = 000004 $RASIZ = 000310 $RASM = 000001 $RASNO = 000006 $RES = 000002 $RLDNO = 000005 $ROSFW = 000043 $SAVE = 104400 $SB001 = 000000 $SB002 = 000000 $SB003 = 000000 $SB004 = 000000 $SB005 = 000000 $SB006 = 000000 $SB007 = 000000 $SB008 = 000000 $SB009 = 000000 $SB010 = 000000 $SB011 = 000000 $SB012 = 000000 $RBCL: 30DLLO7 0605 1024200 2*9300 060000  . .D ILEFIE ITWR ; 2 ,R3)(R 6 OV M 0263016 1704 0 * 3109 0 ORCTSEE ITWRE IVATEL RITIN ; 1 R LR C 0150004 1704 0 * 3009 00 2702 0  #ORCTSED EA RVETILARET NI;I 0 ,RCTSEBF V MO 0 7016 0704100 9*9200 000000  N RUO TDYEA ROWSH ; ) R1R(DEEA H LR C5:L2OD'L6150004 1604 0 * 2809 00 0000 0  D.I.E IL FANTHR HEAT RSE;U 1)(RFD,IR0 V MO 1'0610 0604100 00756* 003244 022121 CMP (R1)+,(R1)+ ;BUMP TO CONSTANT 00757* 003246 004767 JSR PC,GETSEC ;SEARCH FOR SECTION NAME IN LSD  001426 00758* 003252 000470 BR LDER23 ;NOT FOUND 00759* 003254 010467 MOV R4,PTSECT ;PERM PTR TO SECT NAME IN LSD...  005240 00760* 003260 010405 MOV R4,R5 ;...ALSO CURRENT PTR 00761* 003262 162700 SUB #4,R0 ;BC (MORE BELOSB013 = 000000 $SB014 = 000000 $SB015 = 000000 $SB016 = 000000 $SGMNT = 000001 $SWATZ = 000024 $SYSFL = 000006 $SYSNO = 000006 $TKFLN = 000243 $TKFL1 = 000175 $TKFL2 = 000046 $TKFNS = 000003 $TMBAS = 000000 $TMSLC = 000001 $TWATZ = 000024 $1SEC = 000144 $100MS = 000012 $1145 = 000000 $500MS = 000062 . = 014740R 7*9200 000010  D.I.E IL FANTHR HEAT RFD IOWSH ; 0 ,R000010 # IS B 0027054 1504 0 * 2609 04 0000 0  D OR WFD;I R0),R34( V MO 0 3016 0504100 5*9200 . .D ILEFIE AVLE: EDRNTURED IFO ;N 25DLLO L BP 6 0000 1464100 4*9200 160000  ? EDSTUEEQ RFD IANS WA ; ) R0S(ATST H B ST T 6057102 1404 0 * 2309 00 0000 0  060000  D.I.E IL FITIN ; 1)(RFD,I3)(R 6 OV M ' 6163014 1304 0 * 2209 0 W)  000004 00762* 003266 005067 CLR ASWICH ;"ASECT" SWITCH: PREPARE  005170 00763* 003272 026527 CMP 4(R5),#410 ;IS THIS AN "ASECT"?  000004  000410 00764* 003300 001002 BNE LODJ44 ;NO-O.K. TO CONTINUE 00765* 003302 005267 INC ASWICH ;SET TO FORCE IGNORE OF ALL "ASECT" TEXT  005154 00766* ; CONTINUE AS IN "CMD8" 00767* EXND IRDWOA W NO ; 1 R SL A 0163002 1304 0 * 2109 00 0000 0  AYRLVE OIN" ESAG"P# T NI;I) R1E(IZBS+,P)(S VBMO 1'6612 1264100 0*9200 000000  ) R1T(TAOS I B LR C ' 6150102 1204 0 * 1909 00 0000 0  USATSTK AS;T ) R1T(TATS RBCL 1'0605 1164100 8*9100 000000  TYRIIOPR ; ) R1Y(RTTP2, R B OV M ' 6102112 1104 0 * 1709 0 VEBO AEDFTHI SAS WTYRIIOPR ; 2 R SR A 0262000 1104 0 * 1609 0 00768* LODJ44: CMD8: ;MODIFICATION TO PC: ".=.+C" 00769* ;BUMP PC BY ADDING NEW CONST TO CURRENT PGM SECT BASE 00770* 003306 016504 MOV BASE(R5),R4 ;CURRENT SECTION'S BASE  000010 00771* 003312 062104 ADD (R1)+,R4 ;ADD CONSTANT TO BASE VALUE 00772* 003314 062704 ADD #LDBYTS,R4 ;KEEP OFFSET DUE TO INSERTED LEADER WRDS  000006 00773* 003320 010446 MS YE ; 3 R3DE L NE B 5313006 1004 0 * 1509 02 0000 0  ? ORRR;E ) R32( TBTS 3 7605 1024100 4*9100 ******** ; 3*9100 EDINEF DLEFIT GEO ;G NEFIDE T EM 1 0504 1004100 2*9100 ******** ; 1*9100 P)(S,-R3 V MO 6 3410 0764000 0*9100 120000  NEFIDEO TRSTOEC SOF# ; ) R3.(105, R OV M 6305012 0704 0 * 0909 0 LEFIN IRSTOEC SOF# ; 5 R NC I OV R4,-(SP) ;SAVE NEW PC 00774* 003322 020467 CMP R4,CURPC ;SEE IF PC IS BEING SET BACKWARDS  005144 00775* 003326 103004 BHIS LODJ45 ;FORWARDS: O.K. 00776* 003330 012704 MOV #27+100000,R4  100027 00777* 003334 004767 JSR PC,ERRPRT ;MESSAGE AND RETURN  002734 00778* 003340 012667 LODJ45: MOV (SP)+,CURPC ;UPDATE CURRENT PC  005126 00779* 0552000 0704 0 * 0809 04 3702 0  -1S ORCTSEF O #ET;G 5 ,RCTSEBF B SU 5 7066 1644000 7*9000 663400  N TEITWRR TOEC SALIN FOF# ; R5C,SERA T OV M 0567010 0604 0 * 0609 00 0100 0  160000  STLIO NT IPETYE IL FADLO ; 3)(R8.),R0S(ATST H B OV M 6360112 0504 0 * 0509 0 LEFIS RO" NEFIDE "TOY ADRE ; 2:L2OD L * 0409 0 6 :0263::201 729--2 4 37 GEPA    GEPA .  ;(AS OFFSET FROM LOAD MODULE'S BASE) 00780* 003344 005067 CLR TXTBC ;AVOID ALTERING NEW [CURPC] IN "TXTOUT"  005166 00781* 003350 162700 SUB #4,R0 ;2 WDS FOR CMD8; 4 WDS FOR CMD7  000004 00782* ; PC COMMANDS MUST BE LAST IN RLD 00783* 003354 003652 BLE LODJ99 ;DONE: O.K. 00784* ; IF NOT DONE, THEN NEXT COMMAND MUST ALSO BE PC TYPE 0 * 0309 0 * 0209 02 2202 0  ITEXD ANR ROERT INPRO ;G T PRRR,EPC R JS 7 7604 0464000 1*9000 TSMILIE IDTSOU# K AS;T P)(S,-R4 V MO: 30ERLD6 4410 0444000 0*9000 TSMILIE IDTSOUY ITORRI;P R4 C IN: 31ERLD4 2005 0424000 9*8900 K AS T/S TOR FORRR ERYNT EEQ XAX;M R4 C IN: 32ERLD4 2005 0404000 8*8900 ORRR EE"IL FNEFIDE;" R4 C IN: 33ERLD4 2005 0364000 7*8900 TYRIIOPRR FOG BIO TOE 0785* 003356 122711 CMPB #PCMD1,(R1) ;IS NEXT COMMAND "PC DEFINITION"?  000007 00786* 003362 001647 BEQ LODJ99 ;YES: O.K. 00787* 003364 122711 CMPB #PCMD2,(R1) ;IS IT "PC MODIFICATION"?  000010 00788* 003370 001644 BEQ LODJ99 ;YES: O.K.   PAGE 31  4-29-72 01:23:14:06 00789* 003372 000424 BR LDER24 ;PC COMMAND NOT LAST IN RLD 00790* IZ SAMGRRO;P R4 C IN: 34ERLD4 2005 0344000 6*8900 D.I.E IL FALEGLL;I R4 C IN: 35ERLD4 2005 0324000 5*8900 PETYE IL FALEGLL;I R4 C IN: 36ERLD4 2005 0304000 4*8900 3*8900 ES;Y 22DLLO Q BE 1 4101 0264000 2*8900 050000  ? AYRLVE OANR FOL GALET IIS ; P TYOV#$5, R MP C 2705022 0204 0 * 9108 00 6077 1  N IG SEDNDTEEXF OID;R R51,7-17#- C BI 5 7042 0164000 0*89" .PAGE   PAGE 32  4-29-72 01:23:14:16 00791* LODJ46: CMD9: ;SET PROGRAM LIMITS 00792* 003374 005023 CLR (R3)+ ;FIRST TEXT WORD: RELATIVE ZERO 00793* 003376 016713 MOV PRSIZE,(R3) ;SECOND WORD: TOP OF PROGRAM  005110 00794* 003402 005223 INC (R3)+ ;MAKE FIRST AVAILABLE BYTE 00795* 003404 004767 JSR PC,TRAPUT ;CAUSE BIAS 00 160000  E YP TLEFID TEESQURE ; R5),R0S(ATST H B OV M 0560112 0104 0 * 8908 06 0000 0  T IS LTOIN. .D ILEFID OA;L 3)(R,6R5 V MO 3 5610 0064000 8*8800 35ERLD T BG 2 0103 0044000 7*8800 640700  D WELOALX MA=  00833* 003552 005200 INC R0 ;# OF CORE PAGES 00834* 003554 010046 MOV R0,-(SP) ;SAVE FOR USE BELOW 00835* 003556 016701 MOV PRSIZE,R1  004730 00836* 003562 006201 ASR R1 ;WORDS IN PGM ONLY 00837* 003564 062701 ADD #LEDWDS+PHDSZE,R1 ;# WORDS IN PGM PLUS HEADER  000041 00838* 003570 105001 CLRB R1 ;256 WORDS/PAGE [PDP-11/20] 00839* 0THR FOE IL FS"RO " ANEFIDEW NO ; * 5008 0 4 :3203::201 729--2 4 35 GEPA    GEPA . * 4908 04 1702 0  T"LSXT"TTHWIE ITWRR OADREO ;G O TIEX,TPC R JS 7 7604 0223600 8*8400 652600  E ITWR ; W R.XT T B NC I 6752106 6103 0 * 4708 00 2400 0  4.F OLEIPLTMU@ Y ARNDOU BPSEE KOP;N ) R0,(40#2 V MO 0 7112 0123600 6*8400 GEPAE RE FSTIR F = 1TEBY..;. )+R0,(03572 000301 SWAB R1 ;# PAGES -1 (EXCLUDING TRAILER) 00840* 003574 005201 INC R1 ;# PAGES (EXCLUDING TRAILER) 00841* 003576 160100 SUB R1,R0 ;# PAGES FREE TO RELEASE AFTER RELOCAT'N 00842* 003600 000301 SWAB R1 00843* 003602 150001 BISB R0,R1 ;BYTE 0 = # PAGES TO RELEASE... 00844* 003604 012700' MOV #TXTBK1,R0  006522 00845* 003610 010120 MOV R1