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