12 22FL SEG LOAD,60,RUTH PORTER 4 22_= # 4 23DW # 10 23YG SEGENTRY K1LOAD,XENT1 10 24D6 SEGENTRY K2LOAD,XENT2 4 24XQ # 6 25CB #DEF T=0 8 25X2 #DEF XLDEXA=EXTPS+4 17 26BL #DEF YCOUNT=EXTPS [HOLDS BLOCK COUNT 9 26W= #DEF WCHECKSUM=AWORK1 5 27*W #SKIP G4 21 27TG #DEF XQUOTA=AWORK2 [HOLDS INDIC OF PAGES TO BE LOCKED 14 28*6 [IN CORE 4 28SQ # 5 29#B N7 7 6 29S2 N513 513 5 2=?L #SKI G4 21 2=R= XMODE #40000 [ADDITIVE MODE FOR PERI INTO OBJ PROG 4 2?=W # 10 2?QG # NAMES OF ERROR MASSAGES 8 2#=6 WRBLK +JWRBLK 8 2#PQ NOENT +JNOENT 8 2*9B RINFF +JINFF 9 2*P2 WERRES +GRESLL 8 2B8L RCHER +JCHER 4 2BN= # 4 2C7W # 4 2CMG # 18 2D76 # S/R TO TEST REPLY WORD AFTER MT PERI. DOESNOT COORDINATE 7 2DLQ [ LINK X6 9 2F6B [ X2 PTS TO ACT BLOCK 6 2FL2 RESTARTMT 21 2G5L # A0,2 ARE IMPOSSIBLE.B3 IS A TAPE FAILURE. B4 IS A TAPE MARK - WRONG FO 9 2GK= # IGNORE B1 - LONG BLOCK 8 2H4W LDCT 0 #560 9 2HJG ANDX 0 CPRW1(2) 9 2J46 BNZ 0 XREADFAIL 7 2JHQ EXIT 6 0 4 2K3B # 4 2KH2 # 4 2L2L # 17 2LG= # ENTRY FROM LDSTART IF 2ND BLOCK WAS NOTR/S - MT ONLY 5 2L_W XENT2 5 2MFG #SKIP G4 19 2M_6 STOZ XQUOTA(2) [INIT'LOCKED PAGES'INDICATOR 10 2NDQ MHUNTW 3,FILE,FRB 9 2NYB BRN OFFMTRED1 4 2PD2 # 4 2PXL # 4 2QC= # 5 2QWW XENT1 5 2RBG #SKIP G4 19 2RW6 STOZ XQUOTA(2) [INIT'LOCKED PAGES'INDICATOR 4 2S*Q # 4 2STB # 4 2T*2 # 5 2TSL NEXTREC 8 2W#= LDX 2 FX2 4 2WRW # 21 2X?G # THE BLOCK COUNT IS UPDATED IMMEDIATELY BEFORE READING THE NEXT SPECIFI 7 2XR6 LDN 0 1 16 2Y=Q ADS 0 YCOUNT(2) [UPDATE COUNT 21 2YQB # FIRST SELECT ROUTINE FIR READING SPECIFIER BLK ACC TO TYPE OF FILE HOL 6 2_=2 # PROGRAM 8 2_PL LDCT 0 #420 9 329= ANDX 0 XLDEXA(2) 17 32NW BNG 0 ONLINE [ONLINE PERIPHERAL 14 338G BNZ 0 OFFMT [MAG TAPE 8 33N6 VSKIP ,1 15 347Q BZE 3 XEOF [JUMP IF EOF 7 34MB SBN 3 1 15 3572 BZE 3 XEOF [JUMP IF EOF 7 35LL ADN 3 1 15 366= LDEX 0 0(3) [REC HEADER 7 36KW SBN 0 2 17 375G BZE 0 XSPACES [ERROR IF BLANK CARDS 18 37K6 ADN 3 2 [X3 -> TO START OF REC 9 384Q BRN TESTSPEC 5 38JB OFFMT 9 3942 VFREEW FILE,FRB 15 39HL LDN 7 20 [MAX REC SIZE 12 3=3= MAGREAD XEOF,XTM,OFFMTRED,7 5 3=GW OFFMTRED 10 3?2G MHUNTW 3,FILE,FRRB 20 3?G6 NAME 3,FILE,FRB [MAKE THIS CASE LOOK LIKE REST 6 3?_Q OFFMTRED1 18 3#FB ADN 3 A1 [X3 -> TO START OF REC 9 3#_2 BRN TESTSPEC 5 3*DL ONLINE 5 3*Y= REPEAT 8 3BCW CALL 1 ZFRB 8 3BXG LOCKC 2,ZFRB 10 3CC6 MHUNTW 3,FILE,FRB 8 3CWQ LDN 0 A1(3) 10 3DBB DCA ,STO,0,CTSA 9 3DW2 LOCKC FX2,ZCPA 8 3F*L GPERI ,2 6 3FT= COOR1 7 3G#W UNLOCK 2 10 3GSG MHUNTW 3,FILE,FRB 14 3H#6 UNLOCK 3 [BUFFER 8 3HRQ LDCT 0 #20 9 3J?B ANDX 0 XLDEXA(2) 16 3JR2 BZE 0 REST [SLOW PERIPHERAL 9 3K=L CALL 6 RESTARTMT 9 3KQ= BRN READOK 4 3L9W REST 12 3LPG RESTART XBRKIN,XCANTDO,REPEAT 10 3M96 MHUNTW 3,FILE,FRB 5 3MNQ READOK 18 3N8B ADN 3 A1 [X3 -> TO START OF REC 5 3NN2 TESTSPEC 21 3P7L # COMMON ROUTINE FOR CHECKING SPEC BLK AND BRANCHING TOROUTINE APPROPRIA 7 3PM= # TO BLK TYPE 16 3Q6W LDCH 0 0(3) [BLOCK SPECIFIER 8 3QLG SBN 0 #73 10 3R66 BNZ 0 XLEFTBRACK 8 3RKQ LDX 5 0(3) 15 3S5B LDCH 6 5 [BLOCK TYPE 5 3SK2 #SKI T 9 3T4L TRACE 6,TYPE 11 3TJ= BXGE 6 N7(1),XBLOCKTYPE 8 3W3W SRL 5 12 16 3WHG ANDN 5 #77 [REC LENGTH IN X5 7 3X36 LDX 0 3 7 3XGQ SMO 5 7 3Y2B SUM 7 0 21 3YG2 BNZ 7 XCHECKSUM [CHECKSUM ERROR IN SPECEFIER BLOCK 7 3Y_L SMO 6 9 3_F= BRN TABTYP 5 3_YW TABTYP 8 42DG BRN TYPE0 9 42Y6 BRN XTYPE1 8 43CQ BRN TYPE2 8 43XB BRN TYPE3 8 44C2 BRN TYPE4 8 44WL BRN TYPE5 8 45B= BRN TYPE6 5 45TW TYPE0 7 46*G LDX 0 5 7 46T6 SBN 0 4 13 47#Q BNG 0 XRECSIZE [<4 8 47SB SBN 0 17 13 48#2 BPZ 0 XRECSIZE [>20 17 48RL SBN 5 3 [NO OF WDS OF DATA 16 49?= LDX 4 1(3) [PROGRAM ADDRES 16 49QW ADN 3 2 [START OF DATA 7 4==G FPCACA 2 13 4=Q6 CHECKA 4,5,XRESV,2,W,WCOOR,,2 4 4?9Q MOVE 11 4?PB FINMOVE 2,4,3,5,HLOCK1,2 5 4#92 #SKIP G3 9 4#NL BRN NEXTREC 5 4*8= #SKIP G4 4 4*MW ( 8 4B7G BRN XLOCK 5 4BM6 WCOOR 8 4C6Q LDCT 3 #420 9 4CLB ANDX 3 XLDEXA(2) 18 4D62 BNZ 3 WCOOR1 [NOT SLOW OFFLINE PERIPH 7 4DKL STEPAGAIN 7 4F5= ADN 3 4 9 4FJW BRN WCOORX 5 4G4G WCOOR1 10 4GJ6 MHUNTW 3,FILE,FRB 8 4H3Q ADN 3 A1+2 5 4HHB WCOORX 7 4J32 FPCACA 2 8 4JGL BRN MOVE 4 4K2= ) 5 4KFW TYPE2 5 4K_G TYPE3 5 4LF6 TYPE4 7 4LYQ SBN 5 2 13 4MDB BNG 5 XRECSIZE [<2 7 4MY2 SBN 5 3 13 4NCL BPZ 5 XRECSIZE [>5 8 4NX= LDCT 0 #420 9 4PBW ANDX 0 XLDEXA(2) 18 4PWG BNZ 0 YENTRY [NOT STOW OFFLINE PERIPH 7 4QB6 READAGAIN 10 4QTQ MHUNTW 3,FILE,FRB 9 4R*B LDN 2 A1+2(3) 8 4RT2 ADN 3 A1 7 4S#L MOVE 2 4 5 4SS= YENTRY 9 4T?W ACROSS LOADFIN,1 5 4TRG TYPE5 7 4W?6 SBN 5 5 9 4WQQ BNZ 5 XRECSIZE 8 4X=B LDCT 0 #20 9 4XQ2 ANDX 0 XLDEXA(2) 17 4Y9L BZE 0 XTYPE5 [ILLEGAL IF NOT MT 16 4YP= LDX 4 1(3) [PROGRAM ADDRE2S 16 4_8W LDX 5 2(3) [LENGTH OF DATA 19 4_NG BXGE 5 N513(1),XDATASIZE [ERROR IF MORE THAN 512 WDS 18 5286 LDX 0 3(3) [CHECKSUM OF TYPE 5 DATA 10 52MQ STO 0 WCHECKSUM(2) 7 537B FPCACA 2 13 53M2 CHECKA 4,5,XRESV,2,W,WCOORA,,2 5 546L YCHECKED 8 54L= SMO FX2 9 555W LDXC 0 XLDEXA 14 55KG BCS ONMT [ONLINE 15 5656 # MAGSTEP READS PROGRAM DIRECTLY INTO OP AREA 12 56JQ MAGSTEP XEOF,XTM,XLONGBLK,5,4 5 574B XLONGBLK 8 57J2 BRN TCHS 4 583L ONMT 13 58H= # IF ONLINE,PERI DIRECTLY INTO OP AREA 17 592W LDX 3 4 [REMEMBER O.P. ADDR 5 59GG #SKIP G4 17 5=26 LDX 6 ASEGTAB(2) [SEG TABLE ADDRESS 5 5=FQ #SKIP G3 10 5=_B FADDRESS 2,4,HLOCK1 8 5?F2 LDX 2 FX2 10 5?YL DCA ,STO,5,COUNT 10 5#D= DCA ,STO,4,CTSA 5 5#XW #SKI G4 4 5*CG ( 9 5*X6 LDX 4 XMODE(1) 18 5BBQ DCA ,ORS,4,MODE [ADDITIVE MODE FOR PERI 17 5BWB DCA ,STO,6,SEGTAB [SEG TABLE ADDRESS 4 5CB2 ) 14 5CTL LOCKC 2,ZCPA [LOCK CPA 21 5D*= #SKIP G4 [IN GEORGE 4 IT IS NECESSARY TO USE 4 5DSW ( 21 5F#G ORX 7 GSIGN [THE SPECIAL PERI INTO AN OBJ PROG 17 5FS6 LDX 0 6 [SEG TABLE ADDRESS 4 5G?Q ) 8 5GRB GPERI ,2 5 5H?2 #SKI G4 18 5HQL DCA ,ERS,4,MODE [CLEAR ADDITIVE MODE BIT 6 5J== COOR1 7 5JPW UNLOCK 2 9 5K9G CALL 6 RESTARTMT 8 5KP6 LDN 0 20 10 5L8Q DCA ,STO,0,COUNT 15 5LNB LDX 4 3 [O.P. ADDR 4 5M82 TCHS 20 5MML # COMMON ROUTINE TO CHECKSUM AND CLEAR UP AFTER TYPE 5 DATA TRANSFER 7 5N7= FPCACA 2 11 5NLW FSUM 2,3,4,5,HLOCK1,2 8 5P6G SMO FX2 9 5PL6 ADX 3 WCHECKSUM 9 5Q5Q BNZ 3 XCHECKSUM 5 5QKB #SKIP G4 4 5R52 ( 4 5RJL # 19 5S4= # THIS SECTION ENSURES THAT GEORGE HAS A SENSIBLE SELECTION 16 5SHW # OF PAGES IN CORE AT THE END OF A LOAD OR CONT. 19 5T3G # THIS IS DONE BY LOCKING THE FIRST PAGES LOADED INTO CORE 4 5TH6 # 5 5W2Q XLOCK 8 5WGB SMO FX2 19 5X22 LDX 7 XQUOTA [PICK UP IND OF PAGES TO LOCK 18 5XFL BNG 7 ZLK9 [J IF ENOUGH PAGES LOCKED 18 5X_= BNZ 7 ZLK4 [J IF SOME PAGES LOCKED 10 5YDW LDX 7 HLOCK1+1(2) 20 5YYG BZE 7 ZLK9 [PAGE 0 IS ALWAYS LOCKED ANYWAY 10 5_D6 HUNT2 3,BSTB,BSCB,2 10 5_XQ LDX 0 AMAXSIZE(3) 8 62CB BPZ 0 ZLK2 19 62X2 TXL 7 BIT11 [FOR A SPARSE PROG WE DO NOT 17 63BL BCS ZLK9 [LOCK PAGES BELOW 4K 4 63W= ZLK2 20 64*W STO 7 HLOCK2+1(2) [START OF AREA TO BE KEPT IN CORE 9 64TG LDX 7 AQUOTA(3) 21 65*6 SLL 7 10 [SET X7 TO INDICATE NO OF PAGES TO 21 65SQ SBN 7 3584 [BE KEPT IN CORE - QUOTA-3.SET B14 11 66#B LDN 0 CHREAD+CHWRITE 19 66S2 STO 0 HLOCK2(2) [SET PERM IN 2ND HLOCK AREA 8 67?L BNG 7 ZLK8 19 67R= ZLK4 LDX 3 HLOCK2+1(2) [START OF AREA ALREADY LOCKED 14 68=W LDX 4 HLOCK2(2) [LENGTH 8 68QG ANDX 4 B2T13 15 69=6 ADX 3 4 [END OF AREA 21 69PQ TXL 3 HLOCK1+1(2) [J UNLESS THE AREA JUST READ BELONGS 8 6=9B BCS ZLK8 21 6=P2 LDX 0 HLOCK1(2) [TO A PAGE WHICH FOLLOWS ON IMMEDIATE 20 6?8L ANDX 0 B2T13 [LY AFTER THE AREA ALREADY LOCKED 10 6?N= ADX 0 HLOCK1+1(2) 7 6#7W TXL 3 0 8 6#MG BCC ZLK8 21 6*76 SBX 3 4 [LOCK PAGE FOLLOWING THOSE ALREADY 14 6*LQ ADN 4 1024 [LOCKED 21 6B6B # EXTEND PERM LOCKED AREA-CANNOT USE CHECKEXT,IT ASSUMES LENGTH OF 13 6BL2 # AREA LOCKED IS GREATER THAN ZERO 10 6C5L CLEAR 2,0,HLOCK2,2 16 6CK= CHECKB 3,4,(GEOERR),2,W,(GEOERR),HLOCK2,2 8 6D4W SBN 7 1024 21 6DJG ZLK7 BPZ 7 ZLK4 [REPEAT IF FURTHER PAGES TO BE LOCKED 8 6F46 ZLK8 SMO FX2 9 6FHQ STO 7 XQUOTA 10 6G3B ZLK9 CLEAR 2,0,HLOCK1,2 4 6GH2 ) 8 6H2L BRN NEXTREC 5 6HG= WCOORA 7 6H_W FPCACA 2 9 6JFG BRN YCHECKED 5 6J_6 TYPE6 8 6KDQ LDCT 0 #200 9 6KYB ANDX 0 XLDEXA(2) 16 6LD2 BNZ 0 XBLOCKTYPE [ILLEGAL FOR CONT 7 6LXL SBN 5 8 9 6MC= BNZ 5 XRECSIZE 8 6MWW FPCACA 3,2 10 6NBG HUNT2 3,AOBRES,0 10 6NW6 LDX 0 ALOGLEN(3) 8 6P*Q SBN 0 24 8 6PTB BZE 0 X2SRS 8 6Q*2 ALTLEND 3,24 8 6QSL FPCACA 1,2 10 6R#= HUNT2 3,AOBRES,0,1 8 6R*_ ... LDCT 0 #020 9 6RCN ... ANDX 0 XLDEXA(2) 8 6RFC ... BNZ 0 ZT61 18 6RH6 ... READAGAIN [SERIAL ACCESS LOAD FILE 10 6RJT ... MHUNTW 2,FILE,FRB 8 6RLJ ... ADN 2 A1+2 8 6RN? ... BRN ZT62 4 6RQ2 ...ZT61 10 6RRW MHUNTW 2,FILE,FRB 8 6S?G ADN 2 A1 4 6SH# ...ZT62 8 6SR6 ADN 3 A1+16 7 6T=Q MOVE 2 8 9 6TQB BRN NEXTREC 4 6W=2 # 4 6WPL # 11 6X9= # SUBROUTINE TO LOCATE CPA IN X2 4 6XNW ZCPA 8 6Y8G LDX 2 FX2 7 6YN6 EXIT 1 0 11 6_7Q # SUBROUTINE TO LOCATE FILE/FRB 4 6_MB ZFRB 10 7272 MHUNTW 2,FILE,FRB 7 72LL EXIT 1 0 4 736= # 4 73KW # 4 745G # 20 74K6 XBRKIN [NOT POS BECAUSE BRKIN INHIBITED 5 754Q XCANTDO 9 75JB MFREEW FILE,FRB 9 7642 BRN RERROR1 4 76HL # 4 773= # 21 77GW # ALL ERROR CONDITIONS BRANCH HERE TO PICK UP LABEL OF NAME OF APPROPRIT 12 782G # (OR INAPPROPRIATE) ERROR MESSAGE 4 78G6 X2RS 5 78_Q X2SRS 6 79FB XBLOCKTYPE 5 79_2 XTYPE1 5 7=DL XTYPE5 8 7=Y= LDN 1 WRBLK 9 7?CW BRN RERROR 4 7?XG XEOF 8 7#C6 LDN 1 NOENT 9 7#WQ BRN RERROR 6 7*BB XREADFAIL 5 7*W2 XSPACES 4 7B*L XTM 6 7BT= XLEFTBRACK 5 7C#W XRECSIZE 6 7CSG XDATASIZE 8 7D#6 LDN 1 RINFF 9 7DRQ BRN RERROR 5 7F?B XRESV 9 7FR2 LDN 1 WERRES 9 7G=L BRN RERROR 6 7GQ= XCHECKSUM 8 7H9W LDN 1 RCHER 5 7HPG RERROR 8 7J96 SMO FX1 16 7JNQ LDX 5 0(1) [NAME OF ERROR 5 7K8B RERROR1 19 7KN2 ACROSS LOADERR,2 [REPORT ERROR AND CLEAR UP 10 7L7L MENDAREA 40,K99LOAD 4 7LM= #END 8 ____ ...40255163000200000000