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