7 22FL #OPT K0GETBAX=0 10 22_= #OPT K6WHATBACK=K6ALLGEO 9 23DW #LIS K0GETBAX>K0ALLGEO 15 23YG ...#SEG GETBAX83 [ANDY TRAVELL 9 24D6 8HGETBAX 11 24XQ SEGENTRY K1GETBAX,QK1GET 11 25CB SEGENTRY K2GETBAX,QK2GET 11 25X2 SEGENTRY K3GETBAX,QK3GET 11 26BL SEGENTRY K5GETBAX,QK5GET 11 26W= SEGENTRY K7GETBAX,QK7GET 11 27*W SEGENTRY K8GETBAX,QK8GET 11 27TG SEGENTRY K9GETBAX,QK9GET 11 28*6 SEGENTRY K10GETBAX,QK10GET 11 28SQ SEGENTRY K11GETBAX,QK11GET 11 29#B SEGENTRY K12GETBAX,QK12GET 4 2=R= # 16 2=S3 ...# SUBROUTINE TO CHECK IF ACTIVITY IS PRIVILEGED 4 2=SS ...# 6 2=TK ...SWAITPRIV 16 2=WB ... STO 0 GEN1 [ SAVE THE LINK 17 2=X7 ... WAITPRIV NOTPRACT [ SEE IF PRIVILEGED 16 2=XY ... LDX 0 GEN1 [ RECOVER LINK 16 2=YP ... EXIT 0 1 [ IF PRIVILEGED 5 2=_G ...NOTPRACT 16 2?2? ... LDX 0 GEN1 [ RECOVER LINK 14 2?34 ... EXIT 0 0 [ IF NOT 4 2?3T ...# 4 2?4L ...# 17 2?5C ...# SUBROUTINE TO REMOVE ENTRY FROM FAILED BLOCKS LIST 16 2?68 ...# EXPECTS BLOCK NO. IN GEN0 AND RES. NO. IN GEN1 4 2?6_ ...# 6 2?7Q ...SLOSBSBIT 17 2?8H ... LOSBSBIT GEN0,GEN1 [ REMOVE BIT REQUIRED 7 2?9# ... EXIT 7 0 4 2?=5 ...# 4 2?=W # 9 2#PQ T52 LDXC 0 A1+4(2) 8 2*9B BCS T52A 7 2*P2 COOR3 2 8 2B8L ... BRN T52B 8 2BN= T52A COOR3 #14 10 2C7W ...T52B MHUNTW 3,BSTB,EMPTYB 9 2CMG LDX 7 A1+1(3) 7 2D76 GETBSLIS 8 2DLQ BRN T4 19 2F6B T1 COOR3 3 [WAIT FOR END OF BS TRANSFER 5 2FL2 QK1GET 10 2G5L T9 LDX 5 ACOMMUNE9(2) 19 2GK= BZE 5 T9A [JUMP IF NOT OPTIONAL REQUEST 10 2H4W MHUNTW 3,BSTB,EMPTYB 9 2HJG LDX 7 A1+1(3) 7 2J46 GETBSLIS 9 2JHQ LDX 6 A1+1(2) 8 2K3B BNG 6 T9CA 8 2KH2 LDX 6 A1(3) 7 2L2L SBN 6 3 18 2LG= BNG 6 T3 [J IF NO BLOCKS REQUIRED 9 2L_W SBX 6 A1+1(2) 19 2MFG BZE 6 T9B [J IF ENOUGH BLOCKS AVAILABLE 8 2M_6 BNG 6 T9B 7 2NDQ NGX 6 6 9 2NYB T9CA LDXC 0 A1+4(2) 8 2PD2 BCC T9D 9 2PXL LONGSET #14,TALS 8 2QC= BRN T9C 16 2QWW T9D JAMQUERY 6 [START UNJAMMER 4 2RBG T9C 17 2RW6 FREECORE 3 [OTHERWISE FREE BLOCK 5 2S*Q UP 9 2STB TALS GEOERR 1,LONGSET 10 2T*2 T9A MHUNTW 3,BSTB,EMPTYB 17 2TSL LDX 7 A1+1(3) [LOGICAL FILE NUMBER 17 2W#= GETBSLIS [FIND BLIST BLOCK X2 19 2W*5 ... FSHCODE B,XGETXA [ OMIT IF NOT IN MACHINE B 4 2W*Y ...( 9 2WBR ... LDXC 0 A1+4(2) 18 2WCL ... BCS XGETXA [ OMIT IF FOR SWAPFILE 8 2WDF ... LDX 6 A1(3) 19 2WF# ... SBN 6 3 [ NUMBER OF BLOCKS REQUESTED 21 2WG7 ... LDX 0 A1(2) [ NUMBER OF BLKS LEFT IN THIS LIST 21 2WH2 ... BNG 0 NOTNUFF [ J. TO SEE IF PRIV'D IF NEED TO WAIT 20 2WHT ... SBX 6 0 [ COMPARE WITH NO. OF BLKS LEFT 18 2WJN ... BNG 6 T9B [ J. IF ENOUGH LEFT ELSE 5 2WKH ...NOTNUFF 17 2WLB ... CALL 0 SWAITPRIV [ SEE IF PRIVILEGED 16 2WM9 ... BRN T9B [ IF NOT CAN GO 21 2WN4 ... TRANSBEG FSHBSID,FSHBSAL,3,BSTB,EMPTYB,ACOMMUNE3 [ ELSE MUST 20 2WNX ... UP [ GET REQUIRED BLOCKS FROM 'A' 5 2WPQ ...XGETXA 4 2WQK ...) 7 2WRW T9B LDN 6 2 20 2X?G T4 BXGE 6 A1(3),T3 [J WHEN ENOUGH BLOCKS OBTAINED 16 2XR6 LDX 4 A1(2) [POINTER IN BLIST 9 2Y=Q #SKI K6DRUMALL>449-449 9 2YQB TRACE 4,GLSTPTRG 19 2_=2 BNG 4 T1 [WAIT IF TRANSFER IN PROGRESS 8 2_PL SMO FX2 9 329= LDX 5 ACOMMUNE9 9 32NW LDX 0 A1+1(2) 18 338G BPZ 0 OKAY [OK IF SOME BLOCKS LEFT 9 33N6 LDXC 0 A1+4(2) 17 347Q BCS T52 [JUMP IF SWAP FILE 20 34G7 ... CALL 0 SWAITPRIV [ TEST FOR PRIVILEGED ACTIVITY 16 34SJ ... BRN T52 [ J. IF IT ISN'T 21 3572 OKAY BNZ 4 T2 [GET A BLOCK IF SOME FREE ONES LEFT 19 358C ... FSHCODE B,NOTINB1 [ OMIT IF NOT IN MACHINE 'B' 4 359S ...( 9 35?9 ... LDXC 0 A1+4(2) 18 35#L ... BCS NOTINB1 [ OMIT IF FOR SWAPFILE 21 35B3 ... CALL 1 XGET64BLKS [ GET 'FSHBSBLOCKS' BLOCKS FROM 'A' 17 35CD ... LDN 4 FSHBSBLOCKS [ RESET LIST POINTER 17 35DT ... HUNT 3,BSTB,EMPTYB [ RELOCATE /EMPTYB 20 35G= ... BRN T2 [ TO CONTINUE ALLOCATING BLOCKS 5 35HM ...NOTINB1 4 35K4 ...) 9 35LL LDX 4 BACK2(2) 17 366= BZE 4 T5 [J IF LAST BLOCKET 20 36KW BPZ 4 T6 [GET BLOCK IF SOME FREE ONES LEFT 9 375G T5 LDX 4 BSRLEN(2) 18 37K6 BPZ 4 T7 [ J IF MORE BS ELSEWHERE 9 384Q LDXC 0 A1+4(2) 17 38JB BCS T52 [JUMP IF SWAP FILE 8 3942 LDCT 0 #200 8 39HL SMO FX2 20 3=3= ANDX 0 CLONG1 [TEST FOR A PRIVILEGED ACTIVITY 8 3=GW BZE 0 T52 10 3?2G BSON EMSBIT,T53 12 3?#X ... MHUNTW 3,BSTB,EMPTYB [ 18 3?M# ... LDX 7 A1+1(3) [X7 => RESIDENCE NUMBER 18 3?_P ... TRACE 7,NO STORE [THESE FOUR SOURCE LINES 18 3##6 ... BRN T52 [REPLACE GEOERR NO STORE. 17 3#LH ...T53 GEOERR 1,FSRESFUL [REPLACES A GEOSTOP! 7 3#_2 T6 SBN 4 1 17 3*DL T7 STO 4 BACK2(2) [NEW BLOCKLET NUMBER 7 3*Y= NGN 4 1 21 3BCW STO 4 A1(2) [SET PTR -VE TO LOCK OUT EVERYTHING E 4 3BXG RT62 18 3CC6 LDX 3 2 [KEEP POINTER TO BLIST 9 3CWQ LDN 7 BSRLEN(2) 16 3DBB BACKREAD BSET,BSBS4,RT60,BACK1(3),BACK2(3),EX7 10 3DW2 STO 5 ACOMMUNE9(2) 21 3F*L FON 3 [WAKE UP ANYONE WAITING FOR THIS LIST 18 3FT= LDX 2 3 [RESTORE BLIST POINTER 10 3G#W HUNT 3,BSTB,EMPTYB 18 3GSG LDX 4 BSBS4 [SET POINTER FOR BLIST 7 3H#6 T2 SMO 4 19 3HRQ LDX 1 BSRLEN-1(2) [GET NEXT FREE BLOCK NUMBER 7 3J?B SMO 6 16 3JR2 STO 1 A1(3) [ADD TO EMPTYB 7 3JY8 ... FSHSKIP 4 3K5B ...( 10 3K=L BSOFF BSBITS,T41B 8 3KQ= STO 1 BSP4 8 3L9W CALL 0 Q1 4 3LFN ...) 4 3LPG T41B 9 3M96 #SKI K6DRUMALL>449-449 9 3MNQ TRACE 1,GBLKNOG 17 3N8B SBN 4 1 [REDUCE BLIST POINTER 18 3NN2 ADN 6 1 [INCREASE EMPTYB POINTER 17 3P7L STO 4 A1(2) [UPDATE BLIST POINTER 18 3P9T ... FSHCODE B,NOTCHEKA [ OMIT CHECK IF IN 'A' 4 3P#4 ...( 21 3PB? ... LDXC 0 A1+4(2) [ ELSE SEE IF THIS IS NOT A SWAPFILE 20 3PDG ... BCC NODECRINB [ DONT REDUCE BSFREE IF F/S RES 5 3PGP ...NOTCHEKA 4 3PJY ...) 7 3PM= LDN 0 1 19 3Q6W SBS 0 A1+1(2) [UPDATE NUMBER OF FREE BLOCKS 6 3QBN ...NODECRINB 19 3QLG BXU 1 BACK2(2),T41 [J IF NOT FREEING THIS BLOCK 21 3R66 STOZ A1(2) [ZEROISE POINTER AND BLOCKLET NUMBER 9 3RKQ NGS 0 BACK2(2) 9 3S5B T41 LDXC 0 A1+4(2) 8 3SK2 BCS T4 21 3T4L JAMQUERY [START UNJAMMER IF GETTING IN A JAM 8 3TJ= BRN T4 16 3W3W T3 NAME 3,BSTB,FULLB [RENAME EMPTYB 8 3WHG SMO FX2 9 3X36 LDX 5 ACOMMUNE9 20 3XGQ BZE 5 T35 [J IF %C OF WHATDOC NOT SPECIFIED 16 3Y2B UPPLUS 1 [MISS OUT BRN %C 4 3YG2 T35 5 3Y_L UP 4 3_F= # 5 3_YW QK12GET 18 423F ... FSHCODE B,NSHFSB [ CHECK IF MACHINE 'B' 4 4264 ...( 20 428M ... GEOERR 1,FREECOPY [ IF SO GEOERR AS COPYFILE ONLY 18 42?= ...NSHFSB [ ALLOWED IN MACHINE 'A' 4 42*T ...) 10 42DG MHUNTW 3,BSTB,FULLB 9 42Y6 LDX 7 A1+1(3) 7 43CQ GETBSLIS 8 43XB LDX 0 A1(3) 7 44C2 SBN 0 2 9 44WL SBS 0 BSCOPY(2) 9 45B= #SKI K6DRUMALL>199-199 4 45TW ( 9 46*G LDX 0 BSCOPY(2) 8 46T6 BPZ 0 T14B 10 47#Q GEOERR 1,BSCOPNEG 4 47SB T14B 4 48#2 ) 8 48RL BRN T14A 7 49?= T11 COOR3 3 12 49QW QK2GET [ENTRY FOR FREEBAX 15 4==G HUNT 3,BSTB,FULLB [FIND FULLB 17 4=Q6 LDX 7 A1+1(3) [LOGICAL FILE NUMBER 15 4?9Q GETBSLIS [FIND BLIST 17 4??F ... FSHCODE B,NMACHB [ OMIT IF NOT IN 'B' 4 4?*8 ...( 9 4?BX ... LDXC 0 A1+4(2) 18 4?DL ... BCS NMACHB [ OMIT IF FOR SWAPFILE 19 4?G* ... TRANSBEG FSHBSID,FSHBSAL,7,BSTB,FULLB,ACOMMUNE3 [ ELSE 19 4?J4 ... UP [ DO FREEBAX IN MACHINE 'A' 5 4?KR ...NMACHB 4 4?MG ...) 7 4?PB T14A LDN 6 2 18 4#92 T14 BXGE 6 A1(3),T13 [J WHEN ALL BLOCKS FREED 16 4#NL LDX 4 A1(2) [POINTER IN BLIST 9 4*8= #SKI K6DRUMALL>449-449 9 4*MW TRACE 4,FLSTPTRF 19 4B7G BNG 4 T11 [WAIT IF TRANSFER IN PROGRESS 16 4BM6 BZE 4 T12 [J IF BLIST EMPTY 18 4C6Q ADN 4 1 [INCREASE BLIST POINTER 18 4CLB BXU 4 BSBS41,T18 [J IF BLIST NOT YET FULL 7 4D62 NGN 4 1 21 4DKL STO 4 A1(2) [SET PTR -VE TO LOCK OUT EVERYTHING 18 4F5= LDX 3 2 [KEEP POINTER TO BLIST 9 4FJW LDN 7 BSRLEN(2) 15 4G4G BACKWRITE BSET,BSBS4,RT50,BACK1(3),,EX7 21 4GJ6 FON 3 [WAKE UP ANYONE WAITING FOR THIS LIST 16 4H3Q LDX 2 3 [RESTORE POINTER 9 4HHB HUNT 3,BSTB,FULLB 9 4J32 LDX 0 BACK2(2) 20 4JGL STO 0 BSRLEN(2) [KEEP BLOCKLET NUMBER OF BLIST 19 4K2= ADN 0 1 [INCREASE TO NEXT BLOCKLET 18 4KFW STO 0 BACK2(2) [CHANGE BLIST BLK NUMBER 20 4K_G LDX 5 0 [TEST IF RUNNING OVER BLOCK/SHEET 8 4LF6 LDX 4 BSSS 9 4LYQ LDXC 0 A1+4(2) 8 4MDB BCS S1 8 4MY2 LDX 4 BSBS 7 4NCL S1 SRL 4 7 7 4NX= DVS 4 4 7 4PBW LDX 0 4 7 4PWG LDN 4 1 7 4QB6 SMO 6 20 4QTQ LDX 5 A1(3) [BLOCK NO. OF BLOCK BEING FREED 18 4R*B BNZ 0 T15 [JUMP IF NOT OVER RUNNING 20 4RT2 T16 STO 5 BACK2(2) [MAKE BLIST BLK BLOCK TO BE FREED 16 4S#L ADN 4 1 [INCREASE POINTER 8 4SS= BRN T15 7 4T?W T12 SMO 6 15 4TRG LDX 5 A1(3) [BLOCK NUMBER 7 4W?6 LDN 4 1 9 4WQQ LDX 0 BACK2(2) 14 4X=B BNG 0 T16 [NEW HOME 8 4XQ2 BRN T15 7 4Y9L T18 SMO 6 15 4YP= LDX 5 A1(3) [BLOCK NUMBER 20 4YRT ...T15 BNG 5 (GEOERR) [GEOERR IF BLOCK NUMBER NEGATIVE 12 4YWD ... ANDN 5 3 [ 21 4Y_3 ... BNZ 5 (GEOERR) [BLOCKNUMBER MUST BE MULTIPLE OF 4 12 4_3L ... SMO 6 [ 12 4_69 ... LDX 5 A1(3) [ 7 4_C* ... SMO 4 20 4_NG STO 5 BSRLEN-1(2) [ADD FREED BLOCK NUMBER TO BLIST 9 5286 #SKI K6DRUMALL>449-449 9 52MQ TRACE 5,FBLKNOF 10 537B BSOFF BSBITS,T15B 8 53M2 STO 1 BSP4 17 546L LDX 1 5 [BLOCK NUMBER IN X5 19 54L= SLC 1 1 [B1=1 MARKS BLOCK AS FAILED 19 555W BPZ 1 T50AB [JUMP ROUND MACRO IF NOT SET 14 55KG STO 2 BSP5 [SAVE X2 20 55RQ ... STO 5 GEN0 [ SAVE BLOCK NO. FOR S/ROUTINE 9 5622 ... LDX 0 A1+1(3) 19 568= ... STO 0 GEN1 [ SAVE RES. NO. FOR S/ROUTINE 21 56BG ... CALL 7 SLOSBSBIT [ TO REMOVE FAILED ENTRY FROM /BFAIL 15 56JQ LDX 2 BSP5 [RESTORE X2 5 574B T50AB 7 579J ... FSHSKIP 4 57BQ ...( 14 57J2 LDX 1 5 [BLOCK NO 17 583L ORX 1 GSIGN [SET B0 TO MARK FREE 8 58H= CALL 0 Q1 4 58R4 ...) 7 592W T15B ADN 6 1 17 59GG STO 4 A1(2) [UPDATE BLIST POINTER 7 5=26 LDN 0 1 19 5=FQ ADS 0 A1+1(2) [UPDATE NUMBER OF FREE BLOCKS 8 5=_B BRN T14 9 5?F2 T13 LDXC 0 A1+4(2) 8 5?YL BCS T13A 7 5#D= FON 2 8 5#XW BRN T13B 8 5*CG T13A LONGON #14 10 5*X6 T13B NAME 3,BSTB,EMPTYB 5 5BBQ UP 15 5BWB QK3GET [WHATBACK : %A %B %C SPECIFIED 18 5CB2 STO 1 ACOMMUNE9(2) [SET AC9 -%C SPECIFIED 8 5CTL BRN T135 14 5D*= QK9GET [WHATBACK : %A %C SPECIFIED 18 5DSW STOZ ACOMMUNE9(2) [ZEROISE-%C NOT SPECIFIED 8 5F#G BRN T135 13 5FS6 QK7GET [WHATBACK : %B NOT SPEC 16 5G?Q STOZ ACOMMUNE8(2) [%B NOT SPECIFIED 10 5GRB STO 1 ACOMMUNE9(2) 8 5H?2 BRN T135 12 5HQL QK8GET [WHATBACK : %A ONLY 10 5J== STOZ ACOMMUNE8(2) 10 5JPW STOZ ACOMMUNE9(2) 4 5K9G T135 17 5K?9 ... FSHCODE B,NOTSHFSB [ OMIT IF NOT IN 'B' 4 5K#Y ...( 18 5KBM ... LDX 6 ACOMMUNE6(2) [ CHECK IF FOR SWAPFILE 17 5KDB ... BNG 6 SWAPFILE [ J. IF IT IS ELSE 21 5KG5 ... GEOERR 1,WHATBK ! [ GEOERR AS WHATBACK FORBIDDEN FOR 16 5KHS ...SWAPFILE [ F/S RESIDENCES 5 5KKH ...NOTSHFSB 4 5KM= ...) 10 5KP6 LDX 7 ACOMMUNE8(2) 10 5L8Q LDX 6 ACOMMUNE7(2) 7 5LNB NGN 4 1 10 5M82 STO 4 ACOMMUNE7(2) 8 5MML #SKI K6WHATBACK>6-6 4 5N7= ( 9 5NLW #SKI K6WHATBACK>499-499 10 5P2T ... TRACE 7,WHATBACK 21 5PBS ... BNG 7 WRONG [CHECK PARAMETERS POSITIVE OR ZERO 8 5PQR ... BNG 6 WRONG 8 5Q6Q ... SBN 6 10 8 5QGP ... SBN 7 512 18 5QWN ... BPZ 6 WRONG [CHECK PARAMETERS SMALL 8 5R=M ... BNG 7 RIGHT 5 5RLL ...WRONG 11 5S2K ... GEOERR BRIEFPM,WHATBACK 5 5SBJ ...RIGHT 17 5SQH ... ADN 7 512 [RESTORE PARAMETERS 8 5T6G ... ADN 6 10 4 5TGF ...) 7 5TWD ... LDX 3 7 18 5W=C ... SETNCORE 2(3),2,BSTB,EMPTYB [GETCORE FOR BSTB,FULLB 20 5W=Q ...#UNS FSHTEST [ OMIT STANDARD ALGORITHM CALL IN 4 5W?5 ...#SKI 17 5W?D ...( [ TESTING ENVIRONMENT 7 5W?W ...#UNS JPABSA3 4 5W** ...( 17 5WBS ... SEGENTRY K80GETBAX [ ABSA MACRO MENDS HERE 18 5WD? ... CALL 5 QK82GETBAX [STANDARD BS ALLOCATOR 4 5WFQ ...) 7 5WH9 ...#UNS JPABSA3 4 5WJN ...#SKI 16 5WLB ... CALL 5 RUM [FILE ALLOCATOR 4 5WP* ...) 17 5WS# ...#UNS FSHTEST [ ALWAYS USE ABSA IN 17 5WX? ... CALL 5 RUM [ TESTING ENVIRONMENT 10 5X2* ... MHUNT 1,BSTB,EMPTYB 10 5XB# ... LDX 3 ALOGLEN(1) 16 5XQ? ... STO 3 A1(1) [RECORD HEADER 9 5Y6= ... LDX 3 BACK1(2) 17 5YG9 ... STO 3 A1+1(1) [LOGICAL FILE NUMBER 17 5YW8 ... BZE 7 NOBACK [NO BLOCKS REQUIRED 8 5_=7 ... LDX 2 FX2 16 5_L6 ... BRN T9 [GET SOME BLOCKS 5 6225 ...NOBACK 7 62B4 ... LDX 3 1 8 62Q3 ... BRN T3 7 62R9 ...#UNS JPABSA3 14 62SC ... SEGENTRY K83GETBAX [ ABSA IP 6 62TK ... NULL 6 62WR ... NULL 8 62X_ ... BRN RUM 14 62_7 ... SEGENTRY K81GETBAX [ ABSA ON 8 632* ... LDN 0 165 7 633H ... LDN 1 3 4 634P ...) 4 6362 ...RUM 7 637F ...#UNS JPABSA3 4 638Y ...( 8 63=C ... STO 0 GEN0 8 63?W ... STO 1 GEN1 17 63#K ... STOZ GEN2 [ INDICATE FIRST PASS 4 63** ...) 7 63BS ...#UNS JPABSA3 4 63D? ...#SKI 6 63F_ ...#SKI JPABSA 4 63TY ...( 21 649X ...# THIS OPTION IMPLEMENTS THE FOLLOWING FILESTORE ALLOCATION ALGORITH 21 64KW ...# IDEAL LETHARGY := IF *DA ! THEN 0 ELSE IF SERIAL ! THE 2 ELSE 4 18 64_T ...# SUITABLITY := FRACTION OF RESIDENCE FILED AFTER ALLOC 14 65*S ...# +MISMATCH OF LETHARY WITH IDEAL 7 65PR ... SBN 6 7 8 665Q ... LDX 1 FX2 18 66FP ... BPZ 6 WRK [NEG FOR NON ! WHATBACK 14 66TN ... LDXC 6 ACOMMUNE6(1) [19SEPT 16 679M ... LDN 6 0 [SO SET TO ZERO 7 67KL ... SLL 6 1 7 67_K ...WRK SBN 6 2 17 68*J ... SLL 6 1 [X6 := IDEAL LETHARGY 21 68PH ... LDN 4 0 [INITIAL POINTER TO BEST RESIDENCE 17 695G ... NGS 6 A1+1(2) [GOES IN BSTS,EMPTYB 17 69FF ...XTRY LDN 3 BMISC [FOR TJ3 SUBROUTINE 8 69TD ... LDX 1 FX2 20 6=9C ...WLOOP CALL 0 TJ3 [FIND A RESIDENCE OF RIGHT SORT 15 6=FB ... BRN XFUL [ICL'S TFIN 8 6=P* ... SMO GEN2 18 6=_* ... LDX 0 A1+1(3) [FREESPACE IN RESIDENCE 16 6?*# ... SBX 0 ACOMMUNE8(1) [AMOUNT REQUIRED 19 6?P? ... BNG 0 WLOOP [WON'T FIT IN THIS RESIDENCE 17 6#5= ... LDX 0 A1+3(3) [SIZE OF RESIDENCE 17 6#F9 ... ADX 0 ACOMMUNE8(1) [ADD AMOUNT REQUIRED 21 6#T8 ... SBX 0 A1+1(3) [SUBTRACT FREE, X0 := NEW TOTAL OCCUP 7 6*97 ... LDN 7 0 18 6*K6 ... SLA 70 9 [CONV TO DOUBLE AND * 2_9 21 6*_5 ... DVR 7 A1+3(3) [DIVIDE BY SIZE TO GET NEW FRACTION O 21 6B*4 ...# THIS CAN BE UP TO 2 IN MAGNITUDE BECAUSE RESIDENCE MAY BECOME OVER 20 6BP3 ... LDEX 7 A1+4(3) [LETHARGE - LOSE TOP BIT (SWAP) 12 6C52 ... LDX 6 0 [CLEAR C KEEP X0 9 6CD_ ... BNZ 7 NOTED60 7 6CGY ...#UNS JPABSA3 8 6CJX ... LDX 7 GEN1 7 6CLW ...#UNS JPABSA3 4 6CNT ...#SKI 4 6CQS ...( 8 6CSY ... SMO FX1 10 6D8X ... LDX 7 FACTORLDS+1 4 6DBW ...) 5 6DJW ...NOTED60 18 6DYT ... SBX 7 A1+1(2) [SUBTRACT IDEAL LETHARGY 21 6F#S ... SLL 7 9 [JUSTIFY WITH FRACTION OCCUPIED ALG 18 6FNR ...# THERE IS SCOPE FOR CHANGING THE VALUE OF THIS SHIFT 19 6G4Q ...# IT DEFINES THE RELATIVE PENALTIES OF OVERFULL RESIDENCE 10 6GDP ...# AND NON-IDEAL LETHARGY 8 6GSN ... BPZ 7 XABS 16 6H8M ... NGX 7 7 [MAKE POSITIVE 21 6HJL ...XABS ADX 0 7 [X0 := LETHARGE MISMATCH + FRACTION O 7 6HLK ...#UNS JPABSA3 8 6HNJ ... MPY 6 GEN0 7 6HQH ...#UNS JPABSA3 4 6HSG ...#SKI 4 6HWF ...( 8 6HYK ... SMO FX1 9 6J#J ... MPY 6 FACTORLDS 4 6JGH ...) 13 6JNH ... SRA 67 9 [DIV BACK THE 2_9 14 6K4G ... SBX 7 BSJAM [COMPARE WITH BACKJAM 7 6KDF ... NGX 7 7 14 6KSD ... SRL 7 13 [X7:=3 IF BSJAM DUE 16 6L8C ... ADX 7 0 [ADD 3 TO SUITABILITY IF SO 14 6LJB ... [WILL ENSUE 10 6LY* ... TXL 7 ACOMMUNE7(1) 17 6M## ... BCC WLOOP [J IF NOT BEST SO FAR 10 6MN? ... STO 7 ACOMMUNE7(1) 16 6N4= ... LDX 4 3 [POINTER OF RES 8 6ND9 ... BRN WLOOP 10 6NDH ...XFUL LDX 7 ACOMMUNE8(1) 17 6NDT ... BNZ 4 TFIN [ SUITABLE FILE FOUND 15 6NF7 ... LDX 0 GEN2 [ WHICH PASS? 16 6NFF ... BZE 0 RETRY [ JUMP IF FIRST 11 6NFR ... GEOERR BRIEFPM,ABSAFAIL 18 6NG5 ...RETRY LDN 0 2 [ INDICATE SECOND PASS 8 6NGC ... STO 0 GEN2 17 6NGP ... BRN XTRY [ GO FOR SECUND PASS 7 6NH8 ...#UNS JPABSA3 4 6NL7 ...#SKI 4 6NP6 ...( 9 6NS8 ... SEGENTRY FACTORLDS 6 6P87 ... 165,3 4 6PB6 ...) 4 6PJ6 ...) 7 6PN5 ...#UNS JPABSA3 4 6PS4 ...#SKI 7 6PY5 ...#SKI JPABSA<1$1 4 6Q#4 ...( 7 6QD3 ...#UNS JPABSA3 14 6QGN ... SEGENTRY K82GETBAX [ ABSA OFF 6 6QK* ...QK82GETBAX 21 6QL2 ...#UNS FSHTEST [LEAVE OUT STANDARD ALGORITHM IN SHARED 21 6QLM ...#SKI [FILESTORE TESTING ENVIRON TO MAKE ROOM 21 6QM# ...( [FOR BOTH M/C CODE I.E.MUST USE 'ABSA' 7 6QN3 ... LDN 1 0 9 6R42 ... STOZ A1+1(2) 8 6RC_ ... LDN 3 BMISC 19 6RRY ...TJ14 CALL 0 TJ3 [LOOK FOR A BSTB/BSLIST BLOCK 17 6S7X ... BRN TNOM [BRANCH IF NO MORE 18 6SHW ... ADX 1 A1+3(3) [TOTAL AVAILABLE SPACE 9 6SXT ... LDX 0 A1+1(3) 18 6T?S ... ADS 0 A1+1(2) [AMOUNT OF FREESPACE LEFT 7 6TMR ... LDX 4 3 8 6W3Q ... BRN TJ14 4 6WCP ...TNOM 11 6WRN ...#SKIP K6WHATBACK>3-3 4 6X7M ...( 8 6XHL ... BNZ 1 TJ8 18 6XXK ... GEOERR 1,NO BLIST [NO BSTB/BSLIST BLOCKS 4 6Y?J ...) 20 6YMH ...# THE FOLLOWING LOCATION CONTAINS THE OPTIMUM NUMBER OF FILES 21 6_3G ...# PER LOGICAL FILE. THIS VALUE MAY BE CHANGED AT THE INSTALLATION 20 6_CF ...# MANAGERS DISCRETION AT RESTORE TIME WITH THE MACRO NOFILES. 4 6_RD ...# 8 727C ... SEGENTRY INOF 6 72HB ... +200 8 72X* ... SEGENTRY INOFA 7 73?# ... +10 4 73M? ...# 20 743= ...# THE FOLLOWING LOCATION CONTAINS A ROUNDING FACTOR USED IN THE 20 74C9 ...# ALGORITHM THAT DECIDES WHICH IS THE MOST SUITABLE LOGICAL FILE 20 74R8 ...# FOR A FILE TO GO ON.THIS VALUE MAY BE CHANGED AT RESTORE TIME 19 7577 ...# BY THE MACRO NOFILES.THE CURRENT VALUE WILL WORK ON ALL 20 75H6 ...# INSTALLATIONS WHERE THE MAXIMUM LOGICAL FILE SIZE IS LESS THAN 20 75X5 ...# 32 MILLION WORDS.ON AN INSTALLATION WHERE THE MAXIMUM LOGICAL 20 76?4 ...# FILE SIZE IS LARGER,THE ROUNDING FACTOR MUST BE ROUNDED DOWN 21 76M3 ...# BY THE NUMBER OF TIMES THAT THE LARGEST LOGICAL FILE IS GREATER 13 7732 ...# THAN 32 MILLION WORDS,ROUNDED UP 4 77B_ ...# 9 77QY ... SEGENTRY FACTOR 6 786X ... +128 4 78GW ...# 8 78WT ...TJ8 STO 1 A1(2) 21 79=S ... LDN 4 0 [INITIALISE POINTER TO MOST SUITABLE 15 79LR ... [BSLIST BLOCK 18 7=2Q ...TJ4 CALL 0 TJ3 [FIND NEXT BSLIST BLOCK 20 7=BP ... BRN TNMO [JUMP IF NO MORE BSLIST BLOCKS 21 7=QN ... LDX 0 A1+1(3) [LOAD FREE SPACE LEFT ON LOGICAL FILE 19 7?6M ... SBX 0 7 [SUBTRACT FILE SIZE REQUIRED 21 7?GL ... BNG 0 TJ4 [JUMP IF NO ROOM ON THIS LOGICAL FILE 8 7?WK ... LDX 1 FX1 19 7#=J ... MPY 7 FACTOR(1) [MULTIPLY BY ROUNDING FACTOR 7 7#LH ... LDX 7 0 9 7*2G ... LDXC 6 A1+4(3) 8 7*BF ... BCS R8 20 7*QD ... MPY 7 INOF(1) [MULTIPLY BY OPTIMUM NO OF FILES 8 7B6C ... BRN R9 9 7BGB ...R8 MPY 7 INOFA(1) 4 7BW* ...R9 19 7C=# ... DVD 7 A1+3(3) [DIVIDE BY LOGICAL FILE SIZE 18 7CL? ... SBX 0 FACTOR(1) [SUBTRACT ROUNDING FACTOR 18 7D2= ... BPZ 0 R7 [JUMP IF RESULT POSITIVE 16 7DB9 ... NGX 0 0 [MAKE POSITIVE 18 7DQ8 ...R7 LDX 6 A1+3(3) [LOAD LOGICAL FILE SIZE 19 7F67 ... MPY 6 FACTOR(1) [MULTIPLY BY ROUNDING FACTOR 7 7FG6 ... LDX 6 7 19 7FW5 ... MPY 6 A1+1(2) [MULTIPLY BY TOTAL FREE SPACE 20 7G=4 ... DVD 6 A1(2) [DIVIDE BY TOTAL AVAILABLE SPACE 20 7GL3 ... DVS 6 A1+1(3) [DIVIDE BY FREE SPACE ON LOG FILE 19 7H22 ... ADX 7 0 [ADD TWO PARTS OF ALGORITHM 8 7H*_ ... LDX 1 FX2 20 7HPY ... TXL 7 ACOMMUNE7(1) [JUMP IF THIS LOGICAL FILE IS NOT 16 7J5X ... BCC TJ5 [MORE SUITABLE 17 7JFW ... STO 7 ACOMMUNE7(1) [STORE SUITABILITY 19 7JTT ... LDX 4 3 [SET POINTER TO BSLIST BLOCK 18 7K9S ...TJ5 LDX 7 ACOMMUNE8(1) [RESET REQUIRED FILE SIZE 8 7KKR ... BRN TJ4 21 7K_Q ...TNMO BNZ 4 TFIN [JUMP IF A SUITABLE IF HAS BEEN FOUND 8 7L*P ... LDX 1 FX2 18 7LPN ...R3 CALL 0 TJ3 [FIND NEXT BSLIST BLOCK 19 7M5M ... BRN TNMORE [JUMP IF THERE ARE NO MORE 18 7MFL ... LDX 0 A1+3(3) [LOAD LOGICAL FILE SIZE 18 7MTK ... SBX 0 7 [SUBTRACT REQUIRED SIZE 19 7N9J ... BNG 0 R3 [JUMP IF FILE BIGGER THAN LF 18 7NKH ... LDX 7 A1+3(3) [LOAD LOGICAL FILE SIZE 19 7N_G ... DVS 6 ACOMMUNE8(1) [DIVIDE BY REQUIRED FILE SIZE 9 7P*F ... LDXC 0 A1+4(3) 8 7PPD ... BCS R10 20 7Q5C ... SMO FX1 [SUBTRACT OPTIMUM NO OF FILES PER 15 7QFB ... SBX 7 INOF [LOGICAL FILE 8 7QT* ... BRN R11 8 7R9# ...R10 SMO FX1 8 7RK? ... SBX 7 INOFA 4 7R_= ...R11 18 7S*9 ... BPZ 7 R4 [JUMP IF POSITIVE RESULT 7 7SP8 ... NGX 7 7 17 7T57 ...R4 TXL 7 ACOMMUNE7(1) [STORE SUITABILITY 16 7TF6 ... BCC R3 [MORE SUITABLE 17 7TT5 ... STO 7 ACOMMUNE7(1) [STORE SUITABILITY 20 7W94 ... LDX 4 3 [POINTER TO MOST SUITABLE BSLIST 8 7WK3 ... BRN R3 4 7W_2 ...) 10 7X#_ ...TNMORE LDX 7 ACOMMUNE8(1) 21 7XNY ... BNZ 4 TFIN [JUMP IF SUITABLE LOGICAL FILE FOUND 21 7Y4X ... GEOERR BRIEFPM,WON'TFIT [THIS FILE IS BIGGER THAN ALL LF'S 4 7Y7W ...) 17 7Y=T ...# THIS CODE IS COMMON TO BOTH ALLOCATION ALGORITHMS 4 7Y*S ...# 7 7YDW ...TFIN LDX 2 4 4 7YST ...# 12 7_8S ...#SKIP K6WHATBACK>599-599 11 7_JR ... TRACE BACK1(2),THISBACK 10 7_YQ ... NGX 1 ACOMMUNE8(1) 21 82#P ... ADX 1 A1+1(2) [X1=FREE SPACE LEFT AFTER ALLOCATION 16 82NN ... LDX 6 5 [REMEMBER LINK 9 834M ... LDXC 0 A1+4(2) 8 83DL ... BCS TJ30 19 83SK ... JAMQUERY 1 [START UNJAMMER IF REQUIRED 7 848J ...TJ30 EXIT 6 0 4 84JH ...TJ6 21 84YG ...TJ3 LDX 3 0(3) [FIND BSTB/BSLIST BLOCK SUBROUTINE 8 85#F ... TXU 3 CXMI 8 85ND ... BCC TJ9 9 864C ... LDX 6 ATYPE(3) 8 86DB ... SRL 6 12 10 86S* ... SBN 6 BSTB+BSLIST 8 878# ... BNZ 6 TJ3 20 87J? ... LDCT 6 #400 [CHECK IF RIGHT TYPE OF FILE 1J.E 17 87Y= ... ANDX 6 A1+4(3) [SWAP OR FILESTORE 8 88#9 ... SMO FX2 9 88N8 ... ERX 6 ACOMMUNE6 8 8947 ... BNZ 6 TJ3 17 89D6 ... LDX 6 BACK1(3) [CHECK IF RESERVED LF 8 89S5 ... SMO FX1 8 8=84 ... TXL 6 XAL 16 8=J3 ... BCC TJ3 [IGNORE IF IT IS 7 8=JP ...#UNS ANOTALLOC 4 8=KC ...( 4 8=L5 ...# 10 8=LR ... FIXTRA K100GETBAX 8 8=MF ... BRN TJ9A 4 8=N7 ...# 21 8=NT ... LDCT 6 #200 [IGNORE BSLIST BLOCK IF %E (ACOMMUNES 21 8=PH ... ANDX 6 A1+4(3) [PRESENT AND BIT 1 OF BSLETH (BSMARK) 8 8=Q9 ... BZE 6 TJ9A 13 8=QX ... SMO FX2 [SET 9 8=RK ... ERX 6 ACOMMUNE5 8 8=S? ... BZE 6 TJ3 4 8=S_ ...TJ9A 4 8=TM ...# 10 8=W* ... FIXTRA K101GETBAX 4 8=X3 ...) 19 8=Y2 ... EXIT 0 1 [X3=ADDRESS OF BSTB/BSLIST 14 8??_ ...TJ9 EXIT 0 0 [NO MORE? 19 8?MY ...XAL +48 [LFN OF FIRST RESERVED FILE 5 8#3X ...QK5GET 18 8#CW ... LDX 7 ACOMMUNE7(2) [PICK UP SIZE REQUIRED 11 8#RT ...#SKIP K6WHATBACK>3-3 4 8*7S ...( 8 8*HR ... SBX 7 BSBS 7 8*XQ ... SBN 7 1 8 8B?P ... BNG 7 TJ12 18 8BMN ... GEOERR 1,SIZE2BIG [GREATER THAN ONE BSBS 10 8C3M ...TJ12 LDX 7 ACOMMUNE7(2) 4 8CCL ...) 16 8CRK ... GETCORE 7,1 [GET A CORE BLOCK 16 8D7J ... LDN 7 0 [INITIALIZE SIZE 17 8DHH ... STOZ ACOMMUNE6(2) [MARKER FOR FILESTORE 8 8DXG ... LDN 3 BMISC 15 8F?F ...TJ12B CALL 0 TJ3 [FIND A LIST 16 8FMD ... BRN TJ12A [NO MORE LISTS 9 8G3C ... LDX 0 BSFREE(3) 10 8GCB ... ADX 0 BSRESERVE(3) 7 8GR* ... TXL 7 0 21 8H7# ... BCC TJ12B [JUMP IF SMALLER THAN ONE REMEMERED 7 8HH? ... LDX 7 0 14 8HX= ... LDX 4 BACK1(3) [L.F.N 8 8J?9 ... BRN TJ12B 8 8JM8 ...TJ12A BNZ 7 TJ12C 9 8K37 ... GEOERR 1,NOFILE 7 8KC6 ...TJ12C GETBACK 4 10 8KR5 ... LDX 7 ACOMMUNE7(2) 16 8L74 ... HUNT 2,GCB [X2-> CORE BLOCK 14 8LH3 ... STO 4 BACK1(2) [L.F.N. 15 8LX2 ... STO 7 BACK2(2) [STORE NUMBER 5 8M=_ ... UP 4 8MLY ...# 9 8N2X ...# BACKREAD FAILURE 9 8NBW ...RT60 LDX 7 BACK1(3) 14 8NQT ... STO 7 ACOMMUNE1(2) [L.F.N 10 8P6S ... STO 6 ACOMMUNE3(2) 10 8PGR ... STO 5 ACOMMUNE2(2) 10 8PWQ ... ACROSS BSALFAIL,1 4 8Q=P ...# 9 8QLN ...# BACKWRITE FAILURE 4 8R2M ...RT50 9 8RBL ... LDX 7 BACK1(3) 10 8RQK ... STO 7 ACOMMUNE1(2) 7 8S6J ... NGN 5 1 10 8SGH ... STO 5 ACOMMUNE3(2) 10 8SWG ... MHUNT 3,BSTB,FULLB 7 8T=F ... SMO 6 8 8TLD ... LDX 0 A1(3) 10 8W2C ... STO 0 ACOMMUNE2(2) 7 8WBB ... ADN 6 1 10 8WQ* ... STO 6 ACOMMUNE4(2) 10 8X6# ... ACROSS BSALFAIL,3 5 8XMQ QK10GET 10 8Y7B LDX 6 ACOMMUNE4(2) 10 8YM2 MHUNT 3,BSTB,FULLB 9 8_6L LDX 7 A1+1(3) 7 8_L= GETBSLIS 8 925W BRN T14 5 92KG QK11GET 18 9356 LDX 6 ACOMMUNE3(2) [RETURN FROM READ FAILURE 10 93JQ LDX 0 ACOMMUNE2(2) 10 944B STO 0 ACOMMUNE9(2) 10 94J2 MHUNT 3,BSTB,EMPTYB 9 953L LDX 7 A1+1(3) 7 95H= GETBSLIS 8 962W BRN T4 7 ?P8# ... FSHSKIP 4 ?P*G ...( 21 ?PGQ # THIS ROUTINE IS A TESTING AID FOR THE BS ALLOCATION SYSTEM WHICH 20 ?Q2B # WILL SET A BIT IF A BLOCK IS FREED, CHECKING THAT IT IS NOT 21 ?QG2 # ALREADY SET, AND UNSETTING IT IF A BLOCK IS GIVEN AWAY, SIMILARLY 20 ?Q_L # CHECKING THAT IT IS NOT ALREADY UNSET. THE BITS CONCERNED WILL 20 ?RF= # BE SITUATED IN THE WORDS FOLLOWING THE LIST OF FREE BLOCK NOS. 21 ?RYW # THERE WILL BE ONE BIT FOR EACH GEORGE BLOCK WITHIN EACH LOGICAL 20 ?SDG # FILE, THE BITS REFERRING TO THE BLOCK NO. CORRESPONDING TO THE 20 ?SY6 # POSITION OF THE BIT RELATIVE TO THE BEGINNING OF THIS AREA. 21 ?TCQ # E.G. BLOCK NO. 50 WILL BE REPRESENTED BY B2 OF WORD 2 OF THE AREA 14 ?TXB Q1 STO 2 BSP5 [BSLIST PTR 8 ?WC2 STO 3 BSP6 14 ?WWL LDX 3 1 [X1=BLOCK NO. 8 ?XB= BPZ 3 Q2 16 ?XTW ERX 3 GSIGN [DROP SIGN BIT 9 ?Y*G Q2 LDX 2 A1+4(2) 18 ?YT6 BPZ 2 Q2A [JUMP IF NOT A SWAP FILE 8 ?_#Q LDX 2 BSSS 8 ?_SB BRN Q2B 8 #2#2 Q2A LDX 2 BSBS 7 #2RL Q2B SRL 2 7 21 #3?= DVS 2 2 [X3 CONTAINS ACTUAL BLOCK/SHIFT NO. 8 #3QW SMO BSP5 19 #4=G TXL 3 A1+3 [TEST IF VALID BLOCK NUMBER 8 #4Q6 BCS Q4 10 #59Q GEOERR 1,BLKTOB1G 8 #5PB Q4 LDN 2 24 19 #692 DVS 2 2 [CONVERT TO WORD/BIT MODIFIER 8 #6NL STO 1 BSL1 14 #78= LDX 1 GSIGN [B0 ONLY 19 #7MW SRL 1 0(2) [SET BIT IN CORRECT POSITION 8 #87G STO 2 BSL2 8 #8M6 LDX 2 BSL1 18 #96Q BNG 2 Q3 [ J IF BIT IS TO BE SET 7 #9LB NGN 2 1 20 #=62 ERX 1 2 [INVERT BIT PATTERN TO UNSET BIT 17 #=KL # NOW X1=111...11011...11 IE ONLY ONE BIT IS UNSET 8 #?5= SMO BSP5 10 #?JW LDX 2 BSCHLEN(3) 8 ##4G SMO BSL2 7 ##J6 SLL 2 0 21 #*3Q BNG 2 Q5 [J IF BLOCK IS FREE IE ALLOCATABLE 19 #*HB GEOERR 1,GIVEGIVE [ATTEMPT TO GIVE BLOCK TWICE 8 #B32 Q5 SMO BSP5 19 #BGL ANDS 1 BSCHLEN(3) [UNSET BIT TO MARK BLOCK ISED 8 #C2= BRN Q7 8 #CFW Q3 SMO BSP5 10 #C_G LDX 2 BSCHLEN(3) 8 #DF6 SMO BSL2 7 #DYQ SLL 2 0 19 #FDB BPZ 2 Q6 [J IF BLOCK NOT FREE ALREADY 21 #FY2 GEOERR 1,FREEFREE [ATTEMPT TO FREE AN ALREADY FREED BLK 8 #GCL Q6 SMO BSP5 19 #GX= ORS 1 BSCHLEN(3) [SET BIT TO MARK BLOCK FREE 8 #HBW Q7 LDX 1 BSP4 8 #HWG LDX 2 BSP5 8 #JB6 LDX 3 BSP6 7 #JTQ EXIT 0 0 4 #JW6 ...) 8 #JWG ... FSHCODE AORB 4 #JWW ...( 4 #JX= ...[ 18 #JXL ...[ SUBROUTINE TO GET 'FSHBSBLOCKS' BLOCKS FROM MACHINE 'A' 4 #JY2 ...[ 6 #JYB ...XGET64BLKS 16 #JYQ ... SBX 1 FX1 [ RELATIVISE LINK 8 #J_6 ... SMO FX2 16 #J_G ... STO 1 AWORK2 [ PRESERVE LINK 8 #J_W ... SMO FX2 20 #K2= ... STO 6 AWORK3 [ PRESERVE X6 (PTR. DOWN EMPTYB) 17 #K2L ... LDX 4 BACK1(2) [ GET RESIDENCE NO. 21 #K32 ... NGS 2 A1(2) [ SET 'BSPOI' -VE TO LOCK OUT OTH 20 #K3B ... LDX 2 FX2 [ STORE RES. NO. FOR USE IN ^A^ 21 #K3Q ... STO 4 ACOMMUNE8(2) [ AND GET 'FSHBSBLOCKS' BLOCKS FROM A 16 #K46 ... TRANSBEG FSHBSID,FSHBSAL,4,NOBLOCKS,,ACOMMUNE3 19 #K4G ... GETBSLIS [ BLOCKS FROM MACHIONE 'A' 20 #K4W ... MHUNT 3,BSTB,FULLB [ FIND LIST OF BLOCKS OBTAINED 19 #K5= ... LDN 7 FSHBSBLOCKS [ NO OF NUMBERS TO BE 'MOVED' 5 #K5L ...PUTNXTIN 19 #K62 ... LDX 0 A1+2(3) [ NXT BLOCK NO FROM /FULLB 7 #K6B ... SMO 7 19 #K6Q ... STO 0 BSRLEN-1(2) [ STORE BLOCK NO IN /BSLIST 19 #K76 ... ADN 3 1 [ INCREMENT /FULLB POINTER 18 #K7G ... BCT 7 PUTNXTIN [ DECR. /BSLIST POINTER 17 #K7W ... MHUNTW 3,BSTB,FULLB [ RE-LOCATE /FULLB 19 #K8= ... LDX 7 A1+1(3) [ GET RES. NO. FOR 'GETBSLIS' 20 #K8L ... FREECORE 3 [ FREE /FULLB OBTAINED FROM 'A' 16 #K92 ... FON 3 [ WAKE UP WAITERS 20 #K9B ... LDX 6 AWORK3(2) [ RECOVER POINTER DOWN /EMPTYB 21 #K9Q ... GETBSLIS [ RECOVER POINTER TO /BSLIST BLOCK 8 #K=6 ... SMO FX2 16 #K=G ... LDX 1 AWORK2 [ RECOVER LINK 8 #K=W ... ADX 1 FX1 7 #K?= ... EXIT 1 0 4 #K?L ...) 4 #K#2 ...[ 3 #K#B ... 10 #PQ2 MENDAREA 50,K99GETBAX 4 #Q9L # 4 #QP= #END 6 ____ ...444547360003