Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SCHEDJOB867)}} ====== SCHEDJOB867 ====== (George Source) **Macros used:** [[george:macro:ALTLENG|ALTLENG]], [[george:macro:APJOBSET|APJOBSET]], [[george:macro:BC|BC]], [[george:macro:BS|BS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CANTNOW|CANTNOW]], [[george:macro:CHAIN|CHAIN]], [[george:macro:COOR3|COOR3]], [[george:macro:DOWN|DOWN]], [[george:macro:FADDRESS|FADDRESS]], [[george:macro:FCAJO|FCAJO]], [[george:macro:FPUT|FPUT]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETACTX|GETACTX]], [[george:macro:HLSAV|HLSAV]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:HUNTACT|HUNTACT]], [[george:macro:HUNTW|HUNTW]], [[george:macro:ICT|ICT]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JOBLOCK|JOBLOCK]], [[george:macro:LINKSET|LINKSET]], [[george:macro:LONGON|LONGON]], [[george:macro:MELADJUST|MELADJUST]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OLPFIN1|OLPFIN1]], [[george:macro:PAIR|PAIR]], [[george:macro:RINGACT|RINGACT]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SHLSQ|SHLSQ]], [[george:macro:SPRIVJUMP|SPRIVJUMP]], [[george:macro:STEMPQ|STEMPQ]], [[george:macro:SUBJOB|SUBJOB]], [[george:macro:SUBJOBJ|SUBJOBJ]], [[george:macro:SUICIDE|SUICIDE]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TRACE|TRACE]], [[george:macro:UNSAVE|UNSAVE]], [[george:macro:VFREEW|VFREEW]] <code - SCHEDJOB867.txt>22FL ...#LIS K0SCHEDJOB>K0OPCA>K0OBJPROG>K0HLS>K0ALLGEO>K0GREATGEO 22^= ...#SEG SCHEDJOB [V E PHIPPS 23DW 8HSCHEDJOB 23J2 ...[ 23M6 ... 23Q= ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 23TB ...[ 23YG # THIS SEGMENT DEALS WITH THE HIGH LEVEL SCHEDULER EXTRACODES USED TO 24D6 # CONTROL THE FLOW AND PERFORMANCE OF JOBS HANDED OVER TO THE LOW LEVEL 24XQ # SCHEDULER. EXTRACODES INCLUDED ARE THE JOBSTART EXTRACODE,RESET CPI 25CB # EXTRACODE ETC. IN ADDITION THE SEGMENT CONTAINS ROUTINES INTERFACING 25X2 # WITH THE COMMAND PROCESSOR ETC. WHICH SERVICE THE HLSQ. 26BL # ENTRY POINTS 26W= # 27*W SEGENTRY K1SCHEDJOB,ZK1 [MAIN ENTRY 27TG SEGENTRY K2SCHEDJOB,ZK2 [UNSAVING 29S2 SEGENTRY K7SCHEDJOB,ZK7 [STOP JOB 2=24 ... SEGENTRY K8SCHEDJOB,GEOERR [SCHEDULE JOBBLOCK 2=86 ...SAM1 +EVFSTART [WAITING TO BE F.S. BIT 2=9W ...SAM2 +EVSTOPPED [STOPPED BIT 2=?L SA6 +6 2=L3 ...STYLE #31 [MOP WAITING TO BE F.S. 2=YD ... #32 [BACK WAITING TO BE F.S. 2?=W 2?QG ...RLINK1 2#=6 ... PAIR HLSREAD,3 [LINK TO SCHED.PERI XCODE 2BN= SLINK1 2C7W PAIR SAVEJOB,2 [LINK TO SAVEJOB SEGMENT 2CMG SLINK2 2D76 PAIR SCHEDJOB,2 [LINK TO UNSAVING ROUTINE 2DLQ PAIR SCHEDJOB,7 [LINK TO STOPPING ROUTINE 2F6B 2FL2 ...#DEF VGACT = +ACTSAVELEN+GENERALLEN 2G5L ...SIXTY +60 2HY9 ...XMILLPEXP #73737373 2HYH ...[ THIS SUBROUTINE SETS X3 POINTING TO THE HLSQ BLOCK,AND 2HYT ...[ EXITS +1.IF THE BLOCK DOES NOT EXIST IT EXIXTS +0. 2H^7 ...[ ON ENTRY X4 SHOULD CONTAIN THE JOBNUMBER 2H^F ...SHLSQ 2H^R ... STO 0 GEN0 2J25 ... ADN 0 1 2J2C ... STO 0 GEN1 2J2P ... SHLSQ 4,3,NHLSQ 2J33 ... BRN (GEN1) 2J3* ...NHLSQ 2J3M ... BRN (GEN0) 2J46 ...[ THIS ROUTINE FINDS THE JOBLOCK 2JHQ ...[ X4 HOLDS JOB NUMBER,X1 IS LINK,X2->JOBBLOCK ON EXIT 2K3B ...SJOB STO 1 GEN0 2KH2 ... JOBLOCK 4,2 2L2L ... BRN (GEN0) 2TC8 ...# SUBROUTINE TO FIND ADATA CSTORE 2TCG ...XHUNT 2TCS ... MHUNTW 1,ADATA,CSTORE 2TD6 ... EXIT 6 0 2TDD ...# SUBROUTINE TO ALTER LENGTH TO THAT SPECIFIED IN X7 2TDQ ...XALTLENG 2TF4 ... SBX 6 FX1 2TFB ... ALTLENG 3,7,XALTSEARCH 2TFN ... ADX 6 FX1 2TG2 ... EXIT 6 0 2TG# ...# SUBROUTINE TO SEE IF JOB IS STILL SAVED AFTER COORDINATION 2TGL ...STILLSAVED 2TGS ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK 2TH2 ... BRN XERR4 [J IF NONEXISTANT 2TH= ... HLSAV 3,CLEAR,SAVED,HLSQ,XERR4 [J IF NOT SAVED 2THJ ... EXIT 6 0 2THW ...# SUBROUTINE USED BY ALTLENG TO REFIND BLOCK 2TJ8 ...XALTSEARCH 2TJG ... SHLSQ 4,2,(GEOERR) 2TJS ... EXIT 1 0 2TK6 ...# SUBROUTINE TO SET WORD 6 OF RECORD SUCH THAT IT CAN BE 2TKD ...# DEALT WITH IN A LOOP 2TKQ ...X6SET 2TL4 ... LDXC 0 6(2) [CONREC IE LATEST RESET 2TLB ... BCS X6EX [DEFAULT THUS OK 2TLN ... LDXC 5 6(3) [LAST REST BUT ONE IN HLSQ 2TM2 ... BCS X6EX [DEFAULT THUS CAN BE ENTIRLY OVERWRIT 2TM# ... ANDN 0 3 [ISOLATE FS AND TS BITS 2TML ... BNZ 0 TESTEP [NOT DEFAULT IN CONREC 2TMY ... ANDN 5 3 [ISOLATE BITS IN HLSQ 2TN= ... ORS 5 6(2) [STORE IN CONREC 2TNJ ... LDX 5 6(3) 2TNW ...TESTEP 2TP8 ... LDX 0 6(2) 2TPG ... ANDN 0 #14 [ISOLATE EP AND CCEP BITS 2TPS ... BNZ 0 X6EX 2TQ6 ... ANDN 5 #14 [ISOLATE BITS 2TQD ... ORS 5 6(2) [STORE IN CONREC 2TQQ ...X6EX EXIT 6 0 2TSL ...[ 2W#= ...[ THIS ROUTINE SETS UP THE JOB'S SCHEDULING REQUIREMENTS 2WRW ...[ AWORK3 HOLDS REL.PTR.TO CONTROL RECORD IN ACTIVITY BLOCK 2X?G ...[ ON ENTRY, X7 LINK ADDR., X4 HOLDS JOB NO. 2XR6 ...[ ON EXIT, X5 = 0 IF OK 2Y=Q ...[ = 2 IF JOB IS BEING SAVED 2YQB ...[ = 3 IF BREAK-IN 2^=2 ...[ 4 IF NO JOB BLOCK 2^FS ...[ 5 IF CODE SELECTOR OUT OF RANGE 2^PL ...RESCHED 329= ... SBX 7 FX1 32NW ... CALL 1 SJOB 338G ... LDN 5 4 33N6 ... BNG 2 RSC95 [J IF NO JOBBLOCK 347Q ... LDX 3 FX2 34MB ... ADX 3 AWORK3(3) [X3 -> CON. REC. 3572 ... LDXC 0 7(3) [PTR. TO NEEDS DATA 35LL ... BCS RSC3 [J IF NO NEEDS 366= ... MHUNTW 3,ADATA,CSTORE 36KW ... LDX 5 A1(3) 375G ... ADN 5 EXTJOB 37K6 ... ALTLENG 2,5,SJOB [REQ.SIZE OF JOBLOCK+NEEDS 384Q ... CALL 1 SJOB 38JB ...RSC3 LDN 5 2 [BEING SAVED- ERROR INDICATOR 3942 ... HLSAV 2,SET,SAVING,JOBQ,RSC95 39HL ... LDN 5 3 [BREAK-IN - ERROR INDICATOR 3=3= ... FCAJO 3,2 3=GW ... LDXC 0 JOBEVENTS(3) 3?2G ... BCS RSC95 [J IF BREAK-IN SET 3?G6 ... LDX 1 2 [SAVE ADDR. OF JOBBLOCK 3?^Q ... LDX 2 FX2 3#FB ... STO 3 ACOMMUNE3(2) 3#^2 ... ADX 2 AWORK3(2) [ADDR.OF CONTROL RECORD 3*DL ... LDX 0 0(2) 3*Y= ... BNZ 0 RSC31 [J IF NOT STARTJOB 3BCW ... LDXC 0 8(2) [OPTION REQUIRED 3BMN ... BCC RSC305 3BXG ... LDN 0 0 3C7# ...RSC305 3CC6 ... LDN 5 5 3CWQ ... LDX 4 EXT+1(3) 3DBB ... BXL 4 0,RSC95 [J IF OPTION OUT OF RANGE 3DW2 ... STO 0 EXT+1(3) 3F*L ...RSC31 3FT= ... LDX 0 2(2) 3G#W ... BNG 0 RSC4 [J IF NO CPI 3GSG ... STO 0 JCPI(1) [STO CPI IN JOBBLOCK 3H#6 ...RSC4 LDX 5 3(2) 3HRQ ... BNG 5 RSC5 [J IF NO JT 3J?B ... LDN 4 1000 3JR2 ... MPY 5 4 [CONVERT TO MILLISECONDS 3K=L ... STO 5 ATIMEJ(1) 3KQ= ... STO 6 ATIMEJ+1(1) [STORE JT IN JOBBLOCK 3KWG ...RSC5 LDX 0 4(2) 3L2Q ... BNG 0 RSC5A 3L72 ... ANDN 0 #7777 3L?= ... SBN 0 #41 3LCG ... BNG 0 RSC5A 3LHQ ... SBN 0 #32 3LN2 ... BPZ 0 RSC5A [ABOVE CHECKS FOR VALID URG 3LS= ... LDX 0 4(2) 3LYG ... BRN RSC6 3M4Q ...RSC5A 3M96 ... LDEX 5 JURGE(1) 3MNQ ... BNZ 5 RSC7 [J IF UR PREVIOUSLY SET 3MRW ... LDX 0 6(2) 3MX2 ... BNG 0 RSC7 [J IF NO CHANGE TO STATUS 3N26 ... ANDN 0 2 3N5= ... BZE 0 RSC7 [J IF NOT BECOMING FS 3N8B ... LDN 0 #55 [DEFAULT = M 3NN2 ...RSC6 DSA 0 JURGE(1) [STORE UR IN JOBBLOCK 3P7L ...RSC7 LDX 0 5(2) 3PM= ... BNG 0 RSC8 [J IF NO MAXSIZE SPECIFIED 3Q6W ... STO 0 JSIZE(1) [STORE MZ IN JOBBLOCK 3QLG ...RSC8 LDXC 3 7(2) [PTR TO NEEDS 3R66 ... BCS RSC84 [J IF NO NEED DATA 3RKQ ... MHUNTW 3,ADATA,CSTORE 3S5B ... LDN 3 A1(3) 3SK2 ... LDN 4 JBPERIS(1) 3T4L ... SMO 0(3) 3TJ= ... MOVE 3 0 [STORE NEEDS REQ. IN JOBBLOCK 3W3W ... LDN 0 JBPERIS-JOBNUM 3WHG ... STO 0 JNEEDSPTR(1) [SET PTR TO NEEDS FIELD 3X36 ...RSC84 42Y6 ... SMO FX2 43CQ ... LDX 3 ACOMMUNE3 43DN ... LDX 4 AMILLP(1) [GET JOB'S MP 43F2 ... LDXC 0 6(2) 43F# ... BCS XCOREP [NEITHER EP NOR CCEP 43FL ... ANDN 0 #14 43FY ... BZE 0 XCOREP [NEITHER EP NOR CCEP 43G= ... ANDN 0 4 43GJ ... BNZ 0 XCCEP [J IF CCEP BIT SET 43GW ...# EP ISSUED 43H8 ... BS 1,JBEXPREQ 43HG ... SMO FX1 43HS ... LDX 4 XMILLPEXP [DEFAULT FOR EXPRESS MILL P 43J6 ... LDXC 0 10(2) 43JD ... BCC STORECP [IF NO CORE PRIORITY 43JQ ... LDN 0 60 [SPECIFIED SET CORE P 43K4 ... BRN STORECP [TO 60 43KB ...XCCEP 43KN ... BC 1,JBEXPREQ 43L2 ... LDN 4 0 43L# ... DEX 4 ACOREP(1) 43LL ...XCOREP 43LY ... LDXC 0 10(2) 43M= ... BCC STORECP [CORE PRIORITY SPECIFIED 43MJ ... LDEX 0 ACOREP(1) [NO ACTION IF 43MW ... BNZ 0 XLVECOR [PREVIOUSLY SET 43N8 ... CALL 0 TDEFCOR [SET X0=DEFAULT CORE PRIORITY 43NG ...STORECP 43NS ... DEX 0 ACOREP(1) 43P6 ...XLVECOR 43PD ... LDN 6 4 43PQ ... LDX 5 11(2) 43Q4 ... BZE 5 XMOVEMILLP [NO ACTION IF PREVIOUSLY SET 43QB ... LDX 4 5 43QN ...XMOVEMILLP 43R2 ... BXE 4 AMILLP(1),XMOVEDMILL [J IF MP UNCHANGED 43R# ... STO 4 AMILLP(1) 43RL ... LDX 5 1 43RY ... LDX 6 2 43S= ... CALL 4 XMEL [MOVE MILLP TO PCA 43SJ ... LDX 1 5 [X1->JOBBLOCK 43SW ... LDX 2 6 [X2->CONTROL RECORD 43T8 ...XMOVEDMILL 43TK ...#UNS ICT 43W2 ...( 43WC ...[ SET ACT PRI 43WK ... JBC NOICT,,ICTSW [DONT BOTHER IF ICT OFF 43WL ... LDCH 3 10(2) [GET ACT PRIORITY 43WM ... ANDN 3 #37 [GET RID OF COREPRI NULLBIT 43WN ... LDN 0 #20 [CHECK FIXED BIT 43WP ... ANDX 0 3 43WQ ... SLL 0 1 43WR ... ORX 3 0 [TRANSFER FIXED BIT TO WHERE APJOBSET 43WS ...[EXPECTS IT 43W^ ... LDX 4 JOBNUM(1) [JOB NUMBER 43X7 ... APJOBSET 4,3 [UPDATE ACTPRI FOR JOB 43X* ... CALL 1 SJOB [X2->JOBQ 43XH ... FCAJO 3,2 [X3->CPAT 43XP ... LDX 1 2 [X1->JOBQ 43XX ... LDX 2 FX2 43Y5 ... STO 3 ACOMMUNE3(2) [KEEP CPAT PTR 43Y? ... ADX 2 AWORK3(2) [X2->CONTROL RECORD 43YF ...NOICT 43YT ...) 43^? ... FSHCODE AORB 445B ...( 449F ...# FOR SHARED FILESTORE, WE MAY HAVE TO UPDATE A JOB BLOCK ON 'B' 44*J ...# IN ADDITION TO THE JOB BLOCKS ON 'A' 44FM ...# 44KQ ... JBC XHOME,1,JBFSHALIEN [JIF THIS IS NOT AN ALIEN JOB 44PT ...# 44TY ... LDX 4 JOBNUM(1) [SET JOB NUMBER FOR UPDATE INTO X4 4523 ... DOWN SCHDJOBA,4 [GO TO DEAL WITH UPDATE ON 'B' 4566 ...# 45=9 ... BRN XBDOWN [ERROR - 'B' MACHINE HAS GONE DOWN 45B# ... BRN XGONE [ERROR - CAN'T FIND JOB BLOCK 45GC ...# 45LG ... CALL 1 SJOB [RELOCATE THE JOB BLOCK 45QK ... BNG 2 XGONE [AND JIF IT HAS GONE AWAY NOW!! 45WN ... LDX 1 2 [COPY POINTER INTO X1 462R ... FCAJO 2,,N [AND FIND THE JOB'S CPAT 466W ... LDN 5 0 [SET OK REPLY 46=^ ...# 46C4 ...XIT SMO FX1 [RETURN TO CALLING ROUTINE 46H7 ... EXIT 7 0 46M= ...# 46R* ...XGONE 46XD ... LDN 5 4 [SET 'JOB BLOCK GONE' ERROR REPLY 473H ... BRN XIT 477L ...# 47?P ...XBDOWN 47CS ... LDN 5 #101 [SET ''B' MACHINE DOWN' ERROR REPLY 47HX ... BRN XIT 47N2 ...# 47S5 ...XHOME 47Y8 ...) 485= ... LDXC 0 6(2) 487F ... BCS RSC90 [J IF NO STATUS REQUESTED 48#2 ... ANDN 0 3 48RL ... BZE 0 RSC90 [J IF NO CHANGE TO STATUS 49?= ... SBN 0 1 49QW ... LDX 4 CONTEXT(3) 4==G ... ANDN 4 #4000 [ZERO IF NOT FULLY STARTED 4=Q6 ... BNZ 0 RSC86 [J IF TO BE FULLY STARTED 4?9Q ... BZE 4 RSC90 [J IF ALREADY T.S. 4?PB ... NGN 4 1 4#92 ... BC 3,EXFULLY 4#NL ... BRN RSC87 4*8= ...RSC86 BNZ 4 RSC90 [J IF ALREADY F.S. 4*MW ... LDX 0 0(2) 4B7G ... BZE 0 RSC862 [J IF STARTJOB 4BM6 ... BS 3,EXFULLY [F.S. IND. FOR FS MESSAGE O/P BY HLSE 4C6Q ...RSC862 4CLB ... LDN 4 1 4D62 ...RSC87 LDN 0 #6000 4DKL ... ERS 0 CONTEXT(3) [SWITCH TS/FS BITS... 4F5= ... LDX 0 GSIGN [... CPAT AND... 4FJW ... ERS 0 JURGE(1) [...IN JOBBLOCK 4G4G ... LDX 3 CONTEXT(3) 4GJ6 ... ANDN 3 4 4H3Q ... BZE 3 RSC88 [J IF MOP JOB 4HHB ... LDN 3 1 4J32 ...RSC88 ADS 4 HLSCOUNT(3) [UPDATE COUNT OF FS JOBS 4JGL ... BPZ 4 RSC90 [J IF COUNT NOT REDUCED 4K2= ... BZE 3 TESTMOP [J IF MOP 4KFW ... JBS RSC90,,HLSBFS [J IF HLS FSING BACK JOBS 4K^G ... BRN XKICK 4LF6 ...TESTMOP 4LYQ ... JBS RSC90,,HLSMFS [J IF HLS FSING MOP JOBS 4MDB ...XKICK 4MY2 ... SMO FX1 4NCL ... LDX 3 STYLE(3) 4NMD ... LDX 4 1 4NX= ... LONGON 0(3) 4P74 ... LDX 1 4 4PBW ...RSC90 LDN 5 0 [ OK INDICATOR 4PWG ...RSC95 ADX 7 FX1 4QB6 ... SMO FX2 4QTQ ... LDX 2 ACOMMUNE3 [PTR->JOB'S CPAT 4R*B ... EXIT 7 0 4RT2 ...[ ROUTINE TO RE-ACTIVATE JOB 4S#L ...[ X1 ->JOBBLOCK 4SS= ...STARTJOB 4T?W ... LDX 4 JOBNUM(1) 4TRG ...STJOBMESS 4W?6 ... LDX 0 JMISC(1) 4WQQ ... BNG 0 STBACK 4X=B ... LONGON #31,4 4XQ2 ... BRN STDUN 4Y9L ...STBACK 4YP= ... LONGON #32,4 4^8W ...STDUN 4^NG ... EXIT 7 0 4^PS ...[ MOVE MILL PRIORITIES TO PCA 4^Q= ...[ AND RE-ORDER PROGRAM RING IF NECESSARY 4^QN ...XMEL 4^R6 ... LDEX 0 JMISC(1) 4^RJ ... BZE 0 (4) [EXIT IF NO CORE IMAGE 4^S2 ... MELADJUST 1 4^SD ... EXIT 4 0 4^SW ...[ GET DEFAULT CORE PRIORITY FOR JOB 4^T# ...[ ON ENTRY, X1->JOBBLOCK; ON EXIT,X3->JOB'S CPAT 4^TQ ...TDEFCOR1 4^W8 ... STO 0 GEN0 [LINK ADDRESS 4^WL ... FCAJO 3,1 4^X4 ... BRN TDEFCP 4^XG ...[ GET DEFAULT CORE PRIORITY FOR JOB 4^XY ...[ X3->JOB'S CPAT 4^YB ...TDEFCOR 4^YS ... STO 0 GEN0 4^^= ...TDEFCP 4^^N ... LDN 5 0 5226 ... LDX 0 CONTEXT(3) 522J ... SLL 0 20 5232 ... BPZ 0 XNOTMOP [J IF BACKGROUND JOB 523D ... LDN 5 1 523W ...XNOTMOP 5248 ... LDX 0 JSOURCE3(3) 524G ... SLL 0 2 524S ... BNZ 0 XCLUSTER [J IF CLUSTER JOB 5258 ... ORN 5 2 525L ...XCLUSTER 5264 ... SMO 5 526G ... LDX 0 CLUSBACKCP 526Y ... BRN (GEN0) 5286 ...ZK1 52MQ ... SMO HLSCONREC(2) 537B ... BRN SWIT 94J2 # THE ROUTINE BELOW IS A S/R TO SET UP A SAVEJOB ACTIVITY WITH THE 953L # APPROPRIATE LINK: 95H= # TO K2SAVEJOB TO SAVE A JOB 962W # TO K2SCHEDJOB TO UNSAVE A JOB (WHICH DOWNS TO K1UNSAVE UNLESS 96GG # THE JOB IS STILL BEING SAVED) 9726 # TO K7SCHEDJOB TO STOP A JOB 97FQ # THE NUMBER OF THE JOB TO BE SAVED IS PUT IN ACOMMUNE4 OF THE 97^B # SAVEJOB ACTIVITY, WHOSE OWN JOBNO IS LEFT ZERO = AUTONOMOUS 98F2 # SYSTEM ACTIVITY. 98YL # THE SAVEJOB ACTIVITY IS CHAINED IMMEDIATELY BEFORE THE APET BLOCK 99D= # ENTERED WITH 1)X4=JOBNUMBER 99XW # 2)X3=MODIFIER TO PICK UP CORRECT LINK 9=CG # X0-X5INC ARE USED [X5 BEING LINK ACCUMULATOR 9=X6 SAVEMOVE 9?BQ SBX 5 FX1 [GET RELATIVE RETURN ADDRESS 9?K2 ... LDN 6 VGACT 9?R= ... LDX 0 HLSCONREC(2) 9?^G ... BNZ 0 SVM4 [J IF NOT STARTJOB XCODE 9#7Q ... ADX 6 ALOGLEN(2) 9#B2 ... SBN 6 HLSCONREC-A1 9#J= ...SVM4 LDN 7 ACTSAVE+GENERAL 9#QG ... SLL 7 12 9#YQ ... GETACTX 7,6 9*72 ... ADN 1 SLINK1(3) [X1-> LINK 9**= LDX 3 BPTR(2) [X3=PTR TO /ACTSAVE 9B#G LINKSET 3,0(1) 9BJ# ... STO 4 ACOMMUNE4(3) 9BS6 HUNTACT APET,2,3 [SEARCH BACKWARDS FROM /ACTSAVE 9C?Q [FOR APET BLOCK 9CRB RINGACT 3,2 [RE-RING AND RE CHAIN IN FRONT OF APE 9CYJ ... HUNTW 2,ADATA,CSTORE 9D5Q ... BNG 2 SVM9 9D=Y ... CHAIN 2,3 9DD6 ...SVM9 ADX 5 FX1 [GENERATE ABS. RETURN ADDRESS 9DK# ... LDX 2 FX2 9DQL EXIT 5 0 9F== # 9FPW # THE FOLLOWING S/R SEARCHES THE TEMP HLSQ FOR A BLOCK FOR A GIVEN 9G9G # JOB. 9GP6 # THE JOBNO. IS ASSUMED TO BE IN X4 9H8Q # 9HNB ...TEMP 9J82 ... STEMPQ 4,3,TEMP2,TEMP3 9MKB EXIT 5 0 9N52 TEMP2 EXIT 5 1 9N6? ... 9N7J ...# AT K1SCHEDJOB THE PERI CONTROL AREA & DATA RECORD HAVE BEEN 9N8T ...# READ &STORED ,AND ARE NOW FOLLOWED BY A SMO'D JUMP TO SWIT USING 1ST W 9N=6 ...# OF THE DATA RECORD. 9N?C ...# PERIS HAVE THE FOLLOWING CONTROL AREA 9N#N ...# WORD0 51 IF SCHEDJOB; 52/#113 IF HLSACTIVE/1 9N*^ ...# WORD1 0-THE REPLY WORD 9NC= ...# WORD2 THE NO. OF WORDS IN THE CONTROL RECORD 9NDH ...# WORD3 START ADDRESS OF THE CONTROL RECORD 9NFS ...# THE FIRST WORD OF THE CONTROL RECORD CONTAINS AN INDEX NUMBER TO 9NH5 ...# DISTINGUISH THE DIFFERENT CASES 9NJB ... 9NKM ... 9NLY ...SWIT BRN SWIT0 [BRANCH FOR JOBSTART EXTRACODE 9NN9 ... BRN SWIT1 [BRANCH FOR RESET JOB CHARACTERISTICS 9NNP ... BRN (GEOERR) [IN OVERFLOW SEGMENT 9NQR ... BRN SWIT3 [TO STOP-A-JOB 9NS4 ... BRN SWIT4 [TO JOB-SAVING 9NT* ... BRN SWIT5 [BRANCH FOR MOPWAIT EXTRACODE 9NTP ... BRN (GEOERR) 9NTT ... BRN (GEOERR) 9N^8 ... 9P2F ...# THE ROUTINE BELOW DEALS WITH THE JOBSTART EXTRACODE 9P3Q ...# IT HAS THE FOLLOWING CONTROL AREA 9P53 ...# WORD0 51/1 9P6# ...# WORD1 0-THE REPLY WORD 9P7K ...# WORD2 5-THE NO.OF WORDS IN THE CONTROL RECORD 9P8W ...# WORD3 START ADDRESS IN THE PROGRAM OF THE CONTROL RECORD 9P=7 ...# THE CONTROL RECORD POINTED TO BY THE CONTROL AREA CONTAINS 9P?D ...# WORD0 0 9P#P ...# WORD1 THE JOB.NO. OF THE JOB TO BE STARTED 9PB2 ...# WORD2 THE CPI OF THE JOB 9PC? ...# WORD3 THE MAX.JOB TIME FOR THE JOB TO BE RUN BY THE L.L.S. 9PDJ ...# WORD4 THE URGENCY OF THE JOB 9PFT ...# WORD5 THE MAX SIZE 9PH6 ...# WORD6 THE FULLY STARTED STATUS 9PJC ...# WORD7 THE POINTER TO NEEDS DATA 9PKN ...# WORD8 THE CODE SELECTOR 9PL^ ...# WORD9 THE MAXIMUM QUOTA (G4 ONLY) 9PN= ... 9PPH ...# CHECK THAT THE ENTRY IS IN THE HLSQ 9PQS ...SWIT0 LDN 0 HLSCONREC 9PS5 ... STO 0 AWORK3(2) 9PTB ... LDX 4 HLSCONREC+1(2) [GET JOB NUMBER 9PWM ... CALL 5 TEMP [SEARCH HLSTEMPQ 9PXY ... BRN S3 [ENTRY FOR JOB FOUND 9PYJ ...S4B 9P^8 ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK 9P^T ... BRN S3 [J IF NONEXISTANT 9Q2G ... BRN S20 [J IF FOUND 9Q3R ...SETBADREP 9Q54 ...S3 LDX 5 GSIGN [SET -VE FOR REPLY WORD 9Q6* ...S5 LDX 2 FX2 9Q7L ... LDX 3 EVENT2(2) [ADDR. OF C.AREA 9Q8X ... ADN 3 1 [ADDR OF REPLY WORD 9Q=8 ... LDX 1 APETADDR(2) 9Q?F ... FADDRESS 1,3,HLOCK1 [GEORGE ADDR OF REPLY WORD TO X3 9Q#Q ... STO 5 0(3) [SET THE REPLY WORD 9QB3 ...#SKIP K6SCHEDJOB>199-199 9QC# ... TRACE 0(3),REPLY 9QDK ... VFREEW ADATA,CSTORE 9QFW ... LDX 1 FX1 9QH7 ...SFIN9 OLPFIN1 RLINK1(1) [RESTARTS SUBJ-PROG WITHOUT 9QJD ... [LENGTHY CHARGING ROUTINES.(X7 POINTS 9QKP ...SETOKREP 9QM2 ...SFIN 9QN? ... LDN 5 0 [SET TO ZERO FOR REPLY WORD 9QPJ ... BRN S5 9QQT ...SUNSAVE 9QS6 ... LDN 3 HLINK [SET MODIFIER TO PICK UP CORRECT LIN 9QTC ... CALL 5 SAVEMOVE [CALL SUBROUTINE TO SET UP SAVEJOB 9QWN ... LDN 5 HLSCONREC(2) 9QX^ ... LDN 6 VGACT+A1(3) 9Q^= ... LDX 1 ALOGLEN(2) 9R2H ... MOVE 5 512-HLSCONREC+A1(1) [COPY CONTROL REC. ETC 9R3S ... SBX 6 3 9R55 ... STO 6 AWORK3(3) [SAVE DISP. OF CON.REC. 9R6B ... LDX 2 3 9R7M ... FPUT [PUT SAVEJOB ACT. ON THE LIST 9R8Y ...SPOS LDN 5 1 [SET REPLY WORD +VE ->JOB HAS FIRST 9R=9 ... BRN S5 [TO BE UNSAVED 9R?G ... 9R#R ...# FIND JOBLOCK AND WRITE IN CPI ETC 9RB4 ...S20 HLSAV 3,SET,UNSAVE,HLSQ,S3 9RC* ... HLSAV 3,SET,SAFE,HLSQ,SUNSAVE 9RF= ... CALL 7 RESCHED [SET UP JOB SCHED. REQ. 9RH8 ... BNZ 5 S3OR [J IF RESCHED FAILED 9RHB ... LDX 4 JOBNUM(1) 9RHG ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK 9RHL ... BRN US2 [J IF NONEXISTANT 9RHQ ... LDX 4 1 9RHY ... FREECORE 3 9RJ6 ... LDX 1 4 9RJF ...S13 CALL 7 STARTJOB [ACTIVATE JOB 9RKQ ... BRN SFIN [J. TO RETURN TO JOBSTARTER PROGRAM 9RM3 ... 9RN# ...# THE ROUTINE BELOW DEALS WITH THE RESET CPI,JOBTIME EXTRACODE 9RPK ...# IT HAS THE FILLOWING CONTROL AREA 9RQW ...# WORD0 51/1 9RS7 ...# WORD1 0-THE REPLY WORD 9RTD ...# WORD2 5-THE NO.OF WORDS IN THE CONTROL RECORD 9RWP ...# WORD3 START ADDRESS IN THE PROGRAM OF THE CONTROL RECORD 9RY2 ...# THE CONTROL RECORD POINTED TO BY THE CONTROL AREA CONTAINS 9R^? ...# WORD0 1 9S2J ...# WORD1 THE JOB.NO. OF THE JOB 9S3T ...# WORD2 THE CPI OF THE JOB 9S56 ...# WORD3 THE MAX.JOB TIME FOR THE JOB TO BE RUN BY THE L.L.S. 9S6C ...# OTHERS AS FOR START JOB 9S7N ...SWIT1 LDN 0 HLSCONREC 9S8^ ... STO 0 AWORK3(2) 9S== ... LDX 4 HLSCONREC+1(2) [GET JOB NUMBER 9SB5 ... JOBLOCK 4,3 9SB6 ... BPZ 3 UNSAVED 9SB= ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK 9SBB ... BRN S3 [J IF NONEXISTANT 9SBG ... HLSAV 3,SET,UNSAVE,HLSQ,S3 [J IF UNSAVED 9SBH ... HLSAV 3,SET,SAVING,HLSQ,XERR4 [J IF BEING SAVED 9SBJ ... LDN 7 0 9SBK ... LDX 2 FX2 9SBL ... ADX 2 AWORK3(2) [X2 POINTS TO START OF CONTROL RECORD 9SBM ... LDX 0 ALOGLEN(3) [IF ALOGLEN = AHLS 9SBN ... SBN 0 AHLS [THEN THIS IS FIRST RESET 9SBP ... BNZ 0 NOTFIRSTRES [J IF NOT FIRST RESET 9SBQ ... LDXC 0 7(2) [IS NEEDS DEFAULT 9SBR ... BCS NEEDSISDEF [J IF YES 9SBS ... CALL 6 XHUNT [X1 TO ADATA CSTORE 9SBT ... LDX 7 A1(1) [SIZE OF NEEDS DATA(+1 FOR A1) 9SBW ...NEEDSISDEF 9SBX ... ADN 7 AHLS+ASTCON [X7 CONTAINS NEWSIZE OF HLS BLOCK 9SBY ... CALL 6 XALTLENG [ALTER LENGTH 9SB^ ... CALL 6 STILLSAVED [ERROR IF NOW UNSAVED 9SC2 ... ADN 2 HLSCONREC+2 [X2 TO CPI IN CONREC 9SC3 ... ADN 3 A1+AHLS [X3 TO START OF EXTRA AREA IN HLSQ 9SC4 ... MOVE 2 ASTCON [MOVE DATA ACROSS 9SC5 ... SBN 2 2 9SC6 ... LDXC 0 7(2) [IS NEEDS DEFAULT 9SC7 ... BCS SPOS [J IF YES 9SC8 ... CALL 6 XHUNT [X1 TO ADATA/CSTORE 9SC9 ... ADN 3 ASTCON [X3 TO START AREA FOR NEEDS IN HLSQ 9SC= ... LDN 2 A1(1) [X2 TO START OF NEEDS IN ADATA CSTORE 9SC? ... SMO 0(2) 9SC# ... MOVE 2 0 [COPY NEEDS DATA INTO HLSQ 9SC* ... BRN SPOS [EXIT 9SCB ...NOTFIRSTRES 9SCC ... LDXC 0 7(2) [IS NEEDS DEFAULT 9SCD ... BCS SECNEEDSDEF [J IF YES 9SCF ... CALL 6 XHUNT [X1 TO ADATA CSTORE 9SCG ... LDX 7 A1(1) 9SCH ... ADN 7 AHLS+ASTCON 9SCJ ... CALL 6 XALTLENG [CHANGE LENGTH OF HLS BLOCK 9SCK ... CALL 6 STILLSAVED 9SCL ... CALL 6 XHUNT [REFIND ADATA CSTORE 9SCM ...XCOPYNEEDS 9SCN ... ADN 3 A1+AHLS+ASTCON 9SCP ... LDN 2 A1(1) 9SCQ ... SMO 0(2) 9SCR ... MOVE 2 0 [COPY NEEDS DATA 9SCS ... LDX 2 FX2 9SCT ... ADN 2 HLSCONREC 9SCW ... SBN 3 A1+AHLS+ASTCON [X3 TO AREA IN HLSQ 9SCX ...SECNEEDSDEF 9SCY ...# SO THAT WE CAN USE A LOOP WE DEAL WITH WORD 6 FIRST BY 9SC^ ...# PUTTING THE CORRECT VALUE IN THE CONTROL RECORD 9SD2 ... ADN 3 A1+AHLS-2 [VIRTUAL START OF CONTROL REC IN HLSQ 9SD3 ... CALL 6 X6SET 9SD4 ... LDN 4 ASTCON-1 9SD5 ...XX1 9SD6 ... LDXC 0 2(2) [CONTROL RECORD 9SD7 ... BCS XX2 9SD8 ... STO 0 2(3) [UPDATE HLSQ 9SD9 ...XX2 9SD= ... ADN 2 1 9SD? ... ADN 3 1 9SD# ... BCT 4 XX1 9SD* ...# NOW DEAL WITH MILL PRIORITY 9SDB ... LDN 4 4 9SDC ...XX3 LDCH 0 2(2) 9SDD ... BZE 0 XX4 9SDF ... DCH 0 2(3) 9SDG ...XX4 BCHX 2 £ 9SDH ... BCHX 3 £ 9SDJ ... BCT 4 XX3 9SDK ... LDX 1 3 9SDL ... BRN SPOS 9SDM ...XERR4 LDN 5 4 9SDN ... BRN S3OR 9SDY ...UNSAVED 9SD^ ... LDX 1 3 9SFY ... NGN 3 1 9SH9 ... CALL 7 RESCHED [SET UP JOB SCHED. REQ. 9SJG ... BZE 5 SFIN [J IF OK 9SKR ...S3OR 9SM4 ... ORX 5 GSIGN 9SN* ... BRN S5 9SPL ... 9XDQ ...# 9XG3 ...# THE ROUTINE BELOW DEALS WITH THE STOPJOB EXTRACODE 9XH# ...# IT HAS THE FOLLOWING CONTROL AREA 9XJK ...# WORD0 51/1 9XKW ...# WORD1 0- THE REPLY WORD 9XM7 ...# WORD2 2- NO. OF WORDS IN CONTROL RECORD 9XND ...# WORD3 START ADDRESS OF CONTROL REC. IN PROG'S STORE 9XPP ...# 9XR2 ...# THE CONTROL RECORD IS AS FOLLOWS 9XS? ...# WORD0 3 9XTJ ...# WORD1 NO. OF JOB TO BE STOPPED 9XWT ...# 9XY6 ...SWIT3 9XYD ... LDX 4 HLSCONREC+1(2) [GET JOB NUMBER 9Y2N ... JOBLOCK 4,3 9Y3^ ... BNG 3 S3 [J IF NO JOBBLOCK FOUND 9Y5= ... SPRIVJUMP JSISSUE,3,SPOS [J IF SYS ISS. JOB 9Y5? ... CALL 0 SHLSQ [FIND HLSQ BLOCK 9Y5# ... BRN NOHLSQ [J IF NONE PRESENT 9Y5* ... LDEX 5 HLSYONQA(3) [TEST AMD J IF JOB WAITING TO BE 9Y5B ... TXU 5 SAM1(1) [FULLY STARTED OR IS ALREADY STOPPED 9Y5C ... BCC S3 9Y5D ... TXU 5 SAM2(1) 9Y5F ... BCC S3 9Y5G ...NOHLSQ 9Y5H ... CALL 5 TEMP [FIND TEMP HLSQ BLOCK 9Y5J ... BRN TCHECK 9Y5K ... BRN SAMFIN [J NONE PRESENT 9Y5L ...TCHECK 9Y5M ... LDEX 5 HLSYONQA(3) [ELSE TESTT AS ABOVE 9Y5N ... TXU 5 SAM1(1) 9Y5P ... BCC S3 9Y5Q ... TXU 5 SAM2(1) 9Y5R ... BCC S3 9Y5S ... CALL 5 TEMP3 [FIND NEXT TEMP HLSQ BLOCK 9Y5T ... BRN TCHECK [J TO CHECK IT IF PRESENTT 9Y5W ...SAMFIN 9Y6H ... LDN 3 2*HLINK 9Y7S ... BRN TACT [J TO ROUTINE TO SET UP STOPJOB ACT-Y 9Y95 ...# THE ROUTINE BELOW DEALS WITH THE SAVEJOB EXTRACODE 9Y=B ...# THE CONTROL AREA IS AS FOLLOWS 9Y?M ...# WORD0 51/1 9Y#Y ...# WORD1 0 (REPLY WORD) 9YB9 ...# WORD2 [2-NO.OF WORDS IN CONTROL RECORD 9YCG ...# WORD3 START ADDRESS OF THE CONTROL RECORD IN PROG'S ST. 9YDR ...# 9YG4 ...# THE CONTROL RECORD IS AS FOLLOWS 9YH* ...# WORD0 4 9YJL ...# WORD1 NO. OF JOB TO BE SAVED 9YKX ...# 9YM8 ...SWIT4 LDX 4 HLSCONREC+1(2) [GET JOB NUMBER 9YNF ... CALL 5 TEMP [LOOK FOR IT ON TEMPQ 9YPQ ... BRN S3 [J IF FOUND 9YQK ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK 9YRD ... BRN S3 [J IF NONEXISTANT 9YS# ... [J IF NO SUCH BLOCK EXISTS 9YTK ... LDX 0 HLSYONQ(3) 9YWW ... ANDN 0 #5 9YY7 ... BZE 0 S3 9Y^D ... HLSAV 3,SET,SAFE,HLSQ,SPOS 9^2P ...# IT IS NOT NECESSARY IN THE ABOVE CASE TO CHECK THE UNSAVE BIT AS 9^42 ...# THIS IS ALWAYS SET WITH THE SAVED BIT 9^5? ...# 9^6J ...# UNTIL THE SETTING OF THE SAVING BITS IN JOBQ AND HLSQ THERE 9^7T ...# SHOUD BE NO COORDINATION 9^96 ... JOBLOCK 4,1 [FIND JOBLOCK OF JOB TO BE SAVED 9^=C ... LDX 6 JMISC(1) 9^?N ... BPZ 6 NEVER [J IF MOP JOB 9^#^ ... SPRIVJUMP JSISSUE,1,NEVER [J IF SYSTEM ISSUED JOB 9^B= ... SPRIVJUMP JSSTART,1,NEVER [J IF SYSTEM STARTED JOB 9^CH ... LDCT 0 #100 9^DS ... ANDX 0 6 [STOPPED BIT - FOR BREAKIN 9^G5 ... ANDN 6 #777 9^HB ... BNZ 6 NOTYET [J IF JOB HAS CORE IMAGE 9^JM ... BNZ 0 NEVER [J IF BRK = ABANDON OR CONNECT 9^KY ... HLSAV 1,SET,SAVING,JOBQ [SET MARKER 9^M9 ...# 9^NG ...# WHEN THE SAVING BIT IS SET IN THE JOBLOCK WS AND WJ ASSUME THAT 9^PR ...# THE HLSQ BLOCK IS SET UP WITH JOB AND USER NAME AND JSOURCE3 9^R4 ...# 9^S* ... LDN 5 JNAME(1) 9^TL ... LDX 7 JPRIV(1) 9^WX ... FCAJO 1 9^Y8 ... LDX 6 JSOURCE3(1) 9^^3 ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK 9^^W ... BRN US2 [J IF NONEXISTANT =22Q ... HLSAV 3,SET,SAVING,HLSQ =243 ... CANTNOW 3,CLEAR =25# ... STO 6 HLSPCT(3) =26K ... STO 7 HLSPRIV(3) =27W ... LDN 6 HLSJNAM(3) =297 ... MOVE 5 6 =2=D ... LDN 3 0 =2?P ...TACT =2*2 ... CALL 5 SAVEMOVE =2B? ... LDX 2 3 [SET X2 =PTR TO SAVEJOB ACTIVITY =2CJ ... FPUT [PUT SAVEJOB ACTIVITY ON THE LIST =2DT ... LDN 5 0 [SET ZERO REPLY WORD =2G6 ... BRN S5 =2HC ...NOTYET =2JN ... LDCT 5 #040 [TO SET B3 OF HLSYONO =2K^ ... BRN NEV1 =2M= ...NEVER LDCT 5 #100 [TO SET B2 OF HLSYONO =2NH ...NEV1 ORS 5 HLSYONQ(3) =2PS ... LDX 5 GSIGN [SET REPLY WORD -VE. =2R5 ... BRN S5 =2SB ...# =2TM ...# THE ROUTINE BELOW DEALS WITH THE MOPWAIT EXTRACODE =2WY ...# THE CONTROL AREA IS AS FOLLOWS =2Y9 ...# WORD0 51/1 =2^G ...# WORD1 0 (REPLY WORD) =32R ...# WORD2 3 -NO. OF WORDS IN CONTROL RECORD =344 ...# WORD3 START ADDRESS OF CONTROL RECORD IN PROG'S STORE =35* ...# =36L ...# THE CONTROL RECORD IS AS FOLLOWS =37X ...# WORD0 5 =398 ...# WORD1 JOB NO. OF MOP JOB WHICH CANNOT BE F.ST. =3=F ...# WORD2 MESSAGE NO. OF MESSAGE TO BE SENT TO MOP CONSOLE =3?Q ...# =3*3 ...SWIT5 LDX 4 HLSCONREC+1(2) [GET JOB NUMBER =3*W ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK =3BP ... BRN TRYJL [J IF NONEXISTANT =3CK ... HLSAV 3,SET,SAVING,HLSQ,S3OUT =3DW ... JOBLOCK 4,1 [FIND JOBLOCK FOR THIS JOB =3G7 ... BNG 1 S3OUT [J IF NO JOBLOCK =3HD ... LDN 3 BHTEMP =3JP ...T3 CALL 5 TEMP3 =3L2 ... BRN T1 =3M? ... FCAJO 3,1 =3NJ ... LDX 0 JOBEVENTS(3) =3PT ... LDX 2 FX2 =3R6 ... BNG 0 S3OUT [J IF BREAKIN SET =3SC ... LDX 5 HLSCONREC+2(2) [GET MESSAGE NUMBER =3TN ... STO 5 JMESS(1) [STORE IN MESSAGE WORD OF JOBLOCK =3W^ ... LDN 4 0 =3Y= ... CALL 7 STJOBMESS =3^H ...OUTCHAIN =42S ... HUNTW 1,GMON,HLSOUT =445 ... BNG 1 NOOUT =44P ... STO 5 A1+1(1) =45B ... LDX 3 ACTRING(3) =46M ... SBN 3 ACTRING =47Y ... CHAIN 1,BPTR(3) =499 ...NOOUT =4=G ... BRN SETOKREP =4?R ...TRYJL =4*4 ... HUNTW 3,GMON,HLSOUT =4B* ... BPZ 3 SJLA [J IF MESSAGE GIVEN =4CL ... SETNCORE 1,3,GMON,HLSOUT =4DX ... LDX 0 HLSCONREC+2(2) =4G8 ... ORX 0 GSIGN =4HF ... STO 0 A1(3) =4L3 ...SJLA LDX 5 HLSCONREC+2(2) =4NK ... STO 5 A1+1(3) [KEEP MESSAGE NUMBER =4R7 ...SJLB =4SD ... LDX 3 FX2 =4TP ...SJL FINDACTF 3,3,CPAT,,S3OUT,FPTR =4X2 ... HUNT2J 1,JWELL,COPYSYS,3,SJL =4Y? ... BXU 4 JLJOBNO+A1(1),SJL =4^J ... LONGON #145 [KICK ALL (UNFORTUNATELY) MOPS =52T ... BRN OUTCHAIN =546 ...T1 LDN 0 #10 =55C ... ANDX 0 HLSYONQ(3) =56N ... BZE 0 T3 [J IF NOT BEING BROKEN IN ON =57^ ...S3OUT =59= ... VFREEW GMON,HLSOUT =5=H ... BRN S3 =5?S ...ZK2 =5*5 ... LDX 4 ACOMMUNE4(2) [NO OF JOB TO BE UNSAVED =5*Y ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK =5BR ... BRN US8 [J IF NONEXISTANT =5CM ... HLSAV 3,SET,SAVING,HLSQ,US4 =5DY ...# =5G9 ...# THERE HAS BEEN A LONG TIME LAG SINCE LAST CHECKING THE SAVE(ING) =5HG ...# BITS SO WE ENSURE THE JOB IS SAVED =5JR ... HLSAV 3,CLEAR,SAVED,HLSQ,US8 =5L4 ...# DURING UNSAVE ALL SORTS OF THINGS HAPPEN SO SAVE THE ACOMMUNE =5M* ...# WORDS =5NL ...# =5P= ... FSHSKIP =5PX ...US6 UNSAVE 4 =5R8 ... BRN US5 [J IF UNSAVE WAS NOT SUCCESSFUL =5SF ... TESTREP ALREADY,US8 [J IF UNSAVED BY SOMEONE ELSE =5TQ ... BRN US75 [IN SAVEJOB ACTIVITY =5X3 ...US4 LDCT 5 #020 =5Y# ... ORS 5 HLSYONQ(3) [SET REVERSE SAVE BIT IN HLSBLOCK =5^K ...US7 COOR3 #34 [SET ACTSAVE WAITING FOR SAVEJOB =62W ... [MACRO TO PICK UP THE MARKER SET =63P ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK =64J ... BRN US2 [J IF NONEXISTANT =65D ... LDX 5 HLSYONQ(3) =66P ... BNG 5 US6 [J IF JOB HAS BEEN SAVED =682 ... SLL 5 1 =69? ... BNG 5 US7 [J IF JOB IS STILL BEING SAVED =6=J ... FREECORE 3 [FREE HLSQ BLOCK =6?T ...US75 CALL 7 RESCHED [SET UP JOB SCHED. REQ. =6*6 ... BNZ 5 US8 [J IF BREAK-IN/BEING SAVED =6BC ... CALL 7 STARTJOB [PUT ACTIV ON LIST =6CN ... BRN US8 =6D^ ...US5 =6G= ... LDX 6 4 [COPY JOB NO. INTO K6 =6H5 ... CALL 0 SHLSQ [SET X3 TO HLSQ BLOCK =6HY ... BRN US2 [J IF NONEXISTANT =6JS ... LDX 5 HLSSTAT(3) =6L5 ... LDCT 7 1 =6MB ... ANDX 7 5 =6NM ... FREECORE 3 =6PY ... BZE 7 US1 [J IF TENT STARTED =6R9 ... LDN 3 1 =6SG ... BNG 5 US1 [J IF OFFLINE =6X4 ... SUBJOB =6Y* ... LDN 3 0 =72X ... BRN US81 =748 ...US1 =783 ... SUBJOBJ =79# ...US81 =7BD ... DOWN JOBLIST,3 [DELETE ENTRY FOR THIS JOB IN SYSTEM =7CP ... [JOBLIST -COULD NOT BE UNSAVED =7F2 ...US8 SUICIDE [COMMIT SUICIDE ON THE ACTSAVE =7G? ...US2 GEOERR 1,LOSTHLS =7HJ ... =#BK ... =#CW ...# THE ROUTINE BELOW CONTAINS THE CODE FOR STOPPING A JOB =#F7 ...# ACOMMUNE4 = NO. OF JOB TO BE STOPPED =#GD ...# =#HP ...ZK7 =#K2 ... LDX 6 ACOMMUNE4(2) [JOB NUMBER TO BE STOPPED =#L? ...RTRY =#MJ ... JOBLOCK 6,3 =#NT ... BNG 3 TEND =#Q6 ... SPRIVJUMP JSISSUE,3,TEND =#RC ... DOWN PROCONTX,1 =#SN ... BRN NSTOP =#T^ ...TEND SUICIDE =#X= ...NSTOP =#YH ... COOR3 #62 =#^S ... BRN RTRY =*35 ...# **** =*JG #END ^^^^ ...52106745000100000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In