6 22FL #SEG REGEN 11 22_= #LIS K0REGEN>K0COMMAND>K0ALLGEO 7 23DW 8HREGEN 4 23YG [ 18 24D6 [ THIS SEGMENT IMPLEMENTS THE REGENERATE (RG) COMMAND 4 24XQ [ 10 25CB SEGENTRY K1REGEN,START 10 25H? ... SEGENTRY K2REGEN,MONEY 16 25JJ ...#SKI [CODE MOVED INTO SEGMENT 'JWELLONE' 4 25KT ...( 11 25M8 ... SEGENTRY K3REGEN,PRIVON 11 25R5 ... SEGENTRY K4REGEN,PRIVOFF 4 25S4 ...) 7 25T3 ... FSHSKIP B 4 25W2 ...( 4 25X2 [ 9 26BL [ USE OF AWORK WORDS 9 26W= [ 1 SEMAPHORES 9 27*W [ 2 TEMP STORAGE 12 27TG [ 3 ADATA/CSTORE MODIFIER 10 28*6 [ 4 LINK TO REGENJB 4 28SQ [ 8 29#B #DEF SZCSTORE=40 8 29S2 #DEF SIZELIST=10 4 2=?L [ 10 2=R= PCANTRGNAME +CANTRGNAME 9 2?=W PCANTRGNO +CANTRGNO 9 2?QG PERGNOJOB +ERGNOJOB 9 2#=6 PERGJOBNO +ERGJOBNO 4 2#PQ [ 9 2*9B XJOBLIST +SIZELIST 8 2*P2 12H 10 2B8L 12HJOBLIST 8 2C7W +1 8 2CMG +1 9 2CX# ... 4H**** 8 2D76 XALL +3 8 2DLQ 3HALL 8 2F6B XAB +2 8 2FL2 2HAB 8 2G5L XALB +6 9 2GK= 6HALLBUT 4 2H4W [ 4 2HJG [ 15 2J46 [ ADATA/CSTORE BLOCK HAS THE FOLLOWING FORMAT 4 2JHQ [ 9 2K3B [ WORDS 0,1,2 USERNAME 9 2KH2 [ 3,4,5 JOBNAME 16 2L2L [ 6 NO OF JOBNUMBERS FROM NEXT WORD ONWARDS 13 2LG= [ 7 JOBNUMBERS OF JOBS TO BE RG'D 18 2L_W [ 2 WORD ENTRIES CONTAINING JOBNUMBER AND PARAM NUMBER 13 2MFG [ THAT THE JOBNO WAS DERIVED FROM 19 2M_6 [ JOBNUMBERS HAVE BIT 0 SET IF ORIGINAL PARAM WAS A JOBNO 4 2NDQ [ 16 2NYB BITDEFS AWORK1,0,RGALLBIT,RGABIT,RUSER,RJOB 15 2PD2 ... BITDEFS AWORK1,4,RGNOJBER,RGERROR,RGMONEY 11 2PQB ... BITDEFS AWORK1,7,RGFROZEN 4 2PXL [ 18 2QC= SPARABEG [ OBTAIN SPECIFIED PARAM 14 2QWW SBX 7 FX1 [ LINK 18 2RBG ... SPARABEG 1,0(3),,,0 [ GET PARAM IF EXISTS 10 2S*Q MHUNT 3,CPB,CUNI 16 2STB LDX 0 ANUM(3) [ SEE IF EXISTS 15 2T*2 BNG 0 SPOUT [ J IF NOT 7 2TMC ... ADN 7 1 8 2T_S ... BRN XIT70 4 2W#= [ 16 2WRW SPOUT FREECORE 3 [ FREE CPB/CUNI 8 2X?G ... BRN XIT70 4 2XR6 [ 5 2Y=Q SETFABS 8 2YQB SBX 7 FX1 13 2_=2 SETNCORE SIZELIST,3,FILE,FABSNB 8 2_PL LDN 5 A1(3) 10 329= LDN 4 XJOBLIST(1) 9 32NW MOVE 4 SIZELIST 7 338G ADN 5 1 8 33N6 ... BRN XIT70 4 349_ ...[ 16 34=4 ...[N.B. THE FOLLOWING 2 SUBROUTINES CAN'T BE COMBINED 14 34=7 ...[DUE TO FORM OF PARAM FOR STEPREWRITE MACRO 5 34== ...STEPWRT1 9 34#R ... LDX 3 AWORK2(2) 18 34C# ... [POINTER TO RECORD 15 34FT ... STEPREWRITE 1 [UPDATE RECORD 7 34JB ... EXIT 4 0 4 34M3 ...[ 6 34Y_ ...STEPWRITE 15 35CW ... LDX 3 AWORK2(2) [POINTER TO RECORD 15 35WR ... STEPREWRITE 0 [UPDATE RECORD 7 368P ... EXIT 4 0 4 36GM ...[ 4 36SK ...[ 5 376H ...USEROPEN 8 37DF ... SBX 7 FX1 9 37QC ... SETUPMOD ,4,FROZEN 9 384* ... USEROPEX UBRK,5,4 7 38B? ... ADN 7 1 10 38N9 ...UBRK MFREE FILE,FABSNB 8 3927 ... BRN XIT70 4 39#5 ...[ 8 39L3 ...POP SBX 4 FX1 3 39X_ ... 11 3=9X ...POPC POP POPC,,JWACCESS 8 3=HT ...POPX ADX 4 FX1 7 3=TR ... EXIT 4 0 4 3?7P ...[ 5 3?FM ...VOPCLOSE 8 3?RK ... SBX 7 FX1 7 3#5H ... CLOSETOP 8 3#CF ... CALL 5 VOP 8 3#PC ... BRN XIT70 4 3*3* ...[ 9 3**? ...VOP VOP ,JWACCESS 19 3*M9 ... EXIT 5 0 [ ACCESS SEMAPHORE RELEASED 4 3*_7 ...[ 5 3B?5 ...SETNAMES 8 3BK3 ... SBX 7 FX1 14 3BW_ ... STO 7 AWORK2(2) [ LINK 7 3C8X ... LDN 4 3 11 3CGT ... MHUNT 3,ADATA,CSTORE 16 3CSR ... LDN 6 A1+3(3) [ JOBNAME ADDRESS 10 3D6P ... LDN 5 JPDJOBNAME 17 3DDM ... CALL 7 XOUTPACK [ OUTPACK THE JOBNAME 11 3DQK ... MHUNT 3,ADATA,CSTORE 17 3F4H ... LDN 6 A1(3) [ USERNAME ADDRESS 10 3FBF ... LDN 5 JPDUSERNAME 9 3FNC ... CALL 7 XOUTPACK 7 3G2* ... NGN 6 1 9 3G#? ... LDX 7 AWORK2(2) 8 3GL9 ... BRN XIT70 4 3GY7 ...[ 4 3H=5 ...[ 5 3HJ3 ...PARAMNO 5 3HT_ ...SETJOBNO 8 3J7X ... SBX 7 FX1 8 3JFT ... OUTNUM 6,0 7 3JRR ... NGN 6 1 8 3K5P ... BRN XIT70 4 3KCM ...[ 4 3KPK ...[ 5 3L3H ...VOUTPACK 10 3L*F ... LDN 5 JPDVARCHAR 5 3LMC ...XOUTPACK 8 3L_* ... SBX 7 FX1 8 3M?? ... OUTPACKX 6,4,5 8 3MK9 ... BRN XIT70 4 3MX7 ...[ 4 3N95 ...[ 5 3NH3 ...OUTERROR 8 3NS_ ... SBX 7 FX1 17 3P6X ... ERRORX 5,6 [ ISSUE COMMAND ERROR 8 3PDT ... BRN XIT70 4 3PQR ...[ 5 3Q4P ...RUNJSA 8 3QBM ... SBX 7 FX1 9 3QNK ... RUNJSA HOSTOPEN 8 3R2H ...XIT70 ADX 7 FX1 7 3R#F ... EXIT 7 0 4 3RLC ...[ 5 3RY* ...XHLSINF 8 3S=? ... SBX 7 FX1 12 3SJ9 ... HLSINFORM XIT70,REGEN,4,5,,3 8 3SW7 ... BRN XIT70 4 3T85 ...# 7 3TG3 ...STEP1 NGNC 0 1 7 3TR_ ...STEP LDN 3 0 8 3W5X ... SBX 4 FX1 8 3WCT ... STEP 0(3) 8 3WPR ... BRN POPX 4 3X3P ...# 6 3X*M ...STEPAGAIN1 7 3XMK ... NGNC 0 1 6 3X_H ...STEPAGAIN 7 3Y?F ... LDN 3 0 8 3YKC ... SBX 4 FX1 8 3YX* ... STEPAGAIN 0(3) 18 3_9? ... STO 3 AWORK2(2) [PRESERVE POINTER TO RECORD 15 3_H9 ... [FOR STEPREWRITE 8 3_W6 ... BRN POPX 4 3_W8 ...# 4 3_WS ...[ 5 3_YW REGENJOB 4 42DG [ 20 42Y6 [ THIS IS THE CENTRAL ROUTINE FOR REGENERATING A PARTICULAR JOB 4 43CQ [ 19 43XB [ IF RGALLBIT OR RGABIT ARE SET THE JOB TO BE RG'ED IS THE 16 44C2 [ ONE AT THE CURRENT POSITION IN SYSTEM JOBLIST 17 44WL [ OHTERWISE THE JOB IS INDICATED BY THE JOBNO IN X6 19 45B= [ IF X6 HAS BIT 0 SET THEN A ADATA/CSTORE BLOCK HOLDS THE 20 45TW [ JOBNAME AND USERNAME WHICH SHOULD BE USED FOR ERROR MESSAGES 4 46*G [ 8 46T6 SBX 7 FX1 14 47#Q STO 7 AWORK4(2) [ LINK 20 47SB BS 2,RGERROR [ SET ERROR FLAG TO START WITH 13 48#2 JMBS TAKE,2,RGALLBIT,RGABIT 4 48RL [ 12 49?= [ USE THE JOBNUMBER GIVEN IN X6 4 49QW [ 16 4==G LDXC 5 6 [ REMOVE BIT 0 17 4=Q6 BCS / [ GET RID OF CARRY 16 4?9Q GETJOB 5,SYSTEM [ LOCATE ENTRY 17 4?PB TESTRPN2 OK,MISSING [ J IF CANT FIND JOB 4 4#NL [ 11 4*8= [ COMMON PATH NOW FOR THE RG 4 4*MW [ 4 4B7G TAKE 9 4C6Q ... CALL 4 STEPAGAIN 13 4K_S ... JMBS TK1,2,RGMONEY,RGFROZEN 11 4L3# ... MHUNT 2,ADATA,CSTORE 8 4L49 ... LDN 5 A1(2) 10 4L56 ... LDN 4 FRH+JLUSER(3) 7 4L63 ... MOVE 4 6 8 4L6Y ...TK1 LDX 2 FX2 12 4L82 ... TRACE JLJOBNO(3),*REGEN* 10 4LBG ... ADX 3 JOBDATASIZE 13 4LD2 ... JMBAC NMONY,2,RGMONEY,RGFROZEN 10 4LDG ... JBS TK2,2,RGMONEY 10 4LF2 ... BC 3,JLBFROZENNC 8 4LFG ... BRN TK3 10 4LG2 ...TK2 BC 3,JLBHARDUP 4 4LGG ...TK3 13 4LX* ... JMBS NRG,3,JLBABAND,JLBBMAP 8 4M8G ... BRN XCLR 13 4M?9 ...NMONY JMBAC TELLER,3,JLBABAND,JLBBMAP 10 4M?# ...[ B1249 CORRECTION 10.06.82 16 4M?C ...[ AVOID 'GEOERR CHJOBLOK' IN 'SETJOBQ' BY CHECKING 16 4M?G ...[ A TEMP AB HAS COMPLETED - IE JOBQ BLOCK REMOVED 18 4M?K ... LDXC 5 6 [ REPORT JOB CANNOT BE 16 4M?N ... BCS / [ REGENERATED IF 17 4M?R ... JOBLOCK 5,4 [ JOBQ BLOCK EXISTS 9 4M?W ... BPZ 4 TELLER 12 4M#6 ... MBC 3,JLBABAND,JLBBMAP 14 4MFJ ... JMBS NRG,3,JLBHARDUP,JLBFROZENNC 10 4MS2 ...XCLR BC 3,JLBNOTCAND 4 4N2G ...NRG 9 4N92 ... CALL 4 STEPWRITE 13 4N9P ... JMBS NRG0,2,RGALLBIT,RGABIT 7 4N=D ... LDXC 4 6 7 4N?7 ... BCS / 7 4N?W ... LDN 5 0 10 4N#K ... ADX 3 JOBDATASIZE 11 4N#Y ... JBS NRG0,3,JLBNOTCAND 9 4N*# ... LDX 3 JLSTAT(3) 9 4NB3 ... CALL 7 XHLSINF 4 4NBQ ...NRG0 18 4NCL READAGAIN [ FOR JWUPDATE OF RG JOB 10 4NX= MHUNT 3,FILE,FRB 11 4PBW NAME 3,JWELL,COPYSYS 17 4PWG BC 2,RGERROR [ CLEAR ERROR FLAG 7 4PX9 ... JLADJUST 3 11 4PXY ... JBS TMON,3,JLBNOTCAND 8 4PYM ... RG WELL 10 4P_B ... MFREE JWELL,COPYSYS 13 4P_L ...TMON JMBS XIT,2,RGMONEY,RGFROZEN 19 4Q5N ... HUNT 3,FILE,FABSNB [ FOR OPENING USER JOBLIST 16 4Q6C ... BPZ 3 SET [ J IF ONE FOUND 5 4Q6Q ...RETRYJL 13 4Q76 ... SETNCORE SIZELIST,3,FILE,FABSNB 4 4Q7T ...[ 16 4Q8J ...SET LDN 5 A1(3) [ INITIALISE IT 10 4Q9? ... LDN 4 XJOBLIST(1) 9 4Q=2 ... MOVE 4 SIZELIST 16 4Q=P ... ADN 5 1 [ FOR USERNAME 19 4Q?D ... MHUNT 3,ADATA,CSTORE [ TEMP STORAGE FOR COMMAND 15 4Q#7 ... LDN 4 A1(3) [ USERNAME 15 4Q#W ... MOVE 4 3 [ TO FABSNB 4 4QB6 [ 16 4QTQ ... SETMODE 5,GENERAL,UNTRAP,NOERREP,NOWAIT,REPLY 19 4R*B CALL 7 USEROPEN [ SORT OUT USER JOBLIST NOW 9 4RT2 ... BRN (GEOERR) 19 4S#L TESTRPN2 OK,POTTY [ SHOULD BE ABLE TO OPEN FILE 15 4SS= MHUNT 3,ADATA,CSTORE [ FOR JOBNAME 17 4T?W LDN 5 A1+3(3) [ ADDRESS OF JOBNAME 9 4TRG GETJOB 5,USER 17 4W?6 TESTRPN2 OK,OUT [ SKIP IF NOT FOUND 9 4WGY ... CALL 4 STEPAGAIN 10 4X6F ... ADX 3 JOBDATASIZE 12 4X#? ... MBC 3,JLBABAND,JLBBMAP 14 4XLW ... JMBS NRG1,3,JLBHARDUP,JLBFROZENNC 10 4Y9L BC 3,JLBNOTCAND 4 4YJ3 ...NRG1 9 4YWD ... CALL 4 STEPWRITE 4 4_8W [ 7 4_NG OUT CLOSETOP 12 5286 ... JMBS XIT,2,RGALLBIT,RGABIT 15 537B JBS TELLER,2,RGERROR [ J IF ERROR 17 54L= LDXC 6 6 [ FOR MESSAGE TYPE 16 555W BCS TELLNO [ J IF TO TELL NO 19 55KG CALL 7 SETNAMES [ OUTPACK JOB AND USER NAMES 9 5656 MONOUT ARGNAME 8 56JQ ... BRN XIT 5 574B TELLNO 17 57J2 CALL 7 SETJOBNO [ OUTPUT JOBNUMBER 9 583L MONOUT ARGJOBNO 8 58H= ... BRN XIT 4 592W [ 17 59GG TELLER [ ERROR MESSAGE TIME 16 5=26 LDXC 6 6 [ WHICH MESSAGE 15 5=FQ BCS TELNO [ J IF JOBNO 14 5=_B CALL 7 SETNAMES [ NAMES 16 5?F2 ... LDX 5 PCANTRGNAME(1) [ ERROR UNIVERSAL 4 5?YL [ 5 5#D= TELALL 18 5#XW CALL 7 OUTERROR [ OUTPUT ERROR MESSAGE 8 5*CG ... BRN XIT 4 5*X6 [ 4 5BBQ [ 5 5BWB MISSING 13 5C3J ... JMBS XIT,2,RGMONEY,RGFROZEN 18 5CB2 LDX 6 5 [ JOBNUMBER OF JOB LOST 9 5CTL CALL 7 SETJOBNO 10 5D*= ... LDX 5 PERGJOBNO(1) 9 5DSW BRN TELALL 4 5F#G [ 9 5FS6 TELNO CALL 7 SETJOBNO 10 5G?Q ... LDX 5 PCANTRGNO(1) 9 5GRB BRN TELALL 4 5JPW [ 9 5K9G ...XIT LDX 7 AWORK4(2) 8 5L8Q ADX 7 FX1 7 5LNB EXIT 7 0 4 5LQK ...WTJL 8 5LSS ... COOR4 #6 9 5LX3 ... BRN RETRYJL 5 5L_= ...POTTY 9 5M3F ... TESTREP2 CANT,WTJL 10 5M5N ... GEOERR 0,USER JL? 4 5M6T ...) 4 5M82 [ 4 5MML [ 4 5N7= [ 4 5NLW [ 13 5P6G [ START OF MAIN PATH THROUGH CODE 4 5PL6 [ 5 5Q5Q START 9 5Q6R ... FSHCODE B,XNOTA1 4 5Q7S ...( 21 5Q8T ...# FOR SHARED FILESTORE THE WHOLE OF THE 'RG' COMMAND IS IMPLEMENTED 18 5Q9W ...# ON 'A', SO WE MUST TRANSFER THERE AS EARLY AS POSSIBLE 4 5Q=X ...# 15 5Q?Y ... TRANSBEG FSHRGCOMID,REGEN,1,CLB,,ACOMMUNE1 4 5Q#_ ...# 18 5QB2 ... BRN XENDC [ENDCOM RETURN FROM 'A' 18 5QC3 ... COMBRKIN [BREAK-IN RETURN FROM 'A' 4 5QD4 ...# 5 5QF5 ...XNOTA1 4 5QG6 ...) 10 5QH7 ... FSHSKIP B,XNOTINB1 4 5QJ8 ...( 8 5QKB ... CALL 4 POP 18 5R52 ... STOZ AWORK1(2) [ INITIALISE MARKER WORD 15 5RJL LDN 3 XALB(1) [ ALLBUT() 17 5S4= CALL 7 SPARABEG [ GET ALLBUT PARAM 8 5SHW BRN RAB 8 5T3G BRN RGAB 4 5T?# ...[ 14 5TH6 RAB LDN 3 XAB(1) [ AB() 9 5W2Q CALL 7 SPARABEG 8 5WGB BRN TALL 8 5X22 BRN RGAB 4 5XFL [ 9 5X_= TALL LDN 3 XALL(1) 9 5YDW CALL 7 SPARABEG 8 5YYG BRN SCAN 4 5_D6 [ 20 5_XQ ...TAB LDX 0 JPARNUM(3) [ ALL PARAM MUST BE FIRST AND ONLY 7 62CB SBN 0 1 15 62X2 BNZ 0 SCANF [ NOT FIRST 17 63BL FREECORE 3 [ FREE THIS CPB/CUNI 18 63W= PARANUMB 3 [ SEE IF ONLY ONE PARAM 7 64*W SBN 3 1 18 64TG BNZ 3 SCAN [ J IF NOT THE ONLY PARAM 19 65*6 BS 2,RGALLBIT [ INDICATE ALL PARAM CORRECT 19 65SQ ... BRN SCAN [ J AS ALL PARAMS ANALYSED 4 664J ...[ 18 66#B RGAB LDX 0 ANUM(3) [ ALLBUT PARAM RECOGNISED 18 66S2 SRL 0 12 [ CHECK IF TYPE 2 PARAM 7 67?L SBN 0 2 15 67R= BNZ 0 SCANF [ J IF NOT 18 68=W LDX 4 JPARNUM(3) [ SPLIT OUT JOBNAMES ETC 7 68GN ... FREECORE 3 7 68JJ ... LDN 3 2 7 68K8 ... NGN 0 1 8 68KS ...P1 PARALYSX 0,,4 10 68L6 ... TESTRPN2 OK,PARFORMER 8 68LD ... LDN 0 #34 7 68M4 ... LDN 4 2 8 68MN ... BCT 3 P1 19 6=9B BS 2,RGABIT [ INDICATE ALLBUT THESE JOBS 8 6=P2 BRN SCAN 4 6?8L [ 7 6?N= SCANF FREECORE 3 4 6#7W [ 13 6#MG SCAN SETNCORE SZCSTORE,3,ADATA,CSTORE 19 6*76 STOZ A1+6(3) [ COUNT OF RG JOBS IN COMMAND 11 6*BY ... JBS TERM,2,RGALLBIT 4 6*LQ [ 20 6B6B SCANAGAIN [ START OF PARAM ANALYSYS LOOP 11 6BB8 ... MHUNT 3,ADATA,CSTORE 19 6BL2 MBC 2,RUSER,RJOB,RGNOJBER [ JOBNAME USERNAME ADDRESS 16 6C5L LDN 4 A1(3) [ CLEAR TO SPACES 9 6CK= LDN 5 A1+1(3) 8 6D4W LDX 0 ACES 8 6DJG STO 0 A1(3) 7 6F46 MOVE 4 5 4 6FHQ [ 15 6G3B SPASS SPARAPASS [ NEXT PARAM 4 6GH2 [ 10 6H2L SORT MHUNT 3,CPB,CUNI 20 6HG= LDX 0 JPARNUM(3) [ PARAM NUMBER FOR ERROR MESSAGES 15 6H_W STO 0 AWORK3(2) [ PRESERVE 19 6JBW ... LDX 5 ANUM(3) [ SEE IF NEXT PARAM EXISTS 15 6JRW ... BNG 5 TERM [ J IF NOT 15 6K8W ... BZE 5 NULL [ J IF NULL 9 6KKY ... LDCH 4 APARA(3) 8 6KR6 ... SBN 4 10 20 6KYB JMBS NAMES,2,RUSER,RJOB [ J IF JOBNAME OR USERNAME NEXT 15 6MC= BPZ 4 TRYUSER [ J IF NOT 17 6MWW CHNUMCOD 1,3 [ CONVERT A JOBNUMBER 17 6NBG TESTRPN2 OK,NOINV [ INVALID JOBNUMBER 19 6NW6 LDX 6 ACOMMUNE1(2) [ ELSE GET CONVERTED NUMBER 19 6P*Q ORX 6 GSIGN [ INDICATE ORIGINALLY JOBNO 8 6PTB BRN RGADD 4 6Q*2 [ 5 6QJS ...NAMES 17 6QSL TRYUSER [ TEST FOR USERNME 18 6R#= BNZ 4 TRYJOBNAME [ J IF FIRST CHAR NOT : 19 6RRW JBS PARFORMER,2,RUSER [ J IF ALREADY GOT A USERNAME 7 6RX2 ... LDEX 6 5 20 6S26 ... SRL 5 12 [ USERNAMES ARE TYPRE 1 PARAMS 7 6S5= ... SBN 5 1 9 6S8B ... BNZ 5 PARUSER 9 6SB_ ... LDN 3 APARA(3) 5 6SKJ ...TRYUSER2 18 6SS7 ... BCHX 3 / [SKIP COLON 1ST TIME,THEN 16 6T2Q ...[ LEADING SPACES 17 6T9* ... SBN 6 1 [DECREMENT CHAR COUNT 15 6TCY ... LDCH 4 0(3) [NEXT CHAR 8 6TLH ... SBN 4 #20 20 6TT6 ... BZE 4 TRYUSER2 [J IF LEADING SPACES IN USERNAME 4 6W3P ...[ 17 6W=# ...[ COLON & ANY LEADING SPACES HAVE NOW BEEN DROPPED 19 6WDX ... LDX 4 3 [SO X4 POINTS TO 1ST SIG CHAR 7 6WMG ... SBN 6 1 21 6WW5 ... BNG 6 PARUSER [PARAM SHOULD BE GREATER THAN ONE CHA 8 6X4N ... SBN 6 12 17 6X?? ... BPZ 6 PARUSER [AND <13, ELSE ERROR 19 6XFW ... ADN 6 13 [X6=NO OF CHARS IN USERNAME 16 6XNW MHUNT 3,ADATA,CSTORE [ SAVE USERNAME 8 6Y8G LDN 5 A1(3) 7 6YN6 SMO 6 7 6_7Q MVCH 4 0 16 6_MB BS 2,RUSER [ USERNAME READ 17 7272 BRN TRY2 [ GO AND FINISH CHECK 4 72LL [ 6 736= TRYJOBNAME 11 73KW JBS PARFORMER,2,RJOB 12 745G CHEKLFN2 PARFORMER,PARFORMER,3 9 74K6 LDN 4 APARA(3) 17 754Q LDX 6 ANUM(3) [ CHARS IN JOBNAME 11 75JB MHUNT 3,ADATA,CSTORE 16 7642 LDN 5 A1+3(3) [ AND PRESERVE IT 7 76HL SMO 6 7 773= MVCH 4 0 18 77GW BS 2,RJOB [ INDICATE JOBNAME READ 4 782G [ 9 78G6 TRY2 MFREE CPB,CUNI 19 78_Q JMBC SPASS,2,RUSER,RJOB [ IF EITHER BIT CLEAR LOOP 4 79FB [ 17 79_2 [ NOW HAVE USERNAME AND JOBNAME SO CHECK IF JOB OK 4 7=DL [ 9 7=Y= CALL 7 SETFABS 11 7?CW MHUNT 3,ADATA,CSTORE 8 7?XG LDN 4 A1(3) 7 7#C6 MOVE 4 3 12 7#WQ SETMODE 5,READ,NOERREP,UNTRAP 9 7*BB CALL 7 USEROPEN 8 7*W2 BRN XBRK 15 7B*L TESTRPN2 OK,NOUSER [ J IF NOT OK 16 7BT= MHUNT 3,ADATA,CSTORE [ CHECK JONNAME 9 7C#W LDN 6 A1+3(3) 15 7CSG GETJOB 6,USER [ GET ENTRY 9 7D#6 TESTREP2 OK,SOK 10 7DRQ BS 2,RGNOJBER 4 7F?B [ 7 7FMG ... CLOSETOP 11 7G3L ...SOK JBS NOUSER,2,RGNOJBER 9 7G9N ... CALL 4 STEPAGAIN 10 7GK2 ... LDX 6 JLJOBNO(3) 7 7GML ... CLOSETOP 4 7GQ= [ 13 7H9W [ REGENERATABLE JOB - JOBNO IN X6 4 7HPG [ 15 7J96 RGADD MHUNT 3,ADATA,CSTORE [ JOBNO BLOCK 9 7JNQ LDX 0 A1+6(3) 7 7K8B ADN 0 7 18 7KN2 TXL 0 ALOGLEN(3) [ SEE IF ENOUGH ROOM LEFT 8 7L7L BCS RAD 10 7LM= LDX 4 ALOGLEN(3) 16 7M6W ADN 4 SZCSTORE [ LENGTHEN BLOCK 16 7MLG ALTLENG 3,4,REHUNT [ LENGTHEN BLOCK 4 7N66 [ 11 7N*Y ... MHUNT 3,ADATA,CSTORE 14 7NKQ RAD LDX 4 A1+6(3) [ COUNT 16 7P5B SLL 4 1 [ ACTUAL MODIFIER 7 7PK2 SMO 4 14 7Q4L STO 6 A1+7(3) [ JOBNO 16 7QJ= LDX 0 AWORK3(2) [ PARAM NUMBER 7 7R3W SMO 4 20 7RHG STO 0 A1+8(3) [ PARAM NUMBER FROM WHICH DERIVED 19 7S36 LDN 0 1 [ INCREMENT IT FOR NEXT TIME 16 7SGQ ADS 0 A1+6(3) [ UPDATE POINTER 17 7T2B BRN SCANAGAIN [ BACK FOR NEXT JOB 4 7TG2 [ 5 7T_L NOUSER 15 7WF= CALL 7 SETNAMES [ NO SUCH JOB 10 7WYW ... LDX 5 PERGNOJOB(1) 9 7XDG CALL 7 OUTERROR 9 7XY6 BRN SCANAGAIN 4 7YCQ [ 13 7YXB TERM JMBS PARFORMER,2,RUSER,RJOB 4 83*G [ 12 83T6 OPEN OPENSYS XBRK,JOBLIST,GENERAL 9 844Y ... INHIBITBRK TIDYBRK 13 84#Q JMBS TOTAL,2,RGALLBIT,RGABIT 16 84SB STOZ AWORK3(2) [ BLOCK POINTER 4 85#2 [ 11 85RL NEXT1 MHUNT 3,ADATA,CSTORE 15 86?= LDX 7 AWORK3(2) [ MODIFIER 16 86QW TXU 7 A1+6(3) [ SEE IF FINISHED 15 87=G BCC OUTFIN [ J IF DONE 18 87Q6 LDN 0 1 [ INCREMENT ENTRY COUNTS 15 889Q ADS 0 AWORK3(2) [ INCREMENT 16 88PB SLL 7 1 [ ENTRY MODIFIER 14 8992 SMO 7 [ MODIFY 14 89NL LDX 6 A1+7(3) [ JOBNO 17 8=8= CALL 7 REGENJOB [ REGENERATE THIS JOB 15 8?7G BRN NEXT1 [ CONTINUE 4 8?M6 [ 4 8#6Q [ 8 8#BJ ...TOTAL CALL 4 STEP 4 8*62 [ 8 8**S ...ROUND CALL 4 STEP 16 8B5= BZE 3 OUTALL [ END OF RG ALL 15 8BJW JBS SUB,2,RGALLBIT [ SKIP IF ALL 17 8C4G LDX 6 FRH+JLJOBNO(3) [ ELSE CHECK JOBNO 11 8CJ6 MHUNT 2,ADATA,CSTORE 15 8D3Q LDX 5 A1+6(2) [ NO OF JOBS 8 8D?J ... BZE 5 SUB2 16 8DHB LDN 4 0 [ MODIFIER START 4 8F32 [ 16 8FGL X SMO 4 [ COMPARE JOBNOS 9 8FW* ... LDXC 0 A1+7(2) 7 8G=4 ... BCS / 9 8GKR ... BXE 0 6,ROUND 7 8G_G ADN 4 2 16 8HF6 BCT 5 X [ CHECK ALL JOBS 4 8HK3 ...SUB2 8 8HNY ... LDX 2 FX2 4 8HYQ [ 18 8J?7 ...SUB [ CHECK IF JOB RG'ABLE 10 8JKJ ... ADX 3 JOBDATASIZE 13 8K2K ... JMBAC ROUND,3,JLBABAND,JLBBMAP 9 8KCL CALL 7 REGENJOB 8 8LBW BRN ROUND 4 8LWG [ 5 8MB6 OUTALL 9 8MTQ MONOUT ALLRGJOBS 7 8MXH ... LDN 5 1 12 8MY6 ... JBS TELLHLS,2,RGALLBIT 11 8MYP ... MHUNT 2,ADATA,CSTORE 9 8M_# ... LDX 7 A1+6(2) 9 8M_X ... BZE 7 TELLNUN 7 8N2G ... LDX 6 7 9 8N35 ... LDN 3 A1+7(2) 8 8N3N ... LDN 1 A1(2) 5 8N4? ...TELLMV 8 8N4M ... LDXC 0 0(3) 7 8N53 ... BCS / 8 8N5F ... STO 0 0(1) 7 8N64 ... ADN 3 2 7 8N6M ... ADN 1 1 9 8N7= ... BCT 6 TELLMV 5 8N7T ...TELLNUN 10 8N8D ... STO 7 ALOGLEN(2) 10 8N93 ... NAME 2,ADATA,ASUP 7 8N9L ... LDN 5 2 5 8N=9 ...TELLHLS 7 8N=S ... LDN 4 0 7 8N?C ... LDN 3 0 9 8N#2 ... CALL 7 XHLSINF 4 8N*B [ 5 8NT2 OUTFIN 7 8P4S ... PERMITBRK 9 8P8P ... CALL 7 RUNJSA 9 8P#L CALL 7 VOPCLOSE 4 8P*= ...# 5 8P*W ...XNOTINB1 4 8PBG ...) 8 8PC6 ... FSHCODE AORB 4 8PCQ ...( 4 8PDB ...# 5 8PF2 ...XENDC 4 8PFL ...# 9 8PG= ... FSHCODE A,XHERE 4 8PGW ...( 20 8PHG ...# CHECK HERE WHETHER WE MUST GO BACK TO 'B' BEFORE THE 'ENDCOM' 4 8PJ6 ...# 14 8PJQ ... TRANCHKN FSHRGCOMID,EQUAL,XHERE,XHERE 4 8PKB ...# 19 8PL2 ... LDN 3 0 [SET THE OFFSET FOR 'ENDCOM' 4 8PLL ...# 17 8PM= ...XFIN TRANSFIN 3 [AND RETURN TO 'A' 4 8PMW ...# 5 8PNG ...XHERE 4 8PP6 ...) 6 8PPQ ... ENDCOM 4 8PQB ...) 7 8PR2 ... FSHSKIP 6 8PS= ...XENDC ENDCOM 9 8P_D ... FSHSKIP B,XNOTB3 4 8Q6L ...( 4 8Q?W [ 5 8QRG NOINV 4 8R?6 NULL 5 8RQQ PARUSER 6 8S=B PARFORMER 8 8TP= CALL 5 VOP 9 8TXG ... LDN 5 APFERR 7 8W5Q ... NGN 6 1 9 8W#2 ... CALL 7 OUTERROR 8 8WG= ... BRN XENDC 4 8WNG [ 5 8X86 TIDYBRK 7 8XMQ CLOSETOP 4 8Y7B [ 8 8YM2 XBRK CALL 5 VOP 9 8YN? ... FSHCODE A,XNOTB2 4 8YPJ ...( 20 8YQT ...# THIS IS ANOTHER POINT WHERE WE MIGHT HAVE TO GO BACK TO 'B' 4 8YS6 ...# 15 8YTC ... TRANCHKN FSHRGCOMID,EQUAL,XNOTB2,XNOTB2 4 8YWN ...# 20 8YX_ ... LDN 3 1 [SET OFFSET FOR BREAK-IN RETURN 8 8Y_= ... BRN XFIN 4 8_2H ...# 5 8_3S ...XNOTB2 4 8_55 ...) 7 8_6L ... COMBRKIN 5 8_L= REHUNT 11 925W MHUNT 2,ADATA,CSTORE 7 92KG EXIT 1 0 4 92KK ...[ 4 92QY ...[ 18 92Q_ ...[ THE NEXT SECTION DEALS WITH THE REGENERATION OF JOBS 20 92R2 ...[ FROM A USER WHO HAS JUST BECOME SOLVENT OR WHO HAS JUST BEEN 20 92R3 ...[ THAWED. (I.E. IT IS PART OF THE IMPLEMENTATION OF ^DICTJL^.) 11 92R4 ...[ ON ENTRY IN ACOMMUNE4 :- 13 92R5 ...[ B0=1 IF USER HAS BECOME OVERDRAWN 13 92R6 ...[ B1=1 IF USER HAS BECOME SOLVENT 12 92R7 ...[ B2=1 IF USER HAS BEEN FROZEN 12 92R8 ...[ B3=1 IF USER HAS BEEN THAWED 16 92R9 ...[ N.B. 1 AND ONLY1 OF THESE BITS WILL BE SET. 4 92R= ...[ 5 92R? ...MONEY 8 92R# ... LDCT 0 #140 10 92R* ... ANDX 0 ACOMMUNE4(2) 20 92RB ... BNZ 0 NMS [NO MESSAGE IF FROZEN OR THAWED 7 92RC ... OUTBLOCN 4 10 92RD ... LDN 6 ACOMMUNE1(2) 7 92RF ... LDN 4 3 10 92RG ... LDN 5 JPDUSERNAME 9 92RH ... CALL 7 XOUTPACK 8 92RJ ...NMS LDCT 0 #500 10 92RK ... ANDX 0 ACOMMUNE4(2) 20 92RL ... BNZ 0 XABAN [J IF ONE OF THE ABANDON ENTRIES 9 92RM ... STOZ AWORK1(2) 10 92RN ... LDX 0 ACOMMUNE4(2) 7 92RP ... SLL 0 1 17 92RQ ... BNG 0 MY1 [J IF SOLVENT ENTRY 17 92RR ... BS 2,RGFROZEN [ELSE MUST BE CC FZ 8 92RS ... BRN MY2 9 92RT ...MY1 BS 2,RGMONEY 17 92RW ...MY2 CALL 6 OPENJLS [OPEN JOBLIST FILES 20 92RX ... BRN UP2 [NOTHING TO DO IF NO USER JOBLIST 7 92S2 ... LDN 7 0 8 92S4 ...MNXT CALL 4 STEP1 19 92S7 ... BZE 3 MEND [J IF AT END OF USER JOBLIST 10 92S8 ... LDX 6 JLJOBNO(3) 10 92S9 ... ADX 3 JOBDATASIZE 10 92S= ... JBS MY3,2,RGMONEY 12 92S? ... JBC MSKP,3,JLBFROZENNC 8 92S# ... BRN MY4 11 92S* ...MY3 JBC MSKP,3,JLBHARDUP 4 92SB ...MY4 11 92SC ... JBS MRUN,3,JLBRUNNING 17 92SD ... CALL 7 REGENJOB [REGENERATE THE JOB 10 92SG ...MRUN1 CALL 4 STEPAGAIN1 10 92SK ... ADX 3 JOBDATASIZE 10 92SL ... JBS MY5,2,RGMONEY 10 92SM ... BC 3,JLBFROZENNC 8 92SN ... BRN MY6 10 92SP ...MY5 BC 3,JLBHARDUP 18 92SQ ...MY6 JMBS NRG2,3,JLBABAND,JLBBMAP,JLBHARDUP,JLBFROZENNC 10 92SR ... BC 3,JLBNOTCAND 10 92SS ...NRG2 SBX 3 JOBDATASIZE 9 92ST ... CALL 4 STEPWRT1 8 92SW ...MSKP SKIP 1,3 8 92SX ... BRN MNXT 11 92SY ...MRUN JBS MRUN1,2,RGFROZEN 19 92S_ ... GETJOB 6,SYSTEM [RUNNING JOBS MAY BE HARD UP 9 92T3 ... CALL 4 STEPAGAIN 10 92T6 ... ADX 3 JOBDATASIZE 13 92T7 ... MBC 3,JLBNOTCAND,JLBHARDUP 10 92T8 ... SBX 3 JOBDATASIZE 9 92T9 ... CALL 4 STEPWRITE 8 92T= ... BRN MRUN1 18 92T? ...MEND BZE 7 PEND [J IF MESSAGE NOT REQUIRED 11 92T# ... JBS MFZ1,2,RGFROZEN 10 92T* ... MONOUT JMONEYOK 9 92TB ...MFZ1 CALL 7 RUNJSA 4 92TD ...PEND 7 92TH ...PENDP CLOSETOP 7 92TJ ... CLOSETOP 9 92TK ...UP2 LDCH 0 ATYPE(2) 9 92TL ... SBN 0 CPAT/64 8 92TM ... BNZ 0 UP1 9 92TN ... LDX 0 AWORK3(2) 18 92TP ... STO 0 JOBEVENTS(2) [RESTORE BREAK IN BITS 7 92TQ ...UP1 LOSEPARS 5 92TR ... UP 5 92TS ...XABAN 9 92TT ... STO 0 AWORK1(2) 9 92TW ... CALL 6 OPENJLS 8 92TX ... BRN UP2 9 92W? ... LDX 0 AWORK3(2) 12 92WM ...[ ABANDONA USES AWORK4 AS PARAM 9 92X3 ... STO 0 AWORK4(2) 16 92XC ... ACROSS ABANDONA,2 [DE-GENERATE JOBS 4 92XR ...[ 5 92Y7 ...OPENJLS 8 92YH ... SBX 6 FX1 9 92YX ... CALL 7 SETFABS 10 92_? ... LDN 4 ACOMMUNE1(2) 9 92_M ... LDN 5 A1+1(3) 7 9323 ... MOVE 4 3 13 932C ... SETMODE 5,GENERAL,UNTRAP,NOERREP 9 932R ... LDCH 0 ATYPE(2) 9 9337 ... SBN 0 CPAT/64 16 933H ... BNZ 0 NCPA [J IF NOT CPAT 10 933X ... LDX 0 JOBEVENTS(2) 9 934? ... STO 0 AWORK3(2) 8 934M ... LDCT 0 #40 17 9353 ... STO 0 JOBEVENTS(2) [FIDDLE BREAK IN BITS 17 935C ...NCPA CALL 7 USEROPEN [OPEN USER JOBLIST 9 935R ... BRN (GEOERR) 9 9367 ... TESTRPN2 OK,NOJOBS 7 936H ... ADN 6 1 13 936X ... OPENSYS (GEOERR),JOBLIST,GENERAL 5 937? ...NOJOBS 8 937M ... ADX 6 FX1 7 9383 ... EXIT 6 0 4 938C ...# 5 938R ...XNOTB3 4 9397 ...) 7 939H ...#UNS FSHTEST 4 939X ...#SKI 4 93=? ...( 9 93=M ... FSHCODE B,XNOTA2 4 93?3 ...( 15 93?C ...# THERE IS NO K2 ENTRY ON THE 'B' MACHINE 4 93?R ...# 5 93#7 ...MONEY 10 93#H ... GEOERR 1,K2-ENTRY 4 93#X ...# 5 93*? ...XNOTA2 4 93*M ...) 4 93B3 ...) 21 93BS ...# [THE CODE WHICH USED TO FOLLOW HAS BEEN TRANSFERRED TO 12 93WD ...# SEGMENT DICTWELL. 4 94B4 ...#END 6 ____ ...763475220005