15 22FL ... SEG LOADPROG,850,OWEN N JOHN (:CENT) 4 22_= # 4 23DW # 11 23YG SEGENTRY K1LOADPROG,XENT1 12 24D6 SEGENTRY K30LOADPROG,XENT30 12 24XQ SEGENTRY K31LOADPROG,XENT31 4 25CB # 21 25X2 # RESERVES BACKING STORE HOMES FOR THE PROGRAM AND SETS UP THE PCA CHAIN 21 26BL # THE JOB BLOCK IS THEN EXTENDED AND UPDATED TO INFORM THE PROCESS CONTR 21 26W= # THAT THE JOB IS WAITING IN PCACA FOR THE PROGRAM TO BE SWAPPED IN.A MA 21 27*W # PREVIOUSLY SET IN THE SCB INFORMS THE SWAP SEGMENT,WHEN IT IS ENTERED, 21 27TG # THAT RETURN MUST BE MADE TO THE PROCESS CONTROLLER AFTER OBTAINING COR 21 28*6 # FOR THE PROGRAM.THE PROCESS CONTROLLER RETURNS CONTROL TO THIS SEGMENT 21 28SQ # WITH THE REQUIRED CORE BLOCK FOR THE PROGRAM SET UP IN THE PCA CHAIN. 21 29#B # IN THE CASE OF AN OFFLINE EDS LOAD,THE READING OF THE FIRST RECORD IS 12 29S2 # PERFORMED BY THE SEGMENT LOADX. 4 2=?L # 4 2=R= # 8 2?=W # WORKING SPACE 4 2?QG # 19 2#=6 # YCOUNT B0-20 COUNT OF RECORDS READ - SERIAL FILE ONLY 20 2#PQ # B21-3 COUNT OF BLOCKS OF BINARY PROG READ & DEALT 17 2*9B # WITH ONLY VALUES 0,1,2 POSSIBLE 4 2*P2 # 14 2B8L # XLDEXA B0-8 FLAGS ALREADY USED 4 2BN= # 12 2C7W # B9 LOADNOW MACRO 13 2CMG # B10 LOADNOWX MACRO 12 2D76 # B11 GPL MARKER 17 2DLQ # B12 INITIAL LOAD OF A PURE PROCEDURE 18 2F6B # B13 SUBSEQUENT LOAD OF A PURE PROCEDURE 17 2FL2 # B14 1ST BUCKET IN DIRECTORY FRAGMENT 15 2G5L # B15 SUPPLEMENTARY RQS FOUND 11 2GK= # B16 RQS FOUND 14 2H4W # B17 TYPE 0 RECORD SWITCH 15 2HJG # B18 OVERLAY DIRECTORY MARKER 17 2J46 # B19 PERMANENT UNIT FOUND IN DIRECTORY 11 2JHQ # B21 RESUME 11 2K3B # B22 LOADENTER 10 2KH2 # B23 LOAD 4 2L2L # 8 2LG= #DEF YCOUNT=EXTPS 8 2L_W #DEF XLDEX=EXTPS+3 8 2MFG #DEF XLDEXA=EXTPS+4 4 2M_6 # 17 2NDQ SIXTY +60 [FOR PRIORITY LOOP 20 2NYB MASK1 #01000003 [MASK TO ERS INTO JMISC TO CHANGE 21 2PD2 [FROM SWAPPED OUT,DORMANT TO PCACA, 19 2PXL [SWAPPED OUT,LOAD,SUSPENDED 20 2QC= MASK2 #11001 [SWAPPED OUT,DORMANT,LOAD MARKER 14 2QWW MASK3 #04000000 [EMBEDDED 19 2RBG MASK4 #00010006 [LOADENTER,RESUME,GPL BITS 8 2RW6 X128 +128 9 2S*Q XNBIT1 #57777777 9 2STB XNB5O14 #76776777 9 2T*2 PRIVB 8HTRUSTED 20 2TSL XB2T17 #17777700 [MASK FOR SHIFTED CORE REQ WORD 11 2W#= # NAMES OF COMMAND ERROR REPORTS 8 2WRW RBIGPR +JBIGPR 7 2X?G RICR +ICR 9 2XR6 RGPLERR +GPLERR 5 2Y=Q #SKIP G4 9 2YQB WERRESS +GWERRES 5 2_=2 #SKIP G3 9 2_PL WSPARSE +JSPARSEM 19 329= # AT THIS POINT WE HAVE THE PROGS RQS &(PROVIDED IT FOLLOWED 19 32NW # IMMEDIATELY AFTER THE RQS) A SUPP RQS IN AN AOBRES BLOCK 20 338G # NOTE THAT SUPP RQS ARE ALLOWED AT OTHER POINTS BUT WILL THEN 14 33N6 # HAVE NO EFFECT ON THE INITIAL QUOTA 20 347Q # THIS SECTION ANALYSES THE INFORMATION & USES IT TO CREATE A 10 34MB # SUITABLE CORE IMAGE. 4 3572 # 4 35LL # 4 366= # 5 36KW XENT1 9 375G MHUNTW 3,AOBRES 9 37K6 LDXC 0 A1+2(3) 16 384Q BCC ZNOGPL [JUMP IF NOT GPL 9 38JB LDX 0 XLDEXA(2) 8 3942 ANDN 0 #6 20 39HL BNZ 0 SERR3 [GPL ONLY ALLOWED IN LOAD COMMAND 8 3=3= LDX 0 BIT11 16 3=GW ORS 0 XLDEXA(2) [SET GPL MARKER 5 3?2G ZNOGPL 11 3?G6 # DETERMINE SIZE OF PROGRAM 9 3?_Q LDX 7 AWORK1(2) 19 3#FB LDX 0 A1+3(3) [EXTRACT SIZE WORD FROM RQS 7 3#_2 SRC 0 9 5 3*DL #SKIP G3 9 3*Y= BNG 0 XSPARSE 18 3BCW BNZ 7 Z401 [JUMP IF CORE PARAM SPEC. 7 3BXG LDX 7 0 9 3CC6 ANDX 7 XB2T17(1) 4 3CWQ Z401 5 3DBB #SKIP G4 4 3DW2 ( 16 3F*L BZE 7 SERR1 [ERROR IF SIZE=0 16 3FT= ADN 7 1023 [ROUND UP TO 1K 8 3G#W ORN 7 1023 8 3GSG ERN 7 1023 9 3H#6 STO 7 AWORK1(2) 8 3HRQ ANDX 0 GSIGN 9 3J?B ORS 0 AWORK1(2) 4 3JR2 ) 5 3K=L #SKIP G3 4 3KQ= ( 16 3L9W ADN 7 63 [ROUND UP TO 64 8 3LPG ORN 7 63 8 3M96 ERN 7 63 9 3MNQ STO 7 AWORK1(2) 16 3N8B BZE 7 SERR1 [ERROR IF SIZE=0 20 3NN2 LDX 0 A1+8(3) [IF MEMBER 2 OR 3 EXIST ENSURE 18 3P7L ORX 0 A1+11(3) [THAT SIZE EXCEEDS 128 8 3PM= BZE 0 Z402 9 3Q6W TXL 7 X128(1) 8 3QLG BCS SERR1 4 3R66 ) 4 3RKQ Z402 8 3S5B FJOCA 1,2 18 3SK2 SPRIVJUMP JSSTART,1,SYS [JUMP IF SYSTEM STARTED 19 3T4L LDX 6 JSIZE(1) [PICK UP MAXSIZE FROM JOB BLK 19 3TJ= ... BXL 6 7,SERR [ERROR IF MAXSIZE=PROGSIZE OK 20 3X36 ... LDX 6 7 [OTHERWISE ASK HLS IF WE CAN HAVE 20 3XGQ ... ADN 6 1023 [THIS CORE SIZE.SET X6=PROGSIZE 18 3Y2B ... SRL 6 10 [IN KWORDS(ROUNDING UP) 21 3YG2 ... HLSINFORM XBN,MAXSIZE,JOBNO(2),6,,,SYS [J TO LABEL SYS IF ALLOWED 16 3Y_L ... BRN SERR [REQUEST REFUSED 4 3_YW SYS 4 42DG # 11 42Y6 # DETERMINE PROGRAMS QUOTA 4 43CQ # 5 43XB #SKIP G4 4 44C2 ( 19 44WL LDXC 0 AWORK2(2) [EXTRACT VALUE OF QUOTA PARAM 20 45B= BNZ 0 Z412 [JUMP IF QUOTA PARAM SPECIFIED 10 45TW LDX 0 ALOGLEN(3) 8 46*G SBN 0 16 17 46T6 BZE 0 Z411 [JUMP IF NO SUPP RQS 20 47#Q LDX 0 A1+21(3) [EXTRACT QUOTA SIZE FROM SUPP RQS 7 47SB LDX 6 0 16 48#2 ANDX 6 GSIGN [FIX QUOTA BIT 8 48RL ANDN 0 #7777 8 49?= SLL 0 10 17 49QW BNZ 0 Z412A [J IF QUOTA SPECIFIED 19 4==G Z411 SRL 7 10 [CALC QUOTA FROM CORE SIZE 7 4=Q6 LDX 0 7 20 4?9Q SBN 7 5 [IF SIZE LESS THAN OR EQUAL TO 4K 19 4?PB BNG 7 Z412 [TAKE QUOTA=SIZE,OTHERWISE 20 4#92 SRA 7 1 [QUOTA=4K+1/2(SIZE-4K) UP TO 16K 7 4#NL ADN 7 4 8 4*8= LDN 0 16 7 4*MW TXL 0 7 8 4B7G BCS Z412 7 4BM6 LDX 0 7 7 4C6Q Z412 LDN 6 0 8 4CLB SLL 0 10 18 4CX? ...Z412A LDX 7 JQUOTA(1) [MAX QUOTA IN JOBBLOCK 14 4D88 ... BNZ 7 QUOTASPEC [J IF SET 18 4DF5 ... LDX 7 AMAXQUOTA [ELSE USE AMAXQUOTA (IP) 6 4DQ2 ...QUOTASPEC 20 4F2X ... BXL 0 7,Z413 [J IF REQUESTED QUOTA JOB BLOCK 4 6JD# ...) 7 6JFG NOCORJOB 3 9 6J_6 LDX 7 APROCTIME 18 6KDQ STO 7 JCTLR(3) [SET TIME LAST RUN=NOW 7 6KYB NGN 0 1 9 6LD2 STO 0 JCFWT(3) 8 6LXL FPCACA 1,2 5 6MC= #SKI G4 4 6MWW ( 10 6N=_ ... HUNT2 2,BSTB,BSCB,1 4 6NM4 ...[ 19 6P37 ...[ THE FOLLOWING CORRECTS B3104 - NO 'EXEC OF PROG MAY BE 21 6PC= ...[ DELAYED ETC' BECAUSE IT WAS UNDER G3 SKIPS (POST VOPA BUG) 14 6PR* ...[ DONE 27TH JUNE 75 :CENT 4 6Q7D ...[ 4 6QHN ...[ 18 6QQB ...[ THIS IS A CORRECTION OF MARK 6 CODE FOR MARK 8 10 6Q_4 ...[ BUG 1375 (G 5560) 14 6R7Q ...[ DONE 14.NOV.74 :CENT 4 6RBD ...[ 9 6RK6 ... LDX 0 AQUOTIME 21 6RRW STO 0 HRTIMES(3) [SET TIME TO QUOTA REVIEW-IN MILSECS 4 6RW5 ...[ 9 6RY# ... LDX 0 AQUOTA(2) 16 6S2H ... SLL 0 10 [CONVERT SIZE TO WORDS 8 6S4Q ... LDX 2 FX2 17 6S6_ ... STO 0 JCSIZE(3) [STORE SIZE IN JOBBLOCK 4 6S98 ...[ 4 6S?G ) 5 6SR6 #SKI G3 4 6T=Q ( 9 6TQB LDX 0 ALIMIT(1) 18 6W4R ... STO 0 JCSIZE(3) [CORE SIZE TO JOB BLOCK 4 6WC8 ...) 7 6WPL NGNC 7 1 9 6X9= TXL 0 COBJQUOTA 19 6XNW BCS ZNOTBIG [JUMP UNLESS PROGRAM>QUOTA 9 6Y8G MONOUT BIGPROG 8 6YN6 FJOCA 3,2 5 6_7Q ZNOTBIG 19 7272 LDX 7 JCPI(3) [SET CPI UNLESS ALREADY SET 7 72LL LDN 0 1 8 736= BNZ 7 RSET 9 73KW STO 0 JCPI(3) 17 745G RSET ADS 0 ACTPROGS [COUNT OF PROGRAMS 18 74K6 LDN 7 #1400 [SET CORE IMAGE CONTEXT 10 754Q ERS 7 CONTEXT(2) 8 75JB LDX 1 FX1 20 7642 ORX 6 MASK2(1) [SWAPPED OUT,DORMANT,LOAD MARKER 9 76HL ORS 6 JMISC(3) 9 773= LDX 0 MASK4(1) 9 77GW ANDX 0 XLDEXA(2) 19 782G BNZ 0 RUNPROGRAM [JUMP IF PROGRAM TO BE RUN 9 78G6 LDX 0 MASK3(1) 9 78_Q ANDX 0 XLDEXA(2) 19 79FB BNZ 0 ZAPLOAD [JUMP IF LOAD TO BE COMPLETED 15 79_2 # NOW CHANGE FILE TO THE PCA AND MOVE IN MARKERS 16 7=DL # ALSO MOVE ACROSS ADATA/AWKSB AND FIRST CPB/CUNI 10 7=Y= # WHICH CONTAINS FILE NAME 9 7?CW # NOW MOVE FILE TO PCA 8 7?XG FPCACA 3,2 5 7#C6 #SKIP G4 4 7#WQ ( 8 7*BB LDN 0 #2000 9 7*W2 ANDX 0 XLDEXA(2) 18 7B*L BZE 0 NOTSUBSQ [JUMP IF NOT SUBSQ LOAD 10 7BT= MHUNT 1,CPB,CUNI 18 7C#W CHAIN 1,3 [CHAIN CPB/CUNI AFTER PCA 9 7CSG BRN ZMARKERS 5 7D#6 NOTSUBSQ 4 7DRQ ) 19 7F?B CALL 7 ZMOVEFILE2 [MOVE FILE FROM CPA TO PCA 17 7FR2 CALL 7 ZBLOCKS [MOVE LOADING BLOCKS 5 7G=L ZMARKERS 9 7GQ= LDN 5 YCOUNT(2) 10 7H9W LDN 6 ACOMMUNE1(3) 19 7HPG MOVE 5 5 [STORE LOAD MARKERS IN PCA 9 7J96 LDN 5 AWORK1(2) 9 7JNQ LDN 6 AWORK1(3) 17 7K8B MOVE 5 4 [MOVE MARKERS TO PCA 9 7KN2 CALL 4 ZCLEAR 6 7L7L ENDCOM 15 7LM= # PROGRAM IS TO BE RUN SO GO ACROSS TO PROSTART 6 7M6W RUNPROGRAM 10 7MLG ACROSS PROSTART,1 7 7N66 # COMPLETE LOAD 5 7NKQ ZAPLOAD 10 7P5B LOADNOW XBN,NDCOM,1 6 7PK2 NDCOM ENDCOM 4 7Q4L XBN 7 7QJ= COMBRKIN 4 7R3W # 4 7RHG # 4 7S36 # 4 7SGQ # 11 7T2B # ENTRY POINT FOR LOADNOWX MACRO 5 7TG2 XENT31 8 7T_L LDX 0 BIT10 17 7WF= ORS 0 XLDEXA(2) [SET LOADNOWX MACRO 15 7WYW FPCACA 3,2 [LOCATE PCA 8 7XDG BRN START 11 7XY6 # ENTRY POINT FOR LOADNOW MACRO 5 7YCQ XENT30 15 7YXB FPCACA 3,2 [LOCATE PCA 9 7_C2 LDN 5 AWORK1(3) 9 7_WL LDN 6 AWORK1(2) 17 82B= MOVE 5 4 [RESTORE AWORK WORDS 10 82TW LDN 5 ACOMMUNE1(3) 9 83*G LDN 6 YCOUNT(2) 17 83T6 MOVE 5 5 [RESTORE LOAD MARKERS 8 84#Q LDX 0 BIT9 18 84SB ORS 0 XLDEXA(2) [SET LOADNOW MACRO MARKER 5 85#2 START 5 85RL #SKIP G4 4 86?= ( 13 86QW # NOW RESERVE SWAPPING SPACE FOR PROGRAM 8 87=G ZY420 LDN 4 #6000 9 87Q6 ANDX 4 XLDEXA(2) 8 889Q SRC 4 11 9 88PB ZY421 LDXC 7 AWORK1(2) 8 8992 SRL 7 10 8 89NL FPCACA 3,2 15 8=8= HUNT2OPT 3,BSTB,BSCB [LOCATE SCB 17 8=MW BZE 4 ZY422 [JUMP IF NOT PP 16 8?7G LDX 0 HSUD(3) [LOCATE SUD 10 8?M6 FSUD 1,0,(GEOERR) 21 8#6Q BPZ 4 ZY421A [JUMP UNLESS SUBSEQUENT LOAD OF P 20 8#LB LDX 0 HSIZE(1) [SET NO. OF ACCESSED PAGES IN 19 8*62 DSA 0 AASIZE(3) [PURE PROCEDURE IN AASIZE 8 8*KL SRL 0 12 9 8B5= ADS 0 AASIZE(3) 21 8BJW TXL 7 AASIZE(3) [ERROR IF SIZE LESS THAN NO. OF 16 8C4G BCS XSIZE [PAGES IN PP 9 8CJ6 LDX 0 HSIZE(1) 18 8D3Q ANDN 0 #7777 [ONLY BOOK PAGES FOR 17 8DHB SBX 7 0 [UNSHARED PAGES 18 8F32 BRN ZY422 [JUMP TO BOOK SWAP SPACE 5 8FGL ZY421A 9 8G2= LDXC 0 HUSERS(1) 21 8GFW BCC ZY423 [JUMP IF ALREADY LOADED,AND CHANGE 17 8G_G [TO A SUBSEQUENT LOAD 9 8HF6 LDX 0 HUSERS(1) 7 8HYQ SLL 0 1 20 8JDB BPZ 0 ZY422 [JUMP IF SWAP SPACE NOT OBTAINED 18 8JY2 # SWAP SPACE HAS BEEN OBTAINED,I.E. PROGRAM IS BEING LOADED 18 8KCL LONGWAIT XBN2,HLOADPPWT [WAIT FOR PP TO BE LOADED 8 8KX= BRN ZY421 20 8LBW # WE MUST CHANGE FROM AN INITIAL LOAD TO A SUBSEQUENT LOAD,AND FREE 12 8LWG # THE SEGMENT TABLE THAT WE SET UP 5 8MB6 ZY423 8 8MTQ FPCACA 1,2 10 8N*B LDX 6 ASEGTAB(1) 7 8NT2 STO 2 3 16 8P#L CHANGEACT 1 [CHANGE TO PCA 10 8Q?W MHUNTW 1,BSTB,BSCB 8 8R?6 LDCT 0 #200 17 8RQQ ERS 0 AQUOTA(1) [DON'T CONFUSE SWAPIN 18 8RXY ... LDX 0 XLDEXA(3) [FOR IMMEDIATE LOAD FILE 18 8S56 ... ANDX 0 BIT9 [STILL ATTACHED TO CPA 9 8S=# ... BZE 0 ZY423A 21 8SCG ... CALL 7 ZMOVEFILE1 [DELAYED LOAYD - MOVE FILE BACK TO CP 17 8SJN ... MFREEW ADATA,AWKSB [FREE LOADING BLOCKS 9 8SQ2 MFREEW FILE,ENT 5 8S_S ...ZY423A 17 8T9L CHANGEACT 3 [CHANGE BACK TO CPA 9 8T?T ... LDX 0 XLDEXA(3) 8 8TB4 ... ANDX 0 BIT9 9 8TD? ... BNZ 0 ZY423B 21 8TGG ... MFREEW ADATA,AWKSB [IMMEDIATE LOAD - FREE LOADING BLOCKS 16 8TJP ... MFREEW FILE,ENT [ATTACHED TO CPA 5 8TLY ...ZY423B 17 8TP= CLOSE [CLOSE LOADING FILE 17 8TR# ... FREEPTAB 6 [FREE SEGMENT TABLE 4 8TTB ...[ 16 8TXD ...[ THE FOLLOWING LINE WAS INSERTED DUE TO RA9 19 8T_G ...[ CAUSED BY NOT ZEROING ASEGTAB==SO IF BREAKIN OCCURED 13 8W3J ...[ SOME FUNNY RESULTS OCCURED 17 8W5L ...[ IN THIS CASE ANOTHER PROGRAM TOOK THE SPACE 17 8W7N ...[ CAUSED BY FRREPTAB AS ITS OWN SEG TABLE,THE 15 8W9Q ...[ ORIGINAL LOAD WAS QUIT SO PROGDEL 18 8W?S ...[ USED ASEGTAB AND ERASED THE OTHER PROGARAM !!!! 14 8W*W ...[ DONE 16.JAN.75 :CENT 4 8WCY ...[ 8 8WG2 ... FPCACA 3,2 10 8WJ4 ... STOZ ASEGTAB(3) 4 8WL6 ...[ 8 8WNG LDN 0 #6000 19 8X86 ERS 0 XLDEXA(2) [CHANGE TO SUBSEQUENT LOAD 8 8XMQ BRN ZY420 5 8Y7B ZY422A 18 8YM2 AWAITSS XBN2 [WAIT FOR SWAP SPACE 8 8_6L BRN ZY421 5 8_L= ZY422 9 925W BOOKSS 7,ZY422A 19 92KG FPCACA 3,2 [REFIND PTRS AS BOOKSS CAN 15 9356 HUNT2 3,BSTB,BSCB [COORDIANATE 9 93JQ BZE 4 ZY422B 9 944B LDX 0 HSUD(3) 10 94J2 FSUD 1,0,(GEOERR) 9 953L BNG 4 ZY422B 19 95H= LDCT 0 #200 [INDICATE THAT SWAPPING SPACE 14 962W ORS 0 HUSERS(1) [OBTAINED 5 96GG ZY422B 9 9726 LDX 5 AWORK1(2) 20 97FQ BPZ 5 ZY425 [JUMP UNLESS PROGRAM IS SPARSE 16 97_B ORX 7 GSIGN [SET SPARSE BIT 5 98F2 ZY425 18 98YL STO 7 AMAXSIZE(3) [STORE SIZE OF PROGRAM 4 99D= ) 5 99XW #SKIP G3 4 9=CG ( 18 9=X6 # IN GEORGE 3 WE OBTAIN ENOUGH SHEETS OF BACKING STORE TO 14 9?BQ # HOLD THE PROGRAM AND STORE THEM IN THE SCB 8 9?WB FJOCA 3,2 9 9#B2 LDX 5 JCSIZE(3) 9 9#TL STO 5 AWORK1(2) 10 9**= ADX 5 ASHEETSIZE 7 9*SW SBN 5 1 10 9B#G DVS 4 ASHEETSIZE 15 9BS6 LDX 6 5 [NO OF BLOCKS 5 9C?Q SENBS 11 9CRB WHATBACK 0,5,NSHEETS,SWAP 9 9D?2 ADN 5 AOBJST-A1 15 9DQL SETUPCORE 5,3,BSTB,BSCB [SET UP SCB 17 9F== MHUNTW 2,BSTB,FULLB [FIND WHATBACK BLOCK 9 9FPW LDN 0 AOBJST(3) 14 9G9G LDN 7 A1+2(2) [COPY O/P 16 9GP6 SMO 6 [BLOCK NOS INTO 13 9H8Q MOVE 7 0 [SCB 9 9HNB STOZ AQMODE(3) 14 9J82 STOZ ASHEET(3) [FRIG FOR 18 9JML STO 6 BSHEET(3) [NO OF SHEETS FOR PROG 8 9K7= SMO FX2 9 9KLW LDX 5 AWORK1 9 9L6G STO 5 ACORSZ(3) 9 9LL6 STO 5 BCORSZ(3) 17 9M5Q LDX 7 5 [PRESERVE CORE SIZE 10 9MKB DVS 4 ASHEETSIZE 8 9N52 BNZ 4 SEN3 10 9NJL LDX 4 ASHEETSIZE 4 9P4= SEN3 19 9PHW STO 4 AWRDNUM(3) [NO OF WORDS IN LAST SHEET 10 9Q3G STO 4 BWRDNUM(3) 9 9QH6 STOZ ASTIME(3) 10 9R2Q STOZ ATOTIME(3) 9 9RGB LDX 6 A1+1(2) 17 9S22 STO 6 AOBJLF(3) [LOGICAL FILE NUMBER 7 9SFL FREECORE 2 8 9S_= FPCACA 3,2 10 9TDW MHUNTW 2,BSTB,BSCB 17 9TYG CHAIN 2,3 [CHAIN SCB AFTER PCA 4 9WD6 ) 15 9WXQ # START OF SETTING UP JOB FOR SELECTION BY LLS 5 9XCB #SKI G4 4 9XX2 ( 8 9YBL LDN 0 #2000 9 9YW= ANDX 0 XLDEXA(2) 21 9_*W BZE 0 Z429 [JUMP UNLESS SUBSEQUENT LOAD OF PP 20 9_TG ACROSS LOADPP,2 [GO TO ATTATCH TO PURE PROCEDURE 4 =2*6 Z429 4 =2SQ ) 20 =3#B # THE'PCACA'DONE BY LOAD CAN BE BROKEN IN ON-UNLIKE THE STANDARD 21 =3S2 # PCACA IT IS NECESSARY HOWEVER TO TEST FOR BREAKIN BEFORE ENTERING 18 =4?L # THE PCACA TO AVOID THE JOB GETTING STUCK IN THE PCACA 16 =4R= TESTBRKIN XBN3 [J IF BREAK IN 8 =5=W FJOCA 3,2 9 =5QG LDX 6 MASK1(1) 20 =6=6 ERS 6 JMISC(3) [SWAPPED OUT,PCACA,LOAD,SUSPENDED 21 =6PQ # WE MUST NOT COORDINATE BTWEEN SETTING BOTTOM PART OF JMISC NON-ZERO 11 =79B # AND COORDINATING TO GET CORE 7 =7F8 ... KICKASWINT 6 =7P2 COOR1 8 =88L FJOCA 3,2 8 =8N= LDN 0 #1000 9 =97W ANDX 0 JMISC(3) 18 =9MG BZE 0 XBN3 [JUMP IF LOAD ABANDONED 16 ==76 ERS 0 JMISC(3) [CLEAR LOAD BIT 5 ==LQ #SKIP G4 4 =?6B ( 7 =?L2 # LOCK PAGE 0 8 =#5L FPCACA 3,2 7 =#K= LDN 6 0 13 =*4W CHECKB 6,,(GEOERR),3,W,YCOOR,,3 9 =*JG YCOOR STOZ HLOCK1(3) 10 =B46 LDX 0 HLOCK1+2(3) 15 =BHQ STO 0 ADATUM(3) [SET DATUM 4 =C3B ) 14 =CH2 # RESET SWAP INDICATOR TO ITS PROPER VALUE 5 =D2L #SKIP G3 4 =DG= ( 8 =D_W FPCACA 3,2 10 =FFG HUNT2 3,BSTB,BSCB 9 =F_6 LDX 0 BSHEET(3) 9 =GDQ STO 0 ASHEET(3) 17 =GYB # ZEROISE CORE FOR OBJECT PROGRAM USING EVEN TO EVENMOVE 10 =HD2 HUNT2 3,AOBJPROG,0 6 =HF8 ...#UNS CA1D 4 =HGB ...( 8 =HHJ ... ADX 3 CA1D 8 =HJQ ... STOZ 0(3) 8 =HKY ... STOZ 1(3) 8 =HM6 ... LDN 6 0(3) 8 =HN# ... LDN 7 2(3) 8 =HPG ... SBX 3 CA1D 4 =HQN ...) 6 =HRW ...#UNS CA1D 4 =HT4 ...#SKI 4 =HW= ...( 9 =HXL STOZ A1D(3) 8 =JC= STOZ A1D+1(3) 9 =JWW LDN 6 A1D(3) 9 =KBG LDN 7 A1D+2(3) 4 =KL# ...) 15 =KW6 LDX 5 AWORK1(2) [CORE SIZE 8 =L*Q SBNC 5 514 15 =LTB BCS ODDSODS [COR < 513 5 =M*2 NEXTMOVE 15 =MSL MOVE 6 0 [STOZ 512 WDS 8 =N#= ADN 7 512 8 =NRW SBNC 5 512 9 =P?G BCC NEXTMOVE 5 =PR6 ODDSODS 7 =Q=Q SMO 5 7 =QQB MOVE 6 0 4 =R=2 ) 5 =RPL #SKIP G4 4 =S9= ( 8 =SNW LDN 4 #4000 9 =T8G ANDX 4 XLDEXA(2) 18 =TN6 BNZ 4 RENTA [JUMP IF PP BEING LOADED 4 =W7Q ) 8 =WMB FPCACA 1,2 18 =X72 MACCS ,1,4 [ADDRESS OF ACC 0 IN X4 19 =XLL HUNTW 1,APED,ADELETE [LOOK FOR DELETE BLOCK FROM 16 =Y6= BNG 1 RENTA [PREVIOUS PROGRAM 10 =YKW LDN 3 APEDACC(1) 18 =_5G MOVE 3 8 [MOVE IN ACCS IF PRESENT 7 =_K6 FREECORE 1 5 ?24Q RENTA 9 ?2JB LDX 0 XLDEXA(2) 8 ?342 ANDX 0 BIT9 19 ?3HL BZE 0 ZNOTLOADNOW [JUMP IF NOT LOADNOW MACRO 8 ?43= FPCACA 1,2 7 ?4GW STO 2 3 8 ?52G CHANGEACT 1 19 ?5G6 CALL 7 ZMOVEFILE1 [MOVE FILE FROM PCA TO CPA 17 ?5_Q CALL 7 ZBLOCKS [MOVE LOADING BLOCKS 8 ?6FB CHANGEACT 3 6 ?6_2 ZNOTLOADNOW 7 ?7DL NGN 7 8 21 ?7Y= ANDX 7 YCOUNT(2) [NO.OF BLOCKS READ FROM SERIAL FILE 21 ?8CW ERS 7 YCOUNT(2) [YCOUNT HOLDS COUNT OF BINARY BLOCKS 8 ?8XG LDCT 0 #10 9 ?9C6 ANDX 0 XLDEXA(2) 8 ?9WQ BNZ 0 QED 8 ?=BB LDCT 0 #60 9 ?=W2 ANDX 0 XLDEXA(2) 20 ??*L BZE 0 Z451 [JUMP UNLESS MT OR EMBEDDED LOAD 7 ??T= SLL 0 3 8 ?##W BPZ 0 Z452 7 ?#SG SRL 7 3 20 ?*#6 SBX 7 YCOUNT(2) [COM PROC COUNT OF RECORDS READ 8 ?*RQ ADDRECS 3,7 9 ?B?B Z451 ACROSS LOAD,1 20 ?BR2 Z452 LDX 0 YCOUNT(2) [IN MT CASE IF NO SUPP RQS HAS 21 ?C=L BCT 0 Z451 [BEEN READ WE MAKE A SPECIAL ENTRY 14 ?CQ= LDN 0 2 [TO LOAD 9 ?D9W STO 0 YCOUNT(2) 9 ?DPG ACROSS LOAD,2 16 ?F96 QED ACROSS LOADX,2 [TO LOAX IF EDS 5 ?FNQ #SKI G3 4 ?G8B ( 5 ?GN2 NSHEETS 15 ?H7L # NOT ENOUGH SH:EETS. OUTPUT MESS AND GO WAITING 10 ?HM= OUTNUM JOBNO(2),7,1 9 ?J6W INFORM 1,JBACK,1 8 ?JLG LONGSTOP XBN2 16 ?K66 BRN SENBS [TRY AGAIN 4 ?KKQ ) 4 ?L5B # 18 ?LK2 # THIS SUBROUTINE MOVES THE TOP FILE OPEN TO ACTIVITY IN FX2 16 ?M4L # TO BECOME THE TOP FILE OPEN TO THE ACTIVITY IN X3 6 ?MJ= ZMOVEFILE1 8 ?N3W SBX 7 FX1 9 ?NHG LOCKC 3,ZCPA 8 ?P36 CALL 1 ZCPA 15 ?PGQ STO 2 3 [RELOCATE CPA 8 ?Q2B BRN ZMOVE 6 ?QG2 ZMOVEFILE2 8 ?Q_L SBX 7 FX1 9 ?RF= LOCKC 3,ZPCA 8 ?RYW CALL 1 ZPCA 15 ?SDG STO 2 3 [RELOCATE PCA 5 ?SY6 ZMOVE 8 ?TCQ CHANGEFILE 3 7 ?TXB UNLOCK 3 8 ?WC2 ADX 7 FX1 7 ?WWL EXIT 7 0 4 ?XB= # 4 ?XTW # 15 ?Y*G # THIS SUBROUTINE MOVES VARIOUS BLOCKS FROM THE 11 ?YT6 # CURRENT ACTIVITY TO THAT IN X3 4 ?_#Q # 5 ?_SB ZBLOCKS 10 #2#2 HUNTW 2,ADATA,AWKSB 18 #2RL BNG 2 NOWORK [JUMP IF NO WORK BLOCK 8 #3?= CHAIN 2,3 5 #3QW NOWORK 18 #4=G MHUNT 2,CPB,CUNI [BLOCK HOLDING FILE NAME 8 #4Q6 CHAIN 2,3 10 #59Q HUNTW 2,FILE,FRB 17 #5PB BNG 2 NOFRB [JUMP IF NO FILE/FRB 8 #692 CHAIN 2,3 5 #6NL NOFRB 10 #78= MHUNTW 2,FILE,ENT 8 #7MW CHAIN 2,3 7 #87G EXIT 7 0 14 #8M6 # THIS SUBROUTINE LOCATES THE PCA FROM CPA 4 #96Q ZPCA 8 #9LB FPCACA 2,FX2 7 #=62 EXIT 1 0 14 #=KL # THIS SUBROUTINE LOCATES THE CPA FROM PCA 4 #?5= ZCPA 8 #?JW FCAPCA 2,FX2 7 ##4G EXIT 1 0 4 ##J6 # 4 #*3Q # 4 #*HB # 17 #B32 # THIS SUBROUTINE CLEARS THE EXTPS WORDS FOR GETWORD 5 #BGL ZCLEAR 9 #C2= LDN 1 EXTPS(2) 8 #CFW LDN 2 1(1) 8 #C_G STOZ 0(1) 7 #DF6 MOVE 1 4 7 #DYQ EXIT 4 0 4 #FDB # 4 #FY2 # 4 #GCL # 10 #GX= # REPORT VARIOUS ERRORS 5 #HBW #SKIP G3 4 #HWG ( 15 #JB6 XSPARSE [SPARSE PROG 9 #JTQ LDN 1 WSPARSE 9 #K*B BRN RERROR 4 #KT2 ) 4 #L#L SERR 9 #LS= LDN 1 RBIGPR 9 #M?W BRN RERROR 5 #MRG #SKIP G4 4 #N?6 ( 7 #NFB ...XSIZE FPCACA 3,2 9 #NML ... HUNT2 3,CPB,CUNI 19 #NTW ... CHAIN 3,2 [RECHAIN CPB-CUNI AFTER CPA 21 #P46 ... LDN 1 WERRESS [SIZE OF PP EXCEEDS SPEC SIZE OF PROG 9 #P=B BRN RERROR 4 #PQ2 ) 5 #Q9L SERR1 8 #QP= LDN 1 RICR 9 #R8W BRN RERROR 5 #RNG SERR3 9 #S86 LDN 1 RGPLERR 5 #SMQ RERROR 21 #T7B LDN 6 0 [NO SUBSIDIARY PART OF ERROR MESSAGE 8 #TM2 SMO FX1 17 #W6L LDX 5 0(1) [ADDR OF MAIN MESSAGE 8 #WL= LDX 2 FX2 5 #X5W RERROR1A 5 #XKG #SKIP G4 4 #Y56 ( 16 #YJQ LDN 7 1 [NO FILE TO CLOSE 8 #_4B LDN 0 #2000 9 #_J2 ANDX 0 XLDEXA(2) 9 *23L BNZ 0 RERROR2 4 *2H= ) 17 *32W LDN 7 0 [FILE TO BE CLOSED 5 *3GG RERROR2 21 *426 LDX 0 YCOUNT(2) [LEAVE YCOUNT HOLDING NO OF RECORDS 7 *4FQ SRL 0 3 9 *4_B STO 0 YCOUNT(2) 9 *5F2 ACROSS LOADERR,1 4 *5YL # 14 *6D= # DEAL WITH BREAKIN AT VARIOUS STAGES 4 *6XW # 4 *7CG XBN3 7 *7X6 NGNC 5 1 4 *8BQ XBN2 20 *8WB LDN 5 0 [X5=0 IF SWAP SPACE NOT OBTAINED 7 *9B2 LDN 7 0 21 *9TL LDX 2 FX2 [SET YCOUNT TO HOLD NO.OF RECORDSREAD 9 *=*= LDX 0 YCOUNT(2) 7 *=SW SRL 0 3 9 *?#G STO 0 YCOUNT(2) 9 *?S6 ACROSS LOADERR,3 11 *#?Q MENDAREA 50,K99LOADPROG 4 *#RB #END 8 ____ ...24524412000200000000