14 22FL ... SEG COMPOST,82,MIKE PUTNAM,USEROPES 4 22_= [ 15 2394 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 4 23DW [ 12 23YG SEGENTRY K1COMPOST,NEXTELEM 12 24D6 SEGENTRY K3COMPOST,SINGLFREZ 12 24XQ SEGENTRY K4COMPOST,MDFREEZE 12 25CB SEGENTRY K7COMPOST,MDFCLOSE 12 25X2 SEGENTRY K8COMPOST,MULTIFREZ 4 26BL [ 4 26W= [ 19 27*W [ K1 USED BY USERONE TO CALCULATE GEN. NO. FOR OPENING NEXT 21 27TG [ ELEMENT OF A MULTIFILE, SETTING REPLY AND CLOSING MDF IF NECESS. 4 28*6 [ 4 28SQ [ 16 29#B [ THIS CONTAINS THE SECURE JOBWELL ENHANCEMENT 11 29S2 [ AWORK1 CONTAINS E-MODES 17 2=?L [ AWORK3 - CONTAINS EAUTOCOUNT - IF 'FREEZE' MODE 18 2=R= [ CONTAINS ESAVECOUNT - IF 'SAVEFREEZE' MODE 17 2?=W [ AWORK4 - CONTAINS FREEZECOUNT - IF 'FREEZE' MODE 16 2?QG [ CONTAINS FSVCT - IF 'SAVEFREEZE' MODE 5 2#=6 NEXTELEM 20 2#PQ LDX 6 5 [USEROPEN MODES IN X5 ON ENTRY 9 2*9B STO 6 AWORK1(2) 10 2*P2 SETMODE 5,ERASE,EMPTY 7 2B8L ANDX 5 6 8 2BN= ANDN 6 #7000 18 2C7W SBN 6 #3000 [ [X6] -VE IF READ MODE 7 2CMG LDN 7 0 18 2D76 CALL 4 SFCB [SETS X2 -> FCB OF MDF 17 2DLQ LDN 3 1 [SET NOT FIRST APPEND 12 2F6B [ PUT CURRENT HIGHEST GEN.IN X4 10 2FL2 LDEX 4 FSTREND(2) 10 2G5L MHUNT 1,FILE,FABSNB 8 2GK= SMO A1(1) 12 2H4W [ PUT LAST GEN.ACCESSED IN X7 9 2HJG LDX 7 A1-2(1) 15 2J46 BPZ 6 WRIT [J IF WRITER 7 2JHQ SBN 4 2 19 2K3B BNG 4 MULTEND [J IF NO ELEMENTS AND READING 7 2KH2 ADN 4 2 4 2L2L TRY 16 2LG= BXE 4 7,MULTEND [END OF MULTIFILE 9 2L_W #SKI K6COMPOST>99-99 4 2MFG ( 8 2M_6 BXGE 4 7,OK 10 2NDQ GEOERR 1,CURR-END 4 2NYB OK 4 2PD2 ) 4 2PXL TINC 7 2QC= ADN 7 1 18 2QWW BPZ 6 NORV [NO RETRIEVE FOR WRITER 20 2RBG SETMODE 0,DIR [LF DOES USEROPEN WITH DIR MODE 8 2RW6 SMO FX2 9 2S*Q ANDX 0 AWORK1 18 2STB BNZ 0 NORV [NOR IF NOT OPENING FILE 7 2T*2 ADN 7 1 19 2TSL BXL 4 7,NORU [PRESENT ELEMENT IS LAST ONE 8 2W#= SMO A1(1) 18 2WRW STO 7 A1-2(1) [FABSNB SET UP FOR UNNORM 18 2X?G RV [RETRIEVE NEXT ELEMENT 10 2XR6 MHUNT 1,FILE,FABSNB 4 2Y=Q NORU 20 2YQB SBN 7 1 [GEN RIGHT FOR NEXT ELEM TO OPEN 4 2_=2 NORV 8 2_PL SMO A1(1) 9 329= STO 7 A1-2(1) 7 32NW UPPLUS 1 4 338G WRIT 21 33N6 BNZ 5 NAPP [NOT EMPTY OR ERASE IMPLIES APPEND 8 347Q [ APPEND CASE 9 34MB BXU 7 3,NOTAPP1 16 3572 LDN 3 0 [SET FIRST APPEND 5 35LL NOTAPP1 7 366= SBN 4 2 20 36KW BNG 4 TINC [J IF NO ELEMS, ASSUMES [X7] = 1 7 375G ADN 4 2 20 37K6 [ IGNORE FABSNB CONTENTS, SET [X7] = CURRENT HIGHEST GEN. NO. 7 384Q LDX 7 4 4 38JB NAPP 19 3942 SEGENTRY K50COMPOST [FOR MENDING: TINYMULT MACRO 19 39HL LDN 4 FMULTLEN [MAX NO. OF ELEMENTS IN MULT 8 3=3= BRN TRY 5 3=GW MULTEND 7 3?2G CLOSEMULT 17 3?G6 BZE 3 OPAPP [J IF FIRST APPEND 9 3?_Q SETREP2 ENDMULT 5 3#FB UP 5 3#_2 OPAPP 19 3*DL SETREP2 MULTFULL [MULTIFILE HAS BEEN FILLED UP 5 3*Y= UP 4 3BCW [ 4 3BXG [ 4 3CC6 [ 6 3CWQ SINGLFREZ 20 3DBB CALL 7 SVFRZMOD [ SET UP AWORK3,4 APPROPRIATELY 21 3DW2 CALL 4 SOLID [FREEZE DIR. ENTRY & FCB IF IN CORE 5 3F*L UP 4 3FT= [ 4 3G#W [ 20 3GSG [ ENTRY FOR UPDATING CURRENT AND TRUE ENDS OF MULTIFILE IN THE 19 3H#6 [ MDF FROM THE GEN. NO. GIVEN IN FABSNB WHEN OPENING A NEW 21 3HRQ [ ELEMENT FOR WRITING. THE ELEMENT'S FCB AND DIR. ENT ARE FROZEN 19 3J?B [ AND MARKED TO BE ERASED IF NECESSARY. THE MDF IS USED TO 13 3JR2 [ DETERMINE WHETHER OR NOT TO DO SO. 4 3K=L [ 4 3KQ= [ 5 3L9W MDFREEZE 20 3LPG CALL 7 SVFRZMOD [ SET UP AWORK3,4 APPROPRIATELY 7 3M96 LDN 7 2 14 3MNQ CALL 4 SFCB [OF MDF 10 3N8B MHUNT 1,FILE,FABSNB 8 3NN2 SMO A1(1) 14 3P7L LDX 0 A1-2(1) [GEN. NO. 20 3PM= LDEX 4 FSTREND(2) [HIGHEST GEN. NO. BEFORE UPDATE 8 3Q6W LDCT 1 #377 10 3QLG ANDX 1 FSTREND(2) 7 3R66 SLC 1 9 7 3RKQ SBX 1 0 8 3S5B BPZ 1 NOALT 7 3SK2 LDX 1 0 7 3T4L SRC 1 9 10 3TJ= ERX 1 FSTREND(2) 8 3W3W LDCT 6 #377 7 3WHG ANDX 1 6 16 3X36 ERS 1 FSTREND(2) [RE-SET TRUE END 5 3XGQ NOALT 15 3Y2B DEX 0 FSTREND(2) [NEW CURR END 11 3YG2 LDX 5 FREEZECOUNT(2) 12 3Y_L [ CHECK IF MDF IS TO BE ERASED 7 3_49 ...#UNS ILOGACC 4 3_6S ...( 17 3_9C ... LDN 6 0 [ENT REWRITE MARKER 10 3_#2 ... MHUNTW 3,FILE,ENT 4 3_BK ...) 16 3_F= BBUS 14,FSTREND(2),NOB14 [J IF NOT ERASED 7 3_JB ...#UNS ILOGACC 19 3_MG ... ADN 6 1 [INDICATE ENT TO BE REWRITTEN 7 3_QL ...#UNS ILOGACC 4 3_TQ ...#SKI 10 3_YW MHUNTW 3,FILE,ENT 18 42DG BS 3,BEERASE [MARK MDF'S ENT T.B.E. 7 42KN ...#UNS ILOGACC 4 42QW ...#SKI 9 42Y6 BZE 5 NOFREZ 5 43CQ NOB14 7 43DT ...#UNS ILOGACC 4 43FY ...( 11 43H3 ... JBC NOLOG,2,BFLOGACC 19 43J6 ... ADN 6 1 [INDICATE ENT TO BE REWRITTEN 10 43K9 ... BS 3,BELOGACC 5 43L# ...NOLOG 15 43MC ... BNZ 5 YFRZ [MULT FROZEN 18 43NG ... BZE 6 UP [ENT NOT TO BE REWRITTEN 17 43PK ... BRN NOFREZ [ENT TO BE REWRITTEN 4 43QN ...YFRZ 4 43RR ...) 6 43SW ...#UNS ILOGACC 4 43T_ ...#SKI 15 43XB BZE 5 UP [X5=OK REPLY 9 44C2 LDX 6 FSTRID(2) 20 44WL HSPACTLF 6,5,4 [AVOIDS LF FROM OTHER JOB PROBLEM 5 45B= NOFREZ 9 45TW CALL 4 SOLIDIFY 7 46*G PICKREP2 5 4 46T6 UP 7 47#Q CLOSEDIR 7 47SB PUTREP2 5 5 48#2 UP 2 48RL 2 49?= 4 49QW [ 4 4==G [ 17 4=Q6 [ THIS IMPLEMENTS THE CLOSEMULT MACRO WHICH ERASES 20 4?9Q [ ANY EXTRANEOUS ELEMENTS OR THE WHOLE MULTIFILE IF SO MARKED. 18 4?PB [ IF TOP FILE OPEN IS NOT AN MDF A NORMAL CLOSE IS DONE. 4 4#92 [ 4 4#NL [ 5 4*8= MDFCLOSE 7 4*MW LDN 7 0 15 4B7G ... TOPFCB2 2 [AT TOP LEVEL 21 4BM6 JBCC XLAST,2,BFMDFOP [J IF NOT MDF, OTHERWISE CLEAR BIT 9 4C2T ... LDX 0 CTOPEN(2) 9 4CBJ ... ANDX 0 HALFTOP 18 4CQ? ... BZE 0 READMODE [J IF OPEN FOR READING 17 4D62 LDEX 5 FSTREND(2) [NEW HIGHEST GEN. NO. 8 4DKL LDCT 0 #400 10 4F5= ORS 0 FSTREND(2) 16 4FJW ERS 0 FSTREND(2) [UNSET WRITER BIT 11 4G4G LDX 3 FREEZECOUNT(2) 17 4GJ6 ... BZE 3 SNOFREZ [J IF MULT NOT FROZEN 16 4H3Q LDX 4 FSTRID(2) [ID FOR ACTLF'S 11 4HHB STOZ FREEZECOUNT(2) 9 4J32 HSPACTLF 4,3,5,1 17 4JGL ... TOPFCB2 2 [RELOCATE MDF'S FCB 5 4K2= ...SNOFREZ 9 4KFW STOZ FSTRID(2) 15 4K_G LDEX 0 FSTREND(2) [CURR. END 8 4LF6 LDCT 1 #377 14 4LYQ ANDX 1 FSTREND(2) [TRUE END 7 4MDB SLC 1 9 7 4MY2 SBX 0 1 17 4NCL BNG 0 XER [J IF EXCESS ELEMENTS 8 4NX= LDN 0 #1000 21 4PBW ANDX 0 FSTREND(2) [PICK OUT TO-BE-ERASED BIT IF PRESENT 8 4PWG BZE 0 XLAST 4 4QB6 XER 9 4QTQ #SKI K6COMPOST>99-99 12 4R*B TRACE FSTREND(2),FSTREND 20 4RT2 [ DUPLICATE FABSNB BEFORE DOING ERASEMULT WHICH IS AUTONOMOUS 10 4S#L [ AND CONSUMES A FABSNB 10 4SS= MHUNT 2,FILE,FABSNB 9 4T?W LDX 3 HDREC(2) 11 4TRG SETUPCORE 3,1,FILE,FABSNB 11 4W?6 HUNT2 2,FILE,FABSNB,1 9 4WQQ LDN 5 HDREC(2) 9 4X=B LDN 6 HDREC(1) 8 4XQ2 MOVE 5 0(3) 9 4Y9L LDX 0 ATYPE(2) 9 4YP= STO 0 ATYPE(1) 18 4_8W ERASEMULT [START UP MULTIFILE ERASE 14 4_NG ... BRN XCLMULTUP [FINISH 5 5286 XLAST 16 52MQ CLOSE [MDF OR TOP FILE 6 52PF ...XCLMULTUP 5 537B UP 5 53M2 READMODE 9 53WS ... LDX 0 CTOPEN(2) 17 546L SBN 0 1 [X0=COUNT OF READERS 16 54L= BZE 0 SNOFREZ [J IF LAST CLOSER 16 555W BS 2,BFMDFOP [SET BIT AGAIN 21 55KG BRN XLAST [SHD BE IN SAME COORD AS UNSETTING 4 5656 [ 4 56JQ [ 4 574B [ 16 57J2 MULTIFREZ [USED BY USERSTRM 20 583L CALL 7 SVFRZMOD [ SET UP AWORK3,4 APPROPRIATELY 16 58H= CALL 4 SOLIDCOMP [FREEZE ELEMENT 5 592W UP 4 59GG [ 4 5=26 [ 2 5=FQ 2 5=_B 4 5?F2 SFCB 17 5?YL # LOCATES THE FCB FOR THE FILE AT DEPTH SPEC BY X7 16 5#D= # LEAVES X2-> FCB ; DESTROYS X0,X1; LINK IS X4 8 5#XW SFCB 7,2 7 5*CG EXIT 4 0 2 5*X6 2 5BBQ 20 5BWB # FREEZES DIRENT & FCB (IF IN CORE) FOR FILE SPEC. IN ENT BLOCK. 13 5CB2 # ENTRY AT SOLID => DIR OPEN ON TOP 19 5CTL [ ENTRY AT SOLIDCOMP USED SOLELY FOR FREEZING ELEMENTS OF 13 5D*= [ MULTIFILES-OTHERWISE AS FOR SOLID 19 5DSW # ENTRY AT SOLIDIFY => FILE OPEN ON TOP, DIR OPEN AT DEPTH 1 17 5F#G # EXPECTS DIR. POSITIONED READY TO REWRITE ENTRY 16 5FS6 # SOLIDIFY EXPECTS THE NO OF TIMES TO FREEZE IN X5 5 5G?Q SOLID 10 5GRB MHUNT 1,FILE,FABSNB 19 5H?2 BBS 16,ATYPE(1),WORK [J IF WORKFILE BEING FROZEN 6 5HQL SOLIDCOMP 18 5J== LDN 0 0 [DEPTH AT WHICH DIR.OPEN 15 5JPW LDN 5 1 [FREEZE ONCE 8 5K9G BRN SOL0 5 5KP6 SOLIDIFY 18 5L8Q LDN 0 1 [DEPTH AT WHICH DIR.OPEN 4 5LNB SOL0 8 5M82 SBX 4 FX1 8 5MML LDX 2 FX2 9 5N7= ... STO 4 AWORK2(2) 18 5P3W ... LDX 4 0 [SAVE DEPTH OF DIR IN X4 19 5PDW ... LDN 6 0 [CLEAR FILE OPEN FOR WRITING 14 5PTW ... [MARKER 19 5Q=W ... BZE 4 SOL [J IF FILE NOT OPEN TO ACT 16 5QMW ... TOPFCB2 2 [X2->FCB OF FILE 9 5R52 BRN SOLTOP 4 5RJL [ 21 5S4= [ FILE NOT OPEN TO THIS ACT.SEARCH FILE CHAIN FOR IT TO FREEZE THE 13 5SHW [ FCB-IT MAY NOT BE THERE,OF COURSE 4 5T3G [ 4 5TH6 SOL 9 5W2Q ... FCBFIND 2,SOLD 4 6H_W [ 14 6JFG [ READY TO FREEZE FCB OF FILE.X2->FCB 4 6J_6 [ 5 6KDQ SOLTOP 9 6LD2 LDX 0 CTOPEN(2) 18 6LXL ANDX 0 HALFTOP [CHEK IF OPEN FOR WRITING 9 6MC= BZE 0 SOLTOPN 18 6MWW LDN 6 1 [MARK: OPEN FOR WRITING 5 6NBG SOLTOPN 15 6NW6 LDX 3 2 [ X3-> FCB 8 6P*Q LDX 2 FX2 9 6Q*2 SMO AWORK4(2) 18 6QSL LDEX 0 0(3) [ FREEZECOUNT OR FSVCT 18 6R#= ... CALL 7 SCHECKLIM [CHECK NOT TOOMANY LF'S 14 6RRW ... BRN SOUT [CLANG! 9 6SR6 SMO AWORK4(2) 18 6T=Q ADS 5 0(3) [ FREEZECOUNT OR FSVCT 9 6TQB #SKI K6COMPOST>99-99 11 6W=2 TRACE FLOC1(3),FCBFROZE 4 6WPL [ 16 6X9= ...[ READY TO FREEZE DIR.ENTRY.DIR AT LEVEL IN X4 4 6XNW SOLD 18 6XYN ... LDX 1 4 [SAVE DEPTH OF DIR IN X1 16 6Y8G LDX 2 FX2 [ RESET X2=>CPAT 10 6YN6 MHUNTW 3,FILE,ENT 9 6_7Q SMO AWORK3(2) 19 6_MB ... LDEX 0 0(3) [ EAUTOCOUNT OR ESAVECOUNT 18 7272 ... CALL 7 SCHECKLIM [CHECK NOT TOOMANY LF'S 8 72LL ... BRN SOUT 9 73KW SMO AWORK3(2) 19 745G ADS 5 0(3) [ EAUTOCOUNT OR ESAVECOUNT 10 74K6 NAME 3,FILE,FWB 8 754Q REWRITE 0(1) 10 75JB MHUNTW 1,FILE,FWB 10 7642 NAME 1,FILE,ENT 6 7655 ...#UNS AWLSZ 4 7668 ...( 18 767? ... BNZ 6 YUNCL [J IF OPEN FOR WRITING 9 768B ... LDX 7 ECOPS(1) 17 769F ... SRL 7 15 [PICK UP SIZE OF FILE 18 76=J ... JMBAC NOTMULT,1,BEMDF,BEMULT [J IF SINGLE FILE 20 76?M ... LDX 3 EGEN(1) [PICK UP GENERATION NO. OF MULTEL 16 76#Q ... LFSIZE 7,3 [INFORM LISTFILE 8 76*T ... BRN YUNCL 5 76BY ...NOTMULT 16 76D3 ... LFSIZE 7 [INFORM LISTFILE 5 76F6 ...YUNCL 4 76G9 ...) 6 76HL ANSOK2 4 773= SOUT 8 77GW LDX 2 FX2 17 782G STO 6 ACOMMUNE1(2) [SAVE FOR USERSTRM 9 78G6 ... LDX 4 AWORK2(2) 8 78_Q ADX 4 FX1 7 79FB EXIT 4 0 4 7*W2 WORK 15 7*_# ... FINDWFN ,3,1 [X3=FCB OF WFILE 11 7B4M ... TESTREP2 NOTFOUND,(GEOERR) 7 7B6W ... LDN 5 1 11 7B?# ... LDX 0 FREEZECOUNT(3) 18 7BCQ ... CALL 7 SCHECKLIM [CHECK NOT TOOMANY LF'S 15 7BJ8 ... EXIT 4 0 [ERROREXIT 11 7BNL ... ADS 5 FREEZECOUNT(3) 6 7BP2 ...#UNS AWLSZ 4 7BPB ...( 9 7BPQ ... LDX 0 CTOPEN(3) 9 7BQ6 ... ANDX 0 HALFTOP 18 7BQG ... BNZ 0 (4) [J IF OPEN FOR WRITING 9 7BQW ... LDX 7 FBLMOD(3) 9 7BR= ... SBN 7 FBLKS-A1 8 7BRL ... SBX 4 FX1 7 7BS2 ... LFSIZE 7 8 7BSB ... ADX 4 FX1 4 7BSQ ...) 7 7BT= EXIT 4 0 4 7C#W [ 6 7C*T ...SCHECKLIM 19 7CBS ...[ SR TO CHECK IF LF LIMIT EXCEEDED. X0= CURRENT FREEZECOUNT 21 7CCR ...[ X2=FX2, X5=COUNT OF NEW FREEZES. EXITS 7 1 IF LIMIT NOT REACHED 20 7CDQ ...[ OR IF FREEZE MODE NOT SPECIFIED. OTHERWISE SETS REPLY LF512 8 7CFP ...[ AND EXITS 7 0 7 7CGN ... ADX 0 5 18 7CHM ... SEGENTRY K98COMPOST [USED BY LISTMAX MACRO 8 7CJL ... SBN 0 512 8 7CKK ... BPZ 0 XLIM 7 7CLJ ...NFREZ EXIT 7 1 14 7CMH ...XLIM TESTMODE AWORK1(2),NFREZ,,SAVEFREEZE 8 7CNG ... SETREP2 LF512 7 7CPF ... EXIT 7 0 4 7CQD ...[ 4 7CRC ...[ 17 7CSG SVFRZMOD [ SETS UP AWORK3,4 7 7D#6 STOZ 4 11 7DRQ ADDINMODE ,4,SAVEFREEZE 14 7F?B ANDX 4 AWORK1(2) [ E-MODES 17 7FR2 BNZ 4 SAVEGIVEN [ 'SAVEFREEZE' GIVEN 10 7G=L LDN 0 EAUTOCOUNT 10 7GQ= LDN 4 FREEZECOUNT 16 7H9W BRN STORMODS [ GO STORE VALUES 6 7HPG SAVEGIVEN 10 7J96 LDN 0 ESAVECOUNT 8 7JNQ LDN 4 FSVCT 5 7K8B STORMODS 16 7KN2 STO 0 AWORK3(2) [ STORE VALUES 9 7L7L STO 4 AWORK4(2) 7 7LM= EXIT 7 0 4 7M6W [ 4 7MLG [ 10 7N66 ... MENDAREA 60,K99COMPOST 4 7P5B #END 8 ____ ...31335611000100000000