17 22FL ...#SEG QUOTA60 [OWEN N JOHN :CENT 9 22_= #OPTIONAL K0QUOTA=0 10 23DW #OPTIONAL K6QUOTA=100 11 23YG #LIST K0QUOTA>K0ALLGEO 9 24D6 8HQUOTA 4 24XQ # 4 25CB # 14 25X2 # IMPLEMENTS THE QUOTA COMMAND. 4 26BL # 10 26W= SEGENTRY K1QUOTA,XK1 7 26YT ...#UNS G4PERMDIAG 4 273D ...( 14 2763 ...# DIAGNOSTIC FOR PERMISSION VIOLATIONS. 10 278L ... SEGENTRY K2QUOTA,XK2 4 27?9 ...) 4 27*W # 4 27TG # 15 28*6 # IN GEORGE 3 THIS COMMAND HAS NO EFFECT. 4 28SQ # 4 29#B # 8 29S2 #SKIP G3 4 2=?L ( 4 2=R= XK1 6 2?=W ENDCOM 4 2?QG ) 8 2#=6 #SKIP G4 4 2#PQ ( 4 2*9B # 4 2*P2 # 19 2B8L # IN GEORGE 4 THIS COMMAND JUST VERIFIES THE PARAMETERS, AND 17 2BN= # USES THE STARTSCI SEGMENT TO DO THE DIRTY WORK. 4 2C7W # 4 2CMG # 4 2D76 # 7 2DLQ NFIX 4 8 2F6B 4HFIX 4 2FL2 # 4 2G5L # 7 2GK= NFREE 4 9 2H4W 4HFREE 4 2HJG # 4 2J46 # 10 2JHQ Z4MPLUS1 4*1024*1024+1 4 2K3B # 16 2K55 ...# SUBROUTINE TO FIND SWAP CONTROL BLOCK(BSTB/BSCB) 10 2K6S ...# POINTER IN X3.LINK IS X7 6 2K8H ...XHUNTBSCB 8 2K== ... SBX 7 FX1 17 2K?_ ... FPCACA 3,FX2 [FIND PCA FROM CPAT 16 2K*N ... HUNT2 3,BSTB,BSCB [FIND BSTB/BSCB 8 2KCC ... ADX 7 FX1 7 2KF6 ... EXIT 7 0 4 2KH2 XK1 18 2L2L STOZ 4 [ SET FIX MARK = ZERO. 17 2LG= PARABEG 1,NFREE(1) [ FIND 'FREE' PARAM. 10 2L_W HUNT 3,CPB,CUNI 9 2MFG LDX 0 ANUM(3) 19 2M_6 BNG 0 QFIX [ JUMP IF NO 'FREE' PARAM. 17 2NDQ BZE 0 NONUM [ JUMP IF JUST 'FREE' 18 2NYB BRN NUMBER [ ELSE CONVERT NUMBER. 19 2PD2 QFIX PARABEG 1,NFIX(1) [ LOOK FOR 'FIX' PARAMETER. 10 2PXL HUNT 3,CPB,CUNI 9 2QC= LDX 0 ANUM(3) 17 2QWW BNG 0 QNUM [ JUMP IF NOT FOUND. 16 2RBG LDN 4 1 [ SET FIX MARK. 18 2RW6 BZE 0 NONUM [ AND JUMP IF NO NUMBER. 9 2S*Q BRN NUMBER 15 2STB QNUM PARAPASS [ NO PREFIX. 10 2T*2 HUNT 3,CPB,CUNI 9 2TSL LDX 0 ANUM(3) 8 2W#= BNG 0 NONUM 8 2WRW BZE 0 NONUM 5 2X?G NUMBER 10 2XR6 LDX 0 JPARNUM(3) 7 2Y=Q SBN 0 1 20 2YQB BNZ 0 NERROR1 [ JUMP IF NOT FIRST PARAMETER. 7 2_=2 FJOCA 2 17 2_PL TESTRT NERROR3,2 [ JUMP IF REAL TIME. 14 329= CHNUMCO1 ,ZBREAKIN [ GET NO. 17 32NW TESTREPN OK,Q200 [ JUMP IF COCK UP. 16 338G LDX 6 ACOMMUNE1(2) [ PICK UP NUMBER. 21 33N6 BXGE 6 Z4MPLUS1(1),NERROR2 [ JUMP IF REQUEST TOO SILLY (EG >4M 15 347Q BZE 6 NERROR2 [ OR > 4M) 15 34MB ADN 6 1023 [ ROUND UP 8 3572 ANDX 6 B2T13 8 35#8 ...#SKI JWPHASE4<1$1 4 35FB ...( 19 35LL BXL 6 AMAXQUOTA,Q100 [ JUMP IF LESS THAN MAXIMUM, 17 366= LDX 6 AMAXQUOTA [ ELSE GIVE MAXIMUM. 4 36KW Q100 17 375G SRL 6 10 [ ROUND UP TO 1K MULT 4 376* ...) 7 3778 ...#SKI JWPHASE4 4 3783 ...( 8 378W ... FJOCA 3,2 9 379P ... LDX 5 JQUOTA(3) 16 37=J ... BNZ 5 QNDF [J IF HLS HAS GIVEN A MQ 9 37?C ... LDX 5 AMAXQUOTA 17 37#= ...QNDF BXL 6 5,Q100 [J IF REQUEST WITHIN LIMIT 7 37*5 ... LDX 6 5 9 37*Y ...Q100 LDX 5 AMAXQUOTA 9 37BR ... BXGE 5 6,NTELL 8 37CL ... SRL 6 10 16 37DF ... HLSINFORM ZBREAKIN,MAXQUOTA,JOBNO(2),6,,,XOPT1 14 37F# ... LDX 6 5 [TAKE IP MQ IF OVER IT 8 37G7 ...NTELL SRL 6 10 5 37H2 ...XOPT1 4 37HT ...) 8 37K6 FJOCA 3,FX2 17 384Q TESTRCTP 3,RCTP [ RCTP'S ARE ARKWARD. 4 38JB Q102 17 3942 LDX 1 3 [KEEP X1 -> JOB BLOCK 16 39HL ... CALL 7 XHUNTBSCB [FIND BSTB/BSCB 4 3=GW Q103 15 3?2G TESTLOAD 1,Q104 [J IF LOADED 2 3?G6 8 3?_Q LDX 0 HALFTOP 9 3#FB ANDS 0 AQUOTA(3) 9 3#_2 DSA 6 AQUOTA(3) 8 3*DL BRN Q101 4 3*Y= Q104 7 3BCW ... NGNC 0 1 9 3BXG ... ANDX 0 AQUOTA(3) 16 3CC6 ... STO 0 AQUOTA(3) [CLEAR FIX BIT 8 3CWQ ANDN 0 #7777 10 3DBB BXE 0 6,QJUSTCLEAR 10 3DW2 DOWN STARTSCI,3 16 3F*L ... CALL 7 XHUNTBSCB [FIND BSTB/BSCB 9 3G#W LDX 0 AQUOTA(3) 8 3GSG ANDN 0 #7777 7 3H#6 SBX 0 6 8 3HRQ BZE 0 Q101 10 3J?B GEOERR 1,QUOTA??? 4 3JR2 Q101 5 3JSY ...NONUM1 4 3JWW ...[ 18 3JYS ...[ THIS IS TO CURE BUG3104 - CONCERNS NON-OUTPUT OF:- 15 3K2Q ...[ ^EXECUTION OF YOUR PROG MAY BE DELAYED^ 14 3K4N ...[ 7TH JULY 75 :CENT 4 3K6L ...[ 16 3K8J ... FJOCA 2,FX2 [FIND THE JOB BLOCK 9 3K=G ... LDX 0 AQUOTA(3) 16 3K#D ... SLL 0 10 [OBTAIN QUOTA IN WORDS 16 3KBB ... STO 0 JCSIZE(2) [NOW WE UPDATE JCSIZE 4 3KD# ...[ 18 3KG= ... BXL 0 COBJQUOTA,NOTBIG [J. IF CORE REQ. >< OQ. 17 3KJ8 ... MONOUT BIGPROG [ELSE OP ^EXEC MAY BE DEL..^ 16 3KK7 ... CALL 7 XHUNTBSCB [FIND BSTB/BSCB 5 3KL6 ...NOTBIG 4 3KN4 ...[ 8 3KQ= LDCT 0 #400 15 3L9W ORS 0 AQUOTA(3) [ SET FIX. 8 3LPG BNZ 4 Q200 16 3M96 ERS 0 AQUOTA(3) [ UNSET IF FREE. 4 3MNQ Q200 6 3N8B ENDCOM 7 3NN2 NONUM FJOCA 2 17 3P7L TESTRT NERROR3,2 [ JUMP IF REAL-TIME. 16 3PM= ... CALL 7 XHUNTBSCB [FIND BSTB/BSCB 20 3QLG BNZ 4 NONUM1 [ IF JUST 'QUOTA FREE', THEN WE 6 3R66 QJUSTCLEAR 20 3RKQ DOWN STARTSCI,1 [ USE THIS ENTRY POINT TO JUST 17 3RTJ ... BNZ 4 NONUM [ENSURE FIX BIT SET IF NEC. 19 3S9? ... BRN NOTBIG [ ENSURE FREE SET AND ENDCOM 4 3SK2 RCTP 21 3T4L SBN 6 1 [ RCTP MUST HAVE 2 PAGES IN QUOTA. 9 3TJ= BZE 6 NERROR2 7 3W3W ADN 6 1 8 3WHG BRN Q102 4 3X36 # 8 3XGQ # ERROR CASES. 4 3Y2B # 11 3YG2 NERROR1 [ PARAMETER ERROR 9 3Y_L COMERR APFERR 12 3_F= NERROR2 [ REQUEST IS STUPID. 8 3_YW COMERR IQR 12 42DG NERROR3 [ REALTIME PROGRAM 9 42Y6 COMERR JRTQUOTA 4 43CQ # 7 43XB # BREAKIN 4 44C2 # 5 44WL ZBREAKIN 7 45B= COMBRKIN 10 45TW MENDAREA 40,K99QUOTA 4 46*G ) 7 46*X ...#UNS G4PERMDIAG 4 46B# ...( 4 46BP ...# 20 46C6 ...# THIS CODE IS A DIAGNOSTIC TO DETECT THE LOSING OF PERMISSION 18 46CH ...# BITS IN THE PAGE TABLE ENTRY OF A PAGE JUST SWAPPED IN 15 46CY ...# IT GEOERRS IF A PAGE HAS NO PERMISSIONS 4 46D* ...# 4 46DQ ...# 8 46F7 ...#DEF XPCAPTR=AWORK1 16 46FJ ...MASK #1600 [PERMISSION BITS 16 46F_ ...XK2 LDX 2 XPCAPTR(2) [SET X2 TO PCA 14 46GB ... LDN 4 0 [PAGE 0 20 46GR ... LDX 5 BIT11 [MAX POSSIBLE SIZE OF PROGRAM 20 46H8 ... SCANINIT (GEOERR),ASEGTAB(2),4,5 [ENSURE ALL COVERED IN ONE 16 46HK ... [SEGMENT TABLE 5 46J2 ...ZNEXTSEG 15 46JC ... SCANPT 2,ZUP,ZNEXTSEG,,ASEGTAB(2),4,5,3,6 13 46JS ...# X3 NOW POINTS TO PAGE TABLE ENTRY 15 46K9 ...# X6 NOW CONTAINS NO OF CONSECUTIVE ENTRIES 8 46KL ... LDX 1 FX1 5 46L3 ...ZNEXT 16 46LD ... LDX 0 0(3) [PAGE TABLE ENTRY 19 46LT ... BNG 0 NOTREP [J IF NOT REPLACEMENT ENTRY 19 46M= ... SMO 0 [PICK UP REPLACEMENT ENTRY 7 46MM ... LDX 0 0 5 46N4 ...NOTREP 18 46NF ... ANDX 0 MASK(1) [ISOLATE PERMISSION BITS 17 46NW ... BZE 0 ZNOPERM [J TO GEOERR IF NONE 18 46P? ...XCONT ADN 3 1 [NEXT PAGE TABLE ENTRY 8 46PN ... BCT 6 ZNEXT 15 46Q5 ... ADN 4 64 [NEXT SEGMENT 9 46QG ... BRN ZNEXTSEG 5 46QX ...ZUP UP 5 46R# ...ZNOPERM 9 46RP ... GEOERR 1,NOPERMS 4 46S6 ...) 4 46T6 #END 8 ____ ...43215144000600000000