{{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]]
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