14 22FL #LIS K0CORE>K0ALLGEO>K0GREATGEO>K0COMMAND 17 22_= ...#SEG CORE36 [ DEK BEASLEY : CENT 4 2357 ...[ 16 2394 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 4 23#_ ...[ 9 23DW 8HCORE 4 23YG # 20 24D6 # THIS SEGMENT IMPLEMENTS THE CORE COMMAND WHICH ALTERS 20 24XQ # THE MAXIMUM CORE AVAILABLE TO AN OBJECT PROGRAM TO 20 25CB # THE VALUE SPECIFIED, AND ALSO IMPLEMENTS THE MAXSIZE 9 25X2 # COMMAND. 4 26BL # 8 26W= # ENTRY POINTS:- 4 27*W # 15 27TG SEGENTRY K1CORE,ZEP1 [CORE COMMAND 16 28*6 SEGENTRY K2CORE,ZEP2 [MAXSIZE COMMAND 16 28MG ... SEGENTRY K3CORE,ZEP3 [MAXQUOTA COMMAND 4 28SQ # 20 2=?L #DEF PROGRND=64 [ROUNDING CONSTANT FOR MAXSIZE 8 2=R= XK +1024 8 2?=W XMINK -1024 8 2?QG X128 +128 18 2#PQ XJD 8HJD 6, [INTERNAL JOBDATA COMMAND 10 2*46 ...XMQ 8HJD MQ 20 2*9B MAGIC +7036875 [2 TO POWER 46 / 10 TO POWER 7 9 2DLQ MAXSIZE #20000000 9 2F6B PROGRNDN -PROGRND 9 2FDQ ...XB2T13 #17776000 4 2FL2 # 8 2G5L # ERROR MESSAGES 18 2GK= XERM1 +JPARMIS [ %C PARAMETER MISSING 18 2H4W XERM2 +ICR [ %C INVALID CORE REQUEST 21 2HJG XERM3 +ICRA [ CURRENT CORE IMAGE IS LARGER THAN % 21 2J46 XERM4 +JRTCOR [ REALTIME PROGRAMS CANNOT ALTER THEI 8 2JBG ...XERM5 +IMQR 15 2JHQ # [ CORE SIZE 8 2K3B # ERROR EXITS 8 2KH2 NCORE LDN 3 XERM1 8 2L2L BRN XERR 8 2LG= WRCR LDN 3 XERM2 8 2L_W BRN XERR 8 2MFG WRCRA LDN 3 XERM3 8 2M_6 BRN XERR 8 2NDQ RTCOR LDN 3 XERM4 8 2NNH ... BRN XERR 8 2NR6 ...WRMQ LDN 3 XERM5 8 2NYB XERR SMO FX1 8 2PD2 LDX 7 0(3) 7 2PXL COMERRX 7 4 2QC= # 6 2QCW ...#UNS ISTDP 4 2QDG ...( 21 2QGB ...[ SUBROUTINE TO INVALIDATE A VALID FPB FOR JOBS PROGRAM IF ONE EXIST 17 2QH2 ...[ X7 - LINK, ON EXIT X2=FX2. ENTRY MUST BE IN CPA 5 2QHL ...XINVFPB 16 2QJ= ... FJOCA 2,FX2 [FIND JOB BLOCK 19 2QJW ... JBCC XG4Z2,2,JBWASIN [J IF VALID FPB DOESN'T EXIST 19 2QKG ... LDX 0 JOBNUM(2) [USE JOB NO. TO LOCATE FPB 17 2QL6 ... LDN 2 BOBJUNUSE [BASE OF FPB CHAIN 5 2QLQ ...XG4FPB 16 2QMB ... LDX 2 FPTR(2) [LOAD NEXT FPB 10 2QN2 ... BXU 2 CXOBJUN,XG4Z3 9 2QNL ... GEOERR 1,FPBMISNG 16 2QP= ...XG4Z3 BXU 0 JOBNOWAS(2),XG4FPB [J IF NOT OUR FPB 10 2QPW ... STOZ JOBNOWAS(2) 9 2QQG ... LDX 0 ALOGL(2) 19 2QR6 ... ADS 0 CINVFPB [ADD INTO INVALID FPB TOTAL 5 2QRQ ...XG4Z2 8 2QSB ... LDX 2 FX2 7 2QT2 ... EXIT 7 0 4 2QW= ...) 4 2QWW # 18 2RBG ZEP1 [ENTRY FOR CORE COMMAND 18 2RW6 PARAPASS [EXTRACT CORE REQUIRED 10 2S*Q HUNT 2,CPB,CUNI 9 2STB LDXC 7 ANUM(2) 15 2T*2 BCS NCORE [ERROR IF NO 16 2TSL BZE 7 NCORE [CORE SPECIFIED 16 2W#= CHNUMCOD ,2,XDED1 [ 1 IF BREAKIN 17 2WRW TESTREP CHNUMERR,XDEAD [ERROR IN CHNUMCON 5 2X?G #SKIP G3 17 2XR6 LDX 6 ACOMMUNE1(2) [REQUEST IN BINARY 5 2Y=Q #SKI G4 17 2YQB LDX 4 ACOMMUNE1(2) [REQUEST IN BINARY 8 2_=2 FJOCA 3,2 9 2_PL TESTLOAD 3,NODELAY 10 329= LOADNOW XDED1,XDEAD,0 5 32NW NODELAY 7 347Q LDXC 6 6 15 34MB BCS WRCR [ERROR IF -VE 17 3572 BVSR / [ENSURE OVF IS CLEAR 8 35LL ADN 6 63 16 366= BVSR WRCR [ERROR IF TOO BIG 9 36KW ANDX 6 CMIN64 8 375G BZE 6 WRCR 8 37K6 FPCACA 3,2 7 384Q LDN 5 1 9 38JB LDXC 0 ASU2(3) 7 3942 SBN 5 0 9 39HL LDXC 0 ASU3(3) 7 3=3= SBN 5 0 9 3=GW LDXC 0 ASU4(3) 7 3?2G SBN 5 0 19 3?G6 BNG 5 XCC [J IF > 1 MEMBER NON EXISTENT 19 3?_Q BXL 6 X128(1),WRCR [ ELSE ERROR IF REQUEST < 128 7 3#FB XCC FJOCA 2 9 3#_2 RTTEST RTCOR,2 8 3*DL LDX 2 FX2 8 3*Y= TESTTP 3,XTP 15 3BCW BRN XNTP [J IF NOT TP 8 3BXG XTP FINDPUC 3,1 9 3CC6 LDX 5 ALIMIT(1) 15 3CWQ SBX 5 ALIMIT(3) [CALC NEW PUC 15 3DBB ADX 5 6 [LIMIT(SIZE). 8 3DW2 BNG 5 WRCR 8 3F*L BZE 5 WRCR 7 3FT= LDN 7 1 9 3G#W LDXC 0 ASU2(1) 7 3GSG SBN 7 0 9 3H#6 LDXC 0 ASU3(1) 7 3HRQ SBN 7 0 9 3J?B LDXC 0 ASU4(1) 7 3JR2 SBN 7 0 19 3K=L BNG 7 PUCN [J IF > 1 MEMBER NOT EXISTENT 8 3KQ= SMO FX1 20 3L9W BXL 5 X128,WRCR [ ELSE ERROR IF PUC LIMIT < 128 17 3LPG PUCN STO 5 ALIMIT(1) [SET NEW PUC LIMIT 4 3M96 XNTP 10 3MNQ HUNT2 1,ASCBT,0,3 9 3N8B TXU 6 BCORSZ(1) 8 3NN2 BCS XCD 4 3P7L # 12 3PM= # REQUEST = CURRENT TOTAL CORE 4 3Q6W # 9 3QLG XCY TXU 6 ACORSZ(1) 18 3R66 BCC XCE [BRN IF REQUEST = CURRENT 17 3RKQ # [ACTIVE CORE ALSO 17 3S5B CALL 7 SCB [ELSE UPDATE SCB ETC 18 3S*8 ... CALL 7 XINVFPB [INVALIDATE ANY VALID FPB 4 3SK2 XCE 8 3W3W FPCACA 3,FX2 9 3WHG XSTPC LDX 7 ALMT(3) 9 3X36 LDX 0 ADTM(3) 19 3XGQ ADX 0 ALIMIT(3) [CALCULATE NEW LIMIT FOR EXEC 18 3Y2B DCH 7 0 [ AND DUMP MODES BACK IN 9 3YG2 STO 0 ALMT(3) 18 3Y_L ANDX 7 CACT [ FLOATING POINT OVERFLOW 16 3_F= ORS 7 ALMT(3) [ AND UNDERFLOW 21 3_YW TESTTP 3,XNOR [DO THE SAME THING FOR THE PUC IF ITS 8 42DG BRN XNOS 14 42Y6 XNOR FINDPUC 3,3 [ AN RCTP 8 43CQ BRN XSTPC 4 43XB XNOS 7 44WL OUTBLOCN 6 10 45B= OUTPACKC 6,1,PROGCORE 11 45TW OUTPARC JOBMILL,TIMENOW 7 46*G OUTPMILL 21 46T6 MONOUT CORE [WRITE MESSAGE SAYING CORE SIZE GIVEN 21 47#Q PERCOUNT [OUTPUT CNT OF PERIPH TRANSFERS (S/J) 8 47SB #SKI K6CORE>99-99 9 48#2 TRACE 6,NEWCORE 8 48RL FJOCA 3,2 9 49?= LDX 5 JCSIZE(3) 17 49QW ANDX 5 BITS22LS [REMEMBER OLD SIZE 8 4==G LDCT 0 #600 9 4=Q6 ANDX 0 BITS22LS 7 4?9Q ORX 0 6 15 4?PB STO 0 JCSIZE(3) [SET NEW SIZE 9 4#92 LDX 0 COBJQUOTA 20 4#NL BXGE 0 6,XDEAD [J IF NEW SIZE < OR = OBJECTQUOTA 19 4*8= BXL 0 5,XDEAD [J IF OLD SIZE > OBJECTQUOTA 19 4*MW MONOUT BIGPROG [ ELSE ISSUE BIGPROG MESSAGE 6 4B7G XDEAD ENDCOM 7 4BM6 XDED1 COMBRKIN 21 4C6Q SCBA NGN 5 1 [ENTRY FOR SETTING AWORK3,X4,X5 ONLY 8 4CLB BRN SCB1 21 4D62 SCB SBX 7 FX1 [ENTRY FOR UPDATING SCB WITH SWAPOUT 16 4DKL SWAPOUT [ AND EXIT WITH 8 4F5= ADX 7 FX1 7 4FJW SCZ LDN 5 0 8 4G4G SCB1 LDX 2 FX2 8 4GJ6 FPCACA 3,2 10 4H3Q HUNT2 1,ASCBT,0,3 9 4HHB LDX 0 AOBJLF(1) 19 4J32 STO 0 AWORK3(2) [LOGICAL FILE NO OF SWAP FILE 7 4JGL LDX 0 5 7 4K2= LDX 5 6 20 4KFW SBN 5 1 [ENSURE A REMAINDER IN THE RANGE 21 4K_G [ 1 TO [BSSS],NOT 0 TO ([BSSS]-1) 8 4LF6 DVS 4 BSSS 7 4LYQ ADN 5 1 21 4MDB BNG 0 SCB2 [IF ENTRY AT SCBA,AVOID UPDATING SCB 7 4MY2 ADN 4 1 9 4NCL STO 6 ALIMIT(3) 10 4NX= LDX 0 BWRDNUM(1) 9 4PBW STO 0 AWORK1(2) 9 4PWG LDX 0 BCORSZ(1) 9 4QB6 STO 0 AWORK2(2) 9 4QTQ LDX 0 ACORSZ(1) 10 4R*B STO 4 BWRDNUM(1) 10 4RT2 STO 4 AWRDNUM(1) 9 4S#L STO 4 AWORK4(2) 9 4SS= LDX 4 BSHEET(1) 9 4T?W STO 5 ASHEET(1) 9 4TRG STO 5 BSHEET(1) 9 4W?6 STO 6 ACORSZ(1) 9 4WQQ STO 6 BCORSZ(1) 7 4X=B EXIT 7 0 9 4XQ2 SCB2 LDX 4 BSHEET(1) 7 4Y9L EXIT 7 0 4 4YP= # 21 4_8W NUSHT [INSERTS EXTRA SHEET NUMBERS IN SCB.IF ACOM7<0 WE TAKE 21 4_NG [[X5] ENTRIES FROM A FULLB BLOCK;IF NOT THEN ACOM7 IS THE 13 5286 [NUMBER OF A SINGLE SHEET 8 52MQ STO 7 GEN4 10 537B LDX 7 ACOMMUNE7(2) 8 53M2 BPZ 7 NUSH1 10 546L MHUNTW 1,BSTB,FULLB 7 54L= NUSH1 FPCACA 2 10 555W HUNT2 2,BSTB,BSCB 8 55KG BPZ 7 NUSH2 8 5656 STO 1 GEN5 8 56JQ ADN 1 A1+2 7 574B ADX 2 4 9 57J2 ADN 2 AOBJST 7 583L SMO 5 7 58H= MOVE 1 0 8 592W FREECORE GEN5 9 59GG BRN (GEN4) 7 5=26 NUSH2 SMO 4 9 5=FQ STO 7 AOBJST(2) 9 5=_B BRN (GEN4) 4 5?F2 # 21 5?YL XGET1 [GETS A SINGLE BACKING STORE SHEET AFTER TRANSFER FAILURE 8 5#D= SBX 7 FX1 8 5#XW LDX 2 FX2 11 5*CG GETBACK AWORK3(2),PRIV 8 5*X6 ADX 7 FX1 7 5BBQ EXIT 7 0 19 5BWB XGET2 [GETS A SINGLE BACKING STORE SHEET FOR NORMAL USE 8 5CB2 SBX 7 FX1 8 5CTL LDX 2 FX2 9 5D*= GETBACK AWORK3(2) 8 5DSW ADX 7 FX1 7 5F#G EXIT 7 0 4 5FS6 # 4 5G?Q # 4 5GRB # 10 5H?2 # ZEROISATION ROUTINE 10 5HQL # START ADDRESS IN X1 14 5J== # LENGTH IN X3 (MULTIPLE OF 64 <1025) 4 5JPW # 8 5K9G ZERO STOZ 0(1) 7 5KP6 SBN 3 2 8 5L8Q STOZ 1(1) 8 5LNB LDN 2 2(1) 8 5M82 SBNC 3 512 21 5MML BCS ZEZ [BRN IF < 512 WORDS LEFT TO ZEROISE 7 5N7= ZEY MOVE 1 0 17 5NLW ADN 2 512 [NO NEED TO UPDATE X1 8 5P6G SBNC 3 512 8 5PL6 BCC ZEY 8 5Q5Q ZEZ MOVE 1 0(3) 8 5QKB LDX 2 FX2 7 5R52 ZEX EXIT 0 0 4 5RJL # 10 5S4= # ZEROISATION ROUTINE 10 5SHW # LENGTH (1 SHEET FOR FREEING,SET UP FULLB 11 6D4W SETUPCORE 4,3,BSTB,FULLB 8 6DJG XLA FJOCA 3,2 9 6F46 LDX 0 JMISC(3) 7 6FHQ SRL 0 3 8 6G3B ANDN 0 #6000 19 6GH2 BZE 0 XLC [J IF PROGRAM NOT SWAPPED IN 9 6H2L LDX 7 AWORK1(2) 20 6HG= BNG 7 XLC [J TO UPDATE SCB WITH SWAPOUT IF 20 6H_W [ CORE REQUEST > CURRENT ACTIVE 21 6JFG PROGAXES 3,XLA [CHECK OK TO ALTER PROG BLOCK - IF 20 6J_6 [ NOT,WAIT UNTIL OK THEN J TO XLA 8 6KDQ FPCACA 1,2 10 6KYB HUNT2 1,AOBJPROG,0 19 6LD2 SBS 7 COBJUSE [DECREMENT CORE USED FOR O/PS 7 6LXL NGX 7 7 21 6MC= ADX 7 ALOGLEN(1) [NEW LOGICAL LENGTH OF OBJECT PROGRAM 20 6MWW ALTLEN 1,7 [ SHORTEN O/P - NO COORDINATION 20 6N44 ...#SKI ELLS [ACTIVATE CORE SCHEDULER TO USE 17 6N9= ... KICKASWINT [NEWLY FREED CORE 19 6NBG ENDPAXES 3 [SIGNAL END OF PROGRAM ACCESS 19 6NW6 XLD CALL 7 SCZ [UPDATE SCB WITHOUT SWAPOUT 8 6P*Q BRN XLE 18 6PTB XLC CALL 7 SCB [UPDATE SCB WITH SWAPOUT 18 6Q58 ... CALL 7 XINVFPB [INVALIDATE ANY VALID FPB 7 6Q*2 XLE SBX 4 5 17 6QSL BZE 4 XCE [J IF NO SPARE SHEETS 17 6R#= BCT 4 XLG [J IF >1 SPARE SHEETS 7 6RRW ADN 4 1 7 6S?G SMO 5 21 6SR6 LDX 7 AOBJST(1) [GET SHEET NO OF SHEET TO BE FREED 15 6T=Q FREEBACK AOBJLF(1),7 [ AND FREE IT 8 6TQB BRN XLH 21 6W=2 XLG HUNTW 3,BSTB,FULLB [FIND FULLB AND SET IT UP IN REQUIRED 14 6WPL ADN 4 3 [ FORMAT 8 6X9= STO 4 A1(3) 7 6XNW SBN 4 2 9 6Y8G LDX 0 AOBJLF(1) 9 6YN6 STO 0 A1+1(3) 7 6_7Q SMO 5 9 6_MB LDN 7 AOBJST(1) 9 7272 LDN 0 A1+2(3) 7 72LL SMO 4 21 736= MOVE 7 0 [INSERT NUMBERS OF SHEETS TO BE FREED 18 73KW FREEBAX [FREE SPARE B/S SHEETS 10 745G MFREEW BSTB,EMPTYB 8 74K6 XLH FPCACA 3,2 10 754Q HUNT2 3,BSTB,BSCB 10 75JB LDX 7 ALOGLEN(3) 7 7642 SBX 7 4 21 76HL ALTLEN 3,7 [SHORTEN SCB BY NO OF SHEETS FREED 8 773= BRN XCE 4 77GW # 4 782G XCF 4 78G6 # 11 78_Q # REQUEST > PRESENT TOTAL 4 79FB # 9 79_2 LDX 4 BCORSZ(1) 17 7=Y= FJOCA 3,2 [CONSTRAINT IN ACC 5 19 7BY6 ... LDX 5 JSIZE(3) [SAVE [JSIZE] OVER HLSINFORM 9 7BYT ... LDX 0 AOBJCORES 19 7B_J ... BXGE 0 6,XSIZEOK [J IF REQUEST JSIZE(MAXSIZE ETC.) 7 7C32 ... LDX 7 6 21 7C3P ... ADN 7 1023 [LOAD SIZE AND ROUND UP TO NEXT 'K' 16 7C4D ... SRL 7 10 [ FOR HLSINFORM 19 7C57 ...[ INFORM HLS THAT SIZE REQUIRED IS > COREOBJECT & < MAXSIZE 13 7C5W ...[ JUMPS TO XDX1 IF REQUEST ALLOWED 15 7C6K ... HLSINFORM XDED1,MAXSIZE,JOBNO(2),7,,,XDX1 16 7C7# ... LDX 5 AOBJCORES [REQUEST DENIED 8 7C83 ... BRN XDX1 5 7C8Q ...XSIZEOK 9 7C9F ... TXL 5 AOBJCORES 20 7C=8 ... BCS XDX [IF [JSIZE] > COREOBJECT,WE USE 15 7C=X ... LDX 5 AOBJCORES [ COREOBJECT 4 7CBD ...XDX1 19 7CF= ... LDX 2 FX2 [AS HLSINFORM MAY SET X1=FX1 17 7CJ4 ... FPCACA 1,2 [RESET X1 TO ASCBT 9 7CLW ... HUNT2 1,ASCBT,0 8 7CPN ...XDX LDX 0 AFREE 7 7CSG TXL 0 6 19 7D#6 BCS XDA [BRN UNLESS NO FREE CORE LEFT 7 7DRQ TXL 5 6 21 7F?B BCC XCA [BRN UNLESS REQUEST .GE. COREOBJECT 7 7FR2 XDA TXL 4 5 8 7G=L BCS XDB 7 7GQ= LDX 5 4 7 7H9W XDB LDX 6 4 7 7HPG TXL 6 0 8 7J96 BCC XDC 7 7JNQ LDX 6 0 7 7K8B XDC TXL 5 6 8 7KN2 BCC XDD 21 7L7L LDX 6 5 [X6=MIN(MAX(CURRENT TOTAL,COREOBJECT) 18 7LM= [ MAX(C.T.,AFREE)) 9 7M6W XDD ANDX 6 CMIN64 9 7MLG TXU 6 BCORSZ(1) 8 7N66 BCC XCY 4 7NKQ XCA 20 7P5B CALL 7 SCBA [FIND NO OF NEW SHEETS NEEDED,ETC 9 7PK2 LDX 7 BCORSZ(1) 9 7Q4L SBX 7 ACORSZ(1) 7 7QJ= SBX 5 4 19 7R3W BZE 5 WCP [J IF NO NEW SHEETS NEEDED 7 7RHG LDX 3 1 10 7S36 LDX 0 ALOGLEN(3) 7 7SGQ ADX 0 5 9 7T2B STO 0 AWORK1(2) 20 7TG2 ALTLEN 3,AWORK1(2) [LENGTHEN SCB BY NO OF NEW SHEETS 21 7T_L WCP BZE 7 NOSO [IF ACTIVE1 EXTRA SHEET REQUIRED 20 7XY6 CALL 7 XGET2 [ OTHERWISE,IF JUST ONE, GET IT 8 7YCQ BRN QSO 7 7YXB SHGT1 ADN 5 3 19 7_C2 SETUPCORE 5,3,BSTB,EMPTYB [GET SHEETS IF >1 REQUIRED 8 7_WL STO 5 A1(3) 9 82B= LDX 0 AWORK3(2) 9 82TW STO 0 A1+1(3) 6 83*G GETBAX 21 83T6 NGS 5 ACOMMUNE7(2) [SET -VE IF SHEET INFO IN BSTB/FULLB 14 84#Q [ BLOCK 21 84SB QSO EXTRACOR 6,YES [TRY TO EXTEND O/P BLK-J TO YES IF OK 17 85#2 CALL 7 SCZ [OTHERWISE UPDATE SCB 18 85HS ... CALL 7 XINVFPB [INVALIDATE ANY VALID FPB 7 85RL SBX 5 4 17 86?= BZE 5 WCSU [J IF NO NEW SHEETS 20 86QW CALL 7 NUSHT [INSERT NEW SHEET NUMBERS IN SCB 13 87=G SETNCORE 1024,7,AOBJPROG,BHWRITE 19 87Q6 LOCK 7 [SET UP LOCKED BLOCK OF ZEROS 8 889Q ADN 7 A1 7 88PB LDX 1 7 8 8992 LDN 3 1024 8 89NL CALL 0 ZERO 7 8=8= LDX 3 7 21 8=MW WCH SBN 5 1 [DECREMENT NO OF SHEETS NEEDING 0-ING 21 8?7G WCJ NGN 7 1 [X7<0 FOR FIRST ATTEMPT AT A WRITE 21 8?M6 WCJ1 LDX 6 BSSS [IF WE ARE ZEROISING THE LAST SHEET, 21 8#6Q BNZ 5 WCK [ FORM COUNT OF NO OF 1K BLOCKS TO 15 8#LB LDX 6 AWORK4(2) [ BE ZEROISED 8 8*62 ADN 6 1023 8 8*KL WCK SRL 6 10 8 8B5= FPCACA 1,2 10 8BJW HUNT2 1,BSTB,BSCB 21 8C4G BPZ 7 WCK1 [IF WRITE HAS NOT PREVIOUSLY FAILED 7 8CJ6 SMO 4 17 8D3Q LDX 7 AOBJST(1) [ GET SHEET NUMBER 8 8DHB BRN WCK2 21 8F32 WCK1 SMO 4 [IF WRITE PREVIOUSLY FAILED,REPLACE- 17 8FGL STO 7 AOBJST(1) [ MENT SHEET NO IN X7 8 8G2= WCK2 LDX 1 FX1 16 8GFW WCL WRITEAUTO BSET+ASWAP,XK(1),,AWORK3(2),EX7,3 18 8G_G ADN 7 8 [NO OF BLOCKLETS IN 1K 20 8HF6 BCT 6 WCL [J IF MORE 1K BLOCKS TO ZEROISE 7 8HYQ WCM ADN 6 1 8 8JDB BACKWAIT WCM 18 8JY2 BCT 6 WCN [J IF FAILURE HAS OCCURED 21 8KCL ADN 4 1 [OTHERWISE STEP PNTR TO NEXT SHEET 21 8KX= BNZ 5 WCH [ IN SCB,& J IF MORE SHEETS TO ZEROIS 8 8LBW SBN 3 A1 19 8LWG FREECORE 3 [FREE LOCKED 1K ZERO BLOCK 8 8MB6 LDX 3 FX2 9 8MTQ LDX 4 FPTR(3) 16 8N*B WCSS LDX 3 4 [FREE ANY FQBLKS 9 8NT2 LDX 4 FPTR(3) 9 8P#L LDX 0 ATYPE(3) 8 8PS= TXL 0 CACT 8 8Q?W BCC WCST 8 8SQ2 BRN WCSS 4 8T9L # 21 8TP= WCN CALL 7 XGET1 [IF A BS FAIL OCCURS,GET A NEW SHEET 10 8W8W LDX 7 ACOMMUNE7(2) 16 8WNG BRN WCJ1 [ AND TRY AGAIN 4 8X86 # 20 8XMQ YES CALL 7 SCZ [IF O/P WAS SUCCESSFULLY EXTENDED 15 8Y7B [ UPDATE SCB 7 8_L= SBX 5 4 8 925W BZE 5 XCE 8 92KG CALL 7 NUSHT 8 9356 BRN XCE 4 93JQ # 21 944B WCSU SBX 6 AWORK2(2) [ZEROISE NEW AREAS OF OLD ULTIMATE 14 94J2 BRN WCSV [ SHEET 8 953L WCST LDX 6 BSSS 9 95H= SBX 6 AWORK1(2) 8 962W WCSV BZE 6 WCG 8 96GG CALL 7 STOZ 4 9726 WCG 8 97FQ WCS FPCACA 1,2 9 97_B LDX 6 ALIMIT(1) 8 98F2 BRN XCE 4 ?SKM ...# 14 ?SMB ...# THIS IMPLEMENTS THE MAXQUOTA COMMAND 4 ?SP5 ...# 7 ?SQS ...ZEP3 LDN 4 1 8 ?SSH ... BRN ZEP3C 4 ?SY6 # 17 ?TCQ # THIS IMPLEMENTS THE MAXSIZE COMMAND WHICH 17 ?TXB # SETS A BOUND JSIZE TO THE PROGRAM LENGTH 4 ?WC2 # 19 ?WWL ZEP2 [ENTRY FOR MAXSIZE COMMAND 7 ?X6C ... LDN 4 0 5 ?X92 ...ZEP3C 18 ?XB= PARAPASS [EXTRACT LIMIT REQUIRED 10 ?XTW HUNT 3,CPB,CUNI 19 ?Y*G LDXC 7 ANUM(3) [ERROR IF NO CORE SPECIFIED 8 ?YT6 BCS NCORE 8 ?_#Q BZE 7 NCORE 8 ?_SB CHNUMCOD ,3 17 #2#2 TESTREP CHNUMERR,XDEAD [ERROR IN CHNUMCON 16 #2RL LDX 6 ACOMMUNE1(2) [REQUESTED LIMIT 13 #2XT ... BZE 4 ZMZ1 [J IF FROM MZ 8 #2_= ... BNG 6 WRMQ 15 #32M ... BZE 6 WRMQ [J IF SILLY REQUEST 8 #344 ... ADN 6 1023 16 #35F ... ANDX 6 XB2T13(1) [ROUND UP TO K MULTIPLE 8 #36W ... BRN ZM02 4 #38? ...ZMZ1 17 #3?= BNG 6 WRCRA [ERROR IF < OR = ZERO 9 #4=G ADN 6 PROGRND-1 16 #4Q6 ANDX 6 PROGRNDN(1) [ROUND UP REQUEST 20 #59Q BXL 6 MAXSIZE(1),ZM02 [IF REQUESTED LIMIT > 4M, TAKE IT 14 #5PB LDX 6 MAXSIZE(1) [ AS 4M 8 #692 ZM02 FJOCA 3,2 18 #6NL TESTCOR 3,ZM021 [J IF CORE IMAGE EXISTS 19 #78= BRN ZM03 [ ELSE NO FURTHER RESTRICTION 5 #7MW ZM021 14 #8_G ... BNZ 4 ZM03 [J IF MQ IN G3 20 #96Q TESTLOAD 3,ZM022 [IN G3,SCB SET UP AFTER 'LOADNOW' 21 #9LB LDX 5 JCSIZE(3) [ HENCE,IF PROG NOT LOADED, GET ITS 18 #=62 BRN ZM023 [ SIZE FROM THE JOB BLOCK 5 #=KL ZM022 8 #?JW FPCACA 1,2 19 ##4G HUNT2 1,BSTB,BSCB [FIND THE SWAP CONTROL BLOCK 19 #*3Q LDX 5 BCORSZ(1) [GET PROGRAMS DORMANT LIMIT 14 #CMN ...ZM023 BXGE 6 5,ZM03 [J IF REQUEST OK 13 #CPL ... BZE 4 WRCRA [J IF MAXSIZE 8 #CRJ ... BRN WRMQ 4 #DF6 ZM03 12 #DL? ... BZE 4 ZMZ3 [J IF MZ 5 #DN2 ...#SKI G4 9 #DPP ... STO 6 JQUOTA(3) 8 #DRD ... BRN ZMZ4 4 #DT7 ...ZMZ3 17 #DYQ STO 6 JSIZE(3) [STORE LIMITING SIZE 4 #F8J ...ZMZ4 21 #FDB # NOW ISSUE INTERNAL JOBDATA COMMAND TO UPDATE INFO IN :SYSTEM.JOBLIST 21 #FY2 ... SETNCORE CPDATA-A1+4,2,ADATA,CREADL [READLINE BUFFER FOR COMMAN 8 #GCL LDN 0 15 17 #GX= STO 0 A1(2) [SET NO OF CHARACTERS 8 #H54 ... BZE 4 ZMZ5 9 #H72 ... LDN 4 XMQ(1) 8 #H8Y ... BRN ZMZ6 4 #H=W ...ZMZ5 9 #HBW LDN 4 XJD(1) 4 #HLN ...ZMZ6 9 #HWG LDN 5 CPDATA(2) 17 #JB6 MOVE 4 2 [MOVE IN'JD 6,' 7 #JH# ...#SKI JWPHASE4 9 #JNG ... SBN 4 XJD(1) 21 #JTQ MPY 6 MAGIC(1) [NOW SET IN DECIMAL FORM OF ROUNDED 20 #K*B MODE 1 [ UP MZ LIMIT AS 2ND PARAM OF JD 7 #KT2 ... LDN 0 6 10 #L#L ZM05 CBD 6 CPDATA+2(2) 7 #LS= BCHX 2 / 8 #M?W BCT 0 ZM05 18 #MF4 ... MODE 0 [DON'T ERASE LAST ZERO 19 #ML= ... CBD 6 CPDATA+2(2) [ (IF IT SHOULD BE A ZERO) 9 #MNW ... ISSUCOM WRISSU 20 #N3# ...WRISSU [COMMAND ERRORS REPORTED BY JOBDATA(B2033) 6 #N?6 ENDCOM 8 #NQQ MENDAREA 20 4 #P=B #END 8 ____ ...53124322000100000000