13 22FL ...#SEG EXINTO70 [BACK 4 22KH ...# 16 22PD ...# COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 22T* ...# 7 22_= #LIS K0EXINTO 7 23DW 8HEXINTO 4 23YG # 7 24D6 #DEF HNEW=CELLB 7 24XQ #DEF XCA=EVENT2 4 25CB # 4 25X2 # 12 26BL SEGENTRY K3EXINTO,QK3EXINTO 4 26W= # 9 27*W ZMASK #37777777 9 27TG ZMASK1 #00777777 8 28*6 Z6 +6 9 28SQ ZEWG +EWGORN 6 29#B #FID 1 1 1 4 29S2 # 5 2=?L RERITEA 9 2=R= LDX 4 ARQS(3) 16 2?=W STO 4 1(2) [STARTING BLOCK 10 2?QG LDX 5 AREQT+3(3) 16 2#=6 ADN 5 1 [ENDING BLOCK+1 10 2#PQ LDX 6 AREQT+2(3) 20 2*9B BNZ 6 ZA85 [IF STARTING BLOCK NON ZERO ... 21 2*P2 TXU 5 7 [...AND/OR END BLOCK NOT EQUAL TO... 21 2B8L ADN 6 0 [...AREA DEPTH-AREA IS NOT FULL DEPTH 10 2BN= ZA85 LDX 4 AREQT+1(3) 15 2C7W MPA 4 7 [ENDING BLOCK 8 2CMG STO 5 2(2) 17 2D76 BZE 6 ZA86 [BRANCH IF FULL DEPTH 17 2DLQ LDCT 6 256 [SET FULL DEPTH BIT 8 2F6B ORS 6 2(2) 15 2FL2 ZA86 STO 7 4(2) [S.U.DEPTH 7 2G5L EXIT 0 0 4 2GK= # 4 2H4W # 17 2HJG ZAE70 LDN 4 0 [X4=REPLY FOR BREAKIN 8 2J46 BRN ZCANT 20 2JHQ ZA10 LDN 4 6 [X4=REPLY STORAGE UNIT NOT ONLINE 9 2K3B ZCANT ACROSS EXINONE,4 10 2KH2 ZAE15 MHUNT 3,EWDAS,GEXD 9 2L2L LDX 5 ARUNIT(3) 17 2LG= TXU 5 HMUNIT(3) [AREA UNIT=HOME UNIT? 16 2L_W BCC ZFR2 [BRANCH IF EQUAL 8 2MFG LDX 1 FX1 20 2M_6 KEEPMESS ZEWG(1),5,ARQS(3) [SPECIFIED AREA LOST TO SYSTEM 17 2NDQ ZFR2 LDN 7 0 [MARKER FOR EXTEND 16 2NYB LDCT 4 #40 [REPLY = FAILURE 8 2PD2 BRN ZJRB9 4 2PXL ZAE9 16 2QC= ZAF9 LDCT 4 #40 [REPLY=FAILURE 16 2QWW LDN 7 1 [MARKER FOR SCEX 8 2RBG BRN ZJRB9 20 2RW6 ZAE11 LDN 4 0 [REPLY=SYSTEM CONTROL AREA FULL 16 2S*Q NGN 7 1 [MARKER FOR SCEX 10 2STB MHUNT 3,EWDAS,GEXD 20 2T*2 CLOSEST ZJRB5 [CLOSE UNIT TO TRANSFER SYSTEM 9 2TSL TESTREPNOT OK,ZAE9 10 2W#= ZJRB9 MHUNT 3,EWDAS,GEXD 8 2WRW ZJRB5 LDCT 0 128 17 2X?G ANDX 0 EMARK(3) [SEE IF MODE #1500... 16 2XR6 BZE 0 ZJRB6 [...BRANCH IF SO 9 2Y=Q ACROSS SCEXEND,3 9 2YQB ZJRB6 ACROSS EXINONE,5 4 2_=2 # 6 2_PL QK3EXINTO 10 329= MHUNT 3,EWDAS,GEXD 7 32NW ZAA6 SMO 6 7 338G LDN 5 0 18 33N6 BNZ 5 ZA67 [ANY VACANT CELLS NEEDED? 9 347Q LDX 5 EMARK(3) 18 34MB BPZ 5 ZA68 [IS AREA A SCRATCH FILE? 8 3572 LDCT 6 #400 18 35LL SMO CELLA+5(3) [SET FULL DEPTH MARKER 7 366= ANDX 6 2 19 36KW CLOSEST ZAA9 [IF IT IS TERMINATE TRANSFERS 10 375G MHUNT 3,EWDAS,GEXD 15 37K6 TESTREPNOT OK,ZAE9 [FAIL REPLY 8 384Q BRN ZAA9 10 38JB ZA68 SMO CELLA+5(3) 20 3942 LDX 0 0 [ADDRESS OF NEXT UNALLOCATED AREA 9 39HL STO 0 HNEW(3) 8 3=3= BRN ZAA8 17 3=GW ZA67 SMO AWORK4(2) [CORE ADDRESS OF SCH 8 3?2G LDX 4 12 19 3?G6 BZE 4 ZAE11 [REPLY 0 IF NO VACANT CELLS 18 3?_Q READSAVE 4,ZA70 [READ FIRST VACANT CELL 9 3#FB TESTREPNOT OK,ZAE9 9 3#_2 LDX 1 ECOR(3) 20 3*DL ZA70 STO 1 HNEW+1(3) [REMEMBER CORE ADDRESS OF CELL 20 3*Y= STO 4 HNEW(3) [REMEMBER B.S. ADDRESS OF CELL 18 3BCW BCT 6 ZA71 [ANY MORE CELLS REQUIRED? 8 3BXG BRN ZA72 8 3CC6 ZA71 LDX 4 0(1) 21 3CWQ BZE 4 ZAE11 [REPLY 0 IF NOT ENOUGH VACANT CELLS 15 3DBB READSAVE 4,ZA72 [READ CELL 9 3DW2 TESTREPNOT OK,ZAE9 9 3F*L ZA73 LDX 1 ECOR(3) 20 3FT= ZA72 STO 1 HNEW+2(3) [REMEMBER CORE ADDRESS OF CELL 18 3G#W MFINDSU 1,ARUNIT(3) [FIND ASTUC FOR AREA UNIT 18 3GSG LDX 5 CEXTEND(1) [LOAD COUNT OF EXTENDS 9 3H#6 LDX 0 EMARK(3) 18 3HRQ SLL 0 1 [IS EXTEND MODE #1500? 15 3J?B BPZ 0 ZA74 [BRANCH IF SO 9 3JR2 LDX 0 ARUNIT(3) 21 3K=L TXU 0 HMUNIT(3) [IF AREA UNIT=HOME UNIT SUBTRACT... 19 3KQ= BCS ZA74 [...ONE FROM COUNT OF EXTENDS 7 3L9W SBN 5 1 19 3LPG ZA74 BZE 5 ZAA7 [IF NO OUTSTANDING EXTENDS-OK 9 3M96 ZA75 SMO ECOR(3) 7 3MNQ LDX 4 0 20 3N8B BZE 4 ZAE11 [READ DOWN VACANT CELL CHAIN... 21 3NN2 SBN 5 1 [...TO ENSURE ENOUGH VACANT CELLS... 20 3P7L BZE 5 ZAA7 [...FOR ALL OUTSTANDING EXTENDS 9 3PM= READST 4,ZA75 9 3Q6W TESTREPNOT OK,ZAE9 8 3QLG BRN ZA75 20 3R66 ZAA7 SMO HNEW+2(3) [DECHAIN VACANT CELL(S) FROM... 17 3RKQ LDX 4 0 [...VACANT CELL CHAIN 8 3S5B LDX 2 FX2 9 3SK2 SMO AWORK4(2) 8 3T4L STO 4 12 16 3TJ= WRITEST C,AWORK4(2),ZA76 [WRITE AWAY SCH 9 3W3W TESTREPNOT OK,ZAE9 10 3WHG ZA76 SMO CELLA+5(3) 20 3X36 LDX 5 0 [CHAIN LAST VACANT CELL INTO... 18 3XGQ LDX 2 HNEW+2(3) [UNALLOCATED AREA CHAIN 8 3Y2B STO 5 0(2) 21 3YG2 SLC 6 1 [IS MARKER = SPLIT OFF CYLINDERS SET 16 3Y_L BPZ 6 ZA77 [BRANCH IF NOT 20 3_F= LDX 0 ARUNIT(3) [REWRITE SECOND VACANT CELL TO... 21 3_YW STO 0 3(2) [DESCRIBE AREA CREATED BY SPLITTING. 16 42DG LDX 4 AREQT+1(3) [...OFF CYLINDERS 7 42Y6 ADN 4 1 10 43CQ LDX 5 AREQT+2(3) 19 43XB MPA 4 EDEPF(3) [CONVERT START BLOCK NUMBER 8 44C2 STO 5 1(2) 15 44WL LDX 4 EDEPF(3) [DEVICE DEPTH 8 45B= STO 4 4(2) 21 45TW SMO CELLA+5(3) [END BLOCK AND FULL DEPTH MARKER... 19 46*G LDX 4 2 [...AS FOR AREA UNALLOCATED 8 46T6 STO 4 2(2) 20 47#Q CHUCKWR C,2,ZA78 [WRITE NEW UNALLOCATED AREA CELL 9 47SB TESTREPNOT OK,ZAE9 20 48#2 ZA78 ANDN 6 1 [IS MARKER = SPLIT OFF BLOCK SET? 16 48RL BZE 6 ZA79 [BRANCH IF NOT 9 49?= ZA77 LDX 2 HNEW+1(3) 20 49QW LDX 0 ARUNIT(3) [REWRITE FIRST VACANT CELL TO... 21 4==G STO 0 3(2) [DESCRIBE AREA CREATED BY SPLITTING 16 4=Q6 LDX 0 EDEPF(3) [...OFF BLOCKS 15 4?9Q STO 0 4(2) [DEVICE DEPTH 9 4?PB LDX 4 AREQT(3) 10 4#92 LDX 5 AREQT+3(3) 7 4#NL ADN 5 1 19 4*8= MPA 4 EDEPF(3) [CALCULATE START BLOCK NO. 8 4*MW STO 5 1(2) 10 4B7G LDX 4 AREQT+1(3) 18 4BM6 LDX 5 CELLA+3(3) [CALCULATE END BLOCK NO. 9 4C6Q MPA 4 EDEPF(3) 7 4CLB ADN 5 1 16 4D62 ORX 5 GSIGN [NOT FULL DEPTH 8 4DKL STO 5 2(2) 20 4F5= CHUCKWR C,2,ZA79 [WRITE NEW UNALLOCATED AREA CELL 9 4FJW TESTREPNOT OK,ZAE9 9 4G4G ZA79 LDX 0 EMARK(3) 19 4GJ6 BPZ 0 ZAA8 [BRANCH IF NOT A SCRATCH FILE 10 4H3Q LDX 2 CELLA+5(3) 9 4HHB LDX 0 ARUNIT(3) 18 4J32 STO 0 3(2) [SERIAL NO. TO AREA UNIT 9 4JGL LDX 7 EDEPF(3) 20 4K2= CALL 0 RERITEA [SET UP CELL TO DESCRIBE AREA... 15 4KFW LDX 0 HNEW(3) [...REQUESTED 8 4K_G STO 0 0(2) 21 4LF6 CLOSEWR C,2 [WRITE AWAY CELL AND END ACCESS... 18 4LYQ MHUNT 3,EWDAS,GEXD [...TO THIS STORAGE UNIT 9 4MDB TESTREPNOT OK,ZAE9 9 4MY2 ZAA9 LDX 0 ARUNIT(3) 19 4NCL STO 0 HMUNIT(3) [SET AREA=HOME UNIT FOR SCEX 10 4NX= MFINDSU 2,HMUNIT(3) 10 4PBW LDX 4 CSCRATCH(2) 20 4PWG ADN 4 HSCRATCH-A1 [SEE IF BIG ENOUGH FOR ANOTHER... 18 4QB6 TXL 4 ALOGLEN(2) [ENTRY INTO SCRATCH LIST 8 4QTQ BCS ZA92 7 4R*B ADN 4 1 7 4RT2 LDX 5 2 16 4S#L ALTLEN 5,4 [-IF NOT ALTLEN 7 4SS= SBN 4 1 15 4T?W MHUNT 3,EWDAS,GEXD [REFIND GEXD 15 4TRG MFINDSU 2,HMUNIT(3) [REFIND ASTUC 9 4W?6 ZA92 LDX 5 ARQS(3) 16 4WQQ SMO 4 [INSERT NEW ENTRY 8 4X=B STO 5 A1(2) 20 4XQ2 LDN 5 1 [UPDATE COUNT OF SCRATCH AREAS 10 4Y9L ADS 5 CSCRATCH(2) 8 4YP= BRN ZA90 21 4_8W ZAA8 LDX 0 HNEW(3) [UPDATE LAST UNALTERED UNALLOCATED... 21 4_NG SMO CELLP(3) [...AREA CELL TO POINT TO NEWLY... 19 5286 STO 0 0 [...CREATED UNALLOCATED CELL 16 52MQ CHUCKWR C,CELLP(3),ZA80 [WRITE AWAY CELL 9 537B TESTREPNOT OK,ZAE9 9 53M2 ZA80 LDX 0 ARUNIT(3) 18 546L LDX 7 EDEPF(3) [X7=DEPTH OF AREA UNIT 18 54L= TXU 0 HMUNIT(3) [IS AREA UNIT=HOME UNIT? 15 555W BCC ZAA10 [BRANCH IF SO 10 55KG LDX 2 CELLA+5(3) 20 5656 LDX 0 HMUNIT(3) [REWRITE CELL TO DESCRIBE AREA... 15 56JQ STO 0 3(2) [...REQUESTED 15 574B CALL 0 RERITEA [CREATE CELL 8 57J2 LDX 1 FX2 16 583L SMO AWORK4(1) [POINTER TO SCH 21 58H= LDX 4 11 [STORE POINTER FROM SCH TO POINTER... 21 592W STO 4 0(2) [...OF NEW FILE AREA CELL(FOREIGN) 18 59GG CHUCKWR C,2,ZA81 [WRITE NEW FILE AREA CELL 10 5=26 TESTREPNOT OK,ZAE9, 21 5=FQ ZA81 LDX 4 CELLA+4(3) [COPY B.S. ADDRESS OF NEW FILE ... 20 5=_B LDX 2 FX2 [...AREA CELL TO FOREIGN CHAIN... 15 5?F2 SMO AWORK4(2) [...POINTER 8 5?YL STO 4 11 21 5#D= CLOSEWR C,AWORK4(2) [WRITE AWAY SCH AND END ACCESS TO SU 9 5#XW TESTREPNOT OK,ZAE9 10 5*CG MHUNT 3,EWDAS,GEXD 9 5*X6 LDX 4 HMUNIT(3) 16 5BBQ UNLOCKSU ARUNIT(3) [UNLOCK AREA UNIT 10 5BP6 ... MHUNTW 3,EWDAS,GEXD 17 5BWB RELST ARUNIT(3) [RELEASE AREA UNIT 10 5CTL MHUNTW 3,EWDAS,GEXD 7 5D*= OPENST 4 8 5DSW LDN 0 128 21 5F#G READSAVE 0,ZA82 [READ SYSTEM CONTROL HEADER FOR... 17 5FS6 TESTREPNOT OK,ZAE15 [...HOME UNIT AND... 9 5G?Q ZA82 LDX 4 ECOR(3) 7 5GRB SMO 4 8 5H?2 LDX 0 12 21 5HQL STO 0 CELLA+4(3) [B.S. ADDRESS OF FIRST VACANT CELL 9 5J== #SKIP K6EXINTO 4 5JPW ( 8 5K9G BNZ 0 ZA93 9 5KP6 GEOERR 1,NOCELL! 4 5L8Q ZA93 4 5LNB ) 16 5M82 READSAVE 0,ZA83 [READ VACANT CELL 10 5MML TESTREPNOT OK,ZAE15 9 5N7= ZA83 LDX 1 ECOR(3) 19 5NLW LDX 0 0(1) [DECHAIN FIRST VACANT CELL 7 5P6G SMO 4 8 5PL6 STO 0 12 20 5Q5Q STO 1 CELLA+5(3) [REMEMBER CORE ADDRESS OF CELL 15 5QKB CHUCKWR C,4,ZAA10 [WRITE SCH 10 5R52 TESTREPNOT OK,ZAE15 18 5RJL ZAA10 MFINDEXOF 1,CEFN(3) [FIND EXOF FOR THIS FILE 17 5S4= READSAVE HOME(1),ZA87 [READ FILE INDEX CELL 10 5SHW TESTREPNOT OK,ZAE15 10 5T3G ZA87 LDX 2 CELLA+5(3) 19 5TH6 CALL 0 RERITEA [CREATE NEW FILE AREA CELL 9 5W2Q LDX 0 ARUNIT(3) 18 5WGB STO 0 3(2) [SERIAL NO.= AREA UNIT 9 5X22 LDX 1 ECOR(3) 20 5XFL LDX 4 1(1) [CHAIN NEW FILE AREA CELL TO... 19 5X_= STO 4 0(2) [...RELEVANT FILE INDEX CELL 18 5YDW LDX 4 1 [REMEMBER ADDRESS OF FIC 18 5YYG CHUCKWR C,2,ZA88 [WRITE NEW FILE AREA CELL 10 5_D6 TESTREPNOT OK,ZAE15 7 5_XQ ZA88 LDX 1 4 7 62CB LDN 5 1 8 62X2 ADS 5 7(1) 10 63BL LDX 4 CELLA+4(3) 8 63W= STO 4 1(1) 20 64*W CLOSEWR C,1 [WRITE FIC AND END ACCESS TO SU 10 64TG TESTREPNOT OK,ZAE15 15 65*6 MHUNT 3,EWDAS,GEXD [REFIND GEXD 15 65SQ MFINDSU 2,HMUNIT(3) [FIND ASTUC 9 66#B LDX 4 EMARK(3) 7 66S2 SLL 4 1 17 67?L BNG 4 ZA89 [BRANCH IF MODE #1500 9 67R= LDX 4 ARUNIT(3) 19 68=W TXU 4 HMUNIT(3) [IS NEW AREA ON HOME UNIT? 8 68QG BCC ZA90 10 69=6 ZA89 LDX 4 CEXTEND(2) 21 69PQ SBN 4 1 [SUBTRACT 1 FROM COUNT OF EXTENDS... 16 6=9B STO 4 CEXTEND(2) [...ON HOME UNIT 15 6=P2 ZA90 MFINDEXOF 1,CEFN(3) [FIND EXOF 9 6?8L LDEX 0 FIP+5(1) 16 6?N= LDX 4 FIP+8(1) [BUCKET SIZE ETC. 8 6#7W SMO FX1 21 6#MG MPA 0 Z6 [CALCULATE ADDRESS OF LAST WORD... 20 6*76 ADN 1 FDCELLS-7 [...OF LAST USED FDCELL IN EXOF 9 6*LQ LDX 7 AREQT(3) 19 6B6B STO 7 2(1) [STARTING CYLINDER TO FDCELL 10 6BL2 LDX 7 AREQT+2(3) 18 6C5L STO 7 3(1) [STARTING BLOCK TO FDCELL 10 6CK= LDX 7 AREQT+1(3) 9 6D4W SBX 7 AREQT(3) 19 6DJG ADN 7 1 [NUMBER OF CYLINDERS IN AREA 8 6F46 STO 7 4(1) 15 6FHQ LDX 0 AREQT+3(3) [ENDING BLOCK 10 6G3B SBX 0 AREQT+2(3) 7 6GH2 ADN 0 1 8 6H2L STO 0 5(1) 20 6HG= MPY 7 0 [CALCULATE FIRST LBN IN NEXT AREA- 8 6H_W ANDN 4 #77 7 6JFG DVS 7 4 21 6J_6 ADX 0 0(1) [ADD FIRST LBN OF THIS AREA TO NUMBER... 18 6KDQ STO 0 6(1) [...OF BUCKETS IN THIS AREA 15 6KYB ORS 6 4(1) [FULL DEPTH BIT 17 6LD2 LDX 5 ARUNIT(3) [SERIAL NO OF AREA UNIT 15 6MWW MFINDEXOF 2,CEFN(3) [REFIND EXOF 9 6N44 LDX 0 ASUSN(2) 16 6N9= BZE 0 NOC [J IF ZERO SUSN 21 6NBG NA FIPPER HOME(2),ASUSN(2),NA,NB,NOC [TELL OTHER SIDE TO RE-READ 10 6NW6 NB MHUNTW 3,EWDAS,GEXD 4 6P*Q NOC 15 6Q*2 UNLOCKSU HMUNIT(3) [UNLOCK HOME UNIT 10 6QMB ... MHUNTW 3,EWDAS,GEXD 9 6QSL RELST HMUNIT(3) 10 6R#= MHUNT 3,EWDAS,GEXD 8 6RRW ZAC2 LDCT 0 #200 15 6S?G ANDX 0 EMARK(3) [MODE #1500? 16 6SR6 BZE 0 ZAB1 [BRANCH IF IT IS 9 6T=Q ACROSS SCEXEND,4 9 6TQB ZAB1 LDX 4 CNR(3) 7 6W=2 FREECORE 3 7 6WPL ADN 4 1 17 6X9= GETWORD 4,3,WRITE [GET ADDRESS OF N+1 OF CA 9 6XNW TESTREPNOT OK,ZA91 15 6Y8G STO 5 0(3) [STORE SERIAL NO 7 6YN6 ADN 4 2 18 6_7Q GETWORD 4,3,WRITE [GET ADDRESS OF N+3 OF CA 9 6_MB TESTREPNOT OK,ZA91 15 7272 LDX 4 ZMASK(1) [ZEROISE BIT 0 8 72LL ANDS 4 0(3) 16 736= ORS 6 0(3) [RESET FULL DEPTH BIT 15 73KW WORDFIN [NO MORE GETWORDS 17 745G EXMESS ALL [OUTPUT MESSAGES(IF ANY?) 16 74K6 RUNPROG [EXINTO FINISHED 4 754Q # 19 75JB ZA91 GEOERR 1,GTWDFAIL [GETWORD OUT OF RESERVATIONS 4 7642 # 10 76HL MENDAREA 30,K99EXINTO 4 773= #END 8 ____ ...67413704000100000000