15 22_= #LIS K0JWUPDATE>K0ALLGEO>K0GREATGEO>K0COMMAND 13 236D ... SEG JWUPDATE,867,SECTION CENT 4 23?L ...[ 4 23DS ...[ 16 23L2 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 23R8 ...[ 7 23YG #DEF RRH=A1+FRH 4 24D6 [ 19 24XQ [ THIS SEGMENT PERFORMS ANY NECESSARY UPDATING OF JWELL AT 14 25CB [ JOBSTARTING AND JOB SUBMISSION TIME... 13 25X2 [ ALSO AT JOB ENDING OR ABANDON TIME 18 26BL [ NEW TYPES MAY BE CREATED OR DESTROYED BY THE PROCESS 15 26W= [ ACCOMUNE2 CONTAINS THE COUNT TO BE UPDATED 19 27*W [ AND A JWELL/COPYSYS BLOCK HOLDS THE JOBLIST ENTRY AND SO 10 27TG [ ITS JOB TYPE (JLSTAT) 4 28*6 [ 17 28F3 ...[ ACOMMUNE3 IS NORMALLY 0 BUT IS SET TO 1 WHEN A 18 28JY ...[ DEGENERATE JOB IS BEING PRODUCED (K2) OR REMOVED (K1) 4 28NT ...[ 4 28SQ [ 12 29#B SEGENTRY K1JWUPDATE,WELLUPDATE 12 29S2 SEGENTRY K2JWUPDATE,WELLSUB 4 2=?L [ 4 2=R= [ 4 2?=W [ 4 2?QG [ 4 2#=6 [ 4 2#PQ [ 18 2*9B [ THE ACCESS SEMAPHORE MUST BE SET BY THE CALLING ROUTINE 4 2*P2 [ 4 2B8L [ 4 2BN= [ 21 2C7W [ ROUTINE TO UPDATE THE JWELL BLOCK. THIS MAY INVOLVE CREATION OF A 15 2CMG [ NEW JOBTYPE OR JUST UPDATING AN EXISTING TYPE. 4 2D76 [ 21 2DLQ [ THE JOBTYPE AND JOBNUMBER OF THE JOB WHICH HAS CAUSED THE UPDATE MAY 19 2F6B [ BE FOUND IN ITS JOBLIST ENTRY HELD IN A JWELL/COPYSYS BLOCK 4 2FL2 [ 20 2G5L [ THE COUNT TO BE UPDATED (LIVE JOBS OR WELL JOBS) IS DEFINED IN 21 2GK= [ ACOMMUNE2. IT IS EITHER 1(LIVEJOBS) OR JWELLONE(WELLJOBS). IF LIVEJOBS 21 2H4W [ IS UPDATED THEN THIS MAY INVOLVE RE-ORDERING THE BLOCK IN THE CASE OF 14 2HJG [ CLUSTER JOBS (FOR SHARING OF CLUSTERS). 4 2J46 [ 20 2JHQ [ THE FIRST STAGE IS TO FIND OR CREATE THE JOBTYPE AND UPDATE THE 21 2K3B [ COUNTS RE-ORDERING IF NECESSARY. THE UPDATES OF JNEXTS ARE CARRIED OUT 12 2KH2 [ DEPENDING ON VARIOUS CONDITIONS: 4 2L2L [ 21 2LG= [ IF A NEW TYPE IS CREATED THEN JNEXT IS SET AS A POINTER(LIVEJOBS=1) 10 2L_W [ OR JOBNUMBER(WELLJOBS=1). 4 2MFG [ 20 2M_6 [ IF WELLJOBS IS INCREASED FROM 0 TO 1 THEN JNEXT IS SET TO JOBNO 4 2NDQ [ 20 2NYB [ IF WELLJOBS IS INCREASED THEN BECAUSE OF CO-ORDINATIONS AND THE 21 2PD2 [ POSSIBILITY OF RECYCLING JOB NUMBERS VARIOUS CHECKS MUST BE PERFORMED 20 2PXL [ TO SEE IF JNEXT SHOULD BE UPDATED.IF JNEXT IS UPDATED IT IS SET 13 2QC= [ TO THE JOBNUMBER OF THE CURRENT JOB. 4 2QWW [ 10 2RBG [ IF (J) - CURRENT JOBNO 12 2RW6 [ (N) - NEXT JOBNO (FROM JNEXT) 19 2S*Q [ (F) - NEXT JOBNO THAT WOULD BE OBTAINED FROM FIXED CORE 4 2STB [ 4 2T*2 [ 14 2TSL [ THEN THE FOLLOWING POSSIBILITIES OCCUR 4 2W#= [ 10 2WRW [ F < J < N UPDATE 7 2X?G [ F < N < J 7 2XR6 [ J < F < N 10 2Y=Q [ J < N < F UPDATE 10 2YQB [ N < F < J UPDATE 13 2_=2 [ N < J < F NORMAL CASE 4 2_PL [ 4 329= [ 20 32NW [ THE ROUTINE IS PASSED TWICE - ONCE FOR THE FULL TYPE AND ONCE 9 338G [ FOR THE MOP/BACK TYPE 4 33N6 [ 4 347Q [ 20 34MB [ X4 MAY HOLD THE ADDRESS OF THE FIRST ENTRY IN JWELL WHERE,IF THE 19 3572 [ JOBTYPE WERE NEW,IT WOULD BE INSERTED TO MAINTAIN THE ORDERING 20 35LL [ ACCORDING TO LIVEJOBS. IE IN INCREASING ORDER OF LIVEJOBS WITHIN A 11 366= [ TYPE. EG ALL REMOTE MOP ETC. 4 36KW [ 4 375G [ 15 37K6 [ X3 USUALLY POINTS TO UPDATED ENTRY 6 384Q [ X4 16 38JB [ X5 1 IF LIVEJOBS BEING UPDATED ELSE 0 9 3942 [ X6 JOB TYPE 9 39HL [ X7 PROPERTY 4 3=3= [ 8 3=GW [ ACOMMUNE WORDS 4 3?2G [ 16 3?G6 [ 1 ADDRESS OF NEW TYPE TO BE INSERTED 19 3?_Q [ 2 COUNTS TO BE UPDATED (1 LIVEJOBS OR 1 WELLJOBS) 16 3#FB [ THIS IS SET BY THE CALLING ROUTINE 16 3#P8 ...[ 3 1 INDICATES A DEGENERATE JOB UPDATE 14 3#_2 [ 5 ABS ADDRESS OF JWELL START 12 3*DL [ 6 COUNT FOR TWO PASSES 8 3*Y= [ 8 JOBNO 4 3BCW [ 6 3BXG WELLUPDATE 4 3B_P ...# 11 3CC6 MHUNT 3,JWELL,COPYSYS 11 3CWQ LDX 0 JLJOBNO+RRH(3) 11 3DBB LDX 7 JLPROPNO+RRH(3) 7 3DW2 JLADJUST 3 9 3F*L LDX 6 JLSTAT(3) 7 3FT= ANDN 6 3 7 3G#W ADN 6 2 9 3GSG TRACE 6,WELLADD 14 3H#6 STO 0 ACOMMUNE8(2) [ JOBNO 10 3HRQ LDX 5 ACOMMUNE2(2) 19 3J?B ANDN 5 1 [ MARKER FOR LIVEJOBS UPDATE 7 3JR2 LDN 0 1 20 3K=L STO 0 ACOMMUNE6(2) [ LOOP MARKER - MUST PASS TWICE 9 3KQ= SEC HUNTMISB 3,JWELL 17 3L9W STO 3 ACOMMUNE5(2) [ ABS START OF BLOCK 17 3LPG LDN 3 JOBENTS(3) [ START OF ENTRIES 16 3M96 LDN 4 0 [ INITIALISE X4 8 3MNQ BRN SAVE 19 3N8B NEXT1 ADN 3 JWENTRY [ NEXT JWELL ENTRY ADDRESS 16 3NN2 SAVE STO 3 ACOMMUNE1(2) [ ADDRESS OF (M) 10 3P7L LDX 0 JOBTYPE(3) 18 3PM= BNG 0 NEW1 [ J IF END OF JWELL BLOCK 14 3Q6W ANDN 0 JOBBITS [ TYPE 7 3QLG TXL 0 6 19 3R66 BCS NEXT1 [ J IF THIS TYPE NOT REACHED 7 3RKQ TXU 0 6 18 3S5B BCS NEW1 [ JUMP IF NEW TYPE PASSED 9 3SK2 LDEX 0 JOBCTS(3) 21 3T4L TXL 5 0 [ IF NEW,WOULD TYPE BE INSERTED AFTER 21 3TJ= BCC POST [ THIS ENTRY TO KEEP LIVEJOB ORDER 21 3W3W BNZ 4 PAST [ NO - SO SAVE THIS ADDRESS IF FIRST 14 3WHG LDX 4 3 [ TIME 8 3X36 BRN PAST 21 3XGQ POST LDN 0 JWENTRY(3) [ ENTRY WOULD GO AFTER SO REMEMBER 10 3Y2B STO 0 ACOMMUNE1(2) 10 3YG2 PAST LDX 0 JOBTYPE(3) 9 3Y_L ANDN 0 JWCLUSB 20 3_F= BZE 0 SAME [ IF NOT CLUSTER THEN TYPE FOUND 10 3_YW TXU 7 JOBPROP(3) 20 42DG BCS NEXT1 [ J IF CLUS PROPERTIES DIFFERENT 4 42Y6 [ 20 43CQ [ AT THIS POINT THE CORRECT TYPE,AND IF CLUSTER,PROPERTY HAVE BEEN 20 43XB [ FOUND. THE COUNTS (JOBCTS) ARE UPDATED AND IF LIVEJOBS CHANGES 19 44C2 [ ANY RE-ORDERING OF CLUSTERS THAT MAY BE REQUIRED IS PERFORMED 4 44WL [ 9 452H ...SAME LDX 4 JWDEG(3) 10 456D ... SBX 4 ACOMMUNE3(2) 8 45=* ... BPZ 4 POSCT 9 45B= ... GEOERR 1,FEW DG 9 45G7 ...POSCT STO 4 JWDEG(3) 10 45L4 ... LDX 4 ACOMMUNE2(2) 9 45TW ADS 4 JOBCTS(3) 19 46*G BZE 5 RENUM [ J IF WASN'T LIVEJOBS UPDATE 18 46T6 BZE 0 SDONE [ J IF NOT CLUSTER UPDATE 4 47#Q [ 11 47SB [ SEE IF RE-ORDERING REQUIRED 4 48#2 [ 19 48RL LDX 1 3 [ X1 = (M) X3 = (N)-NEXT 16 49?= LDEX 4 JOBCTS(1) [ (M) LIVEJOBS 15 49QW XMOOR ADN 3 JWENTRY [ NEXT ENTRY 10 4==G LDX 0 JOBTYPE(3) 17 4=Q6 BNG 0 SEEIF [ J IF END OF JWELL 14 4?9Q ANDN 0 JOBBITS [ TYPE 16 4?PB TXU 0 6 [ J IF DIFFERENT 8 4#92 BCS SEEIF 15 4#NL LDEX 0 JOBCTS(3) [ LIVEJOBS(N) 16 4*8= TXL 4 0 [ IS (M).LT.(N) 16 4*MW BCC XMOOR [ J IF (M).GE.(N) 4 4B7G [ 18 4BM6 [ END OF TYPE FOUND OR NEW POSITION BECAUSE OF LIVEJOBS 4 4C6Q [ 19 4CLB SEEIF SBN 3 JWENTRY [ MUST GO BEFORE LAST ENTRY 7 4D62 TXU 1 3 17 4DKL BCC SDONE [ JUMP IF NO CHANGE 4 4F5= [ 19 4FJW [ RE-ORDER ENTRIES BY MOVING (M) ABOVE (N) AND (M+1)TO(N) DOWN 4 4G4G [ 13 4G=? ...[ X1 ADDRESS OF ENTRY TO BE MOVED 11 4GD4 ...[ X3 ADDRESS TO BE MOVED TO 4 4GKT ...[ 14 4GRL ... SBX 3 ACOMMUNE5(2) [ BLOCK 15 4G_C ... SBX 1 ACOMMUNE5(2) [ RELATIVE 15 4H78 ... STO 1 AWORK1(2) [ ADDRESSES 9 4H#_ ... STO 3 AWORK3(2) 13 4HGQ ... SETNCORE JWENTRY,2,ADATA,CSTORE 8 4HNH ... LDN 2 A1(2) 9 4HW# ... HUNTMISB 3,JWELL 18 4J45 ... SMO FX2 [ PRESERVE BLOCK ADDRESS 9 4J9W ... STO 3 ACOMMUNE5 18 4JCM ... LDX 1 3 [ RESTORE BLOCK POINTERS 8 4JKD ... SMO FX2 9 4JR9 ... ADX 1 AWORK1 8 4J_2 ... SMO FX2 9 4K6R ... ADX 3 AWORK3 19 4K#J ... MOVE 1 JWENTRY [ PRESERVE ENTRY TO BE MOVED 19 4KG* ... LDX 4 3 [ CALC SIZE OF OTHER ENTRIES 7 4KN6 ... SBX 4 1 16 4KTX ... LDN 0 JWENTRY(1) [ START ADDRESS 7 4L3N ... SMO 4 7 4L9F ... MOVE 0 0 19 4LC= ... MOVE 2 JWENTRY [ AND MOVE ENTRY TO NEW PLACE 8 4LK3 ... SBN 2 A1 7 4LQS ... FREECORE 2 8 4LYQ LDX 2 FX2 8 4MDB BRN SDONE 4 4MY2 [ 10 4NCL [ POSSIBLE UPDATE OF JNEXT 4 4NX= [ 10 4P74 ...RENUM LDX 0 ACOMMUNE2(2) 8 4PBW ... BZE 0 SDONE 18 4PLN ... LDX 0 ACOMMUNE8(2) [ CURRENT JOBS JOBNO(J) 9 4PWG LDX 4 JOBCTS(3) 7 4QB6 SRL 4 9 7 4QTQ SBN 4 1 17 4R*B BZE 4 STUFF [ J IF FIRST WELLJOB 4 4RT2 [ 14 4S#L [ RESET (IF NECESSARY) ACCORDING TO TABLE 10 4SS= [ J TO SDONE IF NO UPDATE 4 4T?W [ 9 4TRG LDX 4 JOBNUMBER 16 4W?6 ADN 4 1 [ NEXT JOBNO (F) 13 4WQQ LDXC 5 JNEXT(3) [ (N) 7 4X=B TXL 5 4 16 4XQ2 BCS XN [ J IF (N).LT.(F) 7 4Y9L TXL 5 0 17 4YP= BCS SDONE [ OUT IF (N).LT.(J) 7 4_8W TXL 4 0 17 4_NG BCS STUFF [ OK IF (F).LT.(J) 8 5286 BRN SDONE 7 52MQ XN TXL 4 0 17 537B BCS STUFF [ OK IF (F).LT.(J) 7 53M2 TXL 0 5 18 546L BCC SDONE [ OUT IF (J).NOT.LT.(N) 16 54L= STUFF STO 0 JNEXT(3) [ UPDATE JNEXT 5 555W SDONE 15 55KG LDX 0 ACOMMUNE6(2) [ LOOP MARKER 7 5656 SBN 0 1 8 56JQ BPZ 0 WOUND 19 574B UP [ RETURN AFTER SECOND PASS 4 57J2 [ 4 583L [ 4 58H= [ 10 592W WOUND STO 0 ACOMMUNE6(2) 18 59GG ANDN 6 1 [ SECOND TYPE MOP OR BACK 10 5=26 LDX 5 ACOMMUNE2(2) 18 5=FQ ANDN 5 1 [ LIVEJOBS COUNT MARKER 8 5=_B BRN SEC 4 5?F2 [ 17 5?YL [ TYPE NOT FOUND SO LENGTHEN BLOCK AND INSERT NEW TYPE 4 5#D= [ 10 5#LG ...NEW1 LDX 0 ACOMMUNE3(2) 8 5#SQ ... BZE 0 NEW2 7 5#WS ...#SKI JWPHASE3 8 5#YW ... BNG 0 NEW2 10 5*32 ... GEOERR 1,NO DEGJB 18 5*9= ...NEW2 BNZ 4 ORLIV [ J IF ORDERED BY TYPE 16 5*CG LDX 4 ACOMMUNE1(2) [ LIVEJOBS ORDER 18 5*X6 ORLIV LDX 3 4 [ ADDRESS FOR NEW ENTRY 10 5BBQ SBX 4 ACOMMUNE5(2) 19 5BWB STO 4 ACOMMUNE1(2) [ REL ADDRESS OF NEW ENTRY 7 5CB2 BRN Y 9 5CTL X ADN 3 JWENTRY 10 5D*= Y LDX 0 JOBTYPE(3) 18 5DSW BPZ 0 X [ LOOK FOR END OF BLOCK 19 5F#G SBX 3 ACOMMUNE5(2) [ REL ADDRESS OF BLOCK END 20 5FS6 SBX 3 4 [ DIFFERENCE BETWEEN NEW AND END 7 5G?Q LDX 5 3 4 5GRB [ 9 5H?2 [ ALTER BLOCK LENGTH 4 5HQL [ 15 5J== LDX 3 ACOMMUNE5(2) [ JWELL START 10 5JPW LDX 4 ALOGLEN(3) 16 5K9G ADN 4 JWENTRY [ LENGTH REQUIRED 15 5KP6 BRN PULL [ LENGTHEN IT 4 5L8Q [ 17 5LNB RELOC HUNTMISB 2,JWELL [ REFIND THE BLOCK 7 5M82 EXIT 1 0 4 5MML [ 16 5N7= PULL ALTLENG 3,4,RELOC [ ALTER LENGTH 14 5NLW HUNTMISB 3,JWELL [ REFIND 18 5P6G ADX 3 ACOMMUNE1(2) [ ADDRESS OF NEW ENTRY 8 5PL6 LDX 0 GSIGN 19 5Q5Q BZE 5 NEWND [ J IF NEW TYPE AT THE END 19 5QKB ADX 3 5 [ ADDRESS AFTER LAST ENTRY 10 5R52 STO 0 JWENTRY(3) 7 5RJL LDX 2 3 15 5S4= PUSH SBN 2 JWENTRY [ LAST ENTRY 15 5SHW MOVE 2 JWENTRY [ MOVE UP 1 20 5T3G SBN 5 JWENTRY [ ENTRIES TO BE MOVED(WORD COUNT) 20 5TH6 LDX 3 2 [ NEXT DESTINATION IS LAST START 8 5W2Q BNZ 5 PUSH 20 5WGB LDX 2 FX2 [ X3 STILL POINTS TO NEW ENTRY 8 5X22 BRN TOEND 17 5XFL NEWND STO 0 JWENTRY(3) [ NEW END OF BLOCK 17 5X_= TOEND STO 6 JOBTYPE(3) [ FILL IN NEW ENTRY 14 5YDW STO 7 JOBPROP(3) [ PROP 10 5YNM ... LDX 0 ACOMMUNE3(2) 9 5YR= ... NGS 0 JWDEG(3) 10 5YYG LDX 0 ACOMMUNE2(2) 14 5_D6 STO 0 JOBCTS(3) [ COUNTS 18 5_XQ ANDN 0 1 [ FINISHED IF LIVE JOBS 8 62CB BNZ 0 SDONE 10 62X2 LDX 0 ACOMMUNE8(2) 9 63BL STO 0 JNEXT(3) 18 63W= BRN SDONE [ IF WELLJOBS JNEXT=JOBNO 4 64*W [ 4 64TG [ 17 65*6 [ SEMAPHORE MUST BE SET BY CALLING ROUTINE ********* 17 65SQ [ BUT IS CLEARED BY THIS ROUTINE ON EXIT ********* 15 66#B [ ALSO :SYSTEM.JOBLIST MUST BE OPEN...... 18 66S2 [ THE USUAL CALL OF JWUPDATE IS FROM JOBLIST WHICH IS 12 67?L [ CALLED FROM THE LOGOUT CHAPTER 4 67R= [ 4 68=W [ 4 68QG [ 21 69=6 [ UPDATE THE JWELL BLOCK BY DECREMENTING LIVEJOBS OR WELLJOBS. THE JOB 21 69PQ [ TYPE IS HELD IN THE JOBLIST ENTRY IN A FILE/FRB BLOCK. THE COUNT TO 21 6=9B [ BE UPDATED ( 1 -(LIVEJOBS)OR JWELLONE(WELLJOBS)) IS HELD IN ACOMMUNE2 21 6=P2 [ IF THE COUNTS FOR A PARTICULAR TYPE ARE REDUCED TO ZERO THE TYPE IS 21 6?8L [ REMOVED. IF LIVEJOBS IS DECREASED THEN ANY RE-ORDERING OF TYPES (FOR 15 6?N= [ CLUSTER SHARING) IS CARRIED OUT AS REQUIRED. 4 6#7W [ 5 6#MG WELLSUB 16 6*76 UWAY LDX 7 ACOMMUNE2(2) [ UPDATE COUNT 17 6*LQ LDN 6 0 [ NEW T0-E ADDRESS 16 6B6B MHUNT 3,JWELL,COPYSYS [ JOBLIST ENTRY 11 6BL2 LDX 4 JLPROPNO+RRH(3) 7 6C5L JLADJUST 3 9 6CK= LDX 5 JLSTAT(3) 7 6D4W ANDN 5 3 13 6DJG ADN 5 2 [TYPE 9 6F46 TRACE 5,WELLSUB 9 6FHQ HUNTMISB 2,JWELL 8 6FNY ... SMO FX2 20 6FW6 ... STO 2 ACOMMUNE5 [ PRESERVE START OF BLOCK ADDRESS 18 6G3B LDN 2 JOBENTS(2) [ START OF JWELL ENTRIES 7 6GH2 ULOOP LDX 3 2 15 6H2L BRN UTEST [ MAIN LOOP 9 6HG= ULUPE ADN 3 JWENTRY 15 6H_W UTEST LDX 0 JOBTYPE(3) [ NEXT ENTRY 8 6JFG BPZ 0 UBITS 19 6J_6 GEOERR 1,NO TYPE [ GEOERR IF TYPE NOT FOUND 9 6KDQ UBITS ANDN 0 JOBBITS 7 6KYB TXU 0 5 19 6LD2 BCS ULUPE [ J. IF TYPES NOT THE SAME 9 6LXL ANDN 0 JWCLUSB 20 6MC= BZE 0 RSAME [ IF NOT CLUSTER THEN TYPE FOUND 10 6MWW TXU 4 JOBPROP(3) 18 6NBG BCS ULUPE [ J IF NOT SAME PROPERTY 9 6NW6 RSAME SBS 7 JOBCTS(3) 8 6N_J ... SMO FX2 9 6P52 ... LDX 0 ACOMMUNE3 9 6P8G ... ADS 0 JWDEG(3) 17 6P*Q BNZ 6 UDONE [ J I6 SECOND PASS 7 6PTB LDX 6 3 16 6Q*2 ANDN 5 1 [ FOR OTHER TYPE 14 6QSL BRN ULOOP [ REPEAT 4 6R#= [ 17 6RRW UDONE LDX 3 6 [ MAIN TYPE ADDRESS 9 6S?G LDX 0 JOBCTS(3) 9 6SH# ... ADX 0 JWDEG(3) 20 6SR6 BZE 0 SHORTEN [ IF BOTH COUNTS ZERO REMOVE TYPE 7 6T=Q ANDN 7 1 18 6TQB BZE 7 NOCHANGE [ J IF WELLJOBS UPDATE 10 6W=2 LDX 0 JOBTYPE(3) 9 6WPL ANDN 0 JWCLUSB 19 6X9= BZE 0 NOCHANGE [ NO CHANGE IF NOT CLUSTER 18 6XNW LDEX 1 JOBCTS(3) [ LIVEJ-BS FOR THIS TYPE 10 6Y8G LDX 5 JOBTYPE(3) 14 6YN6 ANDN 5 JOBBITS [ TYPE 18 6_7Q LDN 4 0 [ POSSIBLE NEW ADDRESS 16 6_MB XBACK SBN 3 JWENTRY [ WORK BACKWARDS 7 7272 TXL 3 2 19 72LL BCS NOMOR [ J IF PAST FRONT OF BLOCK 10 736= LDX 0 JOBTYPE(3) 16 73KW ANDN 0 JOBBITS [ PREVIOUS TYPE 7 745G TXU 0 5 17 74K6 BCS NOMOR [ J IF NOT THE SAME 10 754Q LDEX 0 JOBTYPE(3) 7 75JB TXL 1 0 17 7642 BCC NOMOR [ J IF NEW.GE.THIS 18 76HL LDX 4 3 [ REMEMBER THIS POSITION 8 773= BRN XBACK 19 77GW NOMOR BZE 4 NOCHANGE [ J IF NO NEW POSITION FOUND 4 782G [ 9 78G6 [ NOW HAVE TO RE-ORDER 4 78_Q [ 11 79=M ...[ X6 ENTRY TO BE REORDERED 9 79HJ ...[ X4 TO THIS ADDRESS 4 79SF ...[ 8 7=5B ... LDX 2 FX2 18 7=B? ... SBX 4 ACOMMUNE5(2) [ BLOCK RELATIVE ADDRESS 10 7=M8 ... SBX 6 ACOMMUNE5(2) 13 7=Y5 ... SETNCORE JWENTRY,3,ADATA,CSTORE 9 7?92 ... HUNTMISB 1,JWELL 18 7?FX ... LDN 7 A1(3) [ PRESERVE SINGLE ENTRY 7 7?QS ... ADX 4 1 7 7#3P ... ADX 6 1 9 7##L ... MOVE 6 JWENTRY 7 7#KH ...UMOOV LDX 7 6 17 7#WD ... SBN 6 JWENTRY [ LOOP MOVING REST UP 9 7*7* ... MOVE 6 JWENTRY 20 7*D= ... TXU 4 6 [ STOP WHEN DESTINATION REACHED 8 7*P7 ... BCS UMOOV 8 7B24 ... LDN 5 A1(3) 18 7B=_ ... MOVE 5 JWENTRY [ AND RESTORE THIS ENTRY 7 7BHW ... FREECORE 3 9 7BT= BRN NOCHANGE 4 7C#W [ 15 7CSG [ TYPE TO BE REMOVED AND ENTRIES COMPRESSED 4 7D#6 [ 5 7DRQ SHORTEN 4 7F?B [ 15 7FR2 LDX 3 6 [ DESTINATION 9 7G=L USEE ADN 3 JWENTRY 10 7GQ= LDX 0 JOBTYPE(3) 18 7H9W BPZ 0 USEE [ LOOK FOR END OF TYPES 7 7HPG SMO 6 15 7J96 LDN 5 JWENTRY [ MOVE START 20 7JNQ SBX 3 5 [ WORDS IN BETWEEN HERE AND END 15 7K8B ADN 3 1 [ INCLUDE END 15 7KN2 MOVE 5 0(3) [ COMPRESS 4 7L7L [ 18 7LM= SBN 2 JOBENTS [ BACK TO START OF BLOCK 10 7M6W LDX 6 ALOGLEN(2) 15 7MLG ... SBN 6 JWENTRY [ NEW LENGTH 9 7N66 ... ALTLENG 2,6,RELOC 4 7NKQ [ 5 7P5B NOCHANGE 4 7PK2 [ 18 7Q4L [ IF A LIVE JOB WAS REMOVED THEN A RUNJSA IS CARRIED OUT 4 7QJ= [ 18 7R3W [ NB. AS THE SEMAPHORE IS SET A RUNJSA HOSTOPEN IS DONE 19 7RHG [ WITH THE ASSUMPTION THAT SYSTEM.JOBLIST IS ALREADY OPEN. 4 7S36 [ 8 7SGQ SMO FX2 9 7T2B LDX 5 ACOMMUNE2 7 7TG2 ANDN 5 1 4 7XDG [ 9 7XF# ...THOME HUNTMISB 3,JWELL 17 7XG6 ... LDN 3 JOBENTS(3) [ START OF ENTRIES 4 7XGY ...[ 13 7XHQ ...[ RESET ANY JNEXTS THAT REQUIRE IT 4 7XJJ ...[ 11 7XKB ... MHUNT 2,JWELL,COPYSYS 18 7XL8 ... LDX 6 JLJOBNO+RRH(2) [ JOBNO OF UPDATED JOB 16 7XM2 ... LDX 7 GSIGN [ POINTER MARKER 8 7XMS ... BRN SJNO 14 7XNL ...SJRND ADN 3 JWENTRY [ NEXT 16 7XPD ...SJNO LDX 0 JOBTYPE(3) [ SEE IF ENTRY 17 7XQ= ... BNG 0 REALLY [ J IF END OF BLOCK 18 7XR4 ... TXU 6 JNEXT(3) [ SEE IF JOBNO'S THE SAME 15 7XRW ... BCS SJRND [ LOOP IF NOT 18 7XSN ... ORS 7 JNEXT(3) [ ELSE MARK AS POINTER 16 7XTG ... BRN SJRND [ AND CONTINUE 5 7XW# ...REALLY 8 7XW* ... LDX 2 FX2 10 7XWB ... LDX 6 ACOMMUNE3(2) 9 7XWC ... BZE 5 NOJSAREQ 9 7XWN ... RUNJSA HOSTOPEN 5 7XWR ...NOJSAREQ 8 7XWS ... LDX 2 FX2 4 7XWT ...[ 15 7XWW ...[ DON'T TIDY UP IF DEGENERATE JOBS UPDATE 4 7XWX ...[ 8 7XXB ... BNZ 6 XIT 4 7XXD ...[ 10 7XXG ...[ CLOSE SYSTEM JOBLIST 4 7XXJ ...[ 7 7XXL ... CLOSETOP 4 7XXN ...[ 9 7XY6 VOP ,JWACCESS 5 7YCQ ...XIT UP 4 7YXB [ 4 82B= [ 4 82TW #END 8 ____ ...52354562000100000000