{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: JWELLTWO867)}}
====== JWELLTWO867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BS|BS]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DOWN|DOWN]], [[george:macro:FINDCORE|FINDCORE]], [[george:macro:FJOCA|FJOCA]], [[george:macro:FREECORE|FREECORE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:GETCORE|GETCORE]], [[george:macro:HUNT|HUNT]], [[george:macro:INHIBITBRK|INHIBITBRK]], [[george:macro:ISSUCOMB|ISSUCOMB]], [[george:macro:JLADJUST|JLADJUST]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAME|NAME]], [[george:macro:NAMEX|NAMEX]], [[george:macro:PARABEG|PARABEG]], [[george:macro:PARAFREE|PARAFREE]], [[george:macro:PARALYSX|PARALYSX]], [[george:macro:READ|READ]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:SPARUNAC|SPARUNAC]], [[george:macro:TESTRPN2|TESTRPN2]]
22FL ... SEG JWELLTWO,867,SECTION CENT
22^= #
23DW #
23JR ...[
23NN ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23SK ...[
23YG # THIS SEGMENT CONTAINS THE OVERFLOW CODE FROM TWO OTHER
24D6 # SEGMENTS INVOLVED WITH THE JOBWELL. THE SEGMENTS CONCERNED
24XQ # ARE:
25CB #
25X2 # ENWELL & DEWELL
26BL #
26W= #
27*W SEGENTRY K1JWELLTWO,(GEOERR) [REDUNDANT ENTRY POINT
27TG SEGENTRY K2JWELLTWO,XK2 [OVERFLOW FROM ENWELL
28*6 FSHENTRY K3JWELLTWO,XK3,XK3,XK3 [OVERFLOW FROM DEWELL (SHFS)
28SQ FSHENTRY K4JWELLTWO,,XK4,XK4 [RETURN TO 'B' TO INPUT JDF (SHFS)
29#B ... FSHENTRY K5JWELLTWO,(GEOERR),,(GEOERR) [REDUNDANT ENTRY POINT
29S2 FSHENTRY K7JWELLTWO,XK7,XK7,XK7 [YET MORE O'FLOW FROM DEWELL
2=3S ... FSHENTRY K8JWELLTWO,XK8,,XK8
2=?L #
2=R= #
2?=W #PAG [OVERFLOW CODE FROM THE SEGMENT ENWELL
2?QG #
2#=6 #OPT WELLTEST=0
2#PQ #
2*9B #DEF SIZEIN=CPDATA-A1*4+48
2*P2 #DEF XMODP=CPDATA+11
2B8L #DEF XCOUNT=A1
2BN= #DEF XUSNM=CPDATA+1
2C7W #DEF XJBNM=CPDATA+5
2CMG #
2D76 PEINPUT +EINPUT
2DLQ XIN 4HIN : [INPUT FOR WJDF
2F6B 12H [USERNAME
2FL2 4H ,
2G5L 12H [JOBNAME
2GK= 4H(1 /
2H4W TLANG 8HB5B1)
2JHQ XJOBD 8HJOBDATA
2K3B 2HJD
2KH2 PARFORM +APFERR
2LG= #
2L^W # SUBROUTINE TO PARABEG 4 CHARS ADDRESSED BY X4.
2MFG #
2M^6 XPARBEG
2PD2 LDN 6 4
2PXL XPARBEG6
2QWW SBX 7 FX1
2S*Q ADX 1 4
2STB PARABEG 1,6,0(1),,0
2T*2 MHUNT 1,CPB,CUNI
2TSL LDX 6 ANUM(1)
2X?G LDX 0 JPARNUM(1) [SAVE PARAM NO. IN CASE JD IN ERROR
2XR6 STO 0 ACOMMUNE2(2)
2YQB FREECORE 1
2^=2 BRN X7XIT
2^PL #
32NW [
338G [
33N6 [ X4USER SETS X4 TO POINT TO THE 3 WORD USERNAME. THIS IS CPREFIX
347Q [ IN THE CPA FOR NO-USER AND JUSER IN THE JOBLOCK FOR USER.
34MB [
3572 X4USER
35LL LDN 4 CPREFIX(2)
366= LDX 0 CONTEXT(2)
36KW ANDN 0 1
375G BZE 0 X4XIT
37K6 FJOCA 2
384Q LDN 4 JUSER(2)
38JB LDX 2 FX2
3942 X4XIT EXIT 7 0
39HL [
3=3= PARAL
3?G6 NGN 0 1
3?^Q PARALX
3#^2 SBX 7 FX1
3*Y= PARALYSX 0,,4
3CC6 BRN X7XIT
3CWQ [
3DBB # SUBROUTINE TO GET CORE
3DW2 # SIZE IN X3
3F*L # NAME IN WORD AFTER CALL
3FT= # LINK X7
3G#W SETCORE
3GSG SBX 7 FX1
3H#6 GETCORE 3,1
3HRQ ADX 7 FX1
3J?B FINDCORE 3
3JR2 SMO 7
3K=L LDX 0 0
3KQ= NAMEX 3
3L9W EXIT 7 1
3LPG [
3N8B PARAF
3NN2 SBX 7 FX1
3P7L BRN PFR1
3PM= PNOTFREE
3Q6W SBX 7 FX1
3QLG SPARANOX 4
3R66 PFR1
3RKQ PARAFREE
3S5B X7XIT
3SK2 ADX 7 FX1
3T4L EXIT 7 0
3TJ= #
3W3W #
3WHG #
3X36 XK2 [ENTRY POINT TWO
3XGQ #
3Y2B #
3YG2 LDN 6 7
3Y^L LDN 4 XJOBD
3^F= CALL 7 XPARBEG6
3^YW BPZ 6 XJDFOUND
42DG LDN 6 2
42Y6 LDN 4 XJOBD+2
43CQ CALL 7 XPARBEG6
43XB BNG 6 NOJD [J IF NO JOBDATA PARAMETER
44C2 XJDFOUND
44WL LDX 0 PARFORM(1)
45B= STO 0 ACOMMUNE1(2) [POSSIBLE ERROR MESSAGE
45TW LDX 0 6
46*G SRL 0 12
46T6 SBN 0 2
47#Q BNZ 0 XJDERROR1 [J IF NOT COMPOSITE
47SB LDX 4 ACOMMUNE2(2)
48#2 CALL 7 PARAL
48RL TESTRPN2 OK,XJDERROR1
49?= LDN 4 2
49QW LDN 0 #34
4==G CALL 7 PARALX
4=Q6 TESTRPN2 OK,XJDERROR1
4?9Q NOJD
4?PB MHUNTW 3,CPB,CALAS
4#92 LDX 3 ALOGLEN(3)
4#NL ADN 3 2+FRH
4*8= CALL 7 SETCORE
4*MW #HAL ADATA+CSTORE,+0
4B7G LDN 5 0
4BM6 LDN 3 A1+2
4C6Q XPASS
4CLB SPARUNAC [COLLECT UNACCESSED PAR'S INTO CSTORE
4D62 MHUNT 2,CPB,CUNI
4DKL NAME 2,ADATA,CREADL
4F5= MHUNT 1,ADATA,CSTORE
4FJW LDX 0 ANUM(2)
4G4G BNG 0 XEND [J IF NONE LEFT
4GJ6 ADX 3 1
4H3Q BZE 0 XCOMMA
4HHB LDN 2 APARA(2)
4J32 SMO 0
4JGL MVCH 2 0
4K2= ANDN 0 #7777
4KFW ADX 5 0
4K^G XCOMMA
4LF6 LDN 0 #34
4LYQ DCH 0 0(3)
4MDB SBX 3 1
4MY2 LDX 7 3
4NCL BCHX 3 £
4NX= ADN 5 1
4PBW BRN XPASS
4PWG XEND
4QB6 BZE 5 XCSFREE [J IF NO UNACC'ED PARS
4QTQ SBN 5 1
4R*B BZE 5 XCSFREE
4RT2 LDN 6 ACES
4S#L ADX 7 1
4SS= MVCH 6 4
4T?W STO 5 A1+1(1)
4TRG ADN 5 11
4W?6 SRL 5 2
4WQQ STO 5 A1(1)
4X=B ALTLEN 1,5
4XQ2 XEND3
4Y9L HUNT 1,ADATA,CREADL
4YP= BNG 1 XCUNIGONE
4^8W XCSFREE
4^NG FREECORE 1
5286 BRN XEND3 [MOP UP ALL CUNI'S SET UP BY XPASS
52MQ XCUNIGONE
53M2 [
546L [
54L= [
555W [
55KG [
5656 [
56JQ [
574B [ WRITE USER JOBLIST ENTRY AND CREATE SYSTEM JOBLIST ENTRY
57J2 [ THE SYSTEM JOBLIST ENTRY IS NOT WRITTEN AWAY AND IS LEFT
583L [ IN A JWELL/COPYSYS BLOCK...
58H= [
592W DOWN JOBLIST,1
5=FQ BRN XJDERROR
5=^B CALL 7 PARAF
5?YL [
5#D= LDX 0 AWORK2(2)
5#XW BNZ 0 NJOB1 [ JUMP IF NOT JOB
5*CG [
5*X6 [ INPUT JDF
5BBQ [
5BWB [
5CB2 [ IN THE CASE OF 'JOB' SET UP A ADATA/CREADL BLOCK CONTAINING AN
5CTL [ 'INPUT' FOR THE WORKING JDF. INPUT THE WJDF BY ISSUCOMB
5D*= [
5DSW LDN 3 SIZEIN [N.B. THIS IS CHAR. SIZE
5F#G LDX 4 AWORK4(2)
5FS6 ANDN 4 #77 [ISOLATE MODE PARAMETER NUMBER
5G?Q BZE 4 TERQU [J IF NO MODE PARAMETER
5GRB CALL 7 PARAL
5J== LDN 4 2
5JPW CALL 7 PNOTFREE
5N7= MHUNT 1,CPB,CUNI
5NLW ADX 3 ANUM(1)
5P6G ANDN 3 #7777
5PL6 TERQU LDX 5 AWORK4(2)
5Q5Q ANDN 5 #7700 [ISOLATE T/S IF PRESENT
5QKB BZE 5 NTERM [J IF NO TERMINATOR
5R52 ERS 5 AWORK4(2) [ZEROIZE CHAR 2 OF AWORK4
5RJL SRL 5 6
5S4= ADN 3 6 [6 EXTRA CHARS FOR COMMA TERM.
5SHW NTERM ADN 3 3
5T3G SRL 3 2 [CONVERT TO WORD COUNT
5TH6 CALL 7 SETCORE
5W2Q #HAL ADATA+CREADL,+0
5WGB LDX 7 5
5X22 LDN 5 XMODP(3) [ADDRESS FOR MODE QUALIFIER
5XFL LDN 6 44 [INITIAL CHAR COUNT FOR COMMAND
5X^= BZE 4 NMOD2 [J IF NO MODE SPECIFIED
5YDW MHUNT 1,CPB,CUNI
5YYG LDN 4 APARA(1)
5^D6 LDX 2 ANUM(1)
5^XQ MVCH 4 0(2) [MOVE MODE QUALIFIERS INTO COMMAND
62CB ANDN 2 #7777
62X2 ADX 6 2 [UPDATE CHAR COUNT
63BL FREECORE 1
63W= NMOD2 BZE 7 NTERM1 [J IF NO TERMINATOR
64*W LDX 1 5
64TG LDN 4 #34
65*6 DCH 4 0(1) [COMMA BEFORE TERMINATOR
65SQ BCHX 1 £
66#B DCH 7 0(1) [T/S
66S2 BCHX 1 £
67?L LDX 0 FX2
67R= ADN 0 AWORK3
68=W MVCH 0 4 [MOVE ACROSS TEXT OF TERMINATOR
68QG ADN 6 6 [UPDATE CHAR COUNT
69=6 NTERM1
69PQ STO 6 XCOUNT(3) [CHAR COUNT FOR COMMAND
6=9B SMO FX1
6=P2 LDN 4 XIN
6?8L LDN 5 CPDATA(3)
6?N= MOVE 4 11 [MOVE BASIS OF COMMAND ACROSS
6#7W CALL 7 X4USER
6#MG LDN 5 XUSNM(3)
6*76 MOVE 4 3 [MOVE USERNAME
6*LQ MHUNT 1,CPB,CUNI
6B6B LDN 4 APARA(1)
6BL2 LDN 5 XJBNM(3)
6C5L LDX 1 ANUM(1)
6CK= MVCH 4 0(1) [MOVE JOBNAME
6D4W LDCT 4 #40
6DJG ORS 4 EXT+11(2) [SET ISITJOB BIT FOR INPUT
6F46 #SKI WELLTEST
6FHQ RGTRACE 5,XBROKE
6TQB ISSUCOMB XINERR,XBROKE
6W=2 #
6WPL XMODCH
6X9= ERS 4 EXT+11(2) [CLEAR ISITJOB BIT
6XNW [
6Y8G FREEZESA READ [FREEZE-SAVE JDF BUT ONLY FOR READING
6YN6 [ (EVEN THOUGH OPEN FOR WRITING)
6^7Q [
6^MB NJOB1 LDX 0 AWORK2(2)
7272 ADN 0 2
72LL BNZ 0 NOTDC
736= INHIBITBRK XBROKE
73KW ACROSS DSCNCT,2 [ DC COMMAND
745G #
74K6 NOTDC
754Q ACROSS ENWELL,3
75JB [
7642 [
76HL [
773= [ ERROR REPORTS
77GW [
782G [
78G6 [ ROUTINE TO DELETE A USER JOBLIST ENTRY
78^Q [
79FB SCRUB LDCT 4 #40
79^2 ERS 4 EXT+11(2) [ CLEAR ISITJOB BIT FROM INPUT
7=DL SKRUB SBX 7 FX1
7=Y= DOWN JOBLIST,5 [ DELETE USER JOBLIST ENTRY
7?CW ADX 7 FX1
7?XG EXIT 7 0
7#C6 [
7#TQ ...[
7#WQ XINERR [ EROR IN INPUT
7*BB CALL 7 SCRUB [ REMOVE USER JOBLIST ENTRY
7*W2 LDX 5 PEINPUT(1) [ ERROR UNIVERSAL
7B*L XCOM LDN 4 0
7BT= NGN 6 1
7C#W BRN XAA
7CSG [
7D#6 XBROKE [ INPUT BROKEN IN ON....
7DRQ CALL 7 SCRUB
7F?B LDN 5 0
7FBG ...XAA
7FMW ... ACROSS INITJOB,9
7FR2 #
7G=L #
7GQ= #
7H9W XJDERROR1
7HPG MHUNT 3,JWELL,COPYSYS
7J96 JLADJUST 3
7JNQ LDX 7 AWORK2(2)
7K8B BPZ 7 XJDR2 [J IF NOT MOP
7KN2 BS 3,JLBMOP
7L7L BRN XJDR5
7LM= XJDR2 BZE 7 XJDR4 [J IF JOB
7M6W BS 3,JLBRJ
7MLG BRN XJDR5
7N66 XJDR4 BS 3,JLBJB
7NKQ XJDR5
7P5B LDX 7 ACOMMUNE2(2)
7PK2 CLOSETOP
7Q4L STO 7 ACOMMUNE2(2)
7QJ= XJDERROR
7R3W ... ACROSS ENWELLB,3
7S36 #
7SGQ [***********************************************************************
7T2B #PAG [OVERFLOW CODE FROM THE SEGMENT DEWELL
?9WQ #END
^^^^ ...706302030001