{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: ENWELL867)}}
====== ENWELL867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:BC|BC]], [[george:macro:BS|BS]], [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:CHEKLFN2|CHEKLFN2]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:CREATEB|CREATEB]], [[george:macro:DOWN|DOWN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FINDCORE|FINDCORE]], [[george:macro:FINDNAME|FINDNAME]], [[george:macro:FJOCA|FJOCA]], [[george:macro:FNORM|FNORM]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETCORE|GETCORE]], [[george:macro:GETJOB|GETJOB]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNTW|HUNTW]], [[george:macro:INSERT|INSERT]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JLADJUST|JLADJUST]], [[george:macro:JMBAC|JMBAC]], [[george:macro:JOBCONS|JOBCONS]], [[george:macro:JOBLOCK|JOBLOCK]], [[george:macro:JWELLADD|JWELLADD]], [[george:macro:LONGSET|LONGSET]], [[george:macro:MBC|MBC]], [[george:macro:MBS|MBS]], [[george:macro:MFREE|MFREE]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:NAMEX|NAMEX]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:OUTPACKX|OUTPACKX]], [[george:macro:PAIR|PAIR]], [[george:macro:PARABEG|PARABEG]], [[george:macro:PARAFREE|PARAFREE]], [[george:macro:PARALYSX|PARALYSX]], [[george:macro:PERMITBRK|PERMITBRK]], [[george:macro:POP|POP]], [[george:macro:REPALLER|REPALLER]], [[george:macro:REPERR|REPERR]], [[george:macro:RUNJSA|RUNJSA]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPMODE|SETUPMODE]], [[george:macro:SHLSQ|SHLSQ]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:TERROR|TERROR]], [[george:macro:TEST|TEST]], [[george:macro:TESTHOOK|TESTHOOK]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TRACE|TRACE]], [[george:macro:USEROPEX|USEROPEX]], [[george:macro:VFREE|VFREE]], [[george:macro:VOP|VOP]], [[george:macro:XY|XY]]
22FL #OPT K0ENWELL=0
22^= #LIS K0ENWELL>K0ALLGEO>K0GREATGEO>K0COMMAND
2344 ... SEG ENWELL,867,SECTION CENT,,G400
236W ...[
239N ...[
23#G ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LIMITED 1982
23C# ...[
23G6 ...#UNS G400
23JY ...# THIS CHAPTER IS MODIFIED FOR G3PLUS-IH
23MQ ...[ THIS SEGMENT ANALYSES REMAINING PARAMETERS,
23QJ ...[ CREATES ENTRY IN USER JOBLIST, AND DECIDES WHETHER OR NOT
23TB ...[ THE JOB SHOULD BE PUT IN THE JOBWELL
23YG #OPT WELLTEST=0
26BL [
26W= [ USE OF AWORK1-4 WORDS
27*W [
27TG [ AWORK1 USER CONTEXT PRIVS
28*6 [ AWORK2 COMMAND TYPE
28SQ [ AWORK3 TERMINATOR
29#B [ AWORK4 PARAM/ SHIFT MARKER /TERM/MODE PARAM NUMBER
29S2 [
2=?L SEGENTRY K1ENWELL,START [FROM INITJOB DIRECT
2=R= ... SEGENTRY K2ENWELL,STARTDC [FROM INITJOB VIA DICSCNCT
2?=W ... SEGENTRY K3ENWELL,NOTDC [RE-ENTRY FROM JWELLTWO
2?QG [
2#=6 #DEF RRH=A1+FRH
2#PQ [
2*9B #DEF SYSMAC=10
2*P2 #DEF SIZELIST=10
2B8L #DEF SZAJDF=14
2BN= #DEF SIZEIN=CPDATA-A1*4+48
2C7W #DEF XMODP=CPDATA+11
2CMG #DEF XCOUNT=A1
2D76 #DEF XUSNM=CPDATA+1
2DLQ #DEF XJBNM=CPDATA+5
2F6B #DEF SIZEU=APARA+3-A1
2FL2 PJOBLINK
2G5L PAIR DEWELL,1
2GK= PEINPUT +EINPUT
2H4W PJOBNOUQ +JOBNOUQ
2HJG SYSCON +SYSMAC
2J46 12HMACROS
2JHQ 12H
2K3B +1
2KH2 +0
2L2L +0
2LG= SIXTEEN +16
2L^W WTEMP #20000000
2MFG XIN 4HIN : [INPUT FOR WJDF
2M^6 12H [USERNAME
2NDQ 4H ,
2NYB 12H [JOBNAME
2PD2 ... 4H(1 /
2PXL TLANG 8HB5B1)
2QC= PJUSNA +JUSNA
2QWW PJJOBNA +JJOBNA
2RBG PERDCWELL +ERDCWELL
2RW6 XJOBLIST +SIZELIST
2S*Q 12H
2STB 12HJOBLIST
2T*2 1
2TSL 1
2W#= 4H****
2WJN ...RPARS
2WK7 ... 4HFROZ
2WK# ... #00000200
2WKY ... SEGENTRY K90ENWELL
2WL5 ... 4HREST
2WL= ... #00020000
2WLC ... 4HGRES
2WLJ ... #00010000
2WLP ... 4HGRNR
2WLW ... #00004000
2WL^ ... 4HPRES
2WM2 ... #60000000
2WM8 ...#DEF RPARSCT=0?-RPARS/2
2WMM ...XDWTYPE
2WMS ...#HAL +JWELL+ADICTWELL,0
2WM^ ...XHARDUPAB +JHARDUPAB
2WN6 ...XFROZENAB +JFROZENAB
2WNB ...XJOBD 8HJOBDATA
2WNC ... 2HJD
2WND ...PARFORM +APFERR
2WNG ...#
2WNK ...# SUBROUTINE TO PARABEG 4 CHARS ADDRESSED BY X4.
2WNQ ...#
2WNX ...XPARBEG
2WP2 ... LDN 6 4
2WP3 ...XPARBEG6
2WP5 ... SBX 7 FX1
2WPB ... ADX 1 4
2WPH ... PARABEG 1,6,0(1),,0
2WPN ... MHUNT 1,CPB,CUNI
2WPT ... LDX 6 ANUM(1)
2WPY ... LDX 0 JPARNUM(1) [SAVE PARAM NO. IN CASE JD IN ERROR
2WP^ ... STO 0 ACOMMUNE2(2)
2WQ3 ... FREECORE 1
2WQ7 ... BRN X7XIT
2WQ# ...#
2WRW [
2X?G [ SUBROUTINE TRAN SPACE-FILLS THE 3 WORD AREA FROM [X2] AND THEN
2XR6 [ MOVES INTO IT THE CONTENTS OF THE CPB/CUNI BLOCK AT [X3]. ENTRY
2Y=Q [ AT TRANH HUNTS THE CPB/CUNI BLOCK FIRST.
2YQB [
2^=2 TRANH MHUNT 3,CPB,CUNI
2^PL TRAN LDX 5 ACES
329= STO 5 0(2)
32NW STO 5 1(2)
338G STO 5 2(2)
33N6 LDX 1 ANUM(3)
347Q LDN 5 APARA(3)
34MB LDN 6 0(2)
3572 MVCH 5 0(1)
35LL LDX 1 FX1
366= EXIT 7 0
36KW [
375G [
37K6 [ X4USER SETS X4 TO POINT TO THE 3 WORD USERNAME. THIS IS CPREFIX
384Q [ IN THE CPA FOR NO-USER AND JUSER IN THE JOBLOCK FOR USER.
38JB [
3942 X4USER
395C ...#UNS G400
396S ...(
3989 ... HUNTW 2,IUSER,G400USER
399L ... BNG 2 X4HOOK
39?3 ... LDN 4 A1(2)
39#D ... LDX 2 FX2
39*T ... BRN X4XIT
39C= ...X4HOOK
39DM ... LDX 2 FX2
39G4 ...)
39HL LDN 4 CPREFIX(2)
3=3= LDX 0 CONTEXT(2)
3=GW ANDN 0 1
3?2G BZE 0 X4XIT
3?G6 FJOCA 2
3?^Q LDN 4 JUSER(2)
3#FB LDX 2 FX2
3#^2 X4XIT EXIT 7 0
3*DL [
3*Y= [
3BCW [
3BXG [ SUBROUTINE TO ISSUE USEROPEN - MODES IN X6
3CC6 [ SUCCESSFUL OPEN DICTATES EXIT TO TYPEF IF X3 PZERO ELSE EXIT 2
3CWQ [
3DBB OPENSUB
3DW2 SBX 7 FX1 [ RELATIVISE LINK
3F8B ... ADDINMOD ,6,FROZEN
3F*L USEROPEX XY,5,6 [ USEROPEN WITH MODES IN X6
3FT= ADX 7 FX1
3G#W TESTREP2 OK,Y,NOFILE,N [ J IF FOUND
3GSG EXIT 7 1 [ ANY OTHER REPLY
3H#6 N EXIT 7 0
3HRQ Y BPZ 3 TYPEF [ IF X3.GE.0 J TO TYPEF IF ALL OK
3J?B EXIT 7 2 [ ELSE EXIT 2 FOR OK
3JR2 XY BPZ 3 XBREAKIN
3K=L BRN XBUST
3KQ= [
3L9W [ OPEN SYSTEM JOBLIST AND WRITE ENTRY
3LPG [ GEOERR IF JOBNO NOT UNIQUE
3M96 [
3MNQ WRITENTRY
3N8B SBX 7 FX1
3NN2 OPENSYS ,JOBLIST,GENERAL
3P7L MHUNT 3,JWELL,COPYSYS
3PM= NAME 3,FILE,FWB
3Q6W LDX 6 RRH+JLJOBNO(3)
3QLG GETJOB 6,SYSTEM
3R66 TESTREP2 OK,NONO
3RKQ INSERT
3S5B MHUNT 3,FILE,FWB
3SK2 NAME 3,JWELL,COPYSYS
3SSS ...X7XIT
3T4L ADX 7 FX1
3TJ= EXIT 7 0
3W3W NONO GEOERR 1,JOBNO?
3WHG [
3X36 [
3X6N ...XOUTP SBX 7 FX1
3X7W ... MHUNTW 3,JWELL,COPYSYS
3X94 ... ADX 6 3
3X== ... LDN 4 3
3X?D ... OUTPACKX 6,4,5
3X#L ... BRN X7XIT
3X*S ...POP SBX 7 FX1
3XC2 ...POPC POP POPC,,JWACCESS
3XD8 ... BRN X7XIT
3XGQ [
3XHJ ...PARAL
3XHY ... NGN 0 1
3XJ4 ...PARALX
3XJB ... SBX 7 FX1
3XJQ ... PARALYSX 0,,4
3XL2 ... BRN X7XIT
3XLS ...[
3XML ...# SUBROUTINE TO GET CORE
3XND ...# SIZE IN X3
3XP= ...# NAME IN WORD AFTER CALL
3XQ4 ...# LINK X7
3XQW ...SETCORE
3XRN ... SBX 7 FX1
3XSG ... GETCORE 3,1
3XT# ... ADX 7 FX1
3XW6 ... FINDCORE 3
3XWY ... SMO 7
3XXQ ... LDX 0 0
3XYJ ... NAMEX 3
3X^B ... EXIT 7 1
3Y2B [
3Y5Y ...PARAF
3Y76 ... SBX 7 FX1
3Y8# ... BRN PFR1
3Y9G ...PNOTFREE
3Y=N ... SBX 7 FX1
3Y?W ... SPARANOX 4
3Y*4 ...PFR1
3YB= ... PARAFREE
3YCD ... BRN X7XIT
3YG2 [
3Y^L [
3^F= [
3^YW [
42DG [ OPEN OR CREATE USER JOBLIST
42Y6 [
436B ...START
43#L ... LDN 3 SIZELIST
43GW ... CALL 7 SETCORE
43P6 ...#HAL FILE+FABSNB,+0
43XB LDN 5 A1(3)
44C2 LDN 4 XJOBLIST(1)
44WL MOVE 4 SIZELIST [ JOBLIST(/****)
45B= ADN 5 1
45TW CALL 7 X4USER
46*G MOVE 4 3 [ COPY USERNAME ACROSS
46T6 [
47#Q NGN 3 1 [ RETURN HERE FOR OK REPLY
47SB LDN 6 0
48#2 LDN 4 2
48RL RMAKE SETUPMODE 5,6,GENERAL,NOERREP,UNTRAP
49?= #SKI WELLTEST
49QW RGTRACE 25,XBUST
4==G CALL 7 OPENSUB
4=Q6 BRN NOPE
4?9Q BRN RGEO
4?PB BRN TESTJ
4#92 [
4#NL [ NOFILE REPLY SO DO AGAIN WITH CREATE MODE
4*8= [
4*MW NOPE VFREE FILE,FLOCNB
4B7G CREATEB 3 [ FILE CREATE IN CASE JOBLIST CREATED
4BM6 [
4C6Q [ AND MARK AS AN INDEXED FILE AND ONLINE
4CLB [
4CW8 ... MBS 3,CEINDEXF,CEONLINE,CECARE,CEALLINCS,CECOOR
4DKL LDN 0 INDEXUSERJ
4F5= STO 0 CEINDEX(3)
4FJW [
4G4G NGN 3 1
4GJ6 SETUPMODE 5,6,GENERAL,CREATE,NOERREP,UNTRAP
4H3Q #SKI WELLTEST
4HHB RGTRACE 26,XBUST
4HJ9 ...#UNS G400
4HK4 ...(
4HKX ... HUNTW 2,IUSER,G400USER [IF NOT SPECIAL RJ
4HLQ ... BNG 2 X6HOOK [ JUST CARRY ON
4HMK ... LDN 3 ADPAIR-A1 [ELSE SET UP A FILE ADJUNCTS BLOCK
4HND ... CALL 7 SETCORE [WITH OWNERACC SET SO THAT RJ
4HP? ...#HAL FILE+ADJUNCTS,+0 [TO ANOTHER USER CAN CREATE
4HQ6 ... STOZ A1+2(3)
4HQ^ ... STOZ A1+3(3)
4HRS ... STOZ A1+4(3)
4HSM ... LDN 7 ADPAIR-A1
4HTG ... STO 7 A1(3)
4HW* ... LDN 7 1
4HX8 ... STO 7 A1+1(3)
4HY3 ... NGN 3 1
4HYW ...X6HOOK
4H^P ...)
4J32 CALL 7 OPENSUB
4JGL BRN RGEO
4K2= BRN TWR
4KFW BRN TESTJ
4K^G TWR TESTREPN WRONG,RGEO
4LF6 BCT 4 RMAKE
4LYQ RGEO GEOERR 1,JOBLIST?
4MDB TESTJ VFREE FILE,CREATE
4MY2 MFREE FILE,FABSNB
4NCL ... MHUNTW 3,JWELL,COPYSYS
4XQ2 LDN 2 RRH+JLJOBNAME(3)
4Y9L CALL 7 TRANH [ TRANSFER JOBNAME
4YP= LDX 6 2
4^8W [
4^NG [ CHECK IF JOBNAME UNIQUE.
5286 [
52MQ GETJOB 6,USER [ OBTAIN JOBLIST ENTRY
537B TESTREP2 OK,NOTUN [ J IF FOUND - JOBNAME NOT UNIQUE
53M2 [
546L [ JOBNAME UNIQUE SO CHECK JDF IF RJ
54L= [
555W NGX 7 AWORK2(2)
55KG BPZ 7 NOTRJ [ J IF NOT RJ
5656 [
56JQ FNORM [ NORMALISE NAME FROM FILE/FNAME
574B MHUNT 3,FILE,FNAME [ SAVE FOR
57J2 NAMETOP 3,CPB,CUNI [ ERROR REPORTS
583L TESTREP2 NAMEFORM,NLFNF
58H= SETUPMODE 5,6,EXECUTE,DIR,SAVEFREEZE
592W CHEKLFN2 XILLP1,NOTUSER,3
593X ...#UNS G400
594Y ...(
595^ ... HUNT 2,CPB,CUNI
5972 ... LDCH 7 APARA(2)
5983 ... SBN 7 10
5994 ... BZE 7 X9HOOK
59=5 ... HUNTW 2,IUSER,G400USER
59?6 ... BNG 2 X9HOOK
59#7 ... LDN 3 A1(2)
59*8 ... HUNT 2,FILE,FABSNB
59B9 ... LDN 4 A1+1(2)
59C= ... MOVE 3 3
59D? ...X9HOOK
59F# ...)
59GG BRN USER
5=26 [
5=FQ NOTUSER
5=^B MHUNT 3,FILE,FABSNB [ CREATED BY FNORM
5?F2 LDX 0 ATYPE(3)
5?YL ANDN 0 #200
5#D= BNZ 0 WORK [ J IF WORKFILE
5#XW #SKI WELLTEST
5*CG RGTRACE 31,XBREAKIN
5*X6 CALL 7 OPENSUB
5BBQ BRN XNOFILE [ NO JDF
5BWB BRN TEST [ TEST OTHER REPLIES
5CB2 [
5CTL [ IF OK WOULD BE AT TYPEF - EXIT FROM OPENSUB
5D*= [
5DSW USER
5F#G #SKI WELLTEST
5FS6 RGTRACE 32,XBREAKIN
5G?Q CALL 7 OPENSUB [ TRY TO OPEN JDF
5GRB BRN NEXT [ AND LOOK AT MACROS
5H?2 BRN TEST [ FOR OTHER REPLIES
5HQL [
5J6* ...NEXT LDN 3 SYSMAC
5JG4 ... CALL 7 SETCORE
5JTR ...#HAL FILE+FABSNB,+0
5K9G LDN 4 SYSCON(1)
5KP6 ... LDN 5 A1(3)
5L8Q MOVE 4 SYSMAC [ MACROS
5LDJ ... LDN 5 A1+4(3)
5LNB MHUNT 3,CPB,CUNI [ CUNI HOLDS JDF NAME
5M82 LDN 4 APARA(3)
5N7= LDEX 2 ANUM(3)
5NLW MVCH 4 0(2) [ COPY JDF NAME
5P6G LDN 3 0 [ TO INDICATE MACRO
5PL6 #SKI WELLTEST
5Q5Q RGTRACE 33,XBREAKIN
5QKB SETUPMODE 5,6,EXECUTE,UNTRAP,DIR,SAVEFREEZE
5R52 CALL 7 OPENSUB
5RJL BRN TRY
5S4= REPALLER [ REPORT ERRORS
5SHW BRN MESSF [
5T3G [
5TH6 TRY MFREE FILE,FABSNB [ FREE MACROS FABSNB
5W2Q FINDNAME [ EXPAND TO FULL FILENAME
5WGB [
5X22 TRYAGAIN
5XFL HUNT 2,FILE,FABSNB
5X^= LDX 3 A1(2)
5YDW TXU 3 SIXTEEN(1) [ TEST FOR :MASTER.FILENAME
5YYG BCC XNOFILE
5^D6 LDN 4 A1(2)
5^XQ ADX 4 3 [ ADDR OF LAST WD IN BLOCK +1
62CB SBN 4 6 [ LAST SIX WORD REC
62X2 LDX 5 4
63BL SBN 5 6 [ 1ST WORD - LAST USERNAME
63W= MOVE 4 6 [ OVERWRITE LAST USERNAME
64*W LDN 3 6
64TG SBS 3 A1(2)
65*6 #SKI WELLTEST
65SQ RGTRACE 34,XBREAKIN
66#B SETUPMODE 5,6,EXECUTE,SAVEFREEZE,DIR
66S2 CALL 7 OPENSUB
67?L BRN TRYAGAIN
67R= [
67^G ...TEST TESTREP2 RANDOM,XRANDOM,WRONG,TERROR,NOTRAP,XNOTRAP
69=6 REPERR TYPEF
69PQ BRN MESSF
6=9B [
6=P2 [ CREATE JWELL/AJDF BLOCK
6?8L [
6?N= TYPEF CLOSETOP [ CLOSE DIRECTORY
6?WG ...
6#4Q ... LDN 3 SZAJDF
6#?2 ... CALL 7 SETCORE
6#F= ...#HAL JWELL+AJDF,+0
6#MG MHUNT 2,FILE,FABSNB [ FROM JDF OPEN
6*76 LDN 6 3
6*LQ LDX 0 A1(2)
6B6B SBN 0 10
6BL2 BZE 0 OKMOD
6C5L ADN 6 2
6CK= OKMOD ADX 2 A1(2)
6D4W LDN 4 A1-6(2)
6DJG LDN 5 JDFNAME(3)
6F46 MOVE 4 3
6FHQ SBX 4 6
6G3B LDN 5 JDFDIR(3)
6GH2 MOVE 4 3
6H2L LDX 0 A1-2(2)
6HG= STO 0 JDFGEN(3)
6H^W LDX 0 A1-1(2)
6JFG STO 0 JDFLANG(3)
6J^6 LDX 2 FX2
6KDQ [
6KYB [ DEAL WITH PARAM PARAMETERS IF ANY.....
6LD2 [
6LXL [
6M5W ...NOTRJ
6NBG LDCH 4 AWORK4(2)
6NW6 BZE 4 NPARAM [J IF NO PARAM PARAMETERS
6P*Q ... CALL 7 PARAL
6PTB LDN 4 2
6Q*2 ... CALL 7 PARAL
6QHM ... LDN 4 1
6QKW ... CALL 7 PNOTFREE
6R#= MHUNT 3,CPB,CUNI
6RRW [
6S?G LDX 7 ANUM(3) [ SEE IF ANY PARAMS
74K6 [
754Q PNULL NAME 3,JWELL,JPARAMS [ USE EXISTING BLOCK
75JB [
7642 PENUL ANDN 7 #7777 [ CHAR COUNT
76HL STO 7 RRH+1(3) [ SECOND RED TAPE WORD
773= LDX 0 GSIGN
77GW ORS 0 RRH+1(3) [ AND MAINTAIN INDEXING
782G SRL 0 1 [ B1 SET FOR PARAM
78G6 ORS 0 RRH+1(3) [ SET SIGN BIT AS PARAM
78^Q ADN 7 11 [ ROUND UP INCLUDING RED TAPE
79FB SRL 7 2 [ WORD COUNT
79^2 STO 7 RRH(3) [ FIRST WORD OF RED TAPE
7=DL [
7=Y= [ NOW FOR NON-PARAM PARAMETERS
7?CW [
7?XG NPARAM
7?^B ...# FIRST SET BITS FOR ANY "RESTARTABLE" ETC. PARAMETERS.
7?^T ... LDN 3 0
7#2# ... LDN 5 1
7#2R ... LDX 0 AWORK2(2)
7#3= ... BNG 0 NLOOK [J IF MOP
7#3P ... LDN 5 RPARSCT
7#48 ...NLOOK
7#4M ... LDN 4 RPARS
7#56 ...RPLP CALL 7 XPARBEG
7#5K ... BNG 6 NPARS
7#5N ... SMO 4
7#5P ... LDXC 6 1(1)
7#5Q ... BCC NJLSTATX
7#5R ... STO 1 7
7#5S ... MHUNTW 2,JWELL,COPYSYS
7#5T ... JLADJUST 2
7#5W ... LDX 1 7
7#5X ... ORS 6 JLSTATX(2)
7#5Y ... BRN NPARS
7#5^ ...NJLSTATX
7#64 ... SMO 4
7#6H ... ORX 3 1(1)
7#72 ...NPARS ADN 4 2
7#7F ... BCT 5 RPLP
7#7Y ... MHUNTW 2,JWELL,COPYSYS
7#8C ... JLADJUST 2
7#8W ... ORS 3 JLSTAT(2)
7#=Q ... JBS TSTFZ,2,JLBFROZENP
7#?9 ... BC 2,JLBFROZEN
7#?N ... BRN NFRZN
7##7 ...TSTFZ
7##L ... JBC NFRZN,2,JLBFROZEN
7#*5 ... MBC 2,JLBFROZENNC,JLBNOTCAND
7#*J ...NFRZN
9R*6 ... ACROSS JWELLTWO,2 [OVERFLOW SEGMENT TO DO JOB INPUT
9RGB [
9S22 STARTDC
9SSB ... JOBCONS OBREAKIN
9SSC ... PERMITBRK
9S^= [
9T?M ...NOTDC
9TDT ... CALL 7 POP
9TYG [
9WD6 PICK MHUNT 3,JWELL,COPYSYS
9WXQ LDX 4 A1+FRH+JLJOBNO(3)
9XCB JLADJUST 3
9XX2 [
9YBL JBS SAWAY,3,JLBSYSIS [ J IF SYSTEM ISSUED
9YW= [
9YX2 ... SBX 3 JOBDATASIZE
9YX= ... LDN 1 BMISC
9YXG ...XDWLP LDX 1 BPTR(1)
9YXQ ... BXE 1 CXMI,XENDDW
9YY2 ... LDX 0 ATYPE(1)
9YY= ... SMO FX1
9YYG ... BXU 0 XDWTYPE,XDWLP
9YYQ ... NGN 7 ADWELEMENT
9Y^2 ...YDWLP ADN 7 ADWELEMENT
9Y^= ... SMO 7
9Y^G ... LDX 2 ADWUSER(1)
9Y^Q ... BZE 2 XDWLP
9^22 ... LDX 5 ADWUSER+1(1)
9^2= ... LDX 6 ADWUSER+2(1)
9^2G ... TXU 2 JLUSER(3)
9^2Q ... TXU 5 JLUSER+1(3)
9^32 ... TXU 6 JLUSER+2(3)
9^3= ... BCS YDWLP
9^3G ... ORX 4 GSIGN
9^3Q ... ADX 3 JOBDATASIZE
9^42 ... LDX 2 ADWPRIVG(1)
9^4= ... ORS 2 JLBUDGETS(3)
9^4G ... LDX 2 ADWPRIVT(1)
9^4Q ... ORS 2 JLBUDGETS(3)
9^52 ... ERS 2 JLBUDGETS(3)
9^5= ... LDX 2 ADWMNYFZ(1)
9^5G ... BPZ 2 XDW1
9^5Q ... BS 3,JLBHARDUP
9^62 ...XDW1 SLL 2 1
9^6= ... BPZ 2 XDW2
9^6G ... BC 3,JLBHARDUP
9^6Q ...XDW2 SLL 2 1
9^72 ... BPZ 2 XDW3
9^7= ... JBS XDW3,3,JLBFROZEN
9^7G ... BS 3,JLBFROZENNC
9^7Q ...XDW3 SLL 2 1
9^82 ... BPZ 2 XDW4
9^8= ... BC 3,JLBFROZENNC
9^8G ...XDW4 SBX 3 JOBDATASIZE
9^8Q ... BRN YDWLP
9^92 ...XENDDW
9^9= ... LDX 2 FX2
9^9G ... ADX 3 JOBDATASIZE
9^9Q ... BC 3,JLBNOTCAND
9^=2 ... JMBAC XDW5,3,JLBBMAP,JLBABAND,JLBHARDUP,JLBFROZENNC
9^== ... BS 3,JLBNOTCAND
9^=G ... LDXC 4 4
9^=Q ... BCC NOJLCH [J IF UNNECESSARY TO CHANGE USER JL
9^?2 ... DOWN JOBLIST,9
9^?= ...NOJLCH
9^?G ...#SKI JWPHASE3
9^?Q ... BRN NNWP
9^#2 ...#SKI JWPHASE3<1$1
9^#= ... BRN NSLOT
9^#G ...XDW5
9^*W [ ASSUME A VIRTUAL SLOT IF SYSTEM STARTED
9^TG [
=22N ... LDXC 4 4
=27W ... BCC £
=2*6 LDCT 0 #200
=2SQ ANDX 0 CONTEXT(2) [ J IF SYS STARTED
=3#B BNZ 0 VSLOT
=3S2 [
=4?L JBS VMOP,3,JLBMOP [ J IF MOP JOB
=4L2 ... JBS NNWP,,HLSBS
=4LM ...#SKI CASKI8214
=4M# ...(
=4M^ ...[ IS FINISH SET? IF SO, JOB MUST GO INTO WELL
=4NL ... LDX 5 FINISH
=4P? ... BNG 5 NNWP [J IF FINISH SET
=4PY ...[
=4QK ...)
=4R= JBS VSLOT,,JSVIRTBACK [ J IF VIRTUAL BACKGROUND SLOT
=5=W BRN NSLOT
=5FH ...VMOP JBS NNWP,,HLSMS
=5HQ ... JBS VSLOT,,JSVIRTMOP
=6=6 [
=6PQ [ NO VIRTUAL SLOT
=79B [
=7B4 ...# BYPASS WELL IF NOWELL PAR GIVEN.
=7B9 ...#UNS G400
=7BB ...(
=7BH ...NSLOT TESTHOOK NSLOTH
=7BN ... JBC NNWP,3,JLBNOWELLP
=7BT ...NSLOTH
=7C2 ...)
=7C7 ...#UNS G400
=7C# ...#SKI
=7CL ...NSLOT JBC NNWP,3,JLBNOWELLP [J IF PRIVILEGE NOT HELD.
=7F8 ... LDX 0 AWORK1(2)
=7GQ ... BNG 0 VSLOTM [J IF NOWELL GIVEN
=7J# ...NNWP CALL 7 WRITENTRY
=88L CLOSETOP [ CLOSE :SYSTEM.JOBLIST
=8N= TRACE 4,ENWELLED
=97W JWELLADD WELL [ 1 MORE WELLJOB
=99D ... MHUNT 3,JWELL,COPYSYS
=9?2 ... JLADJUST 3
=9#J ... JBC NSV,3,JLBNOTCAND
=9CN ... LDN 0 JWELLONE
=9F= ... STO 0 ACOMMUNE2(2)
=9G3 ... LDN 0 1
=9GS ... STO 0 ACOMMUNE3(2)
=9JB ... DOWN JWUPDATE,2
=9KY ...NSV
=9MG CALL 7 VOPJW [ RELEASE JWELL
==76 MHUNT 3,JWELL,COPYSYS
==LQ JLADJUST 3
=?6B JBC WAYUP,3,JLBMOP [ EXIT IF NOT MOP
=?B8 ... JBS MOPAB,3,JLBNOTCAND
=?L2 MFREE JWELL,JPARAMS
=#5L MFREE JWELL,ACLB
=#K= MFREE JWELL,AJDF
=*4W LONGSET #145,XER,4
=*JG #SKI WELLTEST
=B46 RGTRACE 6,XCOMBRK
=B=B ...XAC5 ACROSS ENWELLB,1
=C6M ...VSLOTM
=C7Q ... LDN 5 JPDUSERNAME
=C8T ... LDN 6 JLUSER+A1
=C9Y ... CALL 7 XOUTP
=C?3 ... LDN 5 JPDJOBNAME
=C#6 ... LDN 6 JLJOBNAME+A1
=C*9 ... CALL 7 XOUTP
=CB# ... MONOUT BYPASSWELL
=CCC ... MHUNTW 3,JWELL,COPYSYS
=CDG ... JLADJUST 3
=CH2 [
=D2L [ VIRTUAL SLOT EXISTS
=DG= [
=D^W VSLOT BS 3,JLBRUNNING [ MARK AS RUNNING
=F74 ... FSHCODE AORB
=F#= ... CALL 7 SETMACH [SET MACHINE PREFERENCE IF ANY
=FFG CALL 7 WRITENTRY [ AND WRITE
=F^6 TRACE 4,STARTED
=GDQ JWELLADD LIVE [ 1 LIVE JOB
=GYB RUNJSA HOSTOPEN
=L*Q BRN NUJOB [ END
=LTB [
=M*2 [ SYSTEM ISSUED JOBS
=MSL [
=N#= SAWAY BS 3,JLBRUNNING [ MARK AS RUNNING
=NFD ... FSHCODE AORB
=NLL ... CALL 7 SETMACH [SET MACHINE PREFERENCE, IF ANY
=NRW CALL 7 WRITENTRY [ AND WRITE AWAY
=PR6 TRACE 4,SYS JOB
=Q2Y ...NUJOB ACROSS SETJOBQ,1
=R=2 [
=R#9 ...#SKI JWPHASE4
=RDM ...WAYUP JBS XAC5,,EVBENWELL
=RGW ... ENDCOM
=S9= XJOBSER
=SNW GEOERR 1,JOBSOURC
=T8G [
=TN6 [
=W7Q [ RELEASE JWELL SEMAPHORE...
=WMB [
=X72 VOPJW VOP ,JWACCESS
=XLL EXIT 7 0
=Y6= [
=YKW [
=^5G [
=^K6 [ ERROR REPORTS
?24Q [
?2JB [
?342 [ ROUTINE TO DELETE A USER JOBLIST ENTRY
?3HL [
?43= ...SCRUB LDCT 4 #40
?4GW ERS 4 EXT+11(2) [ CLEAR ISITJOB BIT FROM INPUT
?52G SKRUB SBX 7 FX1
?5G6 DOWN JOBLIST,5 [ DELETE USER JOBLIST ENTRY
?5^Q ADX 7 FX1
?6FB EXIT 7 0
?6^2 [
?76N ...XJDERROR1
?76P ... MHUNT 3,JWELL,COPYSYS
?76Q ... JLADJUST 3
?76R ... LDX 7 AWORK2(2)
?76S ... BPZ 7 XJDR2 [J IF NOT MOP
?76T ... BS 3,JLBMOP
?76W ... BRN XJDR5
?76X ...XJDR2 BZE 7 XJDR4 [J IF JOB
?76Y ... BS 3,JLBRJ
?76^ ... BRN XJDR5
?772 ...XJDR4 BS 3,JLBJB
?773 ...XJDR5
?778 ... LDX 7 ACOMMUNE2(2)
?77N ... CLOSETOP
?788 ... STO 7 ACOMMUNE2(2)
?78R ...XJDERROR
?7?B ... ACROSS ENWELLB,3
?7DL XINERR [ EROR IN INPUT
?7Y= CALL 7 SCRUB [ REMOVE USER JOBLIST ENTRY
?8CW LDX 5 PEINPUT(1) [ ERROR UNIVERSAL
?8XG XCOM LDN 4 0
?9C6 NGN 6 1
?9WQ BRN XAA
?=BB [
?=W2 XBROKE [ INPUT BROKEN IN ON....
??*L CALL 7 SCRUB
??T= BRN XBUST
?##W [
?#SG NOTUN [ JOBNAME NOT UNIQUE
?*#6 LDX 7 AWORK2(2) [ CHECK FOR DC
?*RQ ADN 7 2
?B?B BNZ 7 WJD1 [ J IF NOT DC
?BR2 NGN 5 1
?C=L [
?CQ= [ GIVE RELEVANT ERROR MESSAGE FOR JOBNAME NOT UNIQUE
?D9W [
?DPG STEPAGAIN
?F96 LDX 7 FRH+JLJOBNO(3)
?FNQ JOBLOCK 7,3 [ SEE IF JOB IN M/C
?G8B BPZ 3 XAM [ J IF FOUND
?GN2 SHLSQ 7,3,WERR [ LOOK AT HLSQ, TO WERR IF NOT
?H7L BRN XAM [ DC WITH EXISTING JOBNAME
?HM= WERR LDX 5 PERDCWELL(1) [ NOT UNIQUE WELL JOB
?J6W BRN WCLOS
?JLG [
?K66 WJD1 LDX 5 PJOBNOUQ(1) [ JOBNAME NOT UNIQUE
?KKQ WCLOS CLOSETOP [ USER JOBLIST
?L5B BRN XCOM
?LK2 [
?M4L [
?MJ= [
?NHG XAC NGN 6 1
?P36 LDX 5 0(3) [ ERROR UNIVERSAL
?PGQ XAM CLOSETOP [ CLOSE USER JOBLIST
?Q2B [
?QG2 XAA ACROSS INITJOB,9 [GO BACK TO INITJOB TO REPORT ERROR
?Q^L [
?RF= WORK CALL 3 XAC [ WORKFILE JDF
?RYW +JWFN
?SDG TERROR [ TRAPS NOT SET
?SY6 CALL 3 XAC
?TCQ +JINCOPER
?TXB XRANDOM [ RANDOM FILE FOR JDF
?WC2 CALL 3 XAC
?WWL +JRANDOM
?XB= XNOFILE [ NO JDF...
?XTW CALL 3 XAC
?Y*G +ERNOFILE
?YT6 XILLP1 [ PARAMETER FORMAT ERROR
?^#Q CALL 3 XAC
?^SB +APFERR
#2#2 MESSF
#2RL NLFNF CALL 3 XAC [ NOT LOCAL FILENAME FORMAT
#3?= #40000000
#3#? ...XNOTRAP
#3#L ... CALL 3 XAC
#3#^ ... +ERNOTRAP
#3*M ...MOPAB
#3BN ... LDX 5 XHARDUPAB(1)
#3C3 ... JBS XHUAB,3,JLBHARDUP
#3CB ... LDX 5 XFROZENAB(1)
#3CP ...XHUAB
#3DD ... DOWN JOBLIST,4
#3KL ... NGN 6 1
#3N9 ... BRN XAA
#3QW [
#4=G [ BREAKIN CASES
#4Q6 [
#59Q XBREAKIN
#5PB CLOSETOP [ USER JOBLIST
#692 XBUST LDN 5 0
#6NL BRN XAA
#9JK ...[
#9LB OBREAKIN
#=62 GEOERR 1,BREAKJOB
#=KL XER GEOERR 1,WAITING?
#?5= #END
^^^^ ...57036037000300000000