22FL #LIS K0ADDJOB>K0ALLGEO>K0GREATGEO>K0COMMAND 22J9 ... SEG ADDJOB,867,SECTION CENT,,G3UGSI 22LS ...[ 22PC ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LIMITED 1982 22S2 ...[ THIS EXCLUDES CODE UNDER #SKI G3UGSI 22WK ...[ 22^8 ...#OPT G3UGSI=0 233R ...#SKI G3UGSI 236B ...( 238^ ...[ MACRO TO PREVENT M551 AND SECURITY INTERFACE CLASH 23?J ... SINM551 23B7 ...) 23DW #OPT WELLTEST=0 24D6 # THIS SEGMENT IMPLEMENTS THE FOLLOWING MACROS... 24XQ # 25CB # 1. ADDJOB --- ADD 1 TO COUNT OF MOP JOBS (K1) 25X2 # 2. ADDJOBJ --- ADD 1 TO COUNT OF BG. JOBS (K5) 26BL # 3. SUBJOB --- TAKE 1 FROM MOP COUNT (K2) 26W= # 4. SUBJOBJ --- TAKE 1 FROM BG. COUNT (K7) 272N ...# 5. CHEKPASWRD --- READ AND CHECK PASSWORD (K3) 2776 ...#SKI CASKI8214 27?J ...( 27D2 ...# 6. ADDJOBW --- ADD 1 TO COUNT OF BG. JOBS EVEN IF 27JD ...# FINISH HAS BEEN ISSUED (K11) 27NW ...) 27TG # 28*6 SEGENTRY K1ADDJOB,XK1 28SQ SEGENTRY K2ADDJOB,XK2 29#B SEGENTRY K3ADDJOB,XK3 29S2 SEGENTRY K5ADDJOB,XK5 2=?L SEGENTRY K7ADDJOB,XK7 2=CH ... FSHENTRY K8ADDJOB,,XK8,XK8 2=HD ... FSHENTRY K9ADDJOB,XK9,,XK9 2=M* ... FSHENTRY K10ADDJOB,XK10,,XK10 2=N= ...#SKI CASKI8214 2=P7 ... SEGENTRY K11ADDJOB,XK11 2=Q6 ...[ 2=SX ...[ 2=XN ...[ SEGENTRY K20ADDJOB & K21ADDJOB USED BY 2?2F ...[ RESTORE-TIME MACRO CLEARPASS 2?5= ...[ 2?83 ...[ 2?=W PHNOW +HNOW 2?QG PHSOON +HSOON 2#=6 MASK #03777777 2#PQ XIN 4HIN 2*9B XFONINTP +FONINTP 2*P2 XSECS 4HSECS 2B8L XMINS 4HMINS 2BN= SIXTY +60 2C7W THOU +1000 2CMG MAGIC +7036875 2D76 # 2DLQ ...# THE FOLLOWING ROUTINE IMPLEMENTS ADDJOB/J/W. ITS USE IN SYSTEM 2F6B # ISSUED CPA'S HAS NULL EFFECT. IT GEOERR'S IF OBEYED FROM AN 2FL2 # ACTIVITY OTHER THAN A CPA. 2G5L # 2G=# ...[ SET ENTRY INDICATORS AS FOLLOWS: 2GC2 ...[ X3=1 FOR MOP (ENTRY K1) 2GHN ...[ X3=0 FOR BACKGROUND (ENTRIES K5 AND K11) 2GNB ...#SKI CASKI8214 [SKIP FOR ENHANCEMENT DS8214 - PUT JOBS IN WELL AFT 2GT4 ...( 2G^Q ...[ AWORK2=0 FOR ENTRIES K1 AND K5 2H6D ...[ AWORK2=1 FOR ENTRY K11 (PUT JOB IN WELL IF FN ISSUED) - DS8214 2H?6 ...[ 2HCS ...) 2HJG XK1 NGNC 3 1 2J46 XK5 [ X3 = 1(MOP) 0(BACK) 2JB7 ... LDN 3 0 2JN8 ...#SKI CASKI8214 2K29 ...( 2K#= ... STOZ AWORK2(2) 2KL? ... BRN STARTADDJ 2KY# ...[ 2L=* ...XK11 2LJB ... LDN 4 1 2LWC ... STO 4 AWORK2(2) 2M8D ... LDN 3 0 2MGF ...[ 2MSG ...STARTADDJ 2N6H ...) 2NDQ CALL 7 SICPA [CHECK IF SYSTEM ISSUED OR NOT CPA 2NYB BRN UP2 [SYSTEM ISSUED 2PD2 LDXC 0 FINISH 2PMS ...#SKI CASKI8214<1$1 2PXL BCS XFIN [J IF FINISH HAS BEEN ISSUED 2PXQ ...#SKI CASKI8214 2PXW ...( 2PY2 ... BCC XK9 2PY6 ... CALL 5 SRFIN 2PY= ...) 2Q#? ...# 2Q*6 ...XK9 2Q*^ ...# 2QC= LDN 5 0 [X5=0 => FIRST TIME THROUGH 2RBG STO 5 AWORK1(2) 2RW6 XCHEK 2T*2 [ 2TSL [ 2W#= [ CALCULATE EFFECTIVE LIMIT L 2WRW [ FOR JOBS TYPE-X,OTHER TYPE-Y 2X?G [ 2XR6 [ L=MAX(X-JOBS,JOBLIMIT-MAX(Y-JOBS,Y-COUNT)) 2Y=Q [ 2YBK ... LDX 0 IMOPTOTAL 2YCW ... BNZ 3 XNCH [J IF MOP 2YF7 ... LDX 0 JOBLIMIT 2YGD ... SBX 0 IMOPTOTAL 2YHP ... BPZ 0 XEFFL 2YK2 ... LDN 0 0 384Q XEFFL [ EFFECTIVE LIMIT IN X0 38JB BZE 0 XNCH 3942 LDX 4 CONTEXT(2) 39HL ANDN 4 #20 3=3= BZE 4 XNEWL [ J IF NOT OPERATOR 3=GW LDX 7 CONTEXT(2) 3?2G ANDN 7 #200 [ X7 #0 IF REMOTE 3?G6 LDN 6 110 3?^Q LDN 4 5 3#FB BZE 7 XCAL 3#^2 LDN 6 105 3*DL LDN 4 2 3*Y= XCAL MPR 6 0 [ CALC MAX(L+X4,L*X6/100) 3BCW LDN 7 100 3BXG DVS 5 7 3CC6 ADX 0 4 3CWQ TXL 0 5 3DBB BCC XNEWL 3DW2 LDX 0 5 3F*L [ NEW CALCULATED EFFECTIVE LIMIT 3FT= [ ALLOWING FOR OPERATOR CONTEXTS AS REQUIRED 3G#W XNEWL 3GSG XNCH 3H#6 LDX 4 JOBCOUNT(3) 3HRQ TXL 4 0 3J?B BCS OK 3K=L [ 3KQ= [ 3WHG BNZ 3 XJER2 3X36 LONGSET #44,XLONG [MAY HAVE TO WAIT 3Y2B LDX 5 AWORK1(2) 3YG2 BNZ 5 WAIT [J IF NOT FIRST TIME THROUGH 3Y^L LDX 0 CONTEXT(2) 3^F= ANDN 0 #220 3^YW ERN 0 #200 42DG BNZ 0 XNREM [J IF (NOT REMOTE) OR (OPERATOR) 42Y6 # [I.E. CONTINUE FOR REMOTE AND... 43CQ # [NOT OPERATOR 43XB OUTPER 44C2 INFORM 0,JOBLIMR,1 [OUTPUT 'JOBLIMIT REACHED' MESSAGE 44WL WAIT 46*G LONGSTOP UPLS1 [WAIT. UPPLIS 1 IF BREAK IN 46T6 ORN 5 1 [TO INDICATE NOT FIRST TIME THROUGH 47SB STO 5 AWORK1(2) 48#2 BRN XCHEK [REPEAT COUNTS V LIMITS CHECK 48RL XNREM LDX 0 CONTEXT(2) 49?= ANDN 0 1 49QW BZE 0 NOUSE [J IF NO USER CONTEXT 4==G MONOUT JOBREACH 4=Q6 BRN WAIT 4?9Q NOUSE LDX 0 CONTEXT(2) 4?PB ANDN 0 #30 4#92 BNZ 0 XJER1 [J IF OPERATOR OR MOP CONTEXT 4#NL SETJOBLMT [SET JOBLIMIT ON READER... 4*8= LDCT 5 #400 [AND REMEMBER TO CLEAR IT LATER. 4*MW BRN WAIT 4B7G OK BZE 5 OK1 [NO COORDINATION ETC. SINCE ENTRY 4BM6 BPZ 5 NCL 4C6Q CLJOBLMT [CLEAR JOBLIMIT IF PREVIOUSLY SET 4CLB NCL LDXC 0 FINISH 4CW8 ...#SKI CASKI8214<1$1 4D62 BCS XFIN [J IF FINISH ISSUED SINCE ENTRY 4D8K ...#SKI CASKI8214 4D?8 ...( 4D*R ... BCC OK1 4DDB ... CALL 5 SRFIN 4DG^ ...) 4DKL OK1 LDN 0 1 4GJ6 ADS 0 JOBCOUNT(3) 4GM= ...UP2 4HD= ...UP2X UPPLUS 2 4HHB # 4J32 # ROUTINE FOR CATERING FOR FINISH 4JGL # 4JJ8 ...#SKI CASKI8214 4JKQ ...( 4JM# ...SRFIN 4JNW ...[ SUBROUTINE TO BE ENTERED IF FN SET. 4JQD ...[ LINK=X5 4JS2 ...[ IF JOB TO BE PUT IN WELL, EXIT 0 4JTJ ...[ OTHERWISE OUTPUT APPROPRIATE MESSAGE AND GO UP 4JX6 ...[ 4JYN ...) 4K2= ...XFIN LDX 6 PHNOW(1) [SET UP FINISH NOW MESSAGE 4KFW SLL 0 1 4K^G BNG 0 OUTM [J IF FINISH NOW 4K^X ...#SKI CASKI8214 4L2# ...( 4L2P ... LDX 4 AWORK2(2) 4L36 ... BZE 4 SRFIN5 [IF JOB CAN'T BE KEPT IN WELL 4L3H ... EXIT 5 0 4L3Y ...[ 4L4* ...SRFIN5 4L4Q ...) 4LF6 LDX 4 FINISH 4LYQ ANDX 4 MASK(1) 4MDB BNZ 4 TIME [J IF FINISH N 4MY2 LDX 6 PHSOON(1) [ELSE MUST BE FINISH SOON 4NCL OUTM OUTMESSX 6 4NX= XFER CALL 3 XERR 4PBW +HNOMORJ [NO MORE JOBS ARE BEING ACCEPTED 4PWG TIME LDX 0 XIN(1) 4QB6 STO 0 ACOMMUNE1(2) 4QTQ LDX 0 ACES 4R*B STO 0 ACOMMUNE2(2) 4RT2 MPY 4 XFONINTP(1) 4S#L LDX 6 XSECS(1) 4SS= BXL 5 SIXTY(1),SECS 4T?W DVR 4 SIXTY(1) 4TRG LDX 6 XMINS(1) 4W?6 SECS STO 6 ACOMMUNE3(2) 4WQQ BXL 5 THOU(1), X3FIG [J IF < 4 FIGURE TIME 4X=B LDN 5 999 [REPLACE SILLY TIME BY 999 4XQ2 X3FIG MPY 5 MAGIC(1) 4Y9L LDN 3 ACOMMUNE2(2) 4YP= LDN 0 7 4^8W MODE 0 4^NG XCBD1 CBD 5 0(3) 5286 LDCH 4 0(3) 52MQ BNZ 4 NZ [FIRST NON-ZERO CHAR FOUND 537B BCT 0 XCBD1 53M2 BRN WEND [SHOULDN'T DROP THROUGH 546L XCBD2 BCHX 3 £ 54L= CBD 5 0(3) 555W NZ BCT 0 XCBD2 55KG WEND OUTBLOCN 4 5656 LDN 4 12 56JQ OUTPARAM 4,ACOMMUNE1 574B BRN XFER 57J2 # 583L XJER1 LONGOFF 58H= XJER2 CALL 3 XERR 592W +JLIMIT 59GG XERR ERRORX 0(3) 5=26 UP 5=FQ # 5=^B # THE FOLLOWING ROUTINE IMPLEMENTS SUBJOB/J. ITS USE IN SYSTEM 5?F2 # ISSUED JOBS HAS NULL EFFECT. IT MUST BE OBEYED FROM A CPA. 5?YL # 5*CG XK2 NGNC 3 1 5*X6 XK7 5FS6 LDN 3 0 5G?Q CALL 7 SICPA [CHECK IF SYSTEM ISSUED OR NOT CPA 5GRB BRN UP [SYSTEM ISSUED 5G^# ...# 5G^X ...# 5H2G ...XK10 5H35 ...# 5JPW LDX 0 JOBCOUNT(3) 5K9G SBN 0 1 5KP6 BNG 0 XFEW [GEOERR IF COUNT -VE 5MML STO 0 JOBCOUNT(3) 5N7= LONGON #44 [KICK ANY CPA'S WAITING FOR JOBLIMIT 5N=B ...UP 5P3B ...UPX UP 5P6G # 5PL6 SICPA 5Q5Q LDXC 0 CONTEXT(2) 5QKB BCS (7) 5R52 ADN 7 1 5RJL LDX 0 ATYPE(2) 5S4= SRL 0 12 5SHW ERN 0 CPAT 5T3G BZE 0 (7) [J IF CPA 5TH6 GEOERR 1,ADDJOB 5W2Q # 5WGB XLONG 5X22 GEOERR 1,LONGSET? 5XFL XFEW 5X^= GEOERR 1,FEWJOBS 5YDW # 5YYG # 5^D6 # ENTRY FOR THE CHEKPASWRD MACRO 5^XQ # 62CB # 62X2 XK3 636S ... NOECHO 63BL OUTMESS JPASS 63W= CALL 5 SR4 64*W READY UPA [J. IF BROKEN IN OR INOPERABLE 64TG CALL 5 SR4 65*6 MHUNTW 3,FILE,FRB 65SQ LDCT 5 #600 [GET CHAR COUNT 66#B LDEX 4 A1+FRH(3) 66S2 ANDX 5 A1+FRH+1(3) 67?L SBN 4 2 67R= BZE 5 XNEXT 68=W SBN 4 1 68QG XNEXT SLL 45 2 69=6 LDX 5 ACES 69PQ LDX 6 5 6=9B LDX 7 5 6=P2 BZE 4 ZRH 6?8L XTAC LDCH 0 A1+FRH+2(3) [IGNORELEADING SPACES 6?N= TXU 0 SPACE(1) 6#7W BCS START 6#MG BCHX 3 £ 6*76 BCT 4 XTAC 6*LQ BRN ZRH 6B6B SPACE #20 6BL2 THIRTN +13 6C5L START TXL 4 THIRTN(1) 6CK= BCS PLUS2 6D4W LDN 4 12 [MAX OF 12 CHARS 6DJG PLUS2 LDN 2 0 6F46 PLUS3 LDCH 0 A1+FRH+2(3) 6FHQ DCH 0 5(2) [STORE PASS WORD 6G3B BCHX 2 £ 6GH2 BCHX 3 £ 6H2L BCT 4 PLUS3 6H3= ...[ 6H3W ... SEGENTRY K20ADDJOB 6H4G ... BRN SEC [THIS IS MENDED BY MACRO CLEARPASS 6H56 ... CLEARVDU [CLEAR PASSWORD ON VDU 6H5Q ...[ 6H6B ... SEGENTRY K21ADDJOB 6H72 ...SEC 6H8G ...#SKI G3UGSI<1$1 6H=2 ...( 6H?G ...[ SKIPPED IF USER GROUP SECURITY INTERFACE SWITCHED ON 6H*2 ... SINMAC1 5 [SECURITY INTERFACE MACRO 6HG= ZRH MFREEW FILE,FRB 6HHS ...) 6HKB ...#SKI G3UGSI 6HLY ...( 6HNG ...[ THIS SECTION IS COMPILED IF G3 USER GROUP SECURITY INTERFACE 6HQ4 ...[ ENHANCEMENT IS SWITCHED ON 6HRL ...ZRH 6HT8 ... SINMAC1 5,,1 6HWQ ... MFREEW FILE,FRB 6HY# ...) 6H^W HUNTW 3,FILE,ADICTENT 6JFG BNG 3 UPLS1 6J^6 TXU 5 CPASS(3) 6KDQ TXU 6 CPASS+1(3) 6KYB TXU 7 CPASS+2(3) 6LD2 BCS UPLS1 6LXL FREECORE 3 6MC= UPPLUS 2 6MWW UPA 6NBG CALL 5 SR4 6NW6 UP 6P*Q UPLS1 UPPLUS 1 6PTB # 6Q*2 # THIS SUBROUTINE SETS OR UNSETS A BIT TO SAY 'PSEUDO-USER' DO 6QSL # NOT CLOSE DOWN 6R#= SR4 SNUIB 6RRW EXIT 5 0 6SR6 #END ^^^^ ...74674755000800000000