7 22FL #SKI BSTRANMK3 4 22_= ( 11 23DW #LIS K0BSALFAIL>K0BSTS>K0ALLGEO 15 23YG #SEG BSALFAIL [JOHN BAILEY 7 24D6 8HBSALFAIL 4 24XQ # 20 25CB # THIS SEGMENT DEALS WITH TRANSFER FAILS IN THE BACKING STORE 9 25X2 # ALLOCATION SYSTEM 14 26BL # K1BSALFAIL DEALS WITH READ FAILURES 17 26W= # ON ENTRY ACOMMUNE1 HOLDS THE LOGICAL FILE NUMBER 4 27*W # 17 27TG # ACOMMUNE2 A MARKER 0 IF OPTIONAL REQUEST 19 28*6 # ACOMMUNE3 A MARKER TO DISTINGUISH BETWEEN GETBACK 17 28SQ # AND GETBAX 14 29#B # K2BSALFAIL DEALS WITH WRITE FAILURES 12 29S2 # ACOMMUNE1 AS ABOVE 16 2=?L # ACOMMUNE2 BLOCK NUMBER BEING FREED 20 2=R= # ACOMMUNE3 MARKER TO DISTINGUISH BETWEEN FREEBACK 19 2?=W # AND FREEBAX 4 2?QG # 4 2#=6 # 13 2#PQ SEGENTRY K1BSALFAIL,QK1BSALFAIL 13 2*9B SEGENTRY K2BSALFAIL,QK2BSALFAIL 13 2*P2 SEGENTRY K3BSALFAIL,QK2BSALFAIL 4 2B8L # 8 2BN= XM1 +25 14 2C7W 25HFILESTORE RESIDENCES FULL 17 2CMG NT1 LDX 2 3 [RESET BSLIST POINTER 15 2D76 BRN NT1A [TRY AGAIN 6 2DLQ QK1BSALFAIL 9 2F6B #SKI K6BSALFAIL>199-199 4 2FL2 ( 12 2G5L TRACE ACOMMUNE1(2),READFAIL 10 2GK= TRACE ACOMMUNE2(2) 10 2H4W TRACE ACOMMUNE3(2), 4 2HJG ) 10 2J46 LDX 7 ACOMMUNE1(2) 17 2JHQ ... GETBSLIS [FIND BSLIST IN X2 15 2K3B NT1A LDX 3 BSSS [WORDS/SHEET 9 2KH2 LDXC 0 A1+4(2) 16 2L2L BCS N1 [JUMP IF SHEETS 18 2LG= LDX 3 BSBS [OTHERWISE WORDS/BLOCK 18 2L_W N1 LDX 4 BACK2(2) [FAILING BLOCKLET NUMBER 9 2MFG #SKI K6BSALFAIL>99-99 11 2M_6 TRACE BACK2(2),BLOCKRD 7 2NDQ SRL 3 7 7 2NYB DVS 3 3 20 2PD2 BZE 3 N2 [JUMP IF FIRST BLOCKLET FAILED 8 2PXL LDX 0 BSBS4 20 2QC= SBS 0 A1+1(2) [NUMBER OF BLOCKS LOST BY FAILURE 7 2QWW LDN 0 1 16 2RBG SBS 0 BACK2(2) [UPDATE 'HOME' 8 2RW6 NGS 0 A1(2) 15 2S*Q LDN 1 BSRLEN(2) [CORE ADDRESS 17 2STB LDX 3 2 [SAVE BSLIST POINTER 14 2T*2 BACKREAD BSET,BSBS4,NT1,BACK1(2),,1 20 2TSL FON 3 [WAKE UP ANYBODY WAITING FOR LIST 7 2W#= LDX 2 3 8 2WRW LDX 1 BSBS4 8 2X?G STO 1 A1(2) 8 2XR6 SMO FX2 9 2Y=Q LDX 0 ACOMMUNE3 16 2YQB BNZ 0 N3 [JUMP IF GETBAX 7 2_=2 SMO 1 15 2_PL LDX 7 BSRLEN-1(2) [GET BLOCK 7 329= SBN 1 1 16 32NW STO 1 A1(2) [RESET POINTER 9 338G #SKI K6DRUMALL>199-199 4 33N6 ( 8 347Q STO 1 BSP4 7 34MB LDX 1 7 19 3572 CALL 0 (BSA4) [MARK ALLOCATED IN CHECK LIST 4 35LL ) 7 366= LDN 0 1 9 36KW SBS 0 A1+1(2) 9 375G LDXC 0 A1+4(2) 18 37K6 BCC N4 [JUMP IF NOT SWAP FILE 8 384Q LDCT 0 #200 8 38JB LDX 2 FX2 9 3942 ANDX 0 CLONG1(2) 18 39HL BZE 0 N5 [JUMP IF NOT PRIVELEGED 17 3=3= ERS 0 CLONG1(2) [OTHERWISE UNSET BIT 8 3=GW BRN N5 20 3?2G N4 JAMQUERY [WAKE UP UNJAMMER IF NECESSARY 8 3?G6 LDX 2 FX2 10 3?_Q N5 LDX 0 ACOMMUNE2(2) 17 3#FB STO 7 EXEC1(2) [SAVE BLOCK NUMBER 8 3#_2 BZE 0 N6 19 3*DL UPPLUS 1 [UP ROUND OPTIONAL BRANCH 18 3*Y= N6 UP [OTHERWISE JUST GO UP. 18 3BCW N2 STOZ A1(2) [FIRST BLOCKLET FAILED 21 3BXG NGN 0 BWELL [MAKE FILE LOOK EMPTY (NO BLOCKS LEFT 9 3CC6 LDXC 4 A1+4(2) 17 3CWQ BCS N7 [JUMP IF SWAP FILE 10 3DBB ... NGX 0 BSRESERVE(2) 9 3DW2 N7 STO 0 A1+1(2) 7 3F*L NGN 0 1 9 3FT= STO 0 BSRLEN(2) 9 3G#W STO 0 BACK2(2) 8 3GSG SMO FX2 9 3H#6 LDX 6 ACOMMUNE2 8 3HRQ BNZ 6 N8 15 3J?B ... BSON EMSBIT,N7A [J IF EMS 9 3JR2 GEOERR 0,NOSTORE 9 3K=L N7A GEOSTOP XM1(1) 9 3KQ= N8 LDXC 0 A1+4(2) 17 3L9W BCS N9 [JUMP IF SWAP FILE 18 3LPG LDN 0 #6000 [OTHERWISE TRY AND UNJAM 9 3M96 ORS 0 A1+4(2) 16 3MNQ FON 9 [WAKE UP UNJAMMER 20 3N8B N9 FON 3 [AND ANYONE WAITING FOR END OF 14 3NN2 [TRANSFER 10 3P7L LDX 5 ACOMMUNE3(2) 16 3PM= BNZ 5 N10 [JUMP IF GETBAX 16 3Q6W UP [OTHERWISE FINISH 10 3QLG N10 MHUNT 3,BSTB,EMPTYB 7 3R66 SBN 5 2 9 3RKQ #SKI K6BSALFAIL>199-199 9 3S5B TRACE 5,BLOCKS 20 3SK2 BZE 5 N11 [JUMP IF NO BLOCKS YET OBTAINED 10 3T4L NAME 3,BSTB,FULLB 7 3TJ= ADN 5 2 16 3W3W STO 5 A1(3) [RECORD HEADER 17 3WHG FREEBAX [FREE THESE BLOCKS 10 3X36 MHUNT 3,BSTB,EMPTYB 17 3XGQ N11 FREECORE 3 [FREE USELESS BLOCK 14 3Y2B UP [FINISH 8 3YG2 N3 LDX 2 FX2 10 3Y_L LDX 0 ACOMMUNE2(2) 16 3_F= BNZ 0 N3A [JUMP IF OPTIONAL 19 3_YW ACROSS GETBAX,11 [ JUMP TO GET REST OF BLOCKS 10 42DG N3A MHUNT 3,BSTB,EMPTYB 10 42Y6 NAME 3,BSTB,FULLB 10 43CQ LDX 0 ACOMMUNE3(2) 15 43XB STO 0 A1(3) [SET HEADER 7 44C2 FREEBAX 10 44WL MHUNT 3,BSTB,EMPTYB 7 45B= FREECORE 3 5 45TW UP 6 46*G QK3BSALFAIL 9 46T6 #SKI K6BSALFAIL>199-199 12 47#Q TRACE ACOMMUNE4(2),GXFAIL 10 47SB LDX 6 ACOMMUNE4(2) 6 48#2 QK2BSALFAIL 9 48RL #SKI K6BSALFAIL>199-199 4 49?= ( 12 49QW TRACE ACOMMUNE1(2),WRITFAIL 10 4==G TRACE ACOMMUNE2(2), 10 4=Q6 TRACE ACOMMUNE3(2), 4 4?9Q ) 13 4?PB R7 LDX 7 ACOMMUNE1(2) [L.FN 15 4#92 ... GETBSLIS [FIND BSLIST 8 4#NL LDX 1 FX1 8 4*8= CALL 5 SP1 15 4*MW LDX 3 BSSS [SHEETSIZE 9 4B7G LDXC 0 A1+4(2) 17 4BM6 BCS R1 [JUMP IF SWAP FILE 15 4C6Q LDX 3 BSBS [BLOCK SIZE 16 4CLB R1 LDX 4 BACK2(2) [BLOCKLET NUMBER 9 4D62 #SKI K6BSALFAIL>99-99 11 4DKL TRACE BACK2(2),BLOCKWR 7 4F5= SRL 3 7 7 4FJW DVS 3 3 18 4G4G BZE 3 R2 [JUMP IF FIRST BLOCKLET 18 4GJ6 LDX 4 BACK2(2) [FAILED BLOCKLET NUMBER 16 4H3Q LDX 3 BSRLEN(2) [SAVE FIRST BLOCK 8 4HHB LDCT 0 #400 7 4J32 ORS 0 3 8 4JGL SMO FX2 9 4K2= LDX 5 ACOMMUNE2 7 4KFW SBN 4 1 9 4K_G STO 4 BSRLEN(2) 10 4LF6 R5 LDX 0 BSRLEN+1(2) 14 4LYQ STO 0 BACK2(2) [NEW HOME 7 4MDB NGN 0 1 14 4MY2 STO 0 A1(2) [LOCKOUT 9 4NCL LDN 1 BSRLEN(2) 14 4NX= BACKWRITE BSET,BSBS4,S1,BACK1(2),,1 16 4PBW ... GETBSLIS [REFIND BSLIST 7 4PWG LDN 0 1 9 4QB6 ADS 0 BACK2(2) 18 4QTQ STO 5 BSRLEN(2) [STO FREED BLOCK NUMBER 17 4R*B LDXC 3 3 [JUMP IF BLOCK USED 8 4RT2 BCC R3 16 4S#L STO 3 BSRLEN+1(2) [OTHERWISE STORE 16 4SS= ADN 0 1 [UPDATE POINTER 8 4T?W R3 STO 0 A1(2) 8 4TRG BRN R4 7 4W?6 ...S1 GETBSLIS 7 4WQQ LDN 0 1 9 4X=B SBS 0 A1+1(2) 8 4XQ2 LDX 1 FX1 8 4Y9L CALL 5 SP1 7 4YP= LDXC 3 3 19 4_8W BCC R2 [JUMP IF USED ORIGINAL BLOCK 10 4_NG STO 3 BSRLEN+1(2) 8 5286 SMO FX2 9 52MQ LDX 5 ACOMMUNE2 15 537B LDN 3 0 [RESET MARKER 8 53M2 BRN R5 8 546L R2 SMO FX2 9 54L= LDX 5 ACOMMUNE2 9 555W STO 5 BACK2(2) 14 55KG STO 5 BSRLEN+1(2) [NEW HOME 8 5656 LDX 0 BSBS4 16 56JQ STO 0 A1(2) [UPDATE POINTER 4 574B R4 9 57J2 #SKI K6DRUMALL>199-199 4 583L ( 8 58H= STO 1 BSP4 7 592W LDX 1 5 8 59GG ORX 1 GSIGN 9 5=26 CALL 0 (BSA4) 4 5=FQ ) 7 5=_B FON 3 10 5?F2 LDX 5 ACOMMUNE3(2) 16 5?YL BNZ 5 R6 [JUMP IF FREEBAX 5 5#D= UP 8 5#XW R6 SMO FX2 9 5*CG STO 6 ACOMMUNE4 9 5*X6 ACROSS GETBAX,10 16 5BBQ # S/R TO REMOVE ENTRY FROM CFL AND UNSET FAIL BITS 10 5BWB # X2 POINTS TO BSLIST BLOCK 7 5CB2 # LINK X5 6 5CTL # USES X3,X4 4 5D*= # 7 5DSW SPM #77777774 9 5F#G NERR GEOERR 0,CRECLOST 9 5FS6 SP1 LDX 4 BACK2(2) 9 5G?Q ANDX 4 SPM(1) 12 5GRB FINDFAIL 3,4,BACK1(2),CFL,NERR 7 5H?2 NGN 2 1 8 5HQL SP2 LDX 0 2(3) 8 5J== STO 0 0(3) 7 5JPW TXU 0 2 8 5K9G BCC SP3 7 5KP6 ADN 3 1 8 5L8Q BRN SP2 7 5LNB ...SP3 GETBSLIS 7 5M82 LDX 3 2 7 5MML LDX 1 7 7 5N7= SLL 1 1 8 5NLW ADX 1 ALFTP 8 5P6G LDX 0 A1(1) 9 5PL6 #SKI K6BSALFAIL>99-99 4 5Q5Q ( 8 5QKB BPZ 0 SP3A 9 5R52 GEOERR 0,WRNGLFN 4 5RJL SP3A 4 5S4= ) 8 5SHW SRL 0 12 8 5T3G ANDN 0 #1777 9 5TH6 MPY 0 ASBSAB 7 5W2Q NGX 1 1 9 5WGB ADX 1 ASBSAB 8 5X22 ADX 1 BBAC 9 5XFL LDX 1 FPTR(1) 7 5X_= LDN 0 1 8 5YDW SBS 0 A1(1) 10 5YYG UNSETFB 0,BACK1(2) 7 5_D6 LDX 2 3 7 5_XQ EXIT 5 0 4 62CB # 11 62X2 MENDAREA 30,K99BSALFAIL 4 63BL #END 4 63W= ) 8 ____ ...46661623000900000000