./ ADD SSI=02012863,NAME=IERRCR,SOURCE=0 *MODULE NAME ***IERRCR*** 00020000 SPACE 2 00040000 *STATUS CHANGE LEVEL 000 00060000 SPACE 2 00080000 *MODULE FUNCTION 00100000 SPACE 1 00120000 * IERRCR IS THE SECOND OF THREE GENERAL ASSIGNMENT MODULES 00140000 * IN TAPE B&G. THE FUNCTION OF IERRCR IS TO CALCULATE THE NUMBER 00160000 * OF PHASE TWO PASSES BY TECH. IT WILL ATTEMPT TO OPTIMIZE ON EACH 00180000 * TECH. AND SELECT THE MOST EFFICIENT OF THE THREE TECH. 00200000 SPACE 2 00220000 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT 00240000 SPACE 1 00260000 * IERRCS 00280000 * IERBGA 00300000 SPACE 2 00320000 *MACROS USED - NONE 00340000 SPACE 2 00360000 *ENTRY POINTS 00380000 SPACE 1 00400000 * CSECT NAME IERRCS ENTER FROM IERRCS VIA 00420000 * UNCONDITIONAL BRANCH 00440000 SPACE 2 00460000 *INPUT- CPI FIELDS REFRENCED 00480000 SPACE 1 00500000 * CPIBINSZ CPIFILSZ CPILAB07 00520000 * CPIEXTSZ CPIIPBLK CPILAB09 00540000 * CPIMODEX CPINWKU CPIOPBLK 00560000 * CPIP1RSZ CPIP2RSZ CPIP3RSZ 00580000 * CPIRCDL1 CPIRCDL2 CPIRCDL3 00600000 * CPIRCDL5 CPISRTBL CPISW1 00620000 * CPITAVLC 00640000 SPACE 2 00660000 *OUTPUT - CPI FIELDS INITIALIZED OR ALTERED 00680000 SPACE 1 00700000 * CPIBUF1 CPIBUF23 CPILAB03 00720000 * CPIMRGAL CPIMRGMX CPINMAX 00740000 * CPIP1GC CPIP2GC CPIP3GC 00760000 * CPISRTBL CPISRTG CPISW1 00780000 SPACE 2 00800000 *EXTERNAL ROUTINES 00820000 SPACE 1 00840000 * IERRCU DIAGNOSTIC AND ERROR MESSAGES 00860000 SPACE 2 00880000 *EXTERNAL PARAMETERS 00900000 SPACE 1 00920000 * IERRCU MESSAGES 00940000 SPACE 2 00960000 *EXITS-NORMAL 00980000 SPACE 1 01000000 * IERBGA UNCONDITIONAL BRANCH 01020000 SPACE 2 01040000 *EXITS-ERROR 01060000 SPACE 1 01080000 * IERBGA UNCONDITIONAL BRANCH 01100000 SPACE 2 01120000 *TABLES/WORK AREAS 01140000 SPACE 1 01160000 * WORK-WORK9 01180000 * WFULL- WFULL4 01200000 SPACE 2 01220000 *ATTRIBUTES- THIS IS A CLASS A MODULE 01240000 SPACE 2 01260000 *NOTES THIS IS RESTRICTED TO TAPE OPERATION ONLY. IT CONTAINS A DSECT 01280000 * OF IERRCS, IERBGA, AND IERRCU. 01300000 EJECT 01320000 *LIST OF GENERAL REGISTER EQUATE STATEMENTS 01340000 SPACE 2 01360000 RA EQU 0 WORK REGISTER. 01380000 * CONTENTS IN - N/A 01400000 * CONTENTS OUT - N/A 01420000 RB EQU 1 WORK REGISTER. 01440000 * CONTENTS IN - N/A 01460000 * CONTENTS OUT - N/A 01480000 RC EQU 2 WORK REGISTER. 01500000 * CONTENTS IN - N/A 01520000 * CONTENTS OUT - N/A 01540000 RD EQU 3 WORK REGISTER. 01560000 * CONTENTS IN - N/A 01580000 * CONTENTS OUT - N/A 01600000 RE EQU 4 WORK REGISTER. 01620000 * CONTENTS IN - N/A 01640000 * CONTENTS OUT - N/A 01660000 RF EQU 5 WORK REGISTER. 01680000 * CONTENTS IN - N/A 01700000 * CONTENTS OUT - N/A 01720000 RG EQU 6 RETURN REG FOR SUB-ROUTINES. 01740000 * CONTENTS IN - N/A 01760000 * CONTENTS OUT - N/A 01780000 RH EQU 7 IERBGA DSECT BASE REGISTER. 01800000 * CONTENTS IN - N/A 01820000 * CONTENTS OUT - N/A 01840000 RI EQU 8 WORK REGISTER. 01860000 * CONTENTS IN - N/A 01880000 * CONTENTS OUT - N/A 01900000 RJ EQU 9 RECORD FORMAT INDICATOR. 01920000 * CONTENTS IN - N/A 01940000 * CONTENTS OUT - N/A 01960000 RK EQU 10 TECHNIQUE HALF-WORD POINTER. 01980000 * CONTENTS IN - N/A 02000000 * CONTENTS OUT - N/A 02020000 RL EQU 11 MODULE BASE REGISTER. 02040000 * CONTENTS IN - N/A 02060000 * CONTENTS OUT - N/A 02080000 RM EQU 12 IERRCR DSECT BASE REGISTER. 02100000 * CONTENTS IN - N/A 02120000 * CONTENTS OUT - N/A 02140000 RN EQU 13 CPI BASE REGISTER. 02160000 * CONTENTS IN - N/A 02180000 * CONTENTS OUT - N/A 02200000 RO EQU 14 CHANNEL CONFIGURATION INDICATOR. 02220000 * CONTENTS IN - N/A 02240000 * CONTENTS OUT - N/A 02260000 RP EQU 15 TECHNIQUE INDICATOR. 02280000 * CONTENTS IN - N/A 02300000 * CONTENTS OUT - N/A 02320000 EJECT 02340000 IERRCR CSECT 02360000 *A059500,599500,916550 A31878 02360421 *C595800,596200,597200,599300-599400,599600,600200,601200 A31878 02360821 *D069800,072600,914800,917000 A31878 02360921 * 604800-605460,722400-723000,841403-841493 A27998 02361020 * 615820 A24561 02362019 * 842000-842600 A26433 02364019 USING *,RM BASE REGISTER FOR RCR 02380000 USING IERRCS,RL BASE REGISTER FOR RCS 02400000 USING IERBGA,RH BASE REGISTER FOR BGA 02420000 USING IERRC5,RN BASE REG FOR CPI DSECT. 02440000 EJECT 02460000 ******** PAGE 19 02480000 SPACE 2 02500000 * BEGIN PASS CALCULATION AND OPTIMIZATION FOR ALL TECHNIQUES. 02520000 SPACE 2 02540000 RCR1901 LH RO,WCHNIND SET CHANNEL STATUS INDICATOR. 02560000 SPACE 2 02580000 B RCR1901A(RP) GO TO PROPER TECH RTN. 02600000 RCR1901A B RCR1902 BAL TECH INDICATED. 02620000 B RCR1902 POL TECH INDICATED. 02640000 B BGA2201 OSC TECH INDICATED. 02660000 SPACE 2 02680000 SPACE 2 02700000 * BALANCED TECHNIQUE SPECIFIED. 02720000 * POLYPHASE TECHNIQUE SPECIFIED. 02740000 SPACE 2 02760000 SPACE 2 02780000 * CALCULATE NUMBER OF STRINGS IN THE FILE. 02800000 SPACE 2 02820000 * NO. STRINGS = USER FILE SIZE 02840000 * --------------- 02860000 * G * G FACTOR 02880000 SPACE 2 02900000 RCR1902 L RE,WBALG(RP) G 02920000 B RCR1903(RP) GO TO PROPER TECH 02940000 SPACE 2 02960000 RCR1903 B RCR1903A BALANCED TECH 02980000 SPACE 1 03000000 * POLY TECH. 03020000 SPACE 1 03040000 LH RC,WPOLMRMX M 03060000 LH RD,WPOLNWKU N 03080000 CH RD,K09 N GREATER OR EQUAL TO 9 03100000 BC 10,RCR1903A YES - G FACTOR = 2 03120000 SPACE 2 03140000 SLL RC,1 2M 03160000 LH RD,KPOLGF(RC) LOAD G FACTOR 03180000 SR RC,RC 03200000 MR RC,RE G*GFACTOR 03220000 SPACE 2 03240000 LH RE,K100 LOAD SCALING FACTOR 03260000 SR RC,RC 03280000 DR RC,RE SCALE DOWN NO. OF STRINGS 03300000 SPACE 2 03320000 SPACE 2 03340000 LR RE,RD 03360000 B RCR1903B DO NOT SET TO 2G 03380018 SPACE 2 03400000 RCR1903A SLL RE,1 2G 03420000 RCR1903B L RD,WFILSZ RD = FILE SIZE 03440000 SR RC,RC 03460000 DR RC,RE NO. OF STR. = FILE/G*GFACTOR 03480000 LTR RC,RC IS THERE A REMAINDER 03500000 BC 8,RCR1903C NO 03520000 SPACE 2 03540000 LA RD,1(RD) YES - ADD 1 TO THE STRING COUNT 03560000 RCR1903C ST RD,WBALS1(RP) SAVE ORIG. STRING COUNT 03580000 B RCR1904(RP) GO TO PROPER TECH. 03600000 SPACE 2 03620000 RCR1904 B RCR1905 BAL TECH. INDICATED 03640000 SPACE 1 03660000 * POLY TECH. INDICATED 03680000 SPACE 2 03700000 * SET UP PARAMETERS FOR RCRPASS SUB-ROUTINE. 03720000 SPACE 2 03740000 LR RB,RD RB = NO. OF STRINGS 03760000 LH RA,WPOLMRMX RA = MERGE ORDER 03780000 SPACE 2 03800000 C RA,WBALS1(RP) IS M EQUAL/GREATER TO NO. OF STR. 03820000 BC 10,RCR1904D YES-BRANCH AROUND FIBS 03840000 SPACE 2 03860000 BAL RG,RCRFIBX GO TO FIB. ROUTINE 03880000 SPACE 2 03900000 AH RA,K100 ADD PHASE 1 PHASE 03920000 ST RA,WPOLP1 NO OF PASSES BEFORE OPT. 03940000 LA RB,100(RB) ADD PHASE 1 PASS 03960000 ST RB,WPOLP2 NO. OF PASSES AFTER OPT. 03980000 ST RC,WPOLS2 OPT. NO OF STRINGS 04000000 LH RB,WPOLMRMX M 04020000 LH RD,WPOLNWKU N 04040000 CH RD,K09 N GREATER/EQUAL TO 9 04060000 BC 4,RCR1904A NO- USE G FACTOR 04080000 * YES - USE 2 AS G FACTOR 04100000 BAL RG,RCRP06 GO TO RTN. TO CAL. NEW G 04120000 SPACE 2 04140000 B RCR1904B STORE PARMS 04160018 SPACE 2 04180000 RCR1904A SLL RB,1 2M 04200000 MH RC,KPOLGF(RB) NEW NO. STRINGS * GFACTOR 04220000 LR RD,RC NO. OF STR.*G FACTOR 04240000 SR RC,RC 04260000 LA RE,100 LOAD SCALING FACTOR 04280000 SPACE 2 04300000 DR RC,RE NO. OF STR. * G FACTOR/100 04320000 SPACE 2 04340000 LR RE,RD RE = NO. OF STR. * G FACTOR/100 04360000 SPACE 2 04380000 BAL RG,RCRP06A GO TO RTN. TO CALCULATE NEW G 04400000 SPACE 2 04420000 RCR1904B ST RC,WGCAL NEW G 04440000 ST RD,WOTREE SAVE OPT. TREE 04460000 ST RE,WNEWGCOR SAVE NEW COR REQ FOR NEW G 04480000 B RCR1906 SET PARAMETERS FOR SCN RTN. 04500000 SPACE 2 04520000 RCR1904D LA RD,300 THREE PASSES 04540000 ST RD,WBALP1(RP) SET TECH. TO TWO PASSES 04560000 B RCR1906 SET PARAMS FOR SCN RTN 04580018 SPACE 2 04600000 RCR1905 LR RA,RD RA = NO. OF STR. 04620000 LH RB,WBALMRMX RB = MERGE MAX 04640000 LH RC,WBALMRAL RC = MERGE ALT. 04660000 L RD,WFILSZ RD = NO. OF RCDS. 04680000 BAL RG,RCRPASS CAL. NEW G AND NUMBER OF PASSES 04700000 SPACE 2 04720000 ST RC,WGCAL NEW G 04740000 ST RD,WOTREE SAVE OPT. TREE 04760000 ST RE,WNEWGCOR SAVE NEW COR REQ. FOR NEW G 04780000 LA RB,1(RB) ADD PHASE 1 PASS 04800000 MH RB,K100 SCALE NO. OF PASSES 04820000 LR RD,RB RD=BAL NO OF PASSES 04840000 LA RE,10 LOAD SCALING FACTOR 04860000 SR RC,RC 04880000 SPACE 1 04900000 DR RC,RE PASSES/10 04920000 SPACE 1 04940000 AR RB,RD PASSES PLUS 10% 04960000 ST RB,WBALP1 SAVE ORIG NO. OF PASSES 04980000 SH RB,K100 OPT. NO. OF PASSES IS ONE LESS 05000000 ST RB,WBALP2 SAVE OPT. NO OF PASSES 05020000 SPACE 2 05040000 * SET UP PARAMETERS FOR SCN ROUTINE 05060000 SPACE 2 05080000 RCR1906 LH RA,WBALNB1(RK) RA = TOTAL PHASE 1 BFRS 05100000 LH RB,WBALNB2(RK) RB = TOTAL PHASE 2 BFRS 05120000 LH RC,WBALNB3(RK) RC = TOTAL PHASE 3 BFRS 05140000 LH RD,WBSLBAL(RK) RD = BUFFER SIZE 05160000 L RE,WBALP1(RP) RE = ORIG. NO OF PASSES 05180000 BAL RG,RCRSCNGN GO TO SCN ROUTINE 05200000 SPACE 2 05220000 ST RA,WBALSCN(RP) SAVE SCN VALUE 05240000 ST RA,WBALSCN1(RP) SAVE SCN NO. 05260000 SPACE 2 05280000 * IF ONLY TWO PASSES NO OPTIMIZATION 05300000 SPACE 2 05320000 RCR1907 L RA,WBALP1(RP) ORIG. NO OF PASSES 05340000 EX 0,RCR1907A(RP) GO TO PROPER TECH. 05360000 CR RA,RB MORE THAN MIN. NO. OF PASSES 05380000 BC 12,RCR3005 NO - SKIP OPTIMIZATION. 05400000 B RCR1908 YES - OPTIMIZE 05420018 SPACE 2 05440000 DS 0F 05460000 RCR1907A LA RB,220 MINIMUM NO. OF BAL. PASSES 05480000 LA RB,300 MIN. NO. OF POL. PASSES 05500000 SPACE 2 05520000 RCR1908 L RD,WNEWGCOR RD=NEW G CORE 05540000 EX 0,RCR1908A(RP) 05560000 L RB,WP1IPBFR RB= INPUT BFR SIZE 05580000 B RCR1909(RO) GO TO PROPER CHANNEL STATUS 05600000 SPACE 2 05620000 DS 0F 05640000 RCR1908A L RA,WBAL1COR TAVLC-(RUNNING PROG.+GEN.CORE) 05660000 L RA,WPOL1COR TAVLC-(RUNNING PROG.+GEN.CORE) 05680000 SPACE 1 05700000 RCR1909 B RCR1910 MPX INDICATED 05720000 B RCR1910 1 SELECTOR INDICATED 05740000 SPACE 2 05760000 * 2 SELECTOR CHANNELS INDICATED. 05780000 SPACE 2 05800000 SLL RB,1 2(BI) 05820000 MVI WOINP1+3,X'02' SET OPT. NO. OF INP BUFFERS 05826017 MVI WONB1+3,X'04' SET OPT. NO. OF TOTAL BUFFERS 05832017 SPACE 2 05840000 * MPX CHANNEL INDICATED. 05860000 * 1 SELECTOR CHANNEL INDICATED. 05880000 SPACE 2 05900000 RCR1910 AR RB,RD (BI CORE + NEW G CORE ) 05920000 SR RA,RB TOTAL AVAIL -(BI+G) 05940000 SH RA,K08 MINUS 8 FOR QSAM CONTROL BFFR A31878 05950021 BC 4,RCR3005 NEW G TOO LARGE. 05960000 SPACE 2 05980000 LH RB,WRECINCR (F=4, V=8 ) 06000000 B RCR2001(RO) GO TO OPTIMIZATION 06020000 EJECT 06040000 ********* PAGE 20 ******************************** 06060000 SPACE 2 06080000 RCR2001 B RCR2003 MPX INDICATED 06100000 B RCR2002 1 SELECTOR INDICATED 06120000 SPACE 2 06140000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 06160000 SPACE 2 06180000 RCR2002 SLL RB,1 (F=8, V=16 ) 06200000 SR RA,RB 06220000 BC 4,RCR3005 NO OPTIMIZATION. 06240000 SPACE 2 06260000 SRL RA,1 BSLNEW = RA-2(WRECINCR)/2 06280000 B RCR2004 CHECK BSL VS RCD SIZE 06300018 SPACE 2 06320000 * MPX CHANNEL INDICATED. 06340000 SPACE 2 06360000 RCR2003 SR RA,RB BSLNEW = RA - WRECINCR 06380000 BC 4,RCR3005 NO OPTIMIZATION 06400000 SPACE 2 06420000 RCR2004 CH RA,CPIRCDL2 BSL EQUAL/GREATER THAN 1 RCD 06440000 BC 4,RCR3005 NO - SKIP OPTIMIZATION. 06460000 SPACE 2 06480000 CH RA,K10000 BSL GREATER THAN 10K 06500000 BC 2,RCR2004A YES 06520000 SPACE 2 06540000 LR RD,RA 06560000 B RCR2004B NO 06580000 SPACE 2 06600000 RCR2004A CLC CPIRCDL1(2),K10000 1 RCD GREATER THAN 10K 06620000 BC 2,RCR2004F YES 06640000 SPACE 2 06660000 LH RD,K10000 MAX SORT BFR SIZE 06680000 RCR2004B B RCR2004C(RJ) GO TO PROPER ROUTINE 06700000 SPACE 2 06720000 RCR2004C B RCR2004E VARIABLE RCDS INDICATED 06740000 SPACE 2 06760000 * FIXED LENGTH RECORDS INDICATED. 06780000 SPACE 2 06800000 RCR2004D LH RE,CPIRCDL2 06820000 SR RC,RC 06840000 DR RC,RE BS = BSL/L2 06860000 ST RD,WOBS SAVE OPTIMIZED BS 06880000 SR RC,RC 06900000 MR RC,RE BSL = (L2*BS) 06920000 AH RD,WRECINCR BSL = BSL+4 06940000 ST RD,WOBSL SAVE OPTIMIZED BSL 06960000 B RCR2005(RO) GO TO PROPER CNAN. RTN. 07000000 SPACE 2 07020000 * VARIABLE LENGTH RECORDS INDICATED. 07040000 SPACE 2 07060000 RCR2004E ST RD,WOBS SAVE B 07070017 AH RD,WRECINCR BSL = BSL + 8 07080017 ST RD,WOBSL SAVE OPTIMIZED BSL 07100000 B RCR2005(RO) GO TO PROPER CHAN STATUS RTN. 07120000 SPACE 2 07140000 * ONE (1) RECORD GREATER THAN 10K. 07160000 SPACE 2 07180000 RCR2004F LH RD,CPIRCDL2 07200000 AH RD,WRECINCR 1 RCD + INCR 07220000 ST RD,WOBSL SAVE OPTIMIZED BSL 07240000 B RCR2004G(RJ) GO TO PROPER RCD FORMAT RTN 07280000 SPACE 2 07300000 RCR2004G B RCR2004H VAR 07320000 SPACE 2 07340000 * FIXED LENGTH RECORDS INDICATED. 07360000 SPACE 2 07380000 LA RB,1 07400000 ST RB,WOBS OPTIMIZED BS = 1 07420000 B RCR2005(RO) GO TO PROPER CH AN STATUS RTN 07440000 SPACE 2 07460000 RCR2004H ST RD,WOBS OPTIMIZED BS = BSL 07480000 B RCR2005(RO) GO TO PROPER CHAN STATUS RTN. 07500000 SPACE 2 07520000 RCR2005 B RCR2006 MPX INDICATED 07540000 B RCR2007 1 SELECTOR 07560000 B RCR2008A 2 SELECTORS 07580000 SPACE 2 07600000 * MPX CHANNEL INDICATED - SET UP PARAMETERS FOR SCN ROUTINE. 07620000 SPACE 2 07640000 RCR2006 LH RA,WBALNB1(RK) RA= TOTAL PHASE 1 BFRS 07660000 LH RB,WBALNB2(RK) RB= TOTAL PHASE 2 BFRS 07680000 LH RC,WBALNB3(RK) RC= TOTAL PHASE 3 BFRS 07700000 L RE,WBALP2(RP) RE= OPT. NO. OF PASSES 07720000 BAL RG,RCRSCNGN GEN SELECTION COMPARE RTN. 07740000 SPACE 2 07760000 ST RA,WBALSCN2(RP) SAVE OPT. SCN VALUE 07780000 C RA,WBALSCN1(RP) IS SCN2 EQUAL/GREATER THAN SCN1.... 07800000 BC 10,RCR3005 YES - VOID OPTIMIZATION VALUES. 07820000 ST RA,WBALSCN(RP) SAVE SCN NUMBER 07840000 SPACE 2 07860000 B RCR2108A CHECK CAPACITY 07880018 SPACE 2 07900000 * 1 SELECTOR CHANNEL INDICATED. 07920000 SPACE 2 07940000 RCR2007 L RB,WOBSL OPTIMIZED BSL 07960000 L RA,WP1IPBFR PHASE 1 INPUT BR 07980000 CR RB,RA OBSL GREATER BI 08000000 BC 2,RCR2009 YES 08020000 SPACE 2 08040000 RCR2008 LA RB,1 08060000 ST RB,WOINP1 OPT. NO OF PHASE 1 INPUT BFRS 08080000 LA RB,2(RB) P1 TOTAL BFR = 3 08100000 ST RB,WONB1 OPT. PHASE 1 TOTAL BFRS 08120000 SPACE 1 08140000 RCR2008A L RA,WOBSL OPTIMIZED BSL 08160000 LH RB,WBALMRMX(RK) M 08180000 BAL RG,RCRP3NBO GO TO PHASE 3 BUFFER ROUTINE 08200000 SPACE 2 08220000 ST RA,WONB3 OPT. NO. OF PHASE 3 BFRS 08240000 ST RB,WOOUT3 SAVE OPT. NUMBER OF OUTPUT BUFFERS 08260000 SPACE 1 08280000 RCR2008B L RA,WOBSL OPTIMIZED BSL 08300000 LH RB,WBALMRMX(RK) M 08320000 SPACE 1 08340000 EX 0,RCR2008C(RP) 08360000 SPACE 1 08380000 B RCR2008D FIND PH2 BFRS 08400018 SPACE 2 08420000 DS 0F 08440000 RCR2008C L RC,WBAL2COR BAL. PHASE 2 AVAIL. CORE 08460000 L RC,WPOL2COR POL. PHASE 2 AVAIL. CORE 08480000 RCR2008D BAL RG,RCRP2NBP GO TO PHASE 2 BFR ROUTINE 08500000 SPACE 2 08520000 ST RA,WONB2 SAVE OPT. NO OF PHASE 2 BFRS. 08540000 ST RB,WOOUT2 SAVE NO. OF PHASE 2 OUTPUT BFRS 08560000 B RCR2108 START SCAN 08580018 SPACE 2 08600000 * OPTIMIZED BSL GREATER THAN INPUT BUFFERS (BI). 08620000 SPACE 2 08640000 RCR2009 LA RB,2 SET 2 P1 INPUT BFRS 08660000 ST RB,WOINP1 OPY. PHASE 1 INPUT BFRS 08680000 LA RB,1(RB) 08700000 ST RB,WONB1 OPT. PHASE 1 TOTAL BFRS 08720000 B RCR2008A GO TO PHASE 3 BFR ROUTINE 08740000 EJECT 08760000 ******** PAGE 21 08780000 SPACE 2 08800000 * SET UP PARAMETERS FOR SCN ROUTINE. 08820000 SPACE 2 08840000 RCR2108 L RA,WONB1 OPT. PHASE 1 TOTAL BFRS 08860000 L RB,WONB2 OPT. PHASE 2 TOTAL BFRS 08880000 L RC,WONB3 OPT. PHASE 3 TOTAL BFRS 08900000 L RD,WOBSL OPT. BSL 08920000 L RE,WBALP2(RP) RE= OPT. NO OF PASSES 08940000 BAL RG,RCRSCNGN GEN. SELECTION ROUTINE 08960000 SPACE 2 08980000 ST RA,WBALSCN2(RP) SAVE OPT. SCN NO. 09000000 C RA,WBALSCN1(RP) IS SCN2 EQUAL/GREATER THAN SCN1.... 09020000 BC 10,RCR3005 YES - VOID OPTIMIZATION VALUES. 09040000 ST RA,WBALSCN(RP) SAVE SCN NUMBER 09060000 SPACE 2 09080000 * SET UP PARAMETERS FOR CAPACITY ROUTINE. 09100000 SPACE 2 09120000 RCR2108A L RA,WOBS RA = OPT. BS 09140000 L RB,WOBSL RB = OPT. BSL 09160000 LH RC,WBREELS(RK) RC= OPT. NO. OF REELS 09180000 BAL RG,RCSCAP GO TO CAPACITY ROUTINE 09200000 SPACE 2 09220000 ST RD,WNMXCAL OPT. NMAX 09240000 SPACE 2 09260000 C RD,WFILSZ DOES FILE SIZE EXCEED OPT NMAX..... 09280000 BL RCR3005 YES - VOID OPTIMIZATION VALUES. 09300000 SPACE 2 09320000 B BGA2806 OPTIMIZATION WAS OK 09340018 EJECT 09360000 ******** PAGE 22 09380000 SPACE 2 09400000 * START OF OSC TECHNIQUE SUB-PASS , TOTAL PASS AND OPTIMIZATION 09420000 * ROUTINES. 09440000 SPACE 2 09460000 BGA2201 L RA,WOSC1COR TOTAL CORE LESS RUNNING PROGS & GEN 09480000 * CORE. 09500000 L RB,WP1IPBFR INPUT BUFFER SIZE. 09520000 TM WOSCINP1+1,X'01' ONE (1) INPUT BUFFER..... 09540000 BO BGA2202 YES - 09560000 SPACE 2 09580000 SLL RB,1 NO - 09600000 BGA2202 SR RA,RB 09620000 ST RA,WNEWCOR SAVE VALUE FOR OPTIMIZATION RTN. 09640000 MVC WNMXCAL(4),WOSCNMAX 09660000 MVC WGCAL(4),WOSCG GET PRESENT G VALUE. 09680000 SPACE 2 09700000 BGA2203 L RD,WNMXCAL CALCULATE PRESENT RMAX VALUE. 09720000 LH RE,WOREELS MAX FULL REELS FOR OSC. 09740000 SR RC,RC 09760000 SPACE 1 09780000 DR RC,RE RD = RMAX ( MAX RCDS PER REEL) 09800000 LA RD,1(RD) 3530 09810018 SPACE 1 09820000 ST RD,WRMAX SAVE RMAX VALUE 09840000 SPACE 1 09860000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 09880000 BO BGA2204 YES - 09900000 SPACE 2 09920000 ST RD,WOSCRMAX NO - 09940000 ST RD,WRMAX1 09960000 B BGA2205 DO NOT STORE AN UPDATED RMAX 09980018 SPACE 2 10000000 BGA2204 ST RD,WRMAX2 10020000 BGA2205 LR RE,RD RE = RMAX. 10040000 L RD,WFILSZ USER FILE SIZE. 10060000 SR RC,RC 10080000 SPACE 1 10100000 DR RC,RE FILE SZ/RMAX = FULL REELS + REM. 10120000 SPACE 2 10140000 * CHECK FOR NUMBER OF FULL REELS AND PARTIAL REELS. 10160000 SPACE 2 10180000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 10200000 BO BGA2206 YES - 10220000 SPACE 2 10240000 ST RD,WFULL1 NO - SAVE NO. FULL REELS. 10260000 ST RD,WFULL 10280000 LTR RC,RC CHECK FOR REMAINDER..... 10300000 BZ BGA2206 NONE PRESENT. 10320000 SPACE 2 10340000 ST RC,WREM SAVE REMAINDER. 10360000 ST RC,WREM1 10380000 OI WCSSWA,X'80' TURN ON SW1 INDICATING PARTIAL 10400000 * REEL PRESENT. 10420000 LA RC,1 10440000 STH RC,WDIFFCTR INITIALIZE DIFFERENCE CTR TO 1. 10460000 B BGA2207 DO NOT STORE FULL REEL CNT 10480018 SPACE 2 10500000 BGA2206 ST RD,WFULL2 SAVE NUMBER OF FULL REELS. 10520000 ST RD,WFULL 10540000 LTR RC,RC CHECK FOR REMAINDER..... 10560000 BZ BGA2207 NONE PRESENT. 10580000 SPACE 2 10600000 ST RC,WREM SAVE REMAINDER. 10620000 ST RC,WREM2 10640000 OI WCSSWA,X'80' TURN ON SW1 INDICATING PARTIAL REEL 10660000 SPACE 1 10680000 BGA2207 LH RA,WOSCMRMX OSC TECH MAX MERGE ORDER. 10700000 ST RA,WMRMXKP SAVE VALUE FOR OPTIMIZATION RTN. 10720000 SR RF,RF INITIALIZE TABLE POINTER TO 0. 10740000 EJECT 10760000 ******** PAGE 23 10780000 SPACE 2 10800000 SPACE 1 10820000 BGA2301 CLI WFULL+3,X'00' ANY FULL REELS INDICATED..... 10840000 BC 8,BGA2309 NO - 10860000 SPACE 2 10880000 BGA2302 L RI,WFULL YES - LOAD NO. FULL REELS. 10900000 L RB,WRMAX PRESENT RMAX VALUE. 10920000 ST RB,WGAAA 10940000 SPACE 2 10960000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION RTN..... 10980000 BO BGA2303 YES - 11000000 SPACE 2 11020000 AH RD,WDIFFCTR NO - UPDATE TOTAL PASSES VALUE. 11040000 STH RD,WDIFFCTR 11060000 BGA2303 LR RB,RA MERGE MAX. 11080000 SLL RB,1 11100000 L RD,WGCAL PRESENT CALCULATED G. 11120000 LH RE,KGFACTOR(RB) MERGE ORDER G MULT. FACTOR. 11140000 SR RC,RC 11160000 SPACE 1 11180000 MR RC,RE RD = G * G FACTOR 11200000 SPACE 1 11220000 BGA2304 LR RE,RD 11240000 L RD,WGAAA PRESENT RMAX OR REMAINDER. 11260000 MH RD,K100 MULTIPLY BY 100 SCALING FACTOR. 11280000 SR RC,RC 11300000 SPACE 1 11320000 DR RC,RE RMAX(100)/G*G FACTOR = NO. STR PER 11340000 * SUB-PASS. 11360000 LTR RC,RC CHECK FOR REMAINDER..... 11380000 BZ BGA2304A NONE PRESENT. 11400000 SPACE 2 11420000 LA RD,1(RD) REMAINDER PRESENT, ADD 1 TO STRING 11440000 * COUNT. 11460000 SPACE 1 11480000 BGA2304A TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 11500000 BO BGA2305 YES - 11520000 SPACE 2 11540000 ST RD,WSTR1(RF) NO - STORE NO. STR IN TABLE 1. 11560000 ST RA,WMRGMX(RF) STORE MERGE MAX IN TABLE1. 11580000 B BGA2305A DO NOT STORE IN TABLE 2 11600018 SPACE 2 11620000 BGA2305 ST RD,WSTR2(RF) STORE NO. STRINGS IN TABLE 2. 11640000 SPACE 2 11660000 * SET UP FOR PASS CALCULATION SUB-ROUTINE. 11680000 SPACE 2 11700000 BGA2305A LR RB,RA MERGE MAX. 11720000 LR RC,RA MERGE ALT. 11740000 LR RA,RD NO. STRINGS. 11760000 L RD,WGAAA NO. RCDS (RMAX OR REMAINDER). 11780000 BAL RG,RCRPASS1 BRANCH TO SUB-RTN AND RETURN. 11800000 SPACE 2 11820000 * RETURN FROM PASS SUB-ROUTINE. 11840000 SPACE 2 11860000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 11880000 BO BGA2306 YES - 11900000 SPACE 2 11920000 ST RA,WNEWSTR(RF) STORE NEW STRING COUNT NEEDED TO 11940000 * SAVE ONE (1) PASS. 11960000 ST RB,WSUBP1(RF) STORE NO. SUB-PASSES IN TABLE 1. 11980000 ST RC,WNEWG1(RF) STORE NEW ª NEEDED TO SAVE 1 PASS. 12000000 ST RD,WNEWT1(RF) STORE NEW TREE SIZE. 12020000 ST RE,WNP1CRQ(RF) STORE NEW PHASE 1 CORE REQUIRED. 12040000 B BGA2307 SKIP STORE 12060018 SPACE 2 12080000 BGA2306 ST RB,WSUBP2(RF) STORE NO. SUB-PASSES IN TABLE 2. 12100000 BGA2307 LR RD,RB NUMBER OF SUB-PASSES. 12120000 L RE,WGAAA NO. RCDS. 12140000 SR RC,RC 12160000 SPACE 1 12180000 MR RC,RE NO. RCDS PER SUB-PASS * NO. SUB-PASS 12200000 SPACE 1 12220000 A RD,WSUBTOT UPDATE SUB-PASS TOTAL. 12240000 ST RD,WSUBTOT SAVE UPDATED TOTAL. 12260000 L RA,WMRMXKP RESTORE MERGE ORDER VALUE. 12280000 BCT RA,BGA2308 REDUCE MERGE ORDER BY 1. 12300000 BGA2308 ST RA,WMRMXKP STORE REDUCED MERGE ORDER. 12320000 LA RF,4(RF) UPDATE TABLE POINTER. 12340000 SPACE 2 12360000 * CHECK IF ALL FULL REELS HAVE BEEN COMPLETED. 12380000 SPACE 2 12400000 BCT RI,BGA2303 NO - 12420000 SPACE 1 12440000 * YES - 12460000 SPACE 1 12480000 TM WCSSWA,X'80' SW 1 ON - PARTIAL REEL PRESENT..... 12500000 BZ BGA2310 NO - 12520000 SPACE 2 12540000 BGA2309 NI WCSSWA,X'7F' YES - TURN OFF SW1. 12560000 LA RI,1 INITIALIZE COUNT TO 1. 12580000 L RB,WREM LOAD REMAINDER. 12600000 ST RB,WGAAA 12620000 B BGA2303 CALCULATE FOR PARTIAL REEL. 12640000 SPACE 2 12660000 * CALCULATE ACTUAL NUMBER OF TIMES ENTIRE FILE WILL BE PASSES. 12680000 SPACE 2 12700000 BGA2310 L RD,WSUBTOT RCD HANDLING SUB-TOTAL. 12720000 MH RD,K100 MULT BY 100 SCALING FACTOR. 12740000 L RE,WFILSZ USER FILE SIZE. 12760000 SR RC,RC 12780000 SPACE 1 12800000 DR RC,RE 12820000 SPACE 1 12840000 LA RD,200(RD) ADD IN PHASES 1 AND 3 PASSES. 12860000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 12880000 BZ BGA2311 NO - ORDER TABLES BY SIZE. 12900000 SPACE 2 12920000 ST RD,WOSCP2 OPTIMIZED NO. PASSES. 12940000 ST RD,WOPASS 12960000 L RG,WADRKP LOAD RD WITH RETURN ADDRESS. 12980000 BR RG RETURN. 13000000 SPACE 1 13020000 BGA2311 LH RA,WOSCNB1 TOTAL PHASE 1 BFRS UNOPTIMIZED. 13040000 LH RB,WOSCNB2 TOTAL PHASE 2 BFRS UNOPTIMIZED. 13060000 LH RC,WOSCNB3 TOTAL PHASE 3 BFRS UNOPTIMIZED. 13080000 ST RD,WOSCP1 UN-OPTIMIZED NO. PASSES. 13100000 ST RD,WOPASS 13120000 LR RE,RD NO. PASSES OF ENTIRE FILE. 13140000 LH RD,WBSLOSC SORT BFR SIZE - UNOPTIMIZED. 13160000 STM RA,RE,WSCNNB1 SET UP PARAMETERS FOR SELECTION 13180000 * COMPARE NUMBER ROUTINE. 13200000 BAL RG,RCRSCNGN BRANCH TO RTN AND RETURN. 13220000 SPACE 2 13240000 BGA2312 ST RA,WOSCSCN STORE SCN NUMBER. 13260000 ST RA,WOSCSCN1 13280000 SPACE 1 13300000 OI WCSSWA,X'08' TURN ON SW 5 - START OPTIMIZATION. 13320000 SR RA,RA 13340000 ST RA,WSUBTOT CLEAR OUT SUB-PASS TOTAL COUNT. 13360000 EJECT 13380000 ******** PAGE 24 13400000 SPACE 2 13420000 SPACE 2 13440000 * PUT COMPLIED TABLES IN ORDER - HIGH TO LOW. 13460000 * FIRST ENTRY IN DIFFERENCE TABLE WILL BE THE LARGEST STRING 13480000 * DIFFERENCE TO SAVE ONE (1) PASS, THE LAST ENTRY WILL BE THE 13500000 * SMALLEST STRING DIFFERENCE TO SAVE ONE (1) PASS. 13520000 SPACE 2 13540000 BGA2401 LA RB,WNEWSTR 13560000 ST RB,WNEWSTRA DIFFERENCE TABLE - 1ST ADDRESS. 13580000 LA RB,4(RB) 13600000 ST RB,WNEWSTRB DIFFERENCE TABLE - 2ND ADDRESS. 13620000 LA RB,WNEWG1 13640000 ST RB,WNEWG1A NEW G TABLE - 1ST ADDRESS. 13660000 LA RB,4(RB) 13680000 ST RB,WNEWG1B NEW G TABLE - 2ND ADDRESS. 13700000 LA RB,WNEWT1 13720000 ST RB,WNEWT1A NEW TREE TABLE - 1ST ADDRESS. 13740000 LA RB,4(RB) 13760000 ST RB,WNEWT1B NEW TREE TABLE - 2ND ADDRESS. 13780000 LA RB,WNP1CRQ 13800000 ST RB,WNP1CRQA NEW REQ PHASE 1 CORE TABLE - 1ST 13820000 * ADDRESS. 13840000 LA RB,4(RB) 13860000 ST RB,WNP1CRQB NEW REQ PHASE 1 CORE TABLE - 2ND 13880000 * ADDRESS. 13900000 LA RB,WMRGMX 13920000 ST RB,WMRGMXA MERGE MAX TABLE - 1ST ADDRESS. 13940000 LA RB,4(RB) 13960000 ST RB,WMRGMXB MERGR MAX TABLE - 2ND ADDRESS. 13980000 SPACE 2 14000000 BGA2401A LH RA,WDIFFCTR NO. OF ENTRIES PER TABLE. 14020000 BGA2402 BCT RA,BGA2403 BRANCH IF TABLES NOT COMPLETED. 14040000 SPACE 1 14060000 B BGA2501 TABLES COMPLETED. 14080000 SPACE 2 14100000 BGA2403 ST RA,WLOOPCT SAVE COUNT. 14120000 SR RF,RF ZERO OUT TABLE POINTER. 14140000 SPACE 1 14160000 BGA2404 LM RB,RC,WNEWSTRA 14180000 L RD,0(RF,RB) GET 1ST STRING DIFFERENCE. 14200000 L RE,0(RF,RC) GET 2ND STRING DIFFERENCE. 14220000 CR RD,RE DIFF1 GREATER THAN DIFF2..... 14240000 BC 2,BGA2405 YES - MAKE NO EXCHANGE. 14260000 SPACE 1 14280000 * NO - EXCHANGE TABLE VALUES. 14300000 SPACE 1 14320000 ST RD,0(RF,RC) EXCHANGE STRING DIFFERENCE COUNTS. 14340000 ST RE,0(RF,RB) 14360000 LM RB,RC,WNEWG1A EXCHANGE G TABLE VALUES. 14380000 BAL RG,BGALOOP VIA LOOP ROUTINE 14400018 SPACE 2 14420000 LM RB,RC,WNEWT1A EXCHANGE TREE TABLE VALUES. 14440000 BAL RG,BGALOOP VIA LOOP ROUTINE 14460018 SPACE 2 14480000 LM RB,RC,WMRGMXA EXCHANGE MERGE ORDER TABLE VALUES. 14500000 BAL RG,BGALOOP VIA LOOP ROUTINE 14520018 SPACE 2 14540000 LM RB,RC,WNP1CRQA EXCHANGE PHASE 1 REQ CORE TABLE 14560000 BAL RG,BGALOOP VALUES. 14580000 SPACE 2 14600000 BGA2405 BCT RA,BGA2406 BRANCH IF PASS NO COMPLETED. 14620000 SPACE 1 14640000 L RA,WLOOPCT 14660000 B BGA2402 DO NEXT TABLE 14680018 SPACE 2 14700000 BGA2406 LA RF,4(RF) UPDATE TABLE POINTER. 14720000 B BGA2404 CONTINUE 14740018 SPACE 2 14760000 * LOOP ROUTINE TO ACTUALLY EXCHANGE SPECIFIED TABLE VALUES. 14780000 SPACE 2 14800000 BGALOOP L RD,0(RF,RB) 14820000 L RE,0(RF,RC) 14840000 ST RD,0(RF,RC) 14860000 ST RE,0(RF,RB) 14880000 BR RG RETURN 14900000 SPACE 2 14920000 EJECT 14940000 ******** PAGE 25 14960000 SPACE 2 14980000 * START OF OPTIMIZATION - BEGIN SCANNING TABLES TO SEE IF NEW G 15000000 * CALCULATED TO SAVE ONE (1) PASS WILL FIT IN PHASE 1 15020000 * AVAILABLE CORE. 15040000 SPACE 2 15060000 BGA2501 LH RC,WDIFFCTR NO. OF ENTRIES IN TABLES. 15080000 SPACE 2 15100000 STH RC,WDIFFSV SAVE 15120000 BGA2502 SR RF,RF ZERO OUT TABLE POINTER. 15140000 STH RF,WPTRSV SAVE 15160000 SPACE 1 15180000 BGA2503 L RA,WNEWCOR AVAILABLE PHASE 1 CORE. 15200000 BGA2504 LA RC,WNP1CRQ 15220000 L RB,0(RF,RC) RB = CORE REQ FOR NEW G. 15240000 LTR RB,RB 15260000 BZ BGA2506 NO PASS CAN BE SAVED. 15280000 SPACE 2 15300000 BGA2505 CR RA,RB AVAILABLE CORE GREATER THAN CORE 15320000 * REQUIRED FOR NEW G..... 15340000 BC 2,BGA2509 YES - 15360000 SPACE 2 15380000 BGA2506 LH RC,WDIFFSV NO - UPDATE AND SAVE POINTERS. 15400000 LH RF,WPTRSV 15420000 SPACE 1 15440000 BGA2507 BCT RC,BGA2508 TABLE COMPLETED..... 15460000 B RCR3005 GO TO TECH CTR ROUTINE 15480000 SPACE 2 15500000 BGA2508 STH RC,WDIFFSV NO - SAVE NEW TABLE COUNT. 15520000 LA RF,4(RF) UPDATE TABLE POINTER. 15540000 STH RF,WPTRSV SAVE NEW TABLE POINTER VALUE. 15560000 B BGA2503 TRY NEXT TABLE ENTRY. 15580000 SPACE 2 15600000 BGA2509 SR RA,RB RA = AVAIL CORE - NEW REQ CORE. 15620000 CL RA,WRCDPLUS RA EQUAL/GREATER THAN 1 RCD + INCR 15640000 BC 4,BGA2506 NO - 15660000 SPACE 2 15680000 BGA2510 LR RD,RA RD = REMAINING AVAILABLE CORE. 15700000 LH RE,WBALNB1(RK) TOTAL PHASE 1 NO. BFRS. 15720000 SH RE,WBALINP1(RK) TOTAL P1 NO. BFRS - INPUT BFRS. 15740000 SR RC,RC 15760000 SPACE 1 15780000 DR RC,RE OBSL = AVAIL CORE/NO. OUTPUT BFRS. 15800000 SPACE 1 15820000 BGA2511 CL RD,WRCDPLUS OBSL EQUAL/GREATER THAN 1 RCD 15840000 * PLUS INCREMENT..... 15860000 BC 4,BGA2506 NO - 15880000 SPACE 1 15900000 B BGA2512(RJ) YES - GO TO PROPER RCD FORMAT RTN. 15920000 SPACE 2 15940000 * CALCULATE OPTIMIZED SORT BUFFER LENGTH (OBSL) AND OPTIMIZED 15960000 * SORT BLOCKING FACTOR (OBS). 15980000 SPACE 2 16000000 BGA2512 B BGA2514 VARIABLE LENGTH RCDS INDICATED. 16020000 SPACE 2 16040000 * FIXED LENGTH RCDS INDICATED. 16060000 SPACE 2 16080000 BGA2513 SH RD,K04 16100000 LH RE,CPIRCDL2 RECORD LENGTH. 16120000 SR RC,RC 16140000 SPACE 1 16160000 DR RC,RE OBS = OBSL/L2. 16180000 SPACE 1 16200000 ST RD,WOBS SAVE OPTIMIZED OBS VALUE. 16220000 SR RC,RC 16240000 SPACE 1 16260000 MR RC,RE OBSL = (L2 * OBS). 16280000 SPACE 1 16300000 AH RD,WRECINCR OBSL = OBSL + 4. 16320000 ST RD,WOBSL SAVE OPTIMIZED OBSL VALUE. 16340000 B BGA2515 RECALCULATE NMAX 16360018 SPACE 2 16380000 * VARIABLE LENGTH RCDS INDICATED. 16400000 SPACE 2 16420000 BGA2514 ST RD,WOBS SAVE OPTIMIZED OBS VALUE. 16440000 ST RD,WOBSL SAVE OPTIMIZED OBSL VALUE. 16460000 SPACE 2 16480000 * CALCULATE NEW NMAX VALUE USING NEW OPTIMIZED PARAMETERS. 16500000 SPACE 2 16520000 BGA2515 L RA,WOBS 16540000 L RB,WOBSL 16560000 LH RC,WOREELS 16580000 BAL RG,RCSCAP BRANCH AND RETURN WITH NEW NMAX. 16600000 SPACE 2 16620000 BGA2516 ST RD,WNMXCAL SAVE NEW NMAX VALUE. 16640000 SPACE 2 16660000 SPACE 2 16680000 BGA2517 L RC,WFILSZ YES - LOAD FILE SIZE. 16700000 CR RC,RD NMAX EXCEEDED..... 16720000 BC 2,BGA2506 YES - TRY NEXT TABLE ENTRY. 16740000 SPACE 2 16760000 BGA2518 LA RB,WNEWG1 NO - ADDRESS OF NEW G TABLE. 16780000 LH RF,WPTRSV TABLE ENTRY POINTER. 16800000 L RC,0(RF,RB) RC = NEW G VALUE. 16820000 ST RC,WGCAL 16840000 SPACE 1 16860000 BGA2519 LH RB,WBALNB1(RK) UN-OPTIMIZED PHASE 1 TOTAL NO. BFRS. 16880000 ST RB,WONB1 SAVE VALUE. 16900000 LH RB,WBALINP1(RK) UN-OPTIMIZED NO. PHASE 1 INPUT BFRS 16920000 ST RB,WOINP1 SAVE VALUE. 16940000 SPACE 2 16960000 * SET UP RETURN ADDRESS FOR RETURN FROM MAIN PROGRAM . 16980000 SPACE 2 17000000 BGA2520 LA RG,BGA2801 RETURN POINT FROM MAIN ROUTINE. 17020000 ST RG,WADRKP SAVE FOR REFERENCE BY MAIN ROUTINE. 17040000 B BGA2203 GO TO MAIN ROUTINE. 17060000 SPACE 2 17080000 EJECT 17100000 ******** PAGE 26 17120000 SPACE 2 17140000 * RCRP3NBO SUBROUTINE - USED TO RE-CALCULATE TOTAL NUMBER OF 17160000 * PHASE 3 BUFFERS AND NUMBER OF PHASE 3 OUTPUT BUFFERS USING 17180000 * ANY SUPPLIED SORT BUFFER LENGTH (OBSL). 17200000 SPACE 1 17220000 * REGISTERS ENTERING SUB-ROUTINE. 17240000 SPACE 1 17260000 * RA = SORT BUFFER LENGTH (OBSL). 17280000 * RB = MAXIMUM MERGE ORDER. 17300000 * RG = RETURN REGISTER. 17320000 SPACE 1 17340000 * REGISTERS LEAVING SUB-ROUTINE. 17360000 SPACE 1 17380000 * RA = TOTAL NUMBER PHASE 3 BUFFERS. 17400000 * RB = NUMBER OF PHASE 3 OUTPUT BUFFERS. 17420000 SPACE 2 17440000 RCRP3NBO STM RA,RB,WORK1 SAVE PARAMETER REGISTERS. 17460000 B RCR2601(RO) GO TO PROPER CHANNEL STATUS RTN. 17480000 SPACE 2 17500000 RCR2601 B RCR2614 MPX CHANNEL INDICATED. 17520000 B RCR2601A 1 SELECTOR CHANNEL INDICATED. 17540000 SPACE 2 17560000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 17580000 SPACE 2 17600000 RCR2601A LH RA,WBALNB3(RK) UNOPTIMIZED PHASE 3 TOTAL BFRS. 17620000 SLL RB,1 2(M) 17640000 LA RB,2(RB) 2(M) + 2 17660000 RCR2602 CR RB,RA TOTAL NO. BFRS EQUAL 2M+2..... 17680000 BC 8,RCR2613 YES - 17700000 SPACE 1 17720000 * NO - 17740000 SPACE 1 17760000 EX 0,RCR2603(RP) PHASE 3 AVAIL CORE LESS RP AND GC. 17780000 B RCR2603A FIND PH3 BFRS 17800018 SPACE 2 17820000 DS 0F 17840000 RCR2603 L RA,WBAL3COR 17860000 L RA,WPOL3COR 17880000 L RA,WOSC3COR 17900000 SPACE 2 17920000 RCR2603A L RD,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 17940000 SR RA,RD RA = WXXX3COR - 1(BO) 17960000 RCR2604 LA RB,1 SET PHASE 3 OUTPUT BFR COUNT = 1. 17980000 SPACE 1 18000000 RCR2605 L RE,WORK1 OBSL VALUE. 18020000 L RD,WORK2 MERGE MAX VALUE. 18040000 SR RC,RC 18060000 MR RC,RE RD = M(OBSL) 18080000 SR RA,RD RA = RA - M(OBSL). 18100000 SPACE 1 18120000 RCR2606 L RD,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 18140000 CR RA,RD ENOUGH CORE FOR A SECOND OUTPUT BFR 18160000 BC 4,RCR2608 NO - 18180000 SPACE 2 18200000 RCR2607 SR RA,RD YES - ALLOCATE SECOND OUTPUT BFR. 18220000 LA RB,2 INDICATE 2 OUTPUT BFRS. 18240000 RCR2608 L RE,WORK1 OBSL VALUE. 18260000 CR RA,RE ENOUGH CORE FOR ANY ADDITIONAL 18280000 * PHASE 3 UNPUT BFRS..... 18300000 BC 4,RCR2612 NO - 18320000 SPACE 2 18340000 RCR2609 LR RD,RA YES - 18360000 SR RC,RC 18380000 DR RC,RE RD = AVAILABLE CORE/OBSL. 18400000 SPACE 1 18420000 RCR2610 L RE,WORK2 MERGE MAX VALUE. 18440000 CR RD,RE ADDIT. INPUT BFRS GREATER THAN M.. 18460000 BC 12,RCR2615 NO - 18480000 SPACE 2 18500000 RCR2611 LR RD,RE YES - INDICATE M NO. ADDITIONAL 18520000 * INPUT BUFFERS. 18540000 B RCR2615 GO TO EXIT 18560018 SPACE 2 18580000 RCR2612 LA RD,0 INDICATE NO ADDITIONAL INPUT BFRS. 18600000 B RCR2615 GO TO EXIT 18620018 SPACE 2 18640000 RCR2613 LA RB,2 INDICATE 2 OUTPUT BFRS. 18660000 L RD,WORK2 INDICATE M NO. OF ADDITIONAL 18680000 * INPUT BFRS. 18700000 B RCR2615 GO TO EXIT 18720018 SPACE 2 18740000 RCR2614 LA RB,1 INDICATE 1 PHASE 3 OUTPUT BFR. 18760000 B RCR2612 SET ADDITIONAL BFRS=0 18780018 SPACE 2 18800000 RCR2615 L RA,WORK2 MINIMUM NUMBER OF INPUT BFRS. 18820000 AR RA,RD ADD IN NUMBER OF ADDITIONAL 18840000 * INPUT BFRS. 18860000 AR RA,RB ADD IN NUMBER OF OUTPUT BFRS. 18880000 SPACE 2 18900000 BR RG RETURN TO CALLING ROUTINE. 18920000 EJECT 18940000 ******** PAGE 27 18960000 SPACE 2 18980000 * RCRP2NB SUBROUTINE - USED TO RE-CALCULATE TOTAL NUMBER OF 19000000 * PHASE 2 BUFFERS AND NUMBER OF PHASE 2 OUTPUT BUFFERS USING 19020000 * ANY SUPPLIED SORT BUFFER LENGTH (OBSL). 19040000 SPACE 2 19060000 * REGISTERS ENTERING SUB-ROUTINE. 19080000 SPACE 1 19100000 * RA = SORT BUFFER LENGTH. 19120000 * RB = MERGE MAX. 19140000 * RC = BUFFER CORE AVAILABLE. 19160000 * (WXXX2COR FOR POL AND BAL TECH). 19180000 * (NEW G CORE FOR OSC TECH). 19200000 * RG = RETURN REGISTER. 19220000 SPACE 1 19240000 * REGISTERS LEAVING SUB-ROUTINE. 19260000 SPACE 1 19280000 * RA = TOTAL NUMBER OF PHASE 2 BUFFERS. 19300000 * RB = NUMBER OF PHASE 2 OUTPUT BUFFERS. 19320000 SPACE 2 19340000 * ENTRY POINT FROM POLYPHASE OR BALANCED TECHNIQUES. 19360000 SPACE 2 19380000 RCRP2NBP STM RA,RF,WORK SAVE PARAMETER REGISTERS. 19400000 LR RA,RB INITIALIZE TOTAL NO. BFRS TO M. 19420000 LR RE,RB 19440000 LR RF,RB 19460000 SLL RE,1 19480000 LA RE,2(RE) RE = 2M+2. 19500000 LR RC,RE 19520000 LA RF,2(RF) RF = M+2. 19540000 LA RB,1 INITIALIZE NO. OUTPUT BFRS TO 1. 19560000 B RCR2701 OPTIMIZE PH2 BFRS 19580018 SPACE 2 19600000 * ENTRY POINT FROM OSCILLATING TECHNIQUE. 19620000 SPACE 2 19640000 RCRP2NBO STM RA,RF,WORK SAVE PARAMETER REGISTERS. 19660000 LR RA,RB INITIALIZE TOTAL NO. BFRS = M. 19680000 LR RF,RB RF = M. 19700000 LR RE,RB 19720000 SLL RE,1 RE = 2M. 19740000 LH RB,WOSCOUT2 NO. PHASE 2 OUTPUT BFRS. 19760000 LR RC,RE 19780000 LA RC,2(RC) RC = 2M+2. 19800000 SPACE 2 19820000 * CHECK CHANNEL CONFIGURATION AND GO TO PROPER ROUTINE. 19840000 SPACE 2 19860000 RCR2701 B RCR2701A(RO) GO TO PROPER CHANNEL RTN 19880018 SPACE 2 19900000 RCR2701A B RCR2712 MPX CHANNEL INDICATED. 19920000 B RCR2702 1 SELECTOR CHANNEL INDICATED. 19940000 SPACE 2 19960000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 19980000 SPACE 2 20000000 RCR2702 LH RD,WBALNB2(RK) UNOPTIMIZED NO. PHASE 2 TOTAL BFRS. 20020000 CR RD,RC P2NB EQUAL TO 2M+2..... 20040000 BC 8,RCR2709 YES - 20060000 SPACE 2 20080000 RCR2703 ST RE,WORK7 NO - SAVE VALUE. 20100000 L RD,WORK2 CORE AVAILABE FOR BUFFERS. 20120000 L RE,WORK OBSL. 20140000 SR RC,RC 20160000 DR RC,RE RD = NO. OF BFRS NEW CORE VALUE 20180000 * WILL HOLD. 20200000 L RE,WORK7 RESTORE RE TO SAVED VALUE. 20220000 SPACE 2 20240000 RCR2704 CR RD,RE NEW NO. BFRS EQUAL/GREATER THAN 20260000 * 2M+2 VALUE..... 20280000 BC 10,RCR2709 YES - 20300000 SPACE 2 20320000 RCR2705 CR RD,RF 20340000 BC 4,RCR2712 BRANCH IF LESS. 20360000 SPACE 2 20380000 RCR2706 B RCR2706A(RP) GO TO PROPER TECH ROUTINE. 20400000 SPACE 2 20420000 RCR2706A B RCR2708 BAL TECH INDICATED. 20440000 B RCR2708 POL TECH INDICATED. 20460000 SPACE 2 20480000 * OSCILLATING TECHNIQUE INDICATED. 20500000 SPACE 2 20520000 RCR2707 SR RD,RF RD = RD - M. 20540000 B RCR2713 OSCILLATING TECH 20560018 SPACE 2 20580000 * POLYPHASE OR BALANCED TECHNIQUE INDICATED. 20600000 SPACE 2 20620000 RCR2708 SR RD,RF RD = RD - (M+2). 20640000 B RCR2711 POLY OR BAL TECH 20660018 SPACE 2 20680000 RCR2709 L RD,WORK1 RD = M. 20700000 RCR2710 B RCR2710A(RP) GO TO PROPER TECH ROUTINE. 20720000 SPACE 2 20740000 RCR2710A B RCR2711 BAL TECH INDICATED. 20760000 B RCR2711 POL TECH INDICATED. 20780000 B RCR2713 OSC TECH INDICATED 20800000 SPACE 2 20820000 * POLYPHASE OR BALANCED TECHNIQUE INDICATED. 20840000 SPACE 2 20860000 RCR2711 LA RB,2 SET NO. PHASE 2 OUTPUT BFRS = 2. 20880000 B RCR2713 SET TOT PH2 BUFS - EXIT 20900018 SPACE 2 20920000 RCR2712 SR RD,RD 20940000 SPACE 2 20960000 * OSCILLATING TECHNIQUE SPECIFIED. 20980000 SPACE 2 21000000 RCR2713 AR RA,RD SET UP PARAMETER REGISTERS. 21020000 AR RA,RB RA = TOTAL NO. PHASE 2 BFRS. 21040000 LM RD,RF,WORK3 RESTORE ORIGINAL REGISTER SETTINGS. 21060000 BR RG RETURN TO CALLING ROUTINE 21080000 SPACE 2 21100000 EJECT 21120000 ******** PAGE 28 21140000 SPACE 2 21160000 * COMPUTE TOTAL NUMBER OF PHASE 3 BUFFERS AND NUMBER OF PHASE 3 21180000 * OUTPUT BUFFERS USING OPTIMIZED SORT BUFFER LENGTH (OBSL). 21200000 SPACE 2 21220000 BGA2801 L RA,WOBSL OPTIMIZED SORT BUFFER LENGTH. 21240000 LH RB,WBALMRMX(RK) OSC MERGE MAX. 21260000 BAL RG,RCRP3NBO BRANCH TO SUB-ROUTINE AND RETURN. 21280000 SPACE 2 21300000 ST RA,WONB3 STORE OPTIMIZED TOTAL NO. OF 21320000 * PHASE 3 BUFFERS. 21340000 ST RB,WOOUT3 STORE OPTIMIZED NO. OF PHASE 3 21360000 * OUTPUT BUFFERS. 21380000 SPACE 2 21400000 * COMPUTE TOTAL NUMBER OF PHASE 2 BUFFERS USING OPTIMIZED SORT 21420000 * BUFFER LENGTH (OBSL). 21440000 SPACE 2 21460000 BGA2802 L RA,WOBSL OPTIMIZED SORT BUFFER LENGTH. 21480000 LH RB,WBALMRMX(RK) OSC MERGE MAX. 21500000 SPACE 1 21520000 LH RF,WPTRSV TABLE POINTER. 21540000 LA RD,WNP1CRQ 21560000 L RC,0(RF,RD) CORE REQ FOR NEW G AND TREE. 21580000 LA RE,WNEWT1 21600000 L RD,0(RF,RE) CORE REQ FOR NEW TREE. 21620000 ST RD,WOTREE SAVE VALUE. 21640000 SR RC,RD RC = CORE AVAILABLE FOR PHASE 2 21660000 * INPUT BUFFERS. 21680000 SPACE 1 21700000 BAL RG,RCRP2NBO BRANCH TO SUB-ROUTINE AND RETURN. 21720000 SPACE 2 21740000 BGA2803 ST RA,WONB2 STORE OPTIMIZED TOTAL NUMBER OF 21760000 * PHASE 2 BUFFERS. 21780000 ST RB,WOOUT2 STORE OPTIMIZED NUMBER OF PHASE 2 21800000 * OUTPUT BUFFERS. 21820000 SPACE 2 21840000 * SET UP PARAMETERS TO GENERATE AN OPTIMIZED SELECTION COMPARE 21860000 * NUMBER (SCN) FOR COMPARISON WITH UN-OPTIMIZED SCN NUMBER. 21880000 SPACE 2 21900000 BGA2804 LM RA,RE,WONB1 LOAD PARAMETER REGISTERS. 21920000 STM RA,RE,WSCNNB1 21940000 BAL RG,RCRSCNGN GENERATE SCN NUMBER AND RETURN. 21960000 SPACE 2 21980000 BGA2805 ST RA,WOSCSCN2 SAVE SCN2 NUMBER. 22000000 L RB,WOSCSCN1 UN-OPTIMIZED SCN NUMBER. 22020000 CR RA,RB NEW SCN NO. LOWER THAN OLD ONE..... 22040000 BC 10,BGA2805A NO - NO OPTIMIZATION 22060000 ST RA,WOSCSCN OPTIMIZED SCN. NO. 22080000 B BGA2806 OPTIMIZATION WAS GOOD 22100018 SPACE 2 22120000 BGA2805A SR RB,RB NO - TRY NEXT LIST ENTRY 22140000 ST RB,WSUBTOT CLEAR OUT SUB-TOTAL LOCATION. 22160000 B BGA2506 GO OT NEXT ENTRY 22180018 SPACE 2 22200000 * SECOND SCN NUMBER LOWER THAN UN-OPTIMIZED ONE. THIS INDICATES 22220000 * A SUCCESSFUL OPTIMIZATION HAS BEEN COMPLETED. MOVE OPTIMIZED 22240000 * VALUES INTO OSCILLATING TECHNIQUE LOCATIONS. 22260000 SPACE 2 22280000 BGA2806 L RD,WOBSL OPTIMIZED BSL 22300000 CH RD,CPIBINSZ BSL LESS THAN BINSIZE 22320000 BL RCR3005 YES-ABORT OPTIMIZATION 22340000 SPACE 2 22360000 LM RA,RD,WONB1 22380000 B BGA2807(RO) GO TO CORRECT CHAN RTN 22400018 BGA2807 B BGA2809 1 MPX. CHANNEL 22420000 B BGA2808 1 SEL. CHANNEL 22440000 B BGA2808 2 SEL. CHANNEL 22460000 * 1 OR 2 SELECTOR CHANNELS 22480000 BGA2808 STH RA,WBALNB1(RK) OPTIMIZED TOTAL PHASE 1 BFRS 22500000 STH RB,WBALNB2(RK) OPTIMIZED TOTAL PHASE 2 BFRS 22520000 STH RC,WBALNB3(RK) OPTIMIZED TOTAL PHASE 3 BFRS 22540000 L RD,WOINP1 22560000 STH RD,WBALINP1(RK) OPTIMIZED NO. OF PHASE 1 INPUT BFRS 22580000 L RD,WOOUT2 22600000 STH RD,WBALOUT2(RK) OPTIMIZED NO. OF PHASE 2 OUTPUT BFRS 22620000 L RD,WOOUT3 22640000 STH RD,WBALOUT3(RK) OPTIMIZED NO. OF PHASE 3 OUTPUT BFRS 22660000 * 1 MPX. 22680000 BGA2809 L RD,WOBSL 22700000 STH RD,WBSLBAL(RK) OPYIMIZED BSL 22720000 L RD,WOBS 22740000 STH RD,WBALBS(RK) OPTIMIZED BS 22760000 L RD,WNMXCAL 22780000 ST RD,WBALNMAX(RP) OPTIMIZED NMAX 22800000 L RD,WGCAL 22820000 ST RD,WBALG(RP) OPTIMIZED G 22840000 L RD,WOTREE 22860000 ST RD,WBALTREE(RP) OPTIMIZED TREE 22880000 B RCR3005 GO TO NEXT TECHNIQUE 22900018 EJECT 22920000 ****** PAGE 30 ****** 22940000 SPACE 2 22960000 * ABORT ENTRY FROM TECH NMAX EXCEEDED. 22980000 SPACE 2 23000000 RCRABRT1 EX 0,RCR3001(RP) INDICATE TECH ABORTING. 23020000 B RCRABRT2 SET ABORT INDICATORS 23040018 SPACE 2 23060000 DS 0F 23080000 RCR3001 OI WABRTIND,X'10' INDICATE BAL NMAX EXCEEDED. 23100000 OI WABRTIND,X'08' INDICATE POL NMAX EXCEEDED. 23120000 OI WABRTIND,X'04' INDICATE OSC NMAX EXCEEDED. 23140000 SPACE 2 23160000 * ABORT ENTRY FROM TECHNIQUE INSUFFICIENT CORE. 23180000 SPACE 2 23200000 RCRABRT2 EX 0,RCR3002(RP) 23220000 B RCR3003 GO TO NEXT TECHNIQUE 23240018 SPACE 2 23260000 DS 0F 23280000 RCR3002 OI WABRTIND,X'80' INDICATE BAL TECH ABORTED. 23300000 OI WABRTIND,X'40' INDICATE POL TECH ABORTED. 23320000 OI WABRTIND,X'20' INDICATE OSC TECH ABORTED. 23340000 SPACE 2 23360000 RCR3003 LH RB,WNOABORT NO. OF PREVIOUS TECH ABORTS. 23380000 LA RB,1(RB) UPDATE NUMBER. 23400000 STH RB,WNOABORT STORE UPDATE NO. OF TECH ABORTS. 23420000 SPACE 2 23440000 RCR3004 CH RB,WNOTECH HAVE ALL SPECIFIED TECHNIQUES 23460000 * BEEN ABORTED..... 23480000 BC 8,RCR3015 YES - DETERMINE IF NMAX EXCEEDED OR 23500000 * INSUFFICIENT CORE. 23520000 SPACE 2 23540000 RCR3005 LH RB,WTQCTR NO - LOAD TECHNIQUE COUNTER. 23560000 BCT RB,RCR3006 ARE ALL SELECTED TECHS DONE..... 23580000 SPACE 1 23600000 B RCR3007 YES - SELECT WINNING TECHNIQUE. 23620000 SPACE 2 23640000 * ALL SELECTED TECHNIQUES HAVE NOT BEEN COMPLETED, UPDATE TECH. 23660000 * POINTERS AND CONTINUE TECHNIQUE CALCULATIONS. 23680000 SPACE 2 23700000 RCR3006 STH RB,WTQCTR SAVE UPDATED TECH COUNT IN COUNTER. 23720000 SH RP,K04 UPDATE TECHNIQUE POINTER. 23740000 STH RP,WTQIND 23760000 SH RK,K02 UPDATE TECH HALF-WORD POINTER. 23780000 STH RK,WTQIND1 23800000 B RCS0201 BEGIN NEXT TECH CALCULATION 1259 23820014 SPACE 2 23840000 * ALL SELECTED TECHNIQUES HAVE BEEN CALCULATED FOR AND OPTIMIZED 23860000 * IF POSSIBLE. COMPARE TECHNIQUE SCN NUMBERS TO DETERMINE WHICH 23880000 * TECHNIQUE IS THE MOST EFFICIENT. 23900000 SPACE 2 23920000 RCR3007 SR RD,RD SET RD = 0. 23940000 L RA,WBALSCN BAL TECH SCN NO. 23960000 CR RD,RA 23980000 BC 8,RCR3009 BAL SCN = 0, ELIMINATE BAL TECH 24000000 * FROM CONTENTION. 24020000 SPACE 2 24040000 LA RP,0 INDICATE BAL TECH IN CONTENTION. 24060000 C RA,WPOLSCN COMPARE BAL SCN NO. TO POL SCN NO. 24080000 BC 8,RCR3010 BRANCH IF EQUAL. 24100000 BC 2,RCR3011 BRANCH IF HIGH. 24120000 SPACE 2 24140000 RCR3008 C RA,WOSCSCN COMPARE BAL/POL SCN WINNER TO THE 24160000 * OSC SCN NO. 24180000 BC 8,RCR3012 BRANCH IF EQUAL. 24200000 BC 2,RCR3013A BRANCH IF HIGH. 24220000 B RCR3014 OSC TECH LOSES. 24240000 SPACE 2 24260000 * BAL TECH SCN NO. EQUALS 0, CHECK POL TECH SCN NO. FOR A 24280000 * NON-ZERO VALUE. 24300000 SPACE 2 24320000 RCR3009 L RA,WPOLSCN POL TECH SCN NO. 24340000 CR RD,RA 24360000 BC 8,RCR3013 POL TECH SCN NO. = 0, OSC TECH IS 24380000 * THE WINNER. 24400000 SPACE 2 24420000 LA RP,4 INDICATE POL TECH IN CONTENTION. 24440000 B RCR3008 COMPARE POL AND OSC SCN NUMBERS. 24460000 SPACE 2 24480000 * BAL AND POL TECH SCN NUMBERS EQUAL, DETERMINE WINNER BY TECH 24500000 * HAVING THE HIGHEST G VALUE. 24520000 SPACE 2 24540000 RCR3010 L RB,WBALG 24560000 C RB,WPOLG COMPARE BAL G VS POL G..... 24580000 BC 2,RCR3008 BAL TECH IS WINNER. 24600000 LA RP,4 POL TECH IS WINNER. 24620000 B RCR3008 COMPARE POL SCN NO. VS OSC SCN NO. 24640000 SPACE 2 24660000 * BAL TECH SCN NO. HIGHER THAN POL TECH SCN NO., IF POL SCN 24680000 * NO. IS A NON-ZERO VALUE POL TECH IS THE WINNER. 24700000 SPACE 2 24720000 RCR3011 L RB,WPOLSCN 24740000 CR RD,RB 24760000 BC 8,RCR3008 BAL TECH WINNER, COMPARE BAL SCN 24780000 * NO. VS OSC SCN NO. 24800000 SPACE 1 24820000 LR RA,RB POL TECH IS WINNER. 24840000 LA RP,4 INDICATE POL TECH IN CONTENTION. 24860000 B RCR3008 COMPARE POL SCN NO. VS OSC SCN NO. 24880000 SPACE 2 24900000 * BAL/POL SCN WINNER EQUAL OSC SCN NO., DETERMINE WINNER BY TECH 24920000 * WITH THE HIGHEST G VALUE. 24940000 SPACE 2 24960000 RCR3012 L RB,WBALG(RP) BAL/POL WINNER G VALUE. 24980000 C RB,WOSCG COMPARE WINNER G VS OSC G VALUE. 25000000 BC 10,RCR3014 OSC TECH IS LOSER. 25020000 SPACE 2 25040000 RCR3013 LA RP,8 OSC TECH IS WINNER. 25060000 B RCR3014 GO SET POINTER 25080018 SPACE 2 25100000 * BAL/POL WINNER SCN NO. HIGHER THAN OSC SCN NO. IF OSC SCN NO. 25120000 * CONTAINS A NON-ZERO VALUE OSC TECH IS THE WINNER. 25140000 SPACE 2 25160000 RCR3013A L RB,WOSCSCN OSC SCN VALUE. 25180000 CR RD,RB 25200000 BC 8,RCR3014 OSC TECH IS LOSER. 25220000 B RCR3013 OSC TECH IS WINNER. 25240000 SPACE 2 25260000 * SET WINNING TECHNIQUE HALF-WORD POINTER. 25280000 RCR3014 LR RK,RP 25300000 SRL RK,1 25320000 SPACE 2 25340000 B RCRCPI STORE RESULT 25360018 * ALL SELECTED TECHNIQUES HAVE BEEN ABORTED. DETERMINE IF NMAX 25380000 * EXCEEDED WAS THE CAUSE OF ANY OF THE TECHNIQUE ABORTS. 25400000 SPACE 2 25420000 RCR3015 TM WABRTIND,X'1C' ANY TECH NMAX BITS ON..... 25440000 BC 5,RCR3016 YES- FIND HIGHEST NMAX VALUE 1736 25460014 B RCRMSGA2 PRINT INSUFFICIENT CORE 25480000 SPACE 2 25500000 RCR3016 LM RA,RC,WBALNMAX RA = BAL TECHNIQUE NMAX. 25520000 * RB = POL TECHNIQUE NMAX. 25540000 * RC = OSC TECHNIQUE NMAX. 25560000 SPACE 1 25580000 CR RC,RB OSC VS POL. 25600000 BC 10,RCR3017 OSC GREATER. 25620000 SPACE 1 25640000 * POL GREATER. 25660000 SPACE 1 25680000 CR RB,RA POL VS BAL. 25700000 BC 10,RCR3018 POL HIGHEST NMAX VALUE. 25720000 B RCR3019 BAL HIGHEST NMAX VALUE. 25740000 SPACE 2 25760000 RCR3017 CR RC,RA OSC VS BAL. 25780000 BC 10,RCR3020 OSC HIGHEST NMAX VALUE. 25800000 B RCR3019 BAL HIGHEST NMAX VALUE. 25820000 SPACE 2 25840000 RCR3018 LR RC,RB RC = POL NMAX VALUE. 25860000 B RCR3020 STORE NMAX 25880018 SPACE 2 25900000 RCR3019 LR RC,RA RC = BAL NMAX VALUE. 25920000 RCR3020 ST RC,ABRTNMAX HIGHEST NMAX ABORT VALUE. 25940000 B RCR3021(RJ) GO TO PROPER FORMAT 25960000 SPACE 2 25980000 RCR3021 B RCR3022 VARIABLE LENGTH RCDS. 26000000 SPACE 2 26020000 * FIXED LENGTH RCDS. 26040000 SPACE 2 26060000 TM WCSSWB,X'08' EXACT FILE SIZE GIVEN 26080000 BZ RCR3022 NO 26100000 B RCRMSGA1 YES.....PRINT NMAX EXCEEDED 26120000 SPACE 2 26140000 RCR3022 C RC,WBALNMAX BAL. TECH 26160000 BE RCR3023 SET BAL IND. 26180000 SPACE 2 26200000 C RC,WPOLNMAX POL. TECH 26220000 BE RCR3024 SET POL.IND. 26240000 B RCR3013 OSC. TECH. SELECTED 26260000 SPACE 2 26280000 RCR3023 SR RP,RP BAL.TECH. SELECTED 26300000 B RCR3014 GO SET POINTER 26320018 SPACE 2 26340000 RCR3024 LA RP,4 POLY. TECH. SELECTED 26360000 B RCR3014 GO SET POINTER 26370018 *** 1259 26381014 *** 1259 26382014 *** THIS IS A SUBROUTINE TO ALIGN 1259 26383014 *** SORT BLOCKING TO A DOUBLE WORD BOUNDRY 1259 26384014 *** 1259 26385014 ROUNDC ST RC,WFULL1 SAVE AREA 1259 26386014 NI WFULL1+3,X'F8' ALIGNMENT 1259 26387014 L RC,WFULL1 RESTORE REGISTER 1259 26388014 BR RI RETURN 1259 26389014 ROUNDD LA RD,7(0,RD) ROUNDING UPWARD 1259 26390014 ST RD,WFULL1 SAVE AREA 1259 26391014 NI WFULL1+3,X'F8' ALIGNMENT 1259 26392014 L RD,WFULL1 RESTORE REGISTER 1259 26393014 BR RI RETURN 1259 26394014 ROUNDF LA RF,7(0,RF) ROUNDING UP 1259 26395014 ST RF,WFULL1 SAVE AREA 1259 26396014 NI WFULL1+3,X'F8' ALIGNMENT 1259 26397014 L RF,WFULL1 RESTORE REGISTER 1259 26398014 BR RI RETURN 1259 26399014 EJECT 26400000 *MODULE NAME ***IERRCS*** 26420000 SPACE 2 26440000 *STATUS CHANGE LEVEL 000 26460000 SPACE 2 26480000 *MODULE FUNCTION 26500000 SPACE 1 26520000 * TAPE B&G CONSISTS OF THREE MODULES EXECUTED AT GENERAL 26540000 * ASSIGNMENT TIME. THESE MODULES ARE IERRCS,IERRCR,&IERBGA. 26560000 * THE OVERALL FUNCTION IS TO CALCULATE SORT BLOCKING, RECORD 26580000 * STORAGE AREA, NUMBER AND SIZE OF BUFFERS BY PHASE, MAXIMUM SORT 26600000 * CAPACITY(NMAX), AND WILL SELECT THE MOST EFFICIENT TECH. 26620000 * THREE DIFFERENT TECH. CAN BE USED FOR SEQUENCE DISTRIBUTION 26640000 * ON TAPES. EACH TECH. DIFFERS IN THE WAY IN WHICH SEQUENCES ARE 26660000 * DISTRIBUTED ONTO THE INTERMEDIATE STORAGE DEVICES, AND IN THE ORDER 26680000 * IN WHICH THE NUMBER OF INTERMEDIATE PASSES ARE REDUCED. THE THREE 26700000 * TECH. ARE, BALANCED,POLYPHASE, AND OSCILLATING TECH. 26720000 * THE SELECTION OF ONE OF THE THREE POSSIBLE TECH. IS MADE 26740000 * AFTER EVALUATING THE SORT PARAMETERS. 26760000 * TO DETERMINE THE SELECTION OF THE MOST EFFICIENT OF THE THREE 26780000 * TECH. FILE SIZE MUST BE GIVEN, OR CLOSELY ESTIMATED. IF THE FILE 26800000 * SIZE IS OMITTED, THE BALANCED TECH. IS CHOSEN. WHENEVER THREE WORK 26820000 * UNITS ARE SPECIFIED, ONLY THE POLYPHASE TECH. WILL BE CALCULATED. 26840000 * IERRCS IS THE FIRST OF THREE GENERAL ASSIGNMENT MODULES IN 26860000 * TAPE B&G. THE FUNCTION OF IERRCS IS TO CALCULATE SORT BLOCKING, 26880000 * SORT G, NMAX, NUMBER AND SIZE OF BUFFERS BY PHASE, AND GENERATED 26900000 * CORE BY PHASE FOR ALL THREE TECH. 26920000 *THE MODULE SAVES AND RESTORES ALL REGISTERS, AND USES ALL REGISTERS 26940000 SPACE 2 26960000 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT 26980000 SPACE 1 27000000 * IERRCR 27020000 * IERBGA 27040000 SPACE 2 27060000 *MACROS USED - NONE 27080000 SPACE 2 27100000 *ENTRY POINTS 27120000 SPACE 1 27140000 * CSECT NAME IERRCM ENTER FROM IERRCM VIA 27160000 * LOAD RP,(VCON) 27180000 * BALR RO,RP 27200000 * IERRCR ENTER FROM IERRCR VIA 27220000 * UNCONDITIONAL BRANCH 27240000 SPACE 2 27260000 *INPUT- CPI FIELDS REFRENCED 27280000 SPACE 1 27300000 * CPIBINSZ CPIFILSZ CPILAB07 27320000 * CPIEXTSZ CPIIPBLK CPILAB09 27340000 * CPIMODEX CPINWKU CPIOPBLK 27360000 * CPIP1RSZ CPIP2RSZ CPIP3RSZ 27380000 * CPIRCDL1 CPIRCDL2 CPIRCDL3 27400000 * CPIRCDL5 CPISRTBL CPISW1 27420000 * CPITAVLC 27440000 SPACE 2 27460000 *OUTPUT - CPI FIELDS INITIALIZED OR ALTERED 27480000 SPACE 1 27500000 * CPIBUF1 CPIBUF23 CPILAB03 27520000 * CPIMRGAL CPIMRGMX CPINMAX 27540000 * CPIP1GC CPIP2GC CPIP3GC 27560000 * CPISRTBL CPISRTG CPISW1 27580000 SPACE 2 27600000 *EXTERNAL ROUTINES 27620000 SPACE 1 27640000 * IERRCU DIAGNOSTIC AND ERROR MESSAGES 27660000 SPACE 2 27680000 *EXTERNAL PARAMETERS 27700000 SPACE 1 27720000 * IERRCU MESSAGES 27740000 SPACE 2 27760000 *EXITS-NORMAL 27780000 SPACE 1 27800000 * IERRCR UNCONDITIONAL BRANCH 27820000 SPACE 2 27840000 *EXITS-ERROR 27860000 SPACE 1 27880000 * IERRCR UNCONDITIONAL BRANCH 27900000 SPACE 2 27920000 *TABLES/WORK AREAS 27940000 SPACE 1 27960000 * WORK-WORK9 27980000 * WFULL- WFULL4 28000000 SPACE 2 28020000 *ATTRIBUTES- THIS IS A CLASS A MODULE 28040000 SPACE 2 28060000 *NOTES THIS IS RESTRICTED TO TAPE OPERATION ONLY. IT CONTAINS A DSECT 28080000 * OF IERRCR, IERBGA, AND IERRCU. 28100000 EJECT 28120000 IERRCS DSECT 28140000 USING *,RL BASE REGISTER FOR RCS 28160000 USING IERRCR,RM BASE REGISTER FOR RCR 28180000 USING IERBGA,RH BASE REGISTER FOR BGA 28200000 USING IERRC5,RN BASE REGISTER FOR CPI 28220000 LR RL,RP SET UP MODULE BASE REGISTER. 28240000 STM RA,RP,WREGSV1 SAVE REGISTER FOR RETURN TO RCM 28260000 L RM,ADCON1X LOAD BASE REG. FOR RCR 28280000 L RH,ADCON2X LOAD BASE REG. FOR BGA 28300000 B RCS0101 START INIT 28320018 EJECT 28340000 ******** PAGE 1 28360000 * START OF MODULE CODE PROPER. 28380000 SPACE 1 28400000 * START INITIALIZATION - CHANNEL STATUS INDICATOR, TECHNIQUE 28420000 * INDICATOR, RECORD INDICATOR........ 28440000 * CHECK IF A TECHNIQUE HAS BEEN SPECIFIED (FORCED). 28460000 SPACE 2 28480000 RCS0101 LH RA,CPINWKU NO. WORK UNITS AVAILABLE TO SORT. 28500000 STH RA,WBALNWKU UNITS AVAILABLE TO BAL TECHNIQUE. 28520000 CLC CPINWKU(2),K17 NO. WORK UNITS GREATER THAN 17..... 28540000 BC 2,RCS0101A YES - 28560000 B RCS0101B NO - 28580000 SPACE 2 28600000 * CUT BACK NUMBER OF AVAILABLE WORK UNITS TO ALLOW FOR 16 WAY 28620000 * NETWORK FOR POLYPHASE AND OSCILLATING TECHNIQUES. 28640000 SPACE 2 28660000 RCS0101A LA RA,17 SET MAX UNITS FOR POL/OSC TECHS. 28680000 RCS0101B STH RA,WPOLNWKU STORE NO. WORK UNITS - POL TECH. 28700000 STH RA,WOSCNWKU STORE NO. WORK UNITS - OSC TECH. 28720000 SPACE 2 28740000 * CHECK FILE SIZE STATUS - EXACT, ESTIMATED OR OMITTED. 28760000 SPACE 2 28780000 RCS0102 MVC WFULL+1(3),CPIFILSZ FILE SIZE PRESENT..... 28800000 L RC,WFULL 28820000 LTR RC,RC 28840000 BZ RCS0110 NO FILE SIZE GIVEN. 28860000 SPACE 2 28880000 ST RC,WFILSZ SAVE USER FILE SIZE. 28900000 OI WCSSWB,X'20' FILE SIZE GIVEN - SET SW 11. 28920000 TM CPISW1+3,X'02' FILE SIZE ESTIMATED..... 28940000 BO RCS0102A YES - 28960000 SPACE 2 28980000 OI WCSSWB,X'08' NO - FILE EXACT - SET SW 13. 29000000 B RCS0103 DO NOT SET SW 12 29020018 SPACE 2 29040000 RCS0102A OI WCSSWB,X'10' FILE ESTIMATED - SET SW 12. 29060000 SPACE 1 29080000 RCS0103 CLC CPINWKU(2),K03 NO. WORK UNITS GREATER THAN 3..... 29100000 BC 2,RCS0104 YES - 29120000 SPACE 2 29140000 RCS0103A OI WOPTTECH,X'40' SET POL TECH OPTIMIZATION INDICATOR 29160000 B RCS0110A SET UP FOR POLYPHASE. 29180000 SPACE 2 29200000 * CHECK IF A TECHNIQUE SPECIFIED . 29220000 SPACE 2 29240000 RCS0104 TM CPISW1,X'0E' ANY TECH SPECIFIED..... 29260000 BZ RCS0108 NO - 29280000 SPACE 2 29300000 LA RA,1 INDICATE ONE (1) TECH ONLY. 29320000 OI WCSSWB,X'40' INDICATE TECH FORCED. 29340000 TM CPISW1,X'0C' BAL OR POL TECH SPECIFIED..... 29360000 BM RCS0106 YES - 29380000 SPACE 2 29400000 * OSC TECHNIQUE FORCED - CHECK IF PERMISSABLE. 29420000 SPACE 2 29440000 RCS0105 TM CPISW1+5,X'04' IS INPUT UNIT A WORK UNIT..... 29460000 BO RCS0107 YES - SWITCH TO BALANCED TECH. 29480000 SPACE 2 29500000 OI WCSSWC,X'04' FORCE OSC TECH - SET SW 22. 29520000 OI WOPTTECH,X'20' SET OSC TECH OPTIMIZATION INDIC. 29540000 LA RB,8 SET TECH INDIC FOR OSC TECH FIRST. 29560000 B RCS0115 SET INDICATORS 29580018 SPACE 2 29600000 RCS0106 TM CPISW1,X'08' BAL TECHNIQUE SPECIFIED..... 29620000 BZ RCS0103A NO - POL TECH SPECIFIED. 29640000 SPACE 2 29660000 * BALANCED TECHNIQUE FORCED - SET UP OPTIMIZATION INDICATOR. 29680000 SPACE 2 29700000 RCS0107 OI WOPTTECH,X'80' SET BAL TECH OPTIMIZATION INDIC. 29720000 SPACE 2 29740000 B RCS0111 SET BALN. ONLY SWITHES 29760018 SPACE 2 29780000 RCS0108 TM CPISW1+5,X'04' IS INPUT A WORK UNIT..... 29800000 BO RCS0109 YES - 29820000 SPACE 2 29840000 OI WOPTTECH,X'E0' NO - SET BAL, POL AND OSC TECH 29860000 * OPTIMIZATION INDICATORS. 29880000 LA RA,3 INDICATE ALL THREE TECHNIQUES TO 29900000 * BE CALCULATED FOR. 29920000 LA RB,8 INDICATE OSC FIRST TECH TO CAL. FOR. 29940000 B RCS0115 SET INDICATORS 29960018 SPACE 2 29980000 RCS0109 OI WOPTTECH,X'C0' SET BAL AND POL TECH OPTIMIZATION 30000000 * INDICATORS. 30020000 LA RA,2 INDICATE TWO TECHNIQUES TO 30040000 * CALCULATE. (BAL-POL). 30060000 LA RB,4 INDICATE POL TECH FIRST TO CAL FOR. 30080000 B RCS0115 SET INDICATORS 30100018 SPACE 2 30120000 * FILE SIZE OMITTED - CHECK WORK UNITS TO DETERMINE WHICH 30140000 * TECHNIQUE TO FORCE. 30160000 SPACE 2 30180000 RCS0110 CLC CPINWKU(2),K03 NO. WORK UNITS GREATER THAN 3..... 30200000 BC 2,RCS0111 YES - FORCE BAL TECH. 30220000 SPACE 2 30240000 RCS0110A OI WCSSWB,X'40' NO - FORCE POL TECH. 30260000 OI WCSSWC,X'01' INDICATE POL TECH . 30280000 LA RA,1 INDICAT ONE (1) TECH ONLY. 30300000 ST RA,WPOLSCN SET A POLY SCN. NO. 30320000 LA RB,4 INDICATE POL TECH ONLY. 30340000 B RCS0115 SET INDICATORS 30360018 SPACE 2 30380000 RCS0111 OI WCSSWB,X'40' TECH FORCED - SET SW 10. 30400000 OI WCSSWC,X'02' INDICATE BAL TECH FORCED. 30420000 LA RA,1 INDICATE ONE (1) TECH ONLY. 30440000 ST RA,WBALSCN SET A BALN. SCN. NO. 30460000 LA RB,0 INDICATE BAL TECH ONLY. 30480000 B RCS0115 SET INDICATORS 30500018 SPACE 2 30520000 RCS0115 STH RA,WTQCTR STORE NO. OF TECHS TO BE CALCULATED. 30540000 STH RB,WTQIND STORE TECHNIQUE INDICATOR. 30560000 STH RA,WNOTECH NO. OF TECH'S TO OPTIMIZE. 30580000 STH RB,W1STTECH 1ST TECH TO OPTIMIZE FOR. 30600000 SRL RB,1 30620000 STH RB,WTQIND1 STORE TECH HALF-WORD POINTER. 30640000 SPACE 2 30660000 * SET INPUT RECORD FORMAT INDICATOR. 30680000 SPACE 1 30700000 * WRECIND = 0 FOR VARIABLE OR 4 FOR FIXED LENGRH RECORDS. 30720000 SPACE 2 30740000 RCS0116 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 30760000 BO RCS0116A YES - 30780000 SPACE 2 30800000 SR RA,RA NO - SET VARIABLE VALUE. 30820000 LA RB,8 SET RECORD FORMAT INCREMENT (+8). 30840000 B RCS0116B STORE VALUE. 30860000 SPACE 2 30880000 RCS0116A LA RA,4 SET FIXED LENGTH VALUE. 30900000 LA RB,4 SET RECORD FORMAT INCREMENT (+4). 30920000 SPACE 1 30940000 RCS0116B STH RA,WRECIND STORE RECORD INDICATOR VALUE. 30960000 STH RB,WRECINCR STORE RECORD INCREMENT. 30980000 AH RB,CPIRCDL2 31000000 ST RB,WRCDPLUS SIZE OF 1 RCD PLUS INCREMENT. 31020000 SPACE 2 31040000 * SET CHANNEL STATUS INDICATOR. 31060000 * WCHNIND = 0 FOR MPX, 4 FOR 1 SELECTOR, 8 FOR 2 SELECTOR. 31080000 SPACE 2 31100000 RCS0117 TM CPISW1+5,X'10' 2 SELECTOR CHANNELS..... 31120000 BO RCS0124 YES - 31140000 SPACE 1 31160000 TM CPISW1+5,X'18' 1 MPX CHANNEL..... 31180000 BZ RCS0125 YES - 31200000 SPACE 2 31220000 RCS0118 TM CPILAB09+3,X'02' INPUT AND WORK SAME CHANNEL..... 31240000 BZ RCS0120 YES - 31260000 SPACE 2 31280000 RCS0119 OI WCSSWB,X'02' NO - SET SWITCH 15. 31300000 RCS0120 TM CPILAB09+3,X'01' OUTPUT AND WORK SAME CHANNEL..... 31320000 BZ RCS0122 YES - 31340000 SPACE 2 31360000 RCS0121 OI WCSSWB,X'01' NO - SET SWITCH 16. 31380000 RCS0122 TM CPISW1+5,X'02' TAU OR SWITCH..... 31400000 BO RCS0124 YES - GO TO 2 CHANNEL ROUTINE. 31420000 SPACE 2 31440000 RCS0123 LA RA,4 SET INDIC TO 4 (1 SEL CHANNEL). 31460000 B RCS0126 STORE CHAN INDICATOR 31480018 SPACE 2 31500000 RCS0124 LA RA,8 SET INDIC TO 8 (2 SEL CHANNELS ). 31520000 B RCS0126 STORE CHAN INDICATOR 31540018 SPACE 2 31560000 RCS0125 LA RA,0 SET INDIC TO 0 (1 MPX CHANNEL). 31580000 SPACE 2 31600000 * STORE CHANNEL STATUS INDICATOR VALUE FOR LATER REFERENCE. 31620000 SPACE 2 31640000 RCS0126 STH RA,WCHNIND INITIAL CHANNEL STATUS. 31660000 STH RA,WCHNIND1 PHASE 1 CHANNEL STATUS. 31680000 STH RA,WCHNIND2 PHASE 2 CHANNEL STATUS. 31700000 STH RA,WCHNIND3 PHASE 3 CHANNEL STATUS. 31720000 SPACE 2 31740000 * CALCULATE MERGE ORDER (M) FOR ALL THREE (3) TECHNIQUES. 31760000 SPACE 2 31780000 RCS0127 LH RA,WPOLNWKU NO. WORK UNITS AVAIL TO POL/OSC. 31800000 BCT RA,RCS0127A (NO. WORK UNITS - 1). 31820000 SPACE 1 31840000 RCS0127A STH RA,WPOLMRMX POL MAX MERGE ORDER. 31860000 STH RA,WOSCMRMX OSC MAX MERGE ORDER. 31880000 LH RA,WBALNWKU NO. WORK UNITS AVAIL TO BAL TECH. 31900000 SRL RA,1 (NO. WORK UNITS/2). 31920000 STH RA,WBALMRAL BAL ALTERNATE MERGE ORDER. 31940000 TM CPINWKU+1,X'01' ODD NO. OF WORK UNITS..... 31960000 BZ RCS0127B NO - 31980000 SPACE 1 32000000 AH RA,K01 YES - INCREASE ALT MERGE ORDER 32020000 * BY 1 FOR MAX MERGE ORDER. 32040000 RCS0127B STH RA,WBALMRMX BAL MAX MERGE ORDER. 32060000 SPACE 2 32080000 MVC WP1IPBFR+2(2),CPILAB03 MOVE IN INPUT BUF SIZ A26453 32280019 MVC WP3OPBFR+2(2),CPILAB09+2 MOVE IN OUTPUT BUF SIZ A26453 32480019 SPACE 2 32720000 * CALCULATE MAXIMUM NUMBER OF REELS OF INPUT EACH TECH CAN HANDLE 32740000 SPACE 1 32760000 * POL TECH - 1 REEL MAX. 32780000 * BAL TECH = NWKU/2 - 1 MAX. 32800000 * OSC TECH = NWKU - 2 MAX. 32820000 SPACE 2 32840000 RCS0132 LA RB,1 32860000 STH RB,WPREELS POL - MAX INPUT 1 REEL. 32880000 LH RB,WBALNWKU BAL NO. WORK UNITS. 32900000 SRL RB,1 NWKU/2 32920000 BCT RB,RCS0132A NWKU/2 - 1. 32940000 SPACE 1 32960000 RCS0132A STH RB,WBREELS BAL - MAX REELS OF INPUT. 32980000 LH RB,WOSCNWKU OSC NO. WORK UNITS. 33000000 SH RB,K02 N - 2. 33020000 STH RB,WOREELS OSC - MAX REELS OF INPUT. 33040000 SPACE 2 33060000 * SET UP CONSTANTS TO BE USED FOR TAPE CAPACITY CALCULATIONS. 33080000 * CPISRTBL TEMP STORAGE FOR DENSITY INDICATOR. 33100000 SPACE 1 33120000 * 0 = 7 TRACK - 200 BPI 33140000 * 4 = 7 TRACK - 556 BPI 33160000 * 8 = 7 TRACK - 800 BPI 33180000 * 12 = 9 TRACK - 800 BPI 33200000 * 16 = 9 TRACK - 1600 BPI 33220000 SPACE 2 33240000 RCS0133 LH RB,CPISRTBL GET DENSITY INDICATOR. 33260000 L RC,KBITSMAX(RB) MAX BITS PER 2300 FT TAPE BY DEN. 33280000 ST RC,WDENTAPE STORE FOR CAPACITY CALCULATION RTN. 33300000 SRL RB,1 DENSITY HALFWORD INDICATOR 33320000 LH RC,KIRG(RB) IRG BY DENSITY. 33340000 STH RC,WIRGTAPE STORE FOR CAPACITY CALCULATION RTN. 33360000 EJECT 33380000 ******** PAGE 2 33400000 * CALCULATE RUNNING CORE SIZES (BAL AND POL TECHS) FOR PHASES 33420000 * 1, 2 AND 3 AND STORE VALUES IN PROPER TECHNIQUE LOCATION. 33440000 SPACE 2 33460000 RCS0201 LH RP,WTQIND SET TECHNIQUE INDICATOR. 33480000 LH RK,WTQIND1 SET TECH HALF-WORD POINTER. 33500000 SPACE 1 33520000 SR RA,RA 33540000 SR RB,RB 33560000 SR RC,RC 33580000 TM CPISW1+3,X'40' IS EXTRACT SPECIFIED? 33600000 BZ RCS02015 NO - CHECK IF EQUALS SPECIFIED 33620000 AH RA,CPIEXTSZ LOAD SIZE OF EXTRACT ROUTINE 33640000 LR RB,RA 33660000 LR RC,RA 33680000 B RCS0201A START CALCULATION 33700018 SPACE 1 33720000 RCS02015 TM CPISW1+3,X'80' IS EQUALS SPECIFIED? 33740000 BZ RCS0201A BRANCH ON NO 33760000 LA RA,86 LOAD SIZE OF EQUALS ROUTINE 33780000 LR RB,RA 33800000 LR RC,RA 33820000 SPACE 1 33840000 RCS0201A B RCS0201B(RP) GO TO PROPER TECH ROUTINE. 33860000 SPACE 2 33880000 RCS0201B B RCS0202 BAL TECH INDICATED. 33900000 B RCS0202 POL TECH INDICATED. 33920000 B RCS0401 OSC TECH INDICATED. 33940000 SPACE 2 33960000 * BAL OR POL TECHNIQUE INDICATED. 33980000 SPACE 2 34000000 RCS0202 LM RD,RF,KVALUE 34020000 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN 34040018 RCS0203 AH RA,K720 ADD REPLACEMENT NETWORK VALUE TO 34060000 * PHASE 1 CORE REQ. 34080000 RCS0204 A RA,KTAPE LOAD TAPE CONSTANTS 34100000 A RB,KTAPE+4 34120000 BAL RO,RCS0204A CONTINUE CALCULATING RUNNING PROGRAM 34126017 * HOWEVER THE CODE IS IN BGA 34132017 SPACE 2 34140000 * CHECK FOR SINGLE OR MULTIPLE CONTROL FIELDS. 34160000 SPACE 2 34180000 RCS0205 TM CPISW1,X'10' MULTIPLE CONTROL FIELDS..... 34200000 BO RCS0209 YES 34220000 SPACE 2 34240000 RCS0206 LM RD,RF,KSINGCF NO - SINGLE CONTROL FIELD. 34260000 RCS0208 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN. 34280000 SPACE 2 34300000 * CHECK FOR FIXED OR VARIABLE LENGTH RECORDS. 34320000 SPACE 2 34340000 RCS0209 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 34360000 BZ RCS0211 NO - 34380000 SPACE 2 34400000 RCS0210 LM RD,RF,KFIXLEN YES - LOAD FIXED LENGTH VALUES. 34420000 B RCS0212 UPDATE 34440018 SPACE 2 34460000 RCS0211 LM RD,RF,KVARLEN LOAD VARIABLE LENGTH VALUES. 34480000 RCS0212 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN. 34500000 SPACE 2 34520000 * CHECK FOR USER MODIFICATION EXITS. 34540000 SPACE 2 34560000 RCS0213 TM CPISW1+1,X'01' USER MODS PRESENT..... 34580000 BZ RCS0217 NO - 34600000 SPACE 2 34620000 RCS0214 LM RD,RF,KMODS YES - LOAD MODS CONSTANTS. 34640000 RCS0215 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN. 34660000 SPACE 2 34680000 * ADD IN USER MODIFICATION PROGRAM SIZES BY PHASE INTO RUNNING 34700000 * CORE TOTALS. 34720000 SPACE 2 34740000 RCS0216 MVC WFULL1+1(3),CPIP1RSZ P1 USER MODS SIZE. 34760000 L RD,WFULL1 34780000 MVC WFULL1+1(3),CPIP2RSZ P2 USER MODS SIZE. 34800000 L RE,WFULL1 34820000 MVC WFULL1+1(3),CPIP3RSZ P3 USER MODS SIZE. 34840000 L RF,WFULL1 34860000 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN 34880000 SPACE 2 34900000 RCS0217 B RCS0301(RP) GO TO PROPER TECH ROUTINE. 34920000 EJECT 34940000 ******** PAGE 3 34960000 SPACE 2 34980000 RCS0301 B RCS0308 BALANCED TECHNIQUE INDICATED. 35000000 SPACE 2 35020000 * POLYPHASE TECHNIQUE INDICATED. 35040000 SPACE 1 35060000 RCS0302 AH RA,K740 PHASE 1 CONSTANT 35080000 LA RB,625(RB) PHASE 2 CONSTANT 35100000 LA RC,840(RC) PH 3 CONSTANT FOR TAPE READ ROUTINE 35120000 SPACE 2 35140000 * CHECK FOR 8 WAY OR 16 WAY NETWORK. 35160000 SPACE 2 35180000 RCS0303 CLC WPOLMRMX(2),K09 MERGE ORDER EQUAL/GREATER THAN 9... 35200000 BC 10,RCS0306 YES - 35220000 SPACE 2 35240000 RCS0304 OI WCSSWC,X'80' SET SW 17 - POLYPHASE 8 WAY. 35260000 RCS0305 LA RB,956(0,RB) PHASE 2 8 WAY CONSTANT. 35280000 LA RC,956(0,RC) PHASE 3 8 WAY CONSTANT. 35300000 B RCS0307 STORE SIZES 35320018 SPACE 2 35340000 RCS0306 LA RB,1632(0,RB) PHASE 2 16 WAY CONSTANT. 35360000 LA RC,1632(0,RC) PHASE 3 16 WAY CONSTANT. 35380000 RCS0307 STM RA,RC,WP1POLCR STORE POL PHASES 1 - 2 - 3 35400000 * RUNNING CORE SIZES. 35420000 B RCS0314 CONINUE INITIALIZATION 35440018 SPACE 2 35460000 RCS0308 AH RA,K725 PHASE 1 CONSTANT 35480000 LA RB,650(RB) PHASE 2 CONSTANT 35500000 LA RC,924(RC) PH 3 CONSTANT FOR TAPE READ ROUTINE 35520000 SPACE 2 35540000 * CALCULATE FOR EITHER 8 WAY OR 16 NETWORKS. 35560000 SPACE 2 35580000 RCS0309 CLC WBALMRMX(2),K09 MERGE ORDER EQUAL/GREATER THAN 9... 35600000 BC 10,RCS0312 YES - 35620000 SPACE 2 35640000 RCS0310 OI WCSSWC,X'40' SET SW 18 - BAL 8 WAY NETWORK. 35660000 RCS0311 LA RB,956(0,RB) PHASE 2 8 WAY CONSTANT. 35680000 LA RC,956(0,RC) PHASE 3 8 WAY CONSTANT. 35700000 B RCS0313 STORE SIZES 35720018 SPACE 2 35740000 RCS0312 LA RB,1632(0,RB) PHASE 2 16 WAY CONSTANT. 35760000 LA RC,1632(0,RC) PHASE 3 16 WAY CONSTANT. 35780000 RCS0313 STM RA,RC,WP1BALCR STORE BAL PHASES 1 - 2 - 3 35800000 * RUNNING CORE SIZES. 35820000 RCS0314 B RCS0601 CONTINUE INITIALIZATION. 35840000 EJECT 35860000 ******** PAGE 4 35880000 SPACE 2 35900000 * OSC TECHNIQUE INDICATED - BEGIN CALCULATIONS FOR OSC B & G. 35920000 SPACE 2 35940000 RCS0401 LM RD,RE,KVALUE1 OSCILLATING TECHNIQUE CONSTANTS 35960000 BAL RO,RCSADD2 UPDATE TOTALS 35980018 AH RA,K975 ADD REPLACEMENT NETWORK VALUE 36000000 * AND INITIALIZATION RTN VALUE. 36020000 AH RA,K2585 TAPE CONSTANTS 36040000 LA RB,840(RB) 36060000 BAL RO,RCS0402 CONTINUE CALCULATING RUNNING PROGRAM 36066017 * HOWEVER THE CODE IS IN BGA 36072017 TM CPISW1,X'10' MULTIPLE CONTROL FIELDS..... 36080000 BO RCS0403 YES 36100000 LA RB,75(RB) NO - SINGLE CONTROL FIELD 36120000 SPACE 2 36140000 * CHECK FOR FIXED OR VARIABLE LENGTH RECORDS. 36160000 SPACE 2 36180000 RCS0403 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 36200000 BO RCS0404 YES - 36220000 SPACE 2 36240000 LM RD,RE,KVARLEN1 NO - VARIABLE LENGTH RECORDS. 36260000 B RCS0404A GO UPDATE 36280018 SPACE 2 36300000 RCS0404 LM RD,RE,KFIXLEN1 FIXED LENGTH CONSTANTS. 36320000 RCS0404A BAL RO,RCSADD2 TOTAL AND RETURN. 36340000 SPACE 2 36360000 * CHECK FOR USER MODIFICATION EXIT PROGRAMS. 36380000 SPACE 2 36400000 RCS0405 TM CPISW1+1,X'01' USER MODS PRESENT..... 36420000 BZ RCS0502 NO 36440000 SPACE 2 36460000 LM RD,RE,KMODS1 YES - 36480000 BAL RO,RCSADD2 TOTAL AND RETURN. 36500000 SPACE 2 36520000 MVC WFULL+1(3),CPIP1RSZ PHASE 1 MOD SIZE. 36540000 A RD,WFULL 36560000 MVC WFULL+1(3),CPIP2RSZ PHASE 2 MOD SIZE. 36580000 A RD,WFULL 36600000 MVC WFULL+1(3),CPIP3RSZ PHASE 3 MOD SIZE. 36620000 A RE,WFULL 36640000 BAL 14,RCSADD2 TOTAL AND RETURN. 36660000 EJECT 36680000 SPACE 2 36700000 ******** PAGE 5 36720000 SPACE 2 36740000 * CHECK FOR 8 OR 16 WAY NETWORK. 36760000 SPACE 2 36780000 RCS0502 CLC WOSCMRMX(2),K09 MERGE ORDER EQUAL/GREATER THAN 9... 36800000 BC 10,RCS0503 YES - 36820000 SPACE 2 36840000 OI WCSSWC,X'20' SET SW 20 - OSC 8 WAY. 36860000 AH RA,K1035 OSCL 8-WAY CONSTANT 36880000 LA RB,956(RB) P3 8 WAY CONSTANTS 36900000 B RCS0505 STORE TOTALS 36920018 SPACE 2 36940000 * SET UP FOR 16 WAY NETWORK. 36960000 SPACE 2 36980000 RCS0503 AH RA,K1670 OSCL 16-WAY CONSTANT 37000000 RCS0504 LA RB,1632(0,RB) P3 16 WAY CONSTANTS. 37020000 RCS0505 STM RA,RB,WP12OSCR STORE OSC P12 AND P3 RUNNING CORE 37040000 * TOTAL FOR LATER REFERENCE. 37060000 EJECT 37080000 ******** PAGE 6 37100000 SPACE 2 37120000 * CALCULATE NUMBER OF INPUT AND OUTPUT BUFFERS FOR PHASE 2 37140000 * ALL TECHNIQUES. 37160000 SPACE 2 37180000 RCS0601 LH RO,WCHNIND2 PHASE 2 CHANNEL STATUS INDICATOR. 37200000 LH RE,WBALMRMX(RK) TECH MERGE MAX. 37220000 B RCS0601A(RO) GO TO PROPER CHAN STATUS RTN. 37240000 SPACE 2 37260000 RCS0601A B RCS0602 MPX CHANNEL INDICATED. 37280000 B RCS0603 1 SELECTOR CHANNEL INDICATED. 37300000 B RCS0604 2 SELECTOR CHANNELS INDICATED. 37320000 SPACE 2 37340000 RCS0602 LA RE,1(0,RE) MPX STATUS - M + 1 INPUT BFRS. 37360000 LA RF,1 1 OUTPUT BUFFER. 37380000 B RCS0606 SAVE NO. OF BFRS 37400018 SPACE 2 37420000 RCS0603 LA RE,2(0,RE) 1 SEL STATUS - M + 2 INPUT BFRS. 37440000 B RCS0605 SAVE NO. OF BFRS 37460018 SPACE 2 37480000 RCS0604 SLL RE,1 2 SELECTOR - TAU - SW. 37500000 LA RE,2(0,RE) 2M + 2 INPUT BFRS. 37520000 RCS0605 LA RF,2 2 OUTPUT BUFFERS. 37540000 RCS0606 STH RE,WBALNB2(RK) TOTAL NO. PHASE 2 BUFFERS (I/O). 37560000 STH RF,WBALOUT2(RK) NO. PHASE 2 OUTPUT BUFFERS. 37580000 EJECT 37600000 ******** PAGE 7 37620000 SPACE 2 37640000 * CALCULATE GENERATED CORE REQUIRED FOR PHASE 1 - ALL TECHNIQUES. 37660000 SPACE 2 37680000 RCS0701 LH RA,WBALNWKU(RK) TECH NO. WORK UNITS. 37700000 AH RA,K01 NO. WORK UNITS + 1. 37720000 SLL RA,2 (M+1) * 4 = DCB ADR TABLE CORE. 37740000 SPACE 2 37760000 * CHECK IF EITHER E15 OR E16 USER EXITS ACTIVATED. 37780000 SPACE 2 37800000 TM CPIMODEX,X'60' EITHER EXIT ACTIVATED..... 37820000 BM RCS0704A YES - 37840000 B RCS0702(RP) GO TO PROPER TECH ROUTINE. 37860000 SPACE 2 37880000 RCS0702 B RCS0709 BAL TECHNIQUE. 37900000 B RCS0709 POL TECHNIQUE. 37920000 SPACE 2 37940000 * OSC TECHNIQUE INDICATED - CHECK FOR USER EXIT E25. 37960000 SPACE 2 37980000 TM CPIMODEX,X'02' EXIT E25 ACTIVATED..... 38000000 BZ RCS0703 NO - 38020000 SPACE 1 38040000 * YES - 38060000 SPACE 1 38080000 OI WCSSWB,X'04' TURN ON SWITCH 14. 38100000 B RCS0704 CONTINUE 38120018 SPACE 2 38140000 RCS0703 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 38160000 BZ RCS0710 NO - 38180000 SPACE 1 38200000 * YES - 38220000 SPACE 1 38240000 RCS0704 TM CPISW1+2,X'40' RCD LENGTH GREATER THAN 256 38260000 BZ RCS0710 NO - 38280000 B RCS0704B YES - 38300000 SPACE 2 38320000 * CALCULATE THE SIZE OF THE MOVE ROUTINE NEEDED. 38340000 SPACE 2 38360000 RCS0704A TM CPISW1,X'80' FIXED LENGTH RECORDS..... 38380000 BZ RCS0710 NO - 38400000 SPACE 2 38420000 RCS0704B LH RE,CPIRCDL2 RECORD LENGTH. 38440000 LA RE,255(RE) 38460000 SRL RE,8 L1/256 = Q1 38480000 LR RF,RE SAVE Q1. 38500000 MH RE,K06 Q1 * 6. 38520000 LA RE,2(0,RE) Q1 * 6 + 2. 38540000 CH RF,K16 ORIGINAL Q1 VS 16. 38560000 BC 4,RCS0705 BRANCH LOW. 38580000 SPACE 2 38600000 SRL RF,4 Q1/16. 38620000 MH RF,K12 ( Q1 / 16 ) * 12. 38640000 AR RE,RF TOTAL MOVE SIZE. 38660000 RCS0705 TM WCSSWB,X'04' SW 14 ON - OSC E25 ACTIVE..... 38680000 BZ RCS0707 NO - GO TO PROPER TECH ROUTINE. 38700000 SPACE 1 38720000 * YES - 38740000 SPACE 1 38760000 RCS0706 STH RE,WMVRTSZ1 SAVE MOVE ROUTINE SIZE 38780000 AR RA,RE ADD MOVE SIZE TO TOTAL CORE REQ. 38800000 B RCS0710 CONTINUE 38820018 SPACE 2 38840000 RCS0707 B RCS0708(RP) GO TO PROPER TECH ROUTINE. 38860000 SPACE 1 38880000 RCS0708 B RCS0706 BAL TECH INDICATED. 38900000 B RCS0706 POL TECH INDICATED. 38920000 SPACE 2 38940000 * OSC TECHNIQUE INDICATED. 38960000 SPACE 2 38980000 SLL RE,1 IF OSC, DOUBLE MOVE ROUTINE SIZE. 39000000 B RCS0706 AND ADD TO TOTAL 39020018 SPACE 2 39040000 RCS0709 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 39060000 BO RCS0704 YES - 39080000 SPACE 2 39100000 * ADD IN CCWS AND INPUT BUFFER ADDRESS TABLE VALUES. 39120000 SPACE 2 39140000 RCS0710 AH RA,K40 39160000 EJECT 39180000 ******** PAGE 8 39200000 SPACE 2 39220000 * CALCULATE CORE REQUIRED FOR ALL IOB-ECBS (ALL TECHNIQUES) 39240000 SPACE 2 39260000 RCS0801 B RCS0801A(RP) GO TO PROPER TECH ROUTINE. 39280000 SPACE 1 39300000 RCS0801A B RCS0801B BAL TECH SPECIFIED. 39320000 B RCS0801B POL TECH SPECIFIED. 39340000 B RCS0801C OSC TECH SPECIFIED. 39360000 SPACE 2 39380000 * BALANCED OR POLYPHASE TECH SPECIFIED. 39400000 SPACE 2 39420000 RCS0801B LA RD,40 1 IOB-ECB FOR ALL DCBS. 39440000 STH RD,WBALIOB1(RK) PHASE 1 IOB-ECB CORE REQUIRED. 39460000 LA RD,112(RD) ADD IN RSA ADDRESS TABLE SIZE 39480000 AR RA,RD UPDATE PHASE 1 GEN CORE TOTAL. 39500000 LH RD,WBALMRMX(RK) TECH MERGE MAX. 39520000 B RCS0801D CONTINUE 39540018 SPACE 2 39560000 * OSCILLATING TECH SPECIFIED. 39580000 SPACE 1 39600000 * CALCULATE RECORD STORAGE AREA ADDRESS TABLE SIZE 39620000 SPACE 1 39640000 * RSA ADR TABLE SIZE = ( M + M+1/2 + 2 ) * 8 39660000 SPACE 2 39680000 RCS0801C LH RD,WBALMRMX(RK) (M) 39700000 LA RD,1(RD) (M + 1) 39720000 SRL RD,1 (M+1/2) 39740000 AH RD,WBALMRMX(RK) (M + M+1/2) 39760000 LA RD,2(RD) (M + M+1/2 + 2) 39780000 SLL RD,3 (M + M+1/2 + 2) * 8 39800000 AR RA,RD UPDATE PHASE 1 GEN CORE TOTAL. 39820000 SPACE 1 39840000 LH RD,WBALNWKU(RK) TECH NO. WORK UNITS. 39860000 MH RD,K40 (NWKU) * 40 = IOB-ECB CORE REQ. 39880000 * 1 IOB-ECB FOR EACH DCB. 39900000 STH RD,WBALIOB1(RK) PHASE 1 IOB-ECB CORE REQUIRED. 39920000 AR RA,RD UPDATE PHASE 1 GEN CORE TOTAL. 39940000 SPACE 2 39960000 * CALCULATE SIZE OF GETMAIN, SEQUENCE DISTRIBUTION AND PHASE 2 39980000 * INPUT BUFFER ADDRESS TABLES. 40000000 SPACE 2 40020000 LH RD,WBALNWKU(RK) TECH NO. WORK UNITS. 40040000 MH RD,K04 SEQ DISTR. TABLE = NWKU * 4. 40060000 AR RA,RD UPDATE GEN CORE TOTAL. 40080000 LH RD,WBALMRMX(RK) 40100000 LR RE,RD 40120000 CH RO,K04 MPX CHANNEL INDICATED..... 40140000 BC 4,RCR08A YES - M PHASE 2 INPUT BFRS. 40160000 SPACE 2 40180000 SLL RD,1 NO - 2M PHASE 2 INPUT BFRS. 40200000 RCR08A AR RA,RD UPDATE GEN CORE BY P2 INPUT BFR 40220000 * ADDRESS TABLE SIZE. 40240000 SRL RE,1 40260000 LA RE,5(RE) 40280000 AR RD,RE 40300000 SLL RD,3 40320000 AR RA,RD UPDATE GEN CORE TOTAL BY GETMAIN 40340000 * TABLE SIZE. 40360000 LH RD,WBALNWKU(RK) TECH NO. WORK UNITS. 40380000 RCS0801D MH RD,K52 EXCP DCB CORE REQUIRED. 40400000 MVC WFULL2(2),CPIDCBIN A26453 40410019 AH RD,WFULL2 ADD SORTIN DCB REQ A26453 40420019 LA RD,4(RD) A26453 40430019 STH RD,WBALDCB1(RK) PHASE 1 DCB CORE REQUIRED. 40440000 AR RA,RD UPDATE PHASE 1 GEN CORE TOTAL. 40460000 SPACE 2 40480000 * CHECK IF EXTRACT HAS BEEN SPECIFIED. 40500000 SPACE 2 40520000 RCS0802 TM CPISW1+3,X'40' EXTRACT SPECIFIED..... 40540000 BZ RCS0806 NO - CHECK IF EQUALS SPECIFIED. 40560000 SPACE 1 40580000 * YES - 40600000 SPACE 1 40620000 RCS0803 LH RE,CPILAB07 EXTRACTED CONTROL FLD SIZE. 40640000 LA RE,8(0,RE) 40660000 B RCS0804(RP) GO TO PROPER TECH ROUTINE. 40680000 SPACE 1 40700000 RCS0804 B RCS0804A BAL TECH SPECIFIED. 40720000 B RCS0804B POL TECH SPECIFIED. 40740000 B RCS0804B OSC TECH SPECIFIED. 40760000 SPACE 2 40780000 RCS0804A LH RB,WBALMRMX(RK) BAL TECH - MERGE MAX. 40800000 B RCS0805 COMPUTE SIZE 40820018 SPACE 2 40840000 RCS0804B LH RB,WBALNWKU(RK) POL/OSC NO. WORK UNITS AVAIL. 40860000 RCS0805 LA RB,1(0,RB) 40880000 STH RB,WORK 40900000 MH RE,WORK BAL=(EXTR CF+8) * (MRG MX + 1) 40920000 * POL=(EXTR CF+8) * (NWKU + 1) 40940000 * OSC=(EXTR CF+8) * (NWKU + 1) 40960000 STH RE,WBALEXT1(RK) STORE TOTAL SIZE OF EXTRACTED 40980000 * CONTROL FIELDS. 41000000 B RCS0807 CONTINUE CALCULATIONS 41040018 SPACE 2 41060000 * CHECK IF EQUALS HAS BEEN SPECIFIED. 41080000 SPACE 2 41100000 RCS0806 LA RE,0 SET EXTRACTED CF SIZE TO ZERO (0). 41120000 STH RE,CPILAB07 CLEAR CPILAB07 41140000 SPACE 1 41180000 RCS0807 BAL RO,RCS0807A CONTINUE CALCULATING GENERATED CORE 41190017 * SIZE. HOWEVER THE CODE IS IN BGA. 41200017 B RCS0808 BAL TECH SPECIFIED. 41210017 B RCS0808 POL TECH SPECIFIED. 41220000 B RCS0901 OSC TECH SPECIFIED. 41240000 SPACE 2 41260000 RCS0808 AH RA,K200 41280000 ST RA,WBALP1GC(RP) SAVE BALN OR POLY PH 1 GEN CORE 41300000 * CALCULATED SIZE. 41320000 EJECT 41340000 ******** PAGE 9 41360000 SPACE 2 41380000 * CALCULATE BLOCK COUNTERS AND BLOCK/DEBLOCK ADR TABLE VALUES. 41400000 SPACE 2 41420000 RCS0901 LH RB,WBALNWKU(RK) TECH NO. WORK UNITS. 41440000 LR RD,RB 41460000 LA RD,1(RD) (N+1) 41480000 SLL RD,3 (N+1)*8 41500000 B RCS0902(RP) GO TO PROPER TECH ROUTINE. 41520000 SPACE 1 41540000 RCS0902 B RCS0903 BAL TECH INDICATED. 41560000 B RCS0903 POL TECH INDICATED. 41580000 SPACE 2 41600000 * OSCILLATING TECHNIQUE SPECIFIED. 41620000 SPACE 2 41640000 AR RA,RE ADD IN EXTRACT ROUTINE SIZE. 41660000 AR RA,RD ADD IN BLK CTRS & BLK/DEBLK TABLE. 41680000 LR RD,RB NO. OF WORK UNITS. 41700000 SLL RD,5 (2N*16) = MAX. NO. OF CCW'S 41720000 AR RA,RD ADD INTO PHASE 1 TOTAL. 41740000 LR RD,RB NO. OF WORK UNITS. 41760000 SLL RD,2 MULT BY 4-RECORD COUNTERS. 41780000 AR RA,RD UPDATE TOTAL. 41800000 AH RA,K200 41820000 ST RA,WOSCP1GC STORE OSC P12 GEN CORE REQ. 41840000 B RCS1001 GO DO PH3 41860018 SPACE 2 41880000 * BAL OR POL TECH INDICATED - START CALCULATING P2 GEN CORE. 41900000 SPACE 2 41920000 RCS0903 LH RB,WBALMRMX(RK) TECH MERGE MAX 41940000 LA RB,1(0,RB) MRG MX + 1 41960000 LR RA,RE EXTRACTED CF SIZE IF ANY. 41980000 AR RA,RD ADD IN BLK CTRS & BLK/DEBLK TABLE. 42000000 RCS0904 LH RD,WBALMRMX(RK) CALCULATE INPUT/OUTPUT CCW SIZE 42020000 SLL RD,5 (2M*16) = MAX INPUT/OUTPUT CCW'S 42040000 AR RA,RD UPDATE TOTAL. 42060000 AH RA,K32 MAX OUTPUT BFR CCW'S 42080000 SPACE 2 42100000 * CALCULATE MAX CORE REQ. FOR GET MAIN, ADDRESS AND SIZE TABLES. 42120000 SPACE 2 42140000 RCS0904A LH RD,WBALMRMX(RK) (M) 42160000 SLL RD,1 (2M) 42180000 LA RD,3(RD) (2M+3) 42200000 SLL RD,3 (2M+3) * 8 42220000 AR RA,RD UPDATE GEN CORE TOTAL. 42240000 RCS0905 LR RD,RB CALCULATE INPUT BFR ADR TABLE SIZE. 42260000 SLL RD,3 2(MRG MX) * 4. 42280000 AR RA,RD UPDATE TOTAL. 42300000 RCS0906 LR RD,RB CALCULATE P2 IOB-ECB CORE SIZE. 42320000 MH RD,K40 (MRG MX + 1) * 40. 42340000 STH RD,WBALIOB2(RK) PHASE 2 IOB-ECB CORE REQUIRED. 42360000 AR RA,RD UPDATE TOTAL. 42380000 RCS0907 LH RD,WBALNWKU(RK) NO. WORK UNITS. 42400000 MH RD,K52 RD=P2 EXCP DCB CORE REQ. 42420000 STH RD,WBALDCB2(RK) PHASE 2 DCB CORE REQUIRED. 42440000 AR RA,RD UPDATE TOTAL. 42460000 RCS0908 LH RD,WBALNWKU(RK) CALCULATE DCB ADR TABLE CORE REQ. 42480000 LA RD,1(0,RD) 42500000 SLL RD,2 (NWKU + 1) * 4. 42520000 AR RA,RD UPDATE TOTAL. 42540000 SPACE 2 42560000 * CHECK FOR FIXED LENGTH RECORDS. 42580000 SPACE 2 42600000 RCS0909 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 42620000 BZ RCS0909A NO 42640000 SPACE 1 42660000 * YES - 42680000 SPACE 1 42700000 TM CPISW1+2,X'40' RCDS GREATER THAN 256..... 42720000 BZ RCS0909A NO 42740000 SPACE 2 42760000 AH RA,WMVRTSZ1 YES - ADD MOVE ROUTINE SIZE 42780000 * NO - 42800000 RCS0909A TM CPIMODEX,X'02' EXIT 25 ACTIVATED 42820000 BZ RCS0911 NO - 42840000 SPACE 1 42860000 * YES - 42880000 SPACE 1 42900000 RCS0910 LH RD,WBALEXT1(RK) TECH EXTRACTED CF SIZE. 42920000 AR RA,RD UPDATE TOTAL. 42940000 RCS0911 AH RA,K200 42960000 ST RA,WBALP2GC(RP) STORE PH 2 GEN CORE VALUE IN 42980000 * PROPER TECH LOCATION. 43000000 EJECT 43020000 ******** PAGE 10 43040000 SPACE 2 43060000 * CALCULATE PHASE 3 GENERATED CORE VALUE (ALL TECHNIQUES) 43080000 SPACE 2 43100000 RCS1001 LH RB,WBALMRMX(RK) TECH MERGE MAX. 43120000 SR RA,RA RESET TOTAL FOR PHASE 3. 43140000 RCS1002 LR RD,RB 43160000 MH RD,K52 (MRG MX + 1) * 52 = EXCP DCB CORE. 43180000 MVC WFULL2(2),CPIDCBOU A26453 43190019 AH RD,WFULL2 ADD SORTOUT DCB REQ A26453 43200019 LA RD,4(RD) A26453 43210019 STH RD,WBALDCB3(RK) PHASE 3 DCB CORE REQUIRED. 43220000 AR RA,RD UPDATE TOTAL. 43240000 SPACE 1 43260000 RCS1002A LH RD,WBALMRMX(RK) TECH MRG MX. 43280000 SLL RD,1 (2M) 43300000 LA RD,3(RD) (2M+3) 43320000 SLL RD,3 (2M+3) * 8 43340000 AR RA,RD UPDATE GEN CORE TOTAL. 43360000 SPACE 1 43380000 RCS1003 LR RD,RB CALCULATE IOB-ECB CORE REQ. 43400000 MH RD,K40 (MRG MX + 1) * 40 = IOB-ECB CORE. 43420000 STH RD,WBALIOB3(RK) PHASE 3 IOB-ECB CORE REQUIRED. 43440000 AR RA,RD UPDATE TOTAL. 43460000 RCS1004 LR RD,RB CALCULATE CCWS FOR PHASE 2. 43480000 SLL RD,5 (2M*16) = MAX CCW'S CORE REQ 43500000 AR RA,RD UPDATE TOTAL. 43520000 RCS1005 LH RD,WBALNWKU(RK) CALCULATE DCB ADR TABLE, BLK CTRS, 43540000 * AND BLK/DEBLK ADR TABLE SIZE. 43560000 LA RD,1(0,RD) NO. OF WORK UNITS + 1 43580000 MH RD,K12 (MRG MX + 1) * 12 = TABLE CORE REQ. 43600000 AR RA,RD UPDATE TOTAL. 43620000 SPACE 1 43640000 RCS1006 LR RD,RB CALCULATE INPUT BFR ADR TABLE SIZE. 43660000 SLL RD,3 2(MRG MX + 1) * 4 = TABLE SIZE. 43680000 AR RA,RD UPDATE TOTAL. 43700000 BAL RO,RCS1006A CONTINUE CALCULATING GENERATED CORE 43706017 * SIZE. HOWEVER THE CODE IS IN BGA. 43712017 SPACE 2 43720000 * CHECK IF EXTRACT HAS BEEN INDICATED. 43740000 SPACE 2 43760000 RCS1007 TM CPISW1+3,X'40' EXTRACT SPECIFIED..... 43780000 BZ RCS1009 NO 43800000 SPACE 1 43820000 STH RD,WORK 43840000 LH RD,WBALMRMX(RK) TECH MERGE MAX. 43860000 LA RD,1(0,RD) MRG MX + 1 43880000 MH RD,WORK (EXTR CF + 8) * (MRG MX + 1) 43900000 STH RD,WBALEXT3(RK) STORE TOTAL SIZE OF EXTRACTED 43920000 * CONTROL FIELDS FOR PHASE 3. 43940000 AR RA,RE ADD SIZE TO PHASE 3 GEN CORE TOTAL. 43960000 * YES - 43980000 SPACE 1 44000000 LH RD,CPILAB07 EXTRACTED CONTROL FIELD SIZE. 44020000 LA RD,8(0,RD) 44040000 RCS1009 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 44060000 BZ RCS1014 NO - 44080000 SPACE 2 44100000 RCS1010 TM CPIMODEX+1,X'20' EXIT E35 SPECIFIED..... 44120000 BO RCS1011 YES - CALCULATE PHASE 3 MOVE 44140000 SPACE 2 44160000 CLC K256(2),CPIRCDL3 L3 GREATER THAN 256..... 44180000 BH RCS1014 NO - STORE TOTALS. 44200000 SPACE 2 44220000 RCS1011 LH RE,CPIRCDL3 OUTPUT RECORD LENGTH. 44240000 LA RE,255(0,RE) 44260000 SRL RE,8 L3/256 = Q1. 44280000 LR RF,RE SAVE Q1 VALUE. 44300000 RCS1012 MH RE,K06 Q1 * 6. 44320000 LA RE,2(0,RE) (Q1 * 6) + 2. 44340000 CH RF,K16 ORIGINAL Q1 VS 16. 44360000 BC 4,RCS1013 BRANCH LOW. 44380000 SPACE 2 44400000 SRL RF,4 Q1/16 44420000 MH RF,K12 (Q1/16) * 12. 44440000 AR RE,RF TOTAL MOVE SIZE. 44460000 RCS1013 STH RE,WMVRTSZ3 SAVE PHASE 3 MOVE ROUTINE SIZE. 44480000 AR RA,RE UPDATE PHASE 3 GEN CORE TOTAL. 44500000 RCS1014 AH RA,K200 44520000 ST RA,WBALP3GC(RP) STORE PH 3 GEN TOTAL 44540000 EJECT 44560000 ******** PAGE 11 44580000 SPACE 2 44600000 * CALCULATE PHASES 1-2-3 AVAILABLE CORE (ALL TECHNIQUES) 44620000 SPACE 2 44640000 RCS1101 MVC WFULL1+1(3),CPITAVLC TOTAL AVAILABLE CORE. 44660000 L RB,WFULL1 PHASE 1 CORE TOTAL. 44680000 LR RC,RB PHASE 2 CORE TOTAL. 44700000 LR RD,RB PHASE 3 CORE TOTAL. 44720000 ST RB,WTAVLC SAVE VALUE FOR LATER REFERENCE. 44740000 B RCS1102(RP) GO TO PROPER TECH ROUTINE. 44760000 SPACE 1 44780000 RCS1102 B RCS1105 BAL TECH INDICATED. 44800000 B RCS1109 POL TECH INDICATED. 44820000 SPACE 2 44840000 * OSCILLATING TECHNIQUE SPECIFIED. 44860000 SPACE 2 44880000 RCS1103 LM RF,RG,WP12OSCR OSC - PHASES 12 & 3 RUNNING CORE. 44900000 A RF,WOSCP1GC OSC PHASE 12 GEN CORE. 44920000 A RG,WOSCP3GC OSC PHASE 3 GEN CORE SIZE. 44940000 RCS1104 SR RB,RF OSC PHASE 12 AVAILABLE CORE. 44960000 SR RC,RG OSC PHASE 3 AVAILABLE CORE. 44980000 STM RB,RC,WOSC1COR STORE OSC AVAILABLE CORE VALUES. 45000000 B RCS1201 CHECK PH1 BFRS 45020018 SPACE 2 45040000 * BALANCED TECHNIQUE INDICATED. 45060000 SPACE 2 45080000 RCS1105 LM RE,RG,WP1BALCR BAL - PHASES 1,2 & 3 RUNNING 45100000 * CORE SIZES. 45120000 RCS1106 A RE,WBALP1GC BAL - PHASE 1 GEN CORE SIZE. 45140000 A RF,WBALP2GC BAL - PHASE 2 GEN CORE SIZE. 45160000 A RG,WBALP3GC BAL - PHASE 3 GEN CORE SIZE. 45180000 RCS1108 SR RB,RE BAL PHASE 1 AVAILABLE CORE. 45200000 SR RC,RF BAL PHASE 2 AVAILABLE CORE. 45220000 SR RD,RG BAL PHASE 3 AVAILABLE CORE. 45240000 STM RB,RD,WBAL1COR SAVE BAL AVAILABLE CORE VALUES. 45260000 B RCS1201 CHECK PH1 BFRS 45280018 SPACE 2 45300000 * POLYPHASE TECHNIQUE INDICATED. 45320000 SPACE 2 45340000 RCS1109 LM RE,RG,WP1POLCR POL PHASES 1, 2 & 3 RUNNING 45360000 * CORE SIZES. 45380000 RCS1110 A RE,WPOLP1GC POL PHASE 1 GEN CORE SIZE. 45400000 A RF,WPOLP2GC POL PHASE 2 GEN CORE SIZE. 45420000 A RG,WPOLP3GC POL PHASE 3 GEN CORE SIZE. 45440000 RCS1112 SR RB,RE POL PHASE 1 AVAILABLE CORE. 45460000 SR RC,RF POL PHASE 2 AVAILABLE CORE. 45480000 SR RD,RG POL PHASE 3 AVAILABLE CORE. 45500000 STM RB,RD,WPOL1COR SAVE POL AVAILABLE CORE VALUES. 45520000 EJECT 45540000 ******** PAGE 12 45560000 SPACE 2 45580000 * CALCULATE PHASE 1 AVAILABLE CORE (LESS INPUT BUFFER/BUFFERS) 45600000 * IF 2 SELECTOR CHANNELS ARE INDICATED, DETERMINE IF PHASE 1 45620000 * AVAILABLE CORE IS SUFFICIENT TO ALLOW FOR DOUBLE BUFFERED 45640000 * INPUT. IF CORE REQUIRED FOR 2 INPUT BUFFERS IS GREATER THAN 45660000 * THE AVAILABLE CORE, ONLY ONE INPUT BUFFER WILL BE ALLOCATED 45680000 SPACE 2 45700000 RCS1201 LH RO,WCHNIND1 CHANNEL STATUS INDICATOR. 45720000 L RE,WP1IPBFR PHASE 1 INPUT BFR SIZE (BI). 45740000 LR RA,RB SAVE PHASE 1 CORE VALUE. 45760000 B RCS1202(RO) GO TO PROPER CHANNEL STATUS RTN. 45780000 SPACE 1 45800000 RCS1202 B RCS1206 MPX CHANNEL INDICATED. 45820000 B RCS1208 1 SELECTOR CHANNEL INDICATED. 45840000 SPACE 2 45860000 * 2 SELECTOR CHANNELS INDICATED. 45880000 SPACE 2 45900000 RCS1204 SLL RE,1 RE = 2(BI). 45920000 LA RC,2 NO. PHASE 1 INPUT BFRS. 45940000 SR RB,RE (P1AV/2BI) 45960000 BC 2,RCS1210 YES-2 BUFFERS WILL FIT 45980000 SPACE 2 46000000 * SET UP FOR ONE (1) INPUT BFR. 46020000 SPACE 2 46040000 OI WCSSWC,X'10' INDICATE USER BFR SIZE TOO LARGE 46060000 * FOR EFFICIENT PHASE 1 DOUBLE 46080000 * BUFFERING. 46100000 RCS1205 SRL RE,1 RE = 1(BI) 46120000 LR RB,RA RESTORE ORIGINAL P1AV VALUE 46140000 RCS1206 LA RC,1 NO. PHASE 1 INPUT BFRS. 46160000 RCS1207 SR RB,RE P1AV = P1AV - (BI CORE) 46180000 BC 4,RCRABRT2 INSUFFICIENT CORE - INPUT BFR SIZE 46200000 * TO HIGH FOR AVAILABLE CORE 46220000 B RCS1210 STORE VALUES. 46240000 SPACE 2 46260000 * 1 SELECTOR CHANNEL INDICATED - CHECK IF INPUT AND WORK UNITS 46280000 * ARE ON THE SAME CHANNEL. 46300000 SPACE 2 46320000 RCS1208 CLI WTQIND+1,X'08' OSC TECH SPECIFIED..... 46340000 BC 8,RCS1204 YES - TRY FOR 2 INPUT BFRS. 46360000 SPACE 2 46380000 TM WCSSWB,X'02' INPUT/WORK SAME CHANNEL..... 46400000 BO RCS1204 NO - TRY FOR 2 INPUT BFRS. 46420000 SPACE 2 46440000 RCS1209 B RCS1206 YES - SET UP 1 INPUT BFR. 46460000 SPACE 2 46480000 RCS1210 ST RB,WBAL1AVP(RP) STORE PHASE 1 AVAIL CORE LESS 46500000 * BFR/BFRS IN PROPER TECH LOCATION. 46520000 STH RC,WBALINP1(RK) STORE NO. PHASE 1 INPUT BFRS. 46540000 B RCS1301(RP) GO TO PROPER TECH ROUTINE. 46560000 EJECT 46580000 ******** PAGE 13 46600000 SPACE 2 46620000 RCS1301 B RCS1312 BAL TECHNIQUE INDICATED. 46640000 B RCS1313 POL TECHNIQUE INDICATED. 46660000 SPACE 2 46680000 * OSCILLATING TECHNIQUE SPECIFIED. 46700000 SPACE 2 46720000 RCS1302 LA RC,0 46740000 RCS1303 LR RD,RB RD = OSC P12 AVAILABLE CORE PRIME. 46760000 SPACE 2 46780000 * CHECK FOR FIXED LENGTH RECORDS. 46800000 SPACE 2 46820000 RCS1304 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 46840000 BZ RCS1308 NO - 46860000 SPACE 2 46880000 * CALCULATE G PRIME AND TREE PRIME FOR OSC FIXED LENGTH RECORDS. 46900000 SPACE 2 46920000 RCS1305 LH RE,CPIBINSZ 46940000 LA RE,7(0,RE) BIN SIZE + 7. 46960000 DR RC,RE G' = P12AV/BIN SZ + 7. 46980000 BC 4,RCRABRT2 INSUFFICIENT CORE 47000000 ST RD,WGPRIMEF 47020000 SPACE 2 47040000 RCS1306 SR RC,RC 47060000 BCT RD,RCS1306A DECREMENT TO G-1 47080018 SPACE 1 47100000 RCS1306A LA RE,3 47120000 SPACE 1 47140000 DR RC,RE (G' - 1)/3. 47160000 BC 4,RCRABRT2 INSUFFICIENT CORE 47180000 SPACE 2 47200000 RCS1307 LA RE,20 47220000 SR RC,RC 47240000 SPACE 1 47260000 MR RC,RE TREE' = G'-1/3 * 20. 47280000 SPACE 1 47300000 ST RD,WTPRIMEF 47320000 B RCS1310 CHECK SIZE 47340018 SPACE 2 47360000 * CALCULATE G PRIME & TREE PRIME FOR OSC VARIABLE LENGTH RECORDS. 47380000 SPACE 2 47400000 RCS1308 LH RE,CPIBINSZ 47420000 LA RE,12(0,RE) BIN SIZE + 12. 47440000 DR RC,RE G' = P12AV/BIN SZ + 12. 47460000 BC 4,RCRABRT2 INSUFFICIENT CORE 47480000 ST RD,WGPRIMEV 47500000 SPACE 2 47520000 RCS1309 SR RC,RC 47540000 BCT RD,RCS1309A DECREMENT TO G-1 47560018 SPACE 1 47580000 RCS1309A LA RE,12 47600000 MR RC,RE TREE' = (G' - 1) * 12. 47620000 ST RD,WTPRIMEV 47640000 SPACE 2 47660000 * SUBTRACT TREE PRIME FROM OSC PHASE 12 AVAILABLE CORE. 47680000 SPACE 2 47700000 RCS1310 LR RC,RD TREE PRIME VALUE. 47720000 LR RD,RB PHASE 12 AVAIL. CORE. 47740000 ST RD,WOSC2AVP SAVE - TEST * TEST * TEST * TEST* 47760000 SR RD,RC PHASE 12 AVAIL. CORE LESS TREE 47780000 * PRIME VALUE. 47800000 RCS1311 LH RE,WOSCNB2 OSC - TOTAL NO. PHASE 2 BFRS (I/O). 47820000 B RCS1314 CALC BSL 47840018 SPACE 2 47860000 * BALANCED TECHNIQUE INDICATED. 47880000 SPACE 2 47900000 RCS1312 L RD,WBAL2COR BAL - PHASE 2 AVAILABLE CORE. 47920000 LH RE,WBALNB2 BAL - TOTAL NO. PHASE 2 BFRS (I/O). 47940000 B RCS1314 CALCULATE BSL 47960018 SPACE 2 47980000 * POLYPHASE TECHNIQUE INDICATED. 48000000 SPACE 2 48020000 RCS1313 L RD,WPOL2COR POL - PHASE 2 AVAILABLE CORE. 48040000 LH RE,WPOLNB2 POL - TOTAL NO. PHASE 2 BFRS (I/O). 48060000 RCS1314 SR RC,RC 48080000 B RCS1402 CALCULATE BSL 48100018 EJECT 48120000 ******** PAGE 14 48140000 SPACE 2 48160000 * CALCULATE SORT BLOCKING (BS) FOR FIXED OR VARIABLE LENGTH 48180000 * RECORDS ( ALL TECHNIQUES ). 48200000 SPACE 1 48220000 * ENTRY FROM BUFFER CUT-BACK ROUTINE. 48240000 SPACE 2 48260000 RCS1401 L RD,WP2UPDAV(RP) UPDATED PHASE 2 AVAILABLE CORE. 48280000 B RCS1402A CALCULATE BSL 48300018 SPACE 2 48320000 * NORMAL ENTRY POINT. 48340000 SPACE 2 48360000 RCS1402 ST RD,WP2UPDAV(RP) SAVE PHASE 2 AVAILABLE VALUE. 48380000 RCS1402A DR RC,RE P2AV/NB = BSL (RD) 48400000 SH RD,WRECINCR SORT BLOCKING - 4 OR 8 1259 48406014 BAL RI,ROUNDD+4 ALIGN TO DOUBLE WORD 1259 48412014 SPACE 2 48420000 * CHECK IF BUFFER SIZE (BSL) EQUAL TO/GREATER THAN 1 RCD (+4 OR 8) 48440000 SPACE 2 48460000 RCS1403 LH RJ,WRECIND RECORD FORMAT INDICATOR 48480000 * ( FIXED = 4, VARIABLE = 0 ) 48500000 B RCS1403A(RJ) GO TO PROPER RCD FORMAT ROUTINE. 48520000 SPACE 1 48540000 RCS1403A B RCS1403C VARIABLE LENGTH RECORDS INDICATED. 48560000 SPACE 2 48580000 * FIXED LENGTH RECORDS INDICATED. 48600000 SPACE 2 48620000 RCS1403B LH RF,CPIRCDL2 FIXED RECORD LENGTH. 48640000 LA RF,4(0,RF) 1 RECORD + 4. 48660000 B RCS1403D CHECK BSL VS RCD 48680018 SPACE 2 48700000 * VARIABLE LENGTH RECORDS INDICATED. 48720000 SPACE 2 48740000 RCS1403C LH RF,CPIRCDL2 VARIABLE RECORD LENGTH. 48760000 LA RF,8(0,RF) 1 RECORD + 8. 48780000 RCS1403D CR RD,RF BSL EQUAL/GREATER 1 RCD (+4 OR 8). 48800000 BC 10,RCS1404 YES - 48820000 B RCS1517 NO - GO TO BFR CUT-BACK ROUTINE. 48840000 SPACE 2 48860000 RCS1404 CH RF,K10000 1 RCD (+4 OR 8) GREATER THAN 10K... 48880000 BC 2,RCS1405(RJ) YES - GO TO PROPER RCD FORMAT RTN. 48900000 B RCS1408 NO - 48920000 SPACE 2 48940000 RCS1405 B RCS1407 VARIABLE LENGTH RECORDS INDICATED. 48960000 SPACE 2 48980000 * FIXED LENGTH RECORDS INDICATED - 1 RECORD EQUAL 10 K OR OVER. 49000000 SPACE 2 49020000 RCS1406 LA RA,1 SET BS = 1. 49040000 BAL RI,ROUNDF ALIGN TO DOUBLE WORD 1259 49050014 STH RA,WBALBS(RK) STORE BS IN TECH LOCATION. 49060000 STH RF,WBSLBAL(RK) STORE BSL IN TECH LOCATION. 49080000 B RCS1416 CHECK PH2 BFRS VS CORE 49100018 SPACE 2 49120000 * VARIABLE LENGTH RECORDS INDICATED - 1 RECORD EQUAL 10 K OR OVER. 49140000 SPACE 2 49160000 RCS1407 BAL RI,ROUNDF DOUBLE WORD ALIGNMENT 1259 49170014 STH RF,WBALBS(RK) STORE BS IN TECH LOCATION 1259 49180014 STH RF,WBSLBAL(RK) STORE BSL IN TECH LOCA3ION 49200000 LR RD,RF 49220000 B RCS1416 CHECK PH2 BFRS VS CORE 49240018 SPACE 2 49260000 * CHECK IF BUFFER SIZE (BSL) LESS THAN 10 K. 49280000 SPACE 2 49300000 RCS1408 CH RD,K10000 BSL LESS THAN 10K..... 49320000 BC 4,RCS1410(RJ) YES - GO TO PROPER RCD FORMAT RTN. 49340000 SPACE 2 49360000 RCS1409 LH RD,K10000 REDUCE BSL TO 10K. 49380000 B RCS1410(RJ) GO TO PROPER RCD FORMAT ROUTINE. 49400000 SPACE 1 49420000 RCS1410 B RCS1413 VARIABLE LENGTH RECORDS INDICATED. 49440000 SPACE 2 49460000 * FIXED LENGTH RECORDS INDICATED - BSL LESS THAN 10K. 49480000 SPACE 2 49500000 RCS1411 SR RC,RC 49520000 LH RE,CPIRCDL2 RECORD LENGTH. 49540000 STH RD,WBSLBAL(RK) STORE BSL IN TECH LOCATION. 49560000 DR RC,RE BS = BSL/L2 (RD = BS ) 49580000 STH RD,WBALBS(RK) STORE BS IN TECH LOCATION. 49600000 SPACE 1 49620000 RCS1412 MR RC,RE BS * L2 49640000 LA RD,4(0,RD) NEW BSL = (BS * L2) + 4. 49660000 BAL RI,ROUNDD ALIGN TO DOUBLE WORD 1259 49670014 STH RD,WBSLBAL(RK) STORE NEW BSL IN TECH LOCATION. 49680000 B RCS1416 CHECK PH2 BFRS VS CORE 49700018 SPACE 2 49720000 SPACE 2 49740000 * VARIABLE LENGTH RECORDS INDICATED - BSL LESS THAN 10K. 49760000 SPACE 2 49780000 RCS1413 LR RA,RD SET RA=BSL. 49800000 SR RC,RC 49820000 LH RE,CPIRCDL2 MAX RECORD LENGTH. 49840000 LA RE,8(0,RE) MAX RCD + 8. 49860000 DR RC,RE X = BSL/MAX RCD + 8. 49880000 RCS1414 CH RD,K01 X EQUAL/GREATER 1 RCD + 8. 49900000 BC 10,RCS1415 YES - 49920000 B RCS1517 NO - GO TO BFR CUT-BACK ROUTINE. 49940000 SPACE 2 49960000 RCS1415 AH RA,K09 RECORD INCREMENT AND 7 1259 49966014 AH RA,K06 BYTES FOR ROUNDING= 15 1259 49972014 ST RA,WFULL1 1259 49978014 NI WFULL1+3,X'F8' FOR ALIGNMENT 1259 49984014 L RA,WFULL1 RESTORING REGISTER 1259 49990014 STH RA,WBALBS(RK) STORE BS IN TECH LOCATION 50000000 STH RA,WBSLBAL(RK) STORE BSL IN TECH LOCATION. 50020000 LR RD,RA RD = BSL. 50040000 SPACE 2 50060000 * CHECK IF PHASE 2 AVAILABLE CORE IS LARGE ENOUGH TO HOLD ALL 50080000 * REQUIRED PHASE 2 BUFFERS. 50100000 SPACE 2 50120000 RCS1416 LH RE,WBALNB2(RK) TECH PHASE 2 TOTAL NO. BFRS (I/O). 50140000 MR RC,RE BSL * NB = Z (BFR CORE REQ). 50160000 L RC,WP2UPDAV(RP) UPDATED PHASE 2 AVAILABLE CORE. 50180000 RCS1416A CR RD,RC (BSL*NB) LESS/EQUAL PHASE 2 AVAIL. 50200000 BC 12,RCS1501 YES - 50220000 SPACE 2 50240000 B RCS1416B(RJ) GO TO PROPER RCD FORMAT ROUTINE. 50260000 SPACE 1 50280000 RCS1416B B RCS1419 VARIABLE LENGTH RECORDS INDICATED. 50300000 SPACE 2 50320000 * FIXED LENGTH RECORDS INDICATED. 50340000 SPACE 2 50360000 RCS1416C LH RC,CPIRCDL2 SORT RECORD LENGTH. 50380000 SLL RC,1 50400000 LA RC,4(0,RC) 2 RCDS + 4. 50420000 RCS1417 CR RD,RC BSL EQUAL/GREATER 2 RCDS + 4..... 50440000 BC 10,RCS1418 YES - 50460000 B RCS1517 NO - GO TO BFR CUT-BACK ROUTINE. 50480000 SPACE 2 50500000 RCS1418 LH RD,WBALBS(RK) GET OLD BS VALUE. 50520000 BCT RD,RCS1418A BS = BS - 1. 50540000 SPACE 1 50560000 RCS1418A STH RD,WBALBS(RK) STORE NEW BS VALUE IN TECH LOCATION 50580000 LH RE,CPIRCDL2 RECORD LENGTH. 50600000 B RCS1412 CALCULATE NEW BSL. 50620000 SPACE 2 50640000 * VARIABLE LENGTH RECORDS INDICATED. 50660000 SPACE 2 50680000 RCS1419 LH RC,CPIRCDL2 SORT RECORD LENGTH. 50700000 SLL RC,1 50720000 LA RC,8(0,RC) 2 RCDS + 8. 50740000 CR RD,RC BSL EQUAL/GREATER 2 MAX RCDS + 8. 50760000 BC 10,RCS1419A YES - 50780000 B RCS1517 NO - GO TO BFR CUT-BACK ROUTINE. 50800000 SPACE 2 50820000 * REDUCE BUFFER SIZE (BSL) BY 1 MAX RECORD LENGTH. 50840000 SPACE 2 50860000 RCS1419A LH RC,CPIRCDL2 RECORD SIZE. 50880000 LR RD,RA LOAD OLD BSL 50900000 SR RD,RC BSL = BSL - 1 MAX RECORD. 50920000 B RCS1413 CHECK AGAIN 50940018 * IN AVAILABLE CORE. 50960000 EJECT 50980000 ******** PAGE 15 51000000 SPACE 2 51020000 * CHECK IF LEFT OVER CORE (X) CAN BE USED FOR ADDITIONAL 51040000 * PHASE 2 BUFFERS. 51060000 SPACE 2 51080000 RCS1501 SR RC,RD LEFT OVER CORE = P2AV - (BSL*NB). 51100000 RCS1502 B RCS1502A(RJ) GO TO PROPER RCD FORMAT RTN. 51120000 SPACE 1 51140000 RCS1502A B RCS1504 VARIABLE RCDS INDICATED. 51160000 SPACE 2 51180000 * FIXED LENGTH RECORDS INDICATED. 51200000 SPACE 2 51220000 B RCS1503(RO) GO TO PROPER CHANNEL STATUS RTN. 51240000 SPACE 1 51260000 RCS1503 B RCS1601 MPX - GO TO PHASE 3. 51280000 B RCS1504 1 SELECTOR CHANNEL INDICATED. 51300000 SPACE 2 51320000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 51340000 SPACE 2 51360000 RCS1504 LR RD,RC RD = LEFT OVER CORE. 51380000 LR RA,RC SAVE VALUE FOR LATER REFERENCE. 51400000 LH RE,WBSLBAL(RK) SORT BUFFER SIZE. 51420000 CR RD,RE LEFT OVER CORE EQUAL/GREATER BSL... 51440000 BC 10,RCS1508 YES - 51460000 SPACE 2 51480000 RCS1505 B RCS1505A(RJ) GO TO PROPER RCD FORMAT RTN. 51500000 SPACE 1 51520000 RCS1505A B RCS1506 VARIABLE RCDS INDICATED. 51540000 B RCS1601 FIXED RCDS INDICATED - GO TO 51560000 * PHASE 3 51580000 SPACE 1 51600000 RCS1506 LH RE,WBALNB2(RK) TOTAL PHASE 2 BUFFERS. 51620000 SR RC,RC 51640000 DR RC,RE W = LEFT OVER CORE/NB. 51660000 RCS1507 LH RC,WBSLBAL(RK) VAR - TECH BSL. 51680000 CH RC,K10000 IS BSL GREATER THAN 10000 51685017 BC 10,RCS1507B YES 51690017 SPACE 1 51695017 AR RC,RD BSL = BSL + W. 51700000 CH RC,K10000 NEW BSL GREATER THAN 10000 51720000 BC 10,RCS1507A YES 51740000 SPACE 1 51746017 RCS1507B EQU * 51752017 SPACE 2 51760000 BAL RI,ROUNDC ALIGN TO DOUBLE WORD 1259 51770014 STH RC,WBSLBAL(RK) STORE TECH NEW BSL. 51780000 STH RC,WBALBS(RK) STORE TECH NEW BS. 51840000 B RCS1601 GO TO PHASE 3. 51860000 SPACE 2 51880000 RCS1507A LH RC,K10000 LOAD MAXIMUM BSL 51900000 LA RC,8(RC) ADD 8 TO BSL 51920000 STH RC,WBALBS(RK) STORE NEW BS 51940000 STH RC,WBSLBAL(RK) STORE NEW BSL 51960000 B RCS1601 GO TO PHASE - 3 51980000 SPACE 2 52000000 RCS1508 SR RC,RC 52020000 DR RC,RE Z = X/BSL. 52040000 RCS1509 ST RC,WFULL4 SAVE REMAINDER. 52060000 RCS1510 LH RG,WBALNB2(RK) 52080000 LH RF,WBALMRMX(RK) TECH MERGE MAX. 52100000 SLL RF,1 52120000 LA RF,2(RF) 2M+2 VALUE. 52140000 AR RG,RD NB = NB + Z. 52160000 CR RG,RF NB GREATER THAN 2M+2..... 52180000 BC 2,RCS1511 YES - 52200000 SPACE 2 52220000 RCS1510A STH RG,WBALNB2(RK) STORE NEW PHASE 2 NB. 52240000 LA RC,2 52260000 STH RC,WBALOUT2(RK) SET UP 2 PHASE 2 OUTPUT BFRS. 52280000 B RCS1515 CONTINUE 52300018 SPACE 2 52320000 RCS1511 STH RF,WBALNB2(RK) STORE 2M+2 IN P2NB. 52340000 LA RC,2 52360000 STH RC,WBALOUT2(RK) STORE 2 PHASE 2 OUTPUT BFRS. 52380000 RCS1512 SR RG,RF V = (NB+Z) - (2M+2). 52400000 RCS1513 SR RC,RC 52420000 LR RD,RG RD = V 52440000 LH RE,WBSLBAL(RK) RE = BSL VALUE. 52460000 MR RC,RE Y = V * BSL. 52480000 RCS1514 A RD,WFULL4 REMAINSER = REMAINDER + Y. 52500000 RCS1515 B RCS1515A(RJ) GO TO PROPER RCD FORMAT RTN. 52520000 SPACE 1 52540000 RCS1515A B RCS1516 VAR LENGTH RCDS. 52560000 B RCS1601 FIXED RCDS - GO TO PHASE 3. 52580000 SPACE 2 52600000 RCS1516 LH RD,WBSLBAL(RK) LOAD BSL 52620000 CH RD,K10000 BSL GREATER / EQUAL TO 10000 52640000 BC 10,RCS1601 YES-GO TO PHASE-3 52660000 SPACE 2 52680000 L RD,WFULL4 RD=REMAINDER 52700000 B RCS1506 UP TO MAX OR OPT AND EXIT 52720018 SPACE 2 52740000 * BUFFER CUT-BACK ROUTINE. 52760000 SPACE 2 52780000 RCS1517 LH RO,WCHNIND2 PHASE 2 CHANNEL STATUS. 52800000 B RCS1517A(RO) GO TO PROPER CHANNEL STATUS RTN. 52820000 SPACE 1 52840000 RCS1517A B RCRABRT2 INSUFFICIENT CORE - MPX IND.- 52860000 * ALREADY AT MINIMUM BFRS. 52880000 B RCS1518 1 SELECTOR CHANNEL INDICATED. 52900000 SPACE 2 52920000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 52940000 SPACE 2 52960000 RCS1518 LH RG,WBALNB2(RK) 52980000 LH RF,WBALMRMX(RK) TECH MERGE MAX. 53000000 LA RF,1(RF) M + 1. 53020000 CR RG,RF NB GREATER THAN M + 1. 53040000 BC 4,RCRABRT2 INSUFFICIENT CORE 53060000 SPACE 1 53080000 RCS1519 BCT RG,RCS1520 P2NB = P2NB - 1. 53100000 SPACE 2 53120000 RCS1520 CR RG,RF P2NB = M + 1. 53140000 BC 8,RCS1521 YES - 53160000 SPACE 2 53180000 LA RF,2 SET UP 2 PHASE 2 OUTPUT BFRS. 53200000 B RCS1521A STORE VALUES 53220018 SPACE 2 53240000 RCS1521 LA RF,1 SET UP 1 PHASE 2 OUTPUT BFR. 53260000 RCS1521A STH RF,WBALOUT2(RK) STORE NO. PHASE 2 OUTPUT BFRS. 53280000 STH RG,WBALNB2(RK) STORE NEW TOTAL PHASE 2 BFRS. 53300000 SPACE 2 53320000 * UPDATE PHASE 2 GENERATED CORE AND AVAILABLE CORE. 53340000 SPACE 2 53360000 RCS1522 L RD,WP2UPDAV(RP) PHASE 2 UPDATED AVAILABLE CORE. 53380000 LA RD,4(RD) 53400000 ST RD,WP2UPDAV(RP) STORE NEW PHASE 2 AVAIL. CORE. 53420000 SPACE 1 53440000 EX 0,RCS1522A(RP) EXECUTE PROPER TECH LOAD INSTR. 53460000 SPACE 1 53480000 B RCS1523 SKIP EXECUTED INSTRUCTS 53500018 SPACE 1 53520000 DS 0F 53540000 RCS1522A L RB,WBALP2GC BAL - PHASE 2 GEN CORE. 53560000 L RB,WPOLP2GC POL - PHASE 2 GEN CORE. 53580000 L RB,WOSCP1GC OSC - PHASE 2 GEN CORE. 53600000 SPACE 1 53620000 DS 0F 53640000 RCS1522B ST RB,WBALP2GC BAL - STORE NEW P2 GEN CORE VALUE. 53660000 ST RB,WPOLP2GC POL - STORE NEW P2 GEN CORE VALUE. 53680000 ST RB,WOSCP1GC OSC - STORE NEW P2 GEN CORE VALUE. 53700000 SPACE 1 53720000 RCS1523 SH RB,K04 REDUCE GEN CORE SIZE BY FOUR (4). 53740000 SPACE 1 53760000 EX 0,RCS1522B(RP) 53780000 SPACE 1 53800000 SR RC,RC 53820000 LH RE,WBALNB2(RK) RECALCULATE BS AND BSL. 53840000 B RCS1401 START AGAIN 53860018 EJECT 53880000 ******** PAGE 16 53900000 SPACE 2 53920000 * START OF PHASE 3 CALCULATIONS. 53940000 * CHECK IF PHASE 3 WILL HANDLE PHASE 2 CALCULATED BFR SIZE (BSL) 53960000 SPACE 2 53980000 RCS1601 LH RO,WCHNIND3 PHASE 3 CHANNEL STATUS INDICATOR. 54000000 L RE,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 54020000 SPACE 2 54040000 B RCS1602(RO) GO TO PROPER CHANNEL STATUS 54060000 SPACE 2 54080000 RCS1602 B RCS1604 MPX CHANNEL INDICATED. 54100000 B RCS1604 1 SELECTOR CHANNEL INDICATED. 54120000 SPACE 2 54140000 * 2 SELECTOR CHANNELS INDICATED. 54160000 SPACE 2 54180000 RCS1603 SLL RE,1 (BO+8)*2 54200000 LA RB,2 NO. PHASE 3 OUTPUT BFRS. 54220000 B RCS1604A STORE 54240018 SPACE 2 54260000 * MPX OR 1 SELECTOR CHANNEL INDICATED. 54280000 SPACE 2 54300000 RCS1604 LA RB,1 NO. PHASE 3 OUTPUT BFRS. 54320000 RCS1604A STH RB,WBALOUT3(RK) STORE NO. PHASE 3 OUTPUT BFRS. 54340000 SPACE 2 54360000 * SUBTRACT OUTPUT BFR/BFRS FROM PHASE 3 AVAILABLE CORE. 54380000 SPACE 2 54400000 RCS1605 EX 0,RCS1605A(RP) LOAD TECH AVAILABLE CORE. 54420000 SPACE 1 54440000 B RCS1605B AND UPDATE 54460018 DS 0F 54480000 RCS1605A L RD,WBAL3COR BAL - PHASE 3 AVAILABLE CORE. 54500000 L RD,WPOL3COR POL - PHASE 3 AVAILABLE CORE. 54520000 L RD,WOSC3COR OSC - PHASE 3 AVAILABLE CORE. 54540000 RCS1605B SR RD,RE P3AV=P3AV-BO 54560000 BC 4,RCS1605C BRANCH IF NEGATIVE. 54580000 SPACE 2 54600000 ST RD,WBAL3AVP(RP) SAVE VALUE FOR LATER REFERENCE. 54620000 LR RA,RD SAVE AVAILABLE CORE VALUE. 54640000 B RCS1606 CHECK INPUT BFRS VS CORE 54660018 SPACE 2 54680000 RCS1605C LA RB,1 54700000 CH RB,WBALOUT3(RK) 2 PHASE 3 OUTPUT BFRS..... 54720000 BC 8,RCRABRT2 INSUFFICIENT CORE 54740000 B RCS1604 YES - CUT BACK TO 1 PHASE 3 OUTPUT 54760000 * BUFFER. 54780000 SPACE 2 54800000 * CHECK IF PHASE 3 AVAILABLE CORE WILL HOLD AT LEAST THE MERGE 54820000 * ORDER (M) NUMBER OF INPUT BUFFERS. 54840000 SPACE 2 54860000 RCS1606 LH RE,WBALMRMX(RK) TECH MERGE MAX. 54880000 SR RC,RC 54900000 DR RC,RE BSL3 = P3AV/M 54920000 RCS1607 CH RD,WBSLBAL(RK) BSL3 EQUAL/GREATER THAN BSL..... 54940000 BC 10,RCS1610(RO) YES - 54960000 SPACE 1 54980000 * NO - BSL GREATER THAN BSL3. 55000000 SPACE 1 55020000 RCS1608 CH RB,K02 2 PHASE 3 OUTPUT BFRS..... 55040000 BC 8,RCS1609 YES 55060000 SPACE 2 55080000 AR RB,RE NB3=M+1 55100000 STH RB,WBALNB3(RK) STORE VALUE 55120000 LR RG,RD RG = BSL3 SIZE. 55140000 LH RD,WBSLBAL(RK) RD = BSL2 SIZE. 55160000 B RCS1701 RE-CALCULATE BSL AND BS. 55180000 SPACE 2 55200000 RCS1609 L RE,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 55220000 B RCS1604 REDUCE TO ONE 55240018 SPACE 2 55260000 * BSL3 GREATER THAN BSL - CAN ADDITIONAL CORE BE UTILIZED FOR 55280000 * ADDITIONAL BFRS. 55300000 SPACE 2 55320000 RCS1610 B RCS1615B MPX CHANNEL INDICATED. 55340000 B RCS1610A 1 SELECTOR CHANNEL INDICATED. 55360000 SPACE 2 55380000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 55400000 SPACE 2 55420000 RCS1610A LA RB,2 55440000 CH RB,WBALOUT3(RK) 2 PHASE 3 OUTPUT BFRS..... 55460000 BC 8,RCS1611 YES - 55480000 SPACE 2 55500000 * CHECK IF ANOTHER OUTPUT BUFFER FOR PHASE 3 CAN BE ALLOCATED. 55520000 SPACE 2 55540000 L RG,WBAL3AVP(RP) P3AV - 1(BO) 55560000 SR RC,RC 55580000 LH RD,WBSLBAL(RK) RD=BSL (PHASE 2 BFR SIZE). 55600000 MR RC,RE BSL*M = P3 MIN CORE REQUIRED. 55620000 SR RG,RD P3AV = P3AV - ((M * BSL) + (BO)) 55640000 L RE,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 55660000 SR RG,RE P3AV - 2ND BO. 55680000 BC 4,RCS1611 BRANCH IF NEGATIVE. 55700000 SPACE 2 55720000 SR RA,RE 55740000 ST RA,WBAL3AVP(RP) STORE NEW PHASE 3 AVAILABLE CORE 55760000 * TO INPUT BUFFERS. 55780000 STH RB,WBALOUT3(RK) STORE NEW NO. PHASE 3 OUTPUT BFRS. 55800000 RCS1611 LH RB,WBALMRMX(RK) TECH MERGE MAX. 55820000 LR RE,RB SAVE VALUE. 55840000 SLL RE,1 ( 2 * M ) 55860000 SPACE 1 55880000 RCS1611A LR RD,RA RD = PHASE 3 AVAILABLE CORE. 55900000 RCS1611B SR RC,RC 55920000 DR RC,RE P3AV/2M=NEW BSL3. 55940000 RCS1612 CH RD,WBSLBAL(RK) BSL3 EQUAL/GREATER THAN BSL..... 55960000 BC 10,RCS1615 YES - 55980000 SPACE 1 56000000 * NO - BSL3 LESS THAN BSL. 56020000 SPACE 1 56040000 RCS1613 BCT RE,RCS1614 REDUCE 2M VALUE (RE) BY 1. 56060000 SPACE 1 56080000 RCS1614 CR RE,RB RE EQUAL/GREATER THAN M..... 56100000 BC 10,RCS1611A YES - 56120000 SPACE 1 56140000 * NO - 56160000 SPACE 1 56180000 RCS1615 LH RD,WBALOUT3(RK) NO. PHASE 3 OUTPUT BUFFERS. 56200000 AR RE,RD 56220000 STH RE,WBALNB3(RK) TOTAL NO. PHASE 3 BUFFERS (I/O). 56240000 RCS1615A B RCS1801 GO TO PHASE 1 CALCULATIONS. 56260000 SPACE 2 56280000 SPACE 2 56300000 * MPX CHANNEL INDICATED. 56320000 SPACE 2 56340000 RCS1615B LH RE,WBALMRMX(RK) TECH MERGE MAX. 56360000 B RCS1615 STORE TOTAL 56380018 EJECT 56400000 **********PAGE 17 ********************************************** 56420000 SPACE 2 56440000 * RE-CALCULATE SORT BLOCKING (BS) AND BUFFER SIZE (BSL). 56460000 * BSL CALCULATED IN PHASE 2 WILL NOT FIT IN PHASE 3. 56480000 SPACE 2 56500000 RCS1701 ST RA,WFULL1 SAVE PHASE 3 AVAILABLE CORE - BO. 56520000 LH RA,CPIRCDL2 PHASE 2 RCD LENGTH. 56540000 LR RF,RA RF = L2. 56560000 RCS1702 AH RF,WRECINCR (F = +4, V = +8) 56580000 RCS1703 SR RD,RA BSL2 = BSL2 - L2. 56600000 BC 4,RCRABRT2 INSUFFICIENT CORE 56620000 SPACE 2 56640000 RCS1704 CR RG,RD BSL3 EQUAL/GREATER THAN BSL2..... 56660000 BC 10,RCS1705 YES - 56680000 B RCS1703 NO - REDUCE BSL2 AGAIN. 56700000 SPACE 2 56720000 RCS1705 CR RD,RF BSL2 EQUAL/GREATER 1 RCD (+4 OR +8) 56740000 BC 10,RCS1706 YES - 56760000 B RCRABRT2 INSUFFICIENT CORE 56780000 SPACE 2 56800000 RCS1706 B RCS1706A(RJ) GO TO PROPER RCD FORMAT RTN. 56820000 SPACE 1 56840000 RCS1706A B RCS1708 VARIABLE RCDS INDICATED. 56860000 SPACE 2 56880000 * FIXED LENGTH RCDS INDICATED. 56900000 SPACE 2 56920000 RCS1707 SR RC,RC 56940000 LH RE,CPIRCDL2 PHASE 2 RCD LENGTH. 56960000 DR RC,RE BS (NEW) = BSL2/L2 56980000 STH RD,WBALBS(RK) STORE NEW BS. 57000000 SR RC,RC 57020000 MR RC,RE BSL (NEW) = BSL2 * L2 57040000 AH RD,WRECINCR (F = +4, V = +8). 57060000 BAL RI,ROUNDD ALIGN TO DOUBLE WORD 1259 57070014 STH RD,WBSLBAL(RK) STORE NEW BSL. 57080000 B RCS1709 CHECK FOR EXTRA BFRS 57100018 SPACE 2 57120000 * VARIABLE LENGTH RCDS INDICATED. 57140000 SPACE 2 57160000 RCS1708 BAL RI,ROUNDD DOUBLE WORD ALIGNMENT 1259 57170014 STH RD,WBALBS(RK) STORE VARIABLE BS= BSL 1259 57180014 STH RD,WBSLBAL(RK) STORE VARIABLE BSL. 57200000 SPACE 2 57220000 * CHECK PHASE 2 CHANNEL STATUS - NEW BS AND BSL MAY ALLOW FOR 57240000 * ADDITIONAL PHASE 2 BUFFERS. 57260000 SPACE 2 57280000 RCS1709 LH RO,WCHNIND2 PHASE 2 CHANNEL STATUS INDICATOR. 57300000 B RCS1709A(RO) GO TO PROPER CHANNEL STATUS RTN. 57320000 SPACE 1 57340000 RCS1709A B RCS1801 MPX INDICATED - GO TO PHASE 1. 57360000 B RCS1710 1 SELECTOR CHANNEL INDICATED. 57380000 SPACE 2 57400000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 57420000 SPACE 2 57440000 RCS1710 LH RD,WBALMRMX(RK) TECH MERGE MAX. 57460000 SLL RD,1 57480000 LA RD,2(RD) 57500000 CH RD,WBALNB2(RK) 2M+2 PHASE 2 BFRS. 57520000 BC 8,RCS1801 YES - GO TO PHASE 1 CALCULATIONS. 57540000 SPACE 2 57560000 * RE-CALCULATE PHASE 2 NUMBER OF BUFFERS WITH NEW BFR SIZE. 57580000 SPACE 2 57600000 RCS1711 SR RC,RC 57620000 L RD,WP2UPDAV(RP) PHASE 2 AVAIL BUFFER CORE. 57640000 LH RE,WBSLBAL(RK) NEW BFR SIZE (BSL). 57660000 DR RC,RE NEW P2NB = P2AV/BSL. 57680000 STH RD,WBALNB2(RK) STORE NEW P2NB. 57700000 SH RD,WBALMRMX(RK) X = P2NB - MRG MAX. 57720000 CH RD,K02 X EQUAL/GREATER THAN 2..... 57740000 BC 10,RCS1712 YES - 57760000 SPACE 2 57780000 LA RD,1 NO - INDICATE 1 PHASE 2 OUTPUT BFR. 57800000 B RCS1712A STORE 57820018 SPACE 2 57840000 RCS1712 LA RD,2 INDICATE 2 PHASE 2 OUTPUT BFRS. 57860000 RCS1712A STH RD,WBALOUT2(RK) STORE NO. PHASE 2 PUTPUT BFRS 57880000 B RCS1801 GO TO PHASE 1 CALCULATIONS. 57900000 EJECT 57920000 ***** PAGE 18 ************************************************ 57940000 SPACE 2 57960000 * START OF PHASE 1 CALCULATIONS. 57980000 * CALCULATE CORE AVAILABLE TO PHASE 1 G AND TREE. 58000000 * CALCULATE G AND TREE FOR ALL TECHNIQUES (FIXED OR VARIABLE). 58020000 SPACE 2 58040000 RCS1801 LH RO,WCHNIND1 SET PHASE 1 CHANNEL STATUS INDIC. 58060000 RCS1801A L RD,WBAL1AVP(RP) PHASE 1 AVAILABLE CORE 58080000 RCS1802 B RCS1802A(RO) GO TO PROPER CHANNEL STATUS RTN. 58100000 SPACE 1 58120000 RCS1802A B RCS1803 MPX INDICATED. 58140000 B RCS1804 1 SELECTOR CHANNEL INDICATED. 58160000 B RCS1808 2 SELECTOR CHANNELS INDICATED. 58180000 SPACE 2 58200000 SPACE 2 58220000 * MPX CHANNEL INDICATED. 58240000 SPACE 2 58260000 RCS1803 LA RA,1 INDICATE ONE (1) PHASE 1 INPUT BFR. 58280000 B RCS1807 CHECK OUTPUT BFRS 58300018 SPACE 2 58320000 * 1 SELECTOR CHANNEL INDICATED. 58340000 SPACE 2 58360000 RCS1804 TM WCSSWB,X'02' INPUT AND WORK SAME CHANNEL..... 58380000 BO RCS1808 NO - 58400000 SPACE 2 58420000 CLI WTQIND+1,X'08' OSC TECHNIQUE SPECIFIED..... 58440000 BC 8,RCS1808 YES - TRY FOR 2 OUTPUT BFRS. 58460000 SPACE 2 58480000 * COMPARE INPUT AND SORT BUFFER SIZES. 58500000 * DOUBLE BUFFER THE SMALLER OF THE TWO BUFFERS. 58520000 SPACE 2 58540000 RCS1805 LH RA,WBALBS(RK) SORT BLOCKING. 58560000 LH RB,CPIIPBLK INPUT BLOCKING. 58580000 CR RB,RA BI EQUAL/GREATER THAN BS..... 58600000 BC 10,RCS1808A YES - 58620000 SPACE 2 58640000 RCS1806 S RD,WP1IPBFR (P1AV - 2(BI)) = P1AV. 58660000 LA RA,2 INDICATE TWO (2) PHASE 1 INPUT BFRS 58680000 RCS1807 LH RC,WBSLBAL(RK) PHASE 1 OUTPUT BUFFER SIZE. 58700000 SR RD,RC (P1AV - 1(BSL)) = P1AV. 58720000 BC 4,RCRABRT2 INSUFFICIENT CORE - AVP. LESS 58740000 * THAN ONE OUTPUT BFR. 58760000 SPACE 2 58780000 LA RB,1 INDICATE ONE (1) PHASE 1 OUTPUT BFR 58800000 B RCS1809 AND STORE 58820018 SPACE 2 58840000 * 2 SELECTOR CHANNELS INDICATED - CHECK INDICATOR TO SEE IF USER 58860000 * INPUT BUFFER SIZE WAS SO LARGE THAT DOUBLE BUFFERING THE 58880000 * PHASE 1 INPUT RESULTS IN INEFFICIENT SORT BUFFER SIZES AND 58900000 * VERY SMALL RECORD STORAGE AREA. 58920000 SPACE 2 58940000 RCS1808 TM WCSSWC,X'10' WAS PHASE 1 DOUBLE BFR INPUT VOIDED 58960000 BO RCS1808A YES - SINGLE BFR INPUT. 58980000 SPACE 2 59000000 LA RA,2 NO - INDICATE TWO (2) P1 INPUT BFRS 59020000 B RCS1808B AND CHECK SIZE 59040018 SPACE 2 59060000 RCS1808A LA RA,1 INDICATE ONE (1) P1 INPUT BFR. 59080000 RCS1808B LA RB,2 INDICATE TWO (2) P1 OUTPUT BFRS. 59100000 LH RC,WBSLBAL(RK) PHASE 1 OUTPUT BUFFER SIZE. 59120000 SLL RC,1 59140000 SR RD,RC (P1AV - 2(BSL)) = P1AV. 59160000 BC 2,RCS1809 POSITIVE KEEP BUFFERS 59180000 SPACE 2 59200000 LA RO,0 CUT BACK TO MULTIPLEX 59220000 B RCS1801A AND RECALCULATE 59240018 SPACE 2 59260000 RCS1809 STH RA,WBALINP1(RK) STORE NO. PHASE 1 INPUT BFRS. 59280000 AR RB,RA TOTAL PHASE 1 BFRS (I/O). 59300000 STH RB,WBALNB1(RK) STORE TOTAL. 59320000 RCS1810 ST RD,WBALGCOR(RP) STORE CORE AVAILABLE TO G AND TREE. 59340000 BAL RG,RCSGCAL CALCULATE G AND TREE AND RETURN. 59360000 SPACE 2 59380000 B RCS1810A NORMAL RETURN POINT FROM G CAL. 59400000 B RCS1820A INSUFFICIENT CORE-CUT BUFFERS 59420000 SPACE 2 59440000 RCS1810A ST RA,WBALG(RP) STORE G IN TECH LOCATION. 59460000 ST RB,WBALTREE(RP) STORE TREE IN TECH LOCATION. 59480000 B RCS1817 CHECK G VS BFRS 59500018 SPACE 2 59520000 * CALCULATE G AND TREE FOR ALL TECHNIQUES (FIXED OR VARIABLE). 59540000 SPACE 2 59560000 * FIXED G = ((3P1AV - 68) - (3BINSZ))/(20 + 3BINSZ) A31878 59580021 SPACE 1 59600000 * TREE = ((G - 1)/3) * 20 ROUNDED UP A31878 59620021 SPACE 2 59640000 * VARIABLE K = (MOD RCD LEN + LEN EXTR CF+3) / (BIN SZ-4) +1 59660000 * G = (3P1AV+36) - (3 BIN SZ*5) / 36 + (3 BIN SZ*K) 59680000 SPACE 1 59700000 * TREE = (G - 1) * 12 A31878 59720021 SPACE 2 59740000 RCSGCAL B RCS1811(RJ) GO TO PROPER RCD FORMAT ROUTINE. 59760000 SPACE 1 59780000 RCS1811 B RCS1814 VARIABLE LENGTH RECORDS INDICATED. 59800000 SPACE 2 59820000 * FIXED LENGTH RECORDS INDICATED. 59840000 SPACE 2 59860000 RCS1812 LH RE,K03 59880000 SR RC,RC 59900000 MR RC,RE (3P1AV) 59920000 LA RC,68 (8 FOR QSAM CONTROL,8 FOR A31878 59946021 * ALIGNMENT)*3 PLUS 20 FOR A31878 59948021 * WORST CASE (G = 3A+1) A31878 59950021 SR RD,RC (3P1AV-68) A31878 59960021 LH RE,CPIBINSZ 59980000 MH RE,K03 (3*BINSZ) 60000000 SR RD,RE (3P1AV-68)-(3BINSZ) = TOPLINE A31878 60020021 BC 4,4(RG) RETURN TO ABORT POINT. 60040000 SPACE 2 60060000 SR RC,RC 60080000 LA RE,20(0,RE) (3BINSZ+20) 60100000 DR RC,RE TOPLINE/(3BINSZ+20) A31878 60120021 LR RA,RD SET UP RETURN PARAMETERS. 60140000 CH RA,K03 IS G GREATER/EQUAL THAN 3... 60160000 BC 4,4(RG) NO..GO TO ABORT POINT 60180000 SPACE 2 60200000 * CALCULATE TREE SIZE. 60220000 SPACE 2 60240000 RCS1813 BCT RD,RCS1813A (G-1) 60260000 RCS1813A LA RE,3 60280000 SR RC,RC 60300000 DR RC,RE (G-1)/3 60320000 LTR RC,RC IS THERE A REMAINDER..... 60340000 BZ RCS1813B NO - 60360000 SPACE 2 60380000 LA RD,1(0,RD) YES - INCREMENT G VALUE BY ONE (1). 60400000 RCS1813B LA RE,20 60420000 MR RC,RE (G-1)/3 * 20 60440000 LR RB,RD SET UP RETURN PARAMETERS. 60460000 SPACE 1 60552017 RCS1813C BR RG RETURN TO CALLING ROUTINE 60560000 SPACE 2 60580000 * VARIABLE LENGTH RECORDS INDICATED. 60600000 * CALCULATE K VALUE. 60620000 SPACE 2 60640000 RCS1814 ST RD,WFULL3 SAVE P1 AVAILABLE CORE VALUE. 60660000 LH RD,CPIRCDL5 MODAL RECORD LENGTH. 60680000 LH RE,CPILAB07 LENGTH OF EXTRACTED CONTROL FIELD. 60700000 LA RE,3(0,RE) LEN EXTR CF+3. 60720000 AR RD,RE 60740000 LH RE,CPIBINSZ 60760000 SH RE,K04 (BINSZ-4) 60780000 SR RC,RC 60800000 DR RC,RE MOD RCD LEN+EXTR CF+3/(BINSZ-4) 60820000 LA RD,1(0,RD) 60840000 STH RD,WBALK(RK) STORE K IN TECH LOCATION. 60860000 SPACE 2 60880000 * CALCULATE VARIABLE G. 60900000 SPACE 2 60920000 RCS1815 L RD,WFULL3 PHASE 1 CORE AVAILABLE TO G. 60940000 LA RE,3 60960000 MR RC,RE (3 * P1AV) 60980000 LA RD,36(0,RD) (3 * P1AV) + 36 61000000 ST RD,WFULL1 61020000 LH RD,CPIBINSZ 61040000 MR RC,RE (3 * BINSZ) 61060000 LH RE,WBALK(RK) TECH K FACTOR. 61080000 MR RC,RE (3 * BINSZ) * K 61100000 LR RE,RD 61120000 L RD,WFULL1 61140000 SR RD,RE (3P1AV+36) - ((3BINSZ)K) 61160000 BC 4,4(RG) RETURN TO ABORT POINT. 61180000 SPACE 2 61200000 LA RE,36(0,RE) 36+((3BINSZ)K) 61220000 SR RC,RC 61240000 DR RC,RE 61260000 LR RA,RD SET UP RETURN PARAMETERS. 61280000 CH RA,K03 IS G GREATER/EQUAL THAN 3... 61300000 RCS1815A BC 4,4(RG) NO..GO TO ABORT POINT 61320017 SPACE 2 61340000 * CALCULATE VARIABLE TREE. 61360000 SPACE 2 61380000 RCS1816 BCT RD,RCS1816A (G - 1) 61400000 RCS1816A SR RC,RC 61420000 LA RE,12 61440000 MR RC,RE (G-1) * 12 61460000 LR RB,RD SET UP RETURN PARAMETERS. 61480000 CH RB,K40 IS TREE LESS THAN 40 61500000 BNL RCS1816B NO 61520000 SPACE 1 61540000 LA RB,36 LOAD MINIMUM TREE SIZE 61560000 SPACE 2 61562017 * THIS CHECK IS BEING MADE TO ENSURE THAT RSA CAN CONTAIN FOUR MAX. 61564017 * LENGTH RECORDS PLUS TREE. THIS IS NECESSARY BECAUSE K IS CALCULATED 61566017 * BASED ON MODAL RECORD LENGTH. 61568017 SPACE 2 61570017 RCS1816B LH RD,CPIRCDL1 MAX LENGTH RECORD 61572017 MH RD,K04 4(MAX. RCD. LEN) 61574017 AR RD,RB 4(MAX.RCD. LEN) + TREE 61576017 C RD,WFULL3 IS 4(MAX. RCD. LEN) + TREE LESS THAN 61578017 * RSA CORE. 61580017 BH RCS1820A YES REDUCE BUFFERS A24561 61582019 SPACE 1 61584017 BR RG RETURN TO CALLING ROUTINE 61586017 SPACE 2 61600000 * CHECK IF CALCULATED G VALUE IS EQUAL OR GREATER THAN BS. 61620000 * IF SMALLER AND PARTIAL OR FULL OVERLAP INDICATED, CUT BACK 61640000 * NUMBER PHASE 1 BFRS TO INCREASE G VALUE. 61660000 * IF NO OVERLAP INDICATED, STAY WITH PRESENT G VALUE. 61680000 SPACE 2 61700000 RCS1817 B RCS1817A(RJ) GO TO PROPER RCD FORMAT RTN. 61720000 SPACE 1 61740000 RCS1817A B RCS1819 VARIABLE LENGTH RCDS INDICATED. 61760000 SPACE 2 61780000 * FIXED LENGTH RCDS INDICATED. 61800000 SPACE 2 61820000 RCS1818 LH RA,WBSLBAL(RK) FIXED BSL. 61840000 LH RD,WBALBS(RK) FIXED BS. 61860000 B RCS1820 GO TO COMPARE 61880018 SPACE 2 61900000 * VARIABLE LENGTH RCDS INDICATED. 61920000 SPACE 2 61940000 RCS1819 SR RC,RC 61960000 LH RD,WBSLBAL(RK) VARIABLE BSL. 61980000 LR RA,RD RA = VARIABLE BSL. 62000000 LH RE,CPIRCDL1 VARIABLE - MAX INPUT RCD LENGTH. 62020000 DR RC,RE VAR BS = BSL/L1. 62040000 RCS1820 L RE,WBALG(RP) TECH G VALUE. 62060000 CR RE,RD G EQUAL/GREATER THAN BS..... 62080000 BC 10,RCS1824 YES 62100000 SPACE 2 62120000 RCS1820A L RF,WP1IPBFR RF=PHASE1 INPUT BFR. SIZE. 62140000 LH RA,WBSLBAL(RK) LOAD BSL 62160000 LH RB,WBALNB1(RK) TOTAL NO. PHASE 1 BFRS. 62180000 CH RB,K02 TOTAL BFRS GREATER THAN 2..... 62200000 BC 12,RCS1824 NO 62220000 SPACE 2 62240000 RCS1821 CH RB,K04 TOTAL BFRS EQUAL 4..... 62260000 BC 4,RCS1823 NO - TOTAL BFRS EQUAL 3. 62280000 SPACE 2 62300000 * PHASE 1 TOTAL NO. BFRS EQUAL FOUR (4). 62320000 * COMPARE INPUT BFR SIZE VS OUTPUT BFR SIZE AND STRIP OFF 62340000 * THE LARGER OF THE 2. 62360000 SPACE 2 62380000 SH RB,K01 P1NB = P1NB - 1. 62400000 CR RF,RA INPUT BFR EQUAL/GREATER THAN BSL... 62420000 BC 4,RCS1822 NO - BSL GREATER. 62440000 SPACE 2 62460000 STH RB,WBALNB1(RK) STORE UPDATED P1NB TOTAL. 62480000 LA RB,1 SET UP FOR 1 PHASE 1 INPUT BFR. 62500000 STH RB,WBALINP1(RK) STORE VALUV IN P1 INPUT NO. 62520000 RCS1821A L RD,WBALGCOR(RP) CORE AVAILABLE TO G CALCULATIONS. 62540000 AR RD,RF ADD IN INPUT BFR SIZE. 62560000 B RCS1810 RECALCULATE G AND TREE. 62580000 SPACE 2 62600000 RCS1822 STH RB,WBALNB1(RK) STORE UPDATED P1NB TOTAL. 62620000 RCS1822A L RD,WBALGCOR(RP) CORE AVAILABLE TO G CALCULATIONS. 62640000 AR RD,RA ADD IN BSL SIZE. 62660000 B RCS1810 RECALCULATE G AND TREE. 62680000 SPACE 2 62700000 * PHASE 1 TOTAL BFRS EQUAL THREE (3). 62720000 * STRIP OFF SINGLE OVERLAPPED BFR TO INCREASE G. 62740000 SPACE 2 62760000 RCS1823 SH RB,K01 P1NB = P1NB - 1. 62780000 STH RB,WBALNB1(RK) STORE UPDATED P1NB TOTAL. 62800000 LH RB,WBALINP1(RK) NO. PHASE 1 INPUT BFRS. 62820000 CH RB,K01 2 PHASE 1 INPUT BFRS..... 62840000 BC 8,RCS1822A NO - ADD 1 BSL TO G CORE VALUE. 62860000 B RCS1821A YES - ADD 1 BI TO G CORE VALUE. 62880000 SPACE 2 62900000 SPACE 1 62980000 RCS1824 L RA,WBALG(RP) 6097 63000016 B RCS1825(RP) GO TO PROPER TECH 63020000 RCS1825 B RCS1826 BAL. TECH. 63040000 B RCS1826 POL. TECH. 63060000 SPACE 1 63080000 * OSC. TECH. INDICATED 63100000 SPACE 63101018 CH RA,K03 IS G GREATER/EQUAL THAN 3 1240 63102018 BL RCRABRT2 NO - INSUFFICIENT CORE 1240 63103018 LH RA,WBSLBAL(RK) BSL 6097 63105016 CH RA,CPIBINSZ IS BSL LESS THAN BINSIZE 6097 63110016 BL RCRABRT2 YES ABORT INSUFF CORE 6097 63115016 SPACE 1 63120000 B RCS1827 NO - DO NMAX 1240 63160018 SPACE 2 63200000 * BAL. OR POL. TECH. INDICATED 63220000 SPACE 1 63240000 RCS1826 CH RA,K02 IS G GREATER/EQUAL THAN 2 63260000 BL RCRABRT2 NO-INSUFFICIENT CORE 63280000 SPACE 2 63300000 * CALCULATE NMAX 63320000 SPACE 2 63340000 RCS1827 LH RA,WBALBS(RK) LOAD BS FOR NMAX CAL 63360000 LH RB,WBSLBAL(RK) LOAD BSL FOR NMAX CAL. 63380000 LH RC,WBREELS(RK) LOAD NO. OF REELS FOR NMAX 63400000 BAL RG,RCSCAP CALCULATE NMAX 63420000 SPACE 2 63440000 ST RD,WBALNMAX(RP) STORE NMAX IN TECH LOCATION 63460000 SPACE 2 63480000 * CAPACITY CHECK 63500000 SPACE 2 63520000 TM WCSSWB,X'20' FILE SIZE OMITTED... 63540000 BZ RCR3005 YES 63560000 SPACE 2 63580000 C RD,WFILSZ WAS NMAX EXCEEDED..... 63600000 BL RCRABRT1 YES - ABORT TECHNIQUE. 63620000 SPACE 1 63640000 * NO 63660000 SPACE 1 63680000 B RCR1901 OPTIMIZE 63700018 SPACE 2 63720000 WREGSV1 DC 16F'0' REGISTER SAVE AREA 63740000 ADCON1X DC V(IERRCR) ADCON FOR RCR 63760000 ADCON2X DC V(IERBGA) ADCON FOR BGA 63780000 EJECT 63800000 *MODULE NAME ***IERBGA*** 63820000 SPACE 2 63840000 *STATUS CHANGE LEVEL 000 63860000 SPACE 2 63880000 *MODULE FUNCTION 63900000 SPACE 1 63920000 * IERBGA IS THE THIRD OF THREE GENERAL ASSIGNMENT MODULES 63940000 * IN TAPE B&G. THE FUNCTION OF IERBGA IS TO PRINT THE MESSAGES AND 63960000 * STORE THE CALCULATED VALUES IN CPI. IT CONTAINS ALL CONSTANTS, 63980000 * WORK AREAS, AND SUBROUTINES USED BY IERRCS AND IERRCR. 64000000 SPACE 2 64020000 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT 64040000 SPACE 1 64060000 * IERRCS 64080000 * IERRCR 64100000 SPACE 2 64120000 *MACROS USED 64140000 SPACE 1 64160000 * SMCPI 64180000 SPACE 2 64200000 *ENTRY POINTS 64220000 SPACE 1 64240000 * CSECT NAME IERRCR ENTER FROM IERRCR VIA 64260000 * UNCONDITIONAL BRANCH 64280000 SPACE 2 64300000 *INPUT- CPI FIELDS REFRENCED 64320000 SPACE 1 64340000 * CPIBINSZ CPIFILSZ CPILAB07 64360000 * CPIEXTSZ CPIIPBLK CPILAB09 64380000 * CPIMODEX CPINWKU CPIOPBLK 64400000 * CPIP1RSZ CPIP2RSZ CPIP3RSZ 64420000 * CPIRCDL1 CPIRCDL2 CPIRCDL3 64440000 * CPIRCDL5 CPISRTBL CPISW1 64460000 * CPITAVLC 64480000 SPACE 2 64500000 *OUTPUT - CPI FIELDS INITIALIZED OR ALTERED 64520000 SPACE 1 64540000 * CPIBUF1 CPIBUF23 CPILAB03 64560000 * CPIMRGAL CPIMRGMX CPINMAX 64580000 * CPIP1GC CPIP2GC CPIP3GC 64600000 * CPISRTBL CPISRTG CPISW1 64620000 SPACE 2 64640000 *EXTERNAL ROUTINES 64660000 SPACE 1 64680000 * IERRCU DIAGNOSTIC AND ERROR MESSAGES 64700000 SPACE 2 64720000 *EXTERNAL PARAMETERS 64740000 SPACE 1 64760000 * IERRCU MESSAGES 64780000 SPACE 2 64800000 *EXITS-NORMAL 64820000 SPACE 1 64840000 * IERRCM RETURN TO IERRCM VIA 64860000 * LA RP,0 64880000 * BR RO 64900000 SPACE 2 64920000 *EXITS-ERROR 64940000 SPACE 1 64960000 * IERRCM RETURN TO IERRCM VIA 64980000 * LA RP,4 65000000 * BR RO 65020000 SPACE 2 65040000 *TABLES/WORK AREAS 65060000 SPACE 1 65080000 * WORK-WORK9 65100000 * WFULL- WFULL4 65120000 SPACE 2 65140000 *ATTRIBUTES- THIS IS A CLASS A MODULE 65160000 SPACE 2 65180000 *NOTES THIS IS RESTRICTED TO TAPE OPERATION ONLY. IT CONTAINS A DSECT 65200000 * OF IERRCS, IERRCR, AND IERRCU. 65220000 EJECT 65240000 IERBGA DSECT 65260000 USING *,RH BASE REGISTER FOR BGA 65280000 USING IERRCS,RL BASE REGISTER FOR RCS 65300000 USING IERRCR,RM BASE REGISTER FOR RCR 65320000 USING IERRC5,RN BASE REGISTER FOR CPI 65340000 USING DIERRCU,RJ BASE REGISTER FOR RCU 65360000 EXTRN IERRCU 65380000 EJECT 65400000 * RCRSCNGN SUB-ROUTINE -- USED TO CALCULATE TECHNIQUE SELECTION 65420000 * SELECTION COMPARE NUMBERS (SCN'S). 65440000 SPACE 1 65460000 * REGISTERS ENTERING SUB-ROUTINE. 65480000 SPACE 1 65500000 * RA = TOTAL NUMBER OF PHASE 1 BUFFERS. 65520000 * RB = TOTAL NUMBER OF PHASE 2 BUFFERS. 65540000 * RC = TOTAL NUMBER OF PHASE 3 BUFFERS. 65560000 * RD = SORT BUFFER LENGTH (BSL OR OBSL). 65580000 * RE = NOMBER OF PASSES. 65600000 * RG = RETURN REGISTER. 65620000 SPACE 1 65640000 * REGISTERS LEAVING SUB-ROUTINE. 65660000 SPACE 1 65680000 * RA = SELECTION COMPARE NUMBER (SCN). 65700000 SPACE 2 65720000 RCRSCNGN STM RA,RE,WSCNNB1 SAVE PARAMETERS 65740000 L RD,WSCNNB3 LOAD PHASE 3 NO. OF BUFS 65760000 LH RE,WBALMRMX(RK) LOAD MERGE OEDER 65780000 SPACE 2 65800000 B RCRSC01(RO) GO TO CORRECT CHAN STATUS 65820018 RCRSC01 B RCRSC02 1 MULTIPLEX CHANNEL 65840000 B RCRSC03 1 SELECTOR CHANNEL 65860000 SPACE 2 65880000 * 2 SELECTOR CHANNELS 65900000 SPACE 2 65920000 SLL RE,1 2 * M. 65940000 LA RE,2(RE) (2*M)+2 = Y 65960000 B RCRSC04 CONTINUE CALCULATION 65980018 SPACE 2 66000000 * 1 MULTIPLEX 66020000 SPACE 2 66040000 RCRSC02 LA RE,1(RE) (M+1) = Y 66060000 B RCRSC04 CONTINUE CALCULATION 66080018 SPACE 2 66100000 * 1 SELECTOR 66120000 SPACE 2 66140000 RCRSC03 LA RE,2(RE) (M+2) = Y 66160000 SPACE 2 66180000 * CONTINUE CALCULATION 66200000 SPACE 2 66220000 RCRSC04 MH RD,K100 NB3*100 66240000 SR RC,RC 66260000 DR RC,RE (NB3*100)/Y 66280000 LR RF,RD SAVE VALUE 66300000 L RD,WSCNNB2 LOAD NB2 66320000 L RB,WSCNP NUMBER OF PASSES 66340000 SH RB,K200 ( P - 2 ) 66360000 BC 8,RCRSC04A TERM= ZERO 66380000 SPACE 2 66400000 SR RC,RC 66420000 MR RC,RB (P-2)(NB2) 66440000 SR RC,RC 66460000 DR RC,RE (NB2)(P-2)/Y 66480000 AR RF,RD ADD PHASE 2 TO PHASE 3 VALUES 66500000 RCRSC04A L RD,WSCNNB1 LOAD NB1 66520000 MH RD,K100 NB1*100 66540000 EX 0,RCRSC05(RO) 66560000 B RCRSC06 SKIP EXECUTED INSTRUCTION 66580018 SPACE 2 66600000 DS 0F 66620000 RCRSC05 LA RE,2 1 MULTIPLEX - X CONSTANT 66640000 LA RE,3 1 SELECTOR - X CONSTANT 66660000 LA RE,4 2 SELECTOR - X CONSTANT 66680000 SPACE 2 66700000 RCRSC06 LA RC,0 66720000 DR RC,RE (NB1*100)/X CONSTANT 66740000 AR RF,RD ADD PHASE 1 VALUE TO PHASE 2+3 66760000 L RD,WSCNP LOAD # OF PASSES 66780000 MH RD,K10 P*10 66800000 LR RE,RF 66820000 SR RC,RC 66840000 DR RC,RE 66860000 * (P*10)/(NB1*100/X) + ((P-200)(NB2)/Y) + (NB3*100/Y) 66880000 ST RD,WRCRSCOL SAVE OL FACTOR 66900000 L RD,WSCNBSL LOAD BLOCK SIZE 66920000 LR RE,RD LOAD BLOCK SIZE 66940000 MH RD,K1000 BSL* 1000 66960000 AH RE,WIRGTAPE ADD IRG FACTOR 66980000 SR RC,RC 67000000 DR RC,RE BLK SZ/BLK SZ + IRG 67020000 LR RE,RD RD = BE 67040000 L RD,K100000 LOAD SCALING FACTOR 67060000 SR RC,RC 67080000 DR RC,RE 100000/BE = BLK E FACTOR 67100000 ST RD,WRCRSCBE SAVE BE 67120000 SR RC,RC 67140000 M RC,WSCNP BE*P 67160000 SR RC,RC 67180000 M RC,WRCRSCOL BE*P*OL = T 67200000 ST RD,WRCRSCT SAVE T 67220000 LR RA,RD PASS RESULTS 67240000 BR RG RETURN 67260000 EJECT 67280000 * RCSCAP SUB-ROUTINE -- USED TO CALCULATE THE MAXIMUM NUMBER OF 67300000 * RECORDS THAT CAN BE HANDLED BY SPECIFIED TECHNIQUE. 67320000 SPACE 2 67340000 * NMAX = (2300' * 12'' * DENSITY * BS * REELS) 67360000 * ------------------------------------- 67380000 * (RECORD LENGTH * BS) + IRG 67400000 SPACE 2 67420000 * REGISTERS ENTERING SUB-ROUTINE. 67440000 SPACE 1 67460000 * RA = BS (SORT BLOCKING) 67480000 * RB = BSL (SORT BUFFER LENGTH). 67500000 * RC = NO. REELS CAPACITY. 67520000 * RG = RETURN REGISTER. 67540000 SPACE 1 67560000 * REGISTERS LEAVING SUB-ROUTINE. 67580000 SPACE 1 67600000 * RD = TECHNIQUE NMAX VALUE. 67620000 SPACE 2 67640000 RCSCAP STM RA,RC,RCSBS SAVE PARAMETERS 67660000 B RCS100(RJ) GO TO PROPER RCD FORMAT RTN. 67680000 SPACE 2 67700000 RCS100 B RCS101 VARIABLE LENGTH RCDS INDICATED. 67720000 SPACE 2 67740000 * FIXED LENGTH RECORDS INDICATED. 67760000 SPACE 2 67780000 LH RD,RCSBS+2 TECH BLOCKING FACTOR 67800000 B RCS102 START CALCULATIONS 67820018 SPACE 2 67840000 * VARIABLE LENGTH RECORDS INDICATED. 67860000 SPACE 2 67880000 RCS101 LH RD,RCSBSL+2 VARIABLE LENGTH RCDS BUF SIZE 67900000 LH RE,CPIRCDL2 VAR - MAX RECORD LENGTH 8244 67920017 SR RC,RC 67940000 DR RC,RE BSL/L1 = VARIABLE BS. 67960000 RCS102 L RE,WDENTAPE (2300'*12''*DENSITY) 67980000 SR RC,RC 68000000 MR RC,RE (2300'*12''*DENSITY*BS) 68020000 LH RE,RCSREELS+2 TECH MAX REELS OF INPUT 68040000 SR RC,RC 68060000 MR RC,RE (2300'*12''*DENSITY*BS*REELS) 68080000 LH RE,RCSBSL+2 RCD LENGTH*BS 68100000 SH RE,WRECIND SUBTRACT RECORD INCREMENT FROM BSL 68120000 AH RE,WIRGTAPE (RCD LENGTH*BS) + IRG. 68140000 CR RD,RE IS NUMERATOR LESS THAN DENOMINATOR 68160000 BL RCS103 YES... 68180000 SPACE 2 68200000 SR RC,RC 68220000 DR RC,RE (2300'*12''*DENSITY*BS*REELS) 68240000 * -------------------------------- 68260000 * (RCD LENGTH * BS) + IRG 68280000 SPACE 1 68300000 LA RE,1000 DENSITY SCALING FACTOR. 68320000 SR RC,RC 68340000 MR RC,RE RD = TECH NMAX. 68360000 B RCS104 CONTINUE 68380018 SPACE 2 68400000 RCS103 LA RE,1000 DENSITY SCALING FACTOR 68420000 SR RC,RC 68440000 MR RC,RE (2300'*12''*DENSITY*BS*REELS) 68460000 SPACE 2 68480000 LH RE,RCSBSL+2 RCD LENGTH * BS 68500000 SH RE,WRECIND SUBTRACT RECORD INCREMENT FROM BSL 68520000 AH RE,WIRGTAPE (RCD LENGTH * BS) + IRG 68540000 SR RC,RC 68560000 DR RC,RE (2300'*12''*DENSITY*BS*REELS) 68580000 * - - - - - - - - - - - - - - 68600000 * (RCD LENGTH*BS) + IRG 68620000 RCS104 ST RD,RCSNMAX STORE NMAX IN SAVE LOCATION 68640000 BR RG RETURN TO CALLER 68660018 SPACE 2 68680000 RCSNMAX DC F'0' TEMP STORAGE FOR NMAX. 68700000 RCSBS DC F'0' TEMP STORAGE FOR BS 68720000 RCSBSL DC F'0' TEMP STORAGE FOR BSL 68740000 RCSREELS DC F'0' TEMP STORAGE FOR NO. REELS 68760000 SPACE 1 68780000 * SUBROUTINES TO UPDATE TOTALS AND RETURN TO MAIN PROGRAM. 68800000 SPACE 1 68820000 RCSADD1 AR RC,RF 68840000 RCSADD2 AR RA,RD 68860000 AR RB,RE 68880000 BR 14 RETURN TO MAIN ROUTINE. 68900000 EJECT 68920000 SPACE 1 68940000 * RCRPASS SUB-ROUTINE...USED BY BALANCED AND OSCILLATING TECHS 68960000 * TO CALCULATE NUMBER OF PASSES REQUIRED AND A NEW G REQUIRED 68980000 * TO SAVE ONE (1) PASS OF DATA. 69000000 SPACE 2 69020000 * REGISTERS ENTERING SUB-ROUTINE. 69040000 SPACE 1 69060000 * RA = NUMBER OF STRINGS. 69080000 * RB = MERGE MAX. 69100000 * RC = MERGE ALT - IF BALANCED TECH. 69120000 * RD = NUMBER OF RECORDS (BAL) OR RMAX IF OSC. 69140000 * RG = RETURN REGISTER. 69160000 SPACE 1 69180000 * REGISTERS LEAVING SUB-ROUTINE. 69200000 SPACE 1 69220000 * RA = NUMBER OF STRINGS TO CUT TO SAVE ONE (1) PASS. 69240000 * RB = NUMBER OF PASSES (USING ORIGINAL STRING COUNT) 69260000 * RC = NEW G REQUIRED TO SAVE ONE (1) PASS. 69280000 * RD = NEW TREE SIZE FOR NEW G VALUE. 69300000 * RE = NEW PHASE 1 CORE REQUIRED FOR NEW G VALUE. 69320000 SPACE 2 69340000 RCRPASS OI RCRSW,X'01' ENTRY FROM BALANCED TECHNIQUE. 69360000 STM RA,RD,RCRSAVE SAVE PARAMETER REGISTERS. 69380000 B RCRPASS4 BEGIN CALCULATING 69400018 SPACE 2 69420000 RCRPASS1 OI RCRSW,X'01' ENTRY FROM OSC TECH - 1ST PASS LOOP 69440000 B RCRPASS3 BEGIN CALCULATING 69460018 SPACE 2 69480000 RCRPASS2 NI RCRSW,X'FE' ENTRY FROM OSC TECH - 2ND PASS LOOP 69500000 RCRPASS3 STM RA,RD,RCRSAVE SAVE PARAMETER REGISTERS. 69520000 ST RB,RCRMRGAL MRG ALT = MRG MAX. 69540000 ST RA,WSTRORIG ORIGINAL STRING COUNT. 69560000 RCRPASS4 LA RB,1 SET PCTR=1 (TOTAL PASS COUNT). 69580000 L RD,RCRMRGMX SET SQCTR = MRG MAX. 69600000 SPACE 1 69620000 RCRP01 CR RA,RD NO. STRINGS EQUAL/LESS THAN SQCTR.. 69640000 BC 12,RCRP03 YES - 69660000 SPACE 2 69680000 ST RD,WSQCTRSV NO - SAVE LAST SEQUENCE COUNT. 69700000 LA RB,1(RB) PCTR = PCTR + 1. 69720000 STC RB,RCRIND SAVE PASS COUNT. 69740000 TM RCRIND,X'01' PCTR ODD NUMBER..... 69760000 BO RCRP02 YES - MULTIPLY BY MRG MAX. 69780000 SPACE 2 69800000 L RE,RCRMRGAL NO - MULTIPLY BY MRG ALT. 69820000 B RCRP02A SKIP MRG MAX LOAD 69840018 SPACE 2 69860000 RCRP02 L RE,RCRMRGMX 69880000 RCRP02A SR RC,RC 69900000 SPACE 1 69920000 MR RC,RE 69940000 B RCRP01 COMPARE RESULTS TO ORIGINAL STRING 69960000 * COUNT..... 69980000 SPACE 2 70000000 RCRP03 CH RB,K01 PCTR GREATER THAN 1..... 70020000 BC 2,RCRP04 YES - MORE THAN 1 PASS REQUIRED. 70040000 SPACE 2 70060000 SR RA,RA NO - INDICATE TO CALLING ROUTINE 70080000 SR RC,RC NO PASSES CAN BE SAVED. 70100000 SR RD,RD 70120000 SR RE,RE 70140000 BR RG RETURN TO CALLING ROUTINE. 70160000 SPACE 2 70180000 RCRP04 L RC,WSQCTRSV LAST COUNT LOWER THAN STRING NO. 70200000 LR RE,RC STRING COUNT NEEDED TO SAVE 1 PASS. 70220000 SR RA,RC ORIG STRING COUNT LESS NEW STRING 70240000 * COUNT = DIFFERENCE. 70260000 STM RA,RB,RCRSAVE SAVE DIFFERENCE AND NO. PASSES. 70280000 TM RCRSW,X'01' BAL TECH OR OSC TECH 1ST PASS..... 70300000 BZ RCRP10 NO - 70320000 SPACE 1 70340000 * YES - 70360000 SPACE 1 70380000 B RCRP04A(RP) GO TO PROPER TECH ROUTINE. 70400000 SPACE 2 70420000 RCRP04A B RCRP06 BALANCED TECH INDICATED. 70440000 B RCRP11 POLYPHASE TECHNIQUE INDICATED. 70460000 SPACE 2 70480000 * OSCILLATING TECHNIQUE. 70500000 * CALCULATE NEW G NEEDED TO SUPPLY NEW STRING COUNT. 70520000 * NEW G = (ORIGINAL STR. COUNT) * (ORIGINAL G) 70540000 * ---------------------------------- 70560000 * (NEW STRING COUNT) 70580000 SPACE 2 70600000 RCRP05 L RD,WSTRORIG ORIGINAL STRING COUNT. 70620000 L RE,WBALG(RP) ORIGINAL G. 70640000 SR RC,RC 70660000 MR RC,RE RD = ORIG. STR COUNT * ORIG G. 70680000 L RE,WSQCTRSV NEW STRING COUNT TO SAVE PASS. 70700000 SR RC,RC 70720000 DR RC,RE RD = NEW G. 70740000 B RCRP06B ROUND UPWARD 70760018 SPACE 2 70780000 * BALANCED TECHNIQUE. 70800000 * CALCULATE NEW G NEEDED TO SUPPLY NEW STRING COUNT. 70820000 * NEW G = USER FILE SIZE 70840000 * --------------- 70860000 * 2(NEW STRING CT) 70880000 SPACE 2 70900000 RCRP06 LR RE,RC NEW STRING COUNT. 70920000 SLL RE,1 2(NEW STRING COUNT) 70940000 RCRP06A L RD,WFILSZ USER FILE SIZE 70960000 SR RC,RC 70980000 DR RC,RE RD = NEW G. 71000000 SPACE 1 71020000 RCRP06B LTR RC,RC CHECK FOR REMAINDER ..... 71040000 BZ RCRP06C NONE PRESENT. 71060000 SPACE 2 71080000 LA RD,1(RD) ADD 1 TO G VALUE. 71100000 RCRP06C ST RD,RCRMRGAL SAVE NEW G VALUE. 71120000 SPACE 2 71140000 * BALANCED OR OSCILLATING TECHNIQUES. 71160000 * CALCULATE PHASE 1 CORE REQUIRED FOR NEW G AND NEW TREE. 71180000 SPACE 2 71200000 RCRP07 B RCRP07A(RJ) GO TO PROPER RCD FORMAT RTN. 71220000 SPACE 2 71240000 RCRP07A B RCRP09 VARIABLE LENGTH RECORDS INDICATED. 71260000 SPACE 2 71280000 * FIXED LENGTH RECORDS. 71300000 * PHASE 1 CORE REQUIRED = (3BINSZ + 20) * (NEW G + 1) 71320000 * --------------------------- 71340000 * 3 71360000 SPACE 2 71380000 RCRP08 LH RD,CPIBINSZ 71400000 LA RE,3 71420000 SR RC,RC 71440000 SPACE 1 71460000 MR RC,RE (3BINSZ) 71480000 SPACE 1 71500000 LA RD,20(RD) (3BINSZ + 20) 71520000 L RE,RCRMRGAL NEW G VALUE. 71540000 LA RE,1(RE) NEW G + 1 71560000 SR RC,RC 71580000 SPACE 1 71600000 MR RC,RE (3BINSZ+20)(NEWG+1) 71620000 SPACE 1 71640000 LA RE,3 71660000 SR RC,RC 71680000 SPACE 1 71700000 DR RC,RE (3BINSZ+20)(NEWG+1)/3 71720000 SPACE 1 71740000 ST RD,RCRCORRQ SAVE PHASE 1 CORE REQUIRED. 71760000 SPACE 2 71780000 * FIXED LENGTH RECORDS. 71800000 * CALCULATE TREE SIZE FOR NEW G. 71820000 * NEW TREE = (NEW G - 1) * 20 71840000 * ------------ 71860000 * 3 71880000 SPACE 2 71900000 L RD,RCRMRGAL NEW G VALUE. 71920000 SH RD,K01 (NEW G - 1) 71940000 LA RE,3 71960000 SR RC,RC 71980000 SPACE 1 72000000 DR RC,RE (NEW G - 1)/3. 72020000 SPACE 1 72040000 LTR RC,RC IS THERE A REMAINDER 72060000 BZ RCRP08A NO... 72080000 SPACE 1 72100000 LA RD,1(RD) 72120000 RCRP08A LA RE,20 72140000 SR RC,RC 72160000 SPACE 1 72180000 MR RC,RE (NEW G -1)/3 * 20. 72200000 SPACE 1 72220000 RCRP08B ST RD,RCRNRCDS SAVE NEW TREE VALUE 72320000 B RCRP11 RETURN 72340018 SPACE 2 72360000 * VARIABLE LENGTH RECORDS INDICATED. 72380000 * CALCULATE PHASE 1 CORE REQUIRED FOR NEW G. 72400000 * PHASE 1 CORE REQ = ((36+(K(3BINSZ))NEW G)+(K(3BINSZ))-36) 72420000 * -------------------------------------- 72440000 * 3 72460000 SPACE 2 72480000 RCRP09 LH RD,CPIBINSZ 72500000 LA RE,3 72520000 SR RC,RC 72540000 SPACE 1 72560000 MR RC,RE (3BINSZ) 72580000 MH RD,WBALK(RK) (3BINSZ) * K 72600000 LR RA,RD RA = (3BINSZ)K 72620000 LA RD,36(RD) (36+(K(3BINSZ))) 72640000 L RE,RCRMRGAL NEW G. 72660000 SR RC,RC 72680000 SPACE 1 72700000 MR RC,RE ((36+K(3BINSZ))NEW G) 72720000 AR RD,RA ((36+K(3BINSZ))NEW G)+(K(3BINSZ)) 72740000 LA RB,36 72760000 SR RD,RB ((36+K(3BINSZ))NEW G)+(K(3BINSZ)-36) 72780000 SR RC,RC 72800000 LA RE,3 72820000 SPACE 1 72840000 DR RC,RE ((36+K(3BINSZ))NEW G)+(K(3BINSZ)-36) 72860000 * ------------------------------------ 72880000 * 3 72900000 ST RD,RCRCORRQ SAVE PHASE 1 CORE REQUIRED. 72920000 SPACE 2 72940000 * VARIABLE LENGTH RECORDS. 72960000 * CALCULATE NEW TREE SIZE FOR NEW G. 72980000 * NEW TREE = (NEW G - 1) * 12. 73000000 SPACE 2 73020000 L RD,RCRMRGAL NEW G VALUE. 73040000 SH RD,K01 (NEW G - 1). 73060000 LA RE,12 73080000 SR RC,RC 73100000 SPACE 1 73120000 MR RC,RE (NEW G - 1) * 12. 73140000 SPACE 1 73160000 CH RD,K40 IS TREE LESS THAN 40 73180000 BNL RCRP09A NO 73200000 SPACE 1 73220000 LA RD,36 LOAD MINIMUM TREE VALUE 73240000 RCRP09A ST RD,RCRNRCDS SAVE NEW TREE VALUE 73260000 B RCRP11 RETURN 73280018 SPACE 2 73300000 * RETURN TO CALLING ROUTINE WITH DESIRED PARAMETERS. 73320000 * IF BALANCED TECH - RETURN ALL PARAMETERS. 73340000 * IF OSC FIRST PASS - RETURN ALL PARAMETERS. 73360000 * IF OSC SECOND PASS - RETURN ONLY DIFFERENCE AND SUB-PASS CT. 73380000 SPACE 2 73400000 RCRP10 LM RA,RB,RCRSAVE DIFF AND PASS COUNT. 73420000 BR RG RETURN TO CALLING ROUTINE. 73440000 SPACE 2 73460000 RCRP11 LM RA,RE,RCRSAVE LOAD ALL PARAMETER REGISTERS. 73480000 BR RG RETURN TO CALLING ROUTINE. 73500000 SPACE 2 73520000 EJECT 73540000 SPACE 1 73560000 * RCRFIBX SUB-ROUTINE -- USED TO GENERATE FIBONACCI NUMBERS 73580000 * NECESSARY TO CALCULATE THE NUMBER OF STRINGS REQUIRED TO SORT 73600000 * AN INPUT FILE. THE SUB-ROUTINE WILL ALSO CALCULATE THE NEW 73620000 * NUMBER OF STRINGS NECESSARY IN ORDER TO OPTIMIZE ONE (1) 73640000 * LEVEL OF THE FIBONACCI SERIES. 73660000 SPACE 2 73680000 * REGISTERS ENTERING SUB-ROUTINE. 73700000 SPACE 1 73720000 * RA = MERGE ORDER. 73740000 * RB = NUMBER OF STRINGS IN FILE. 73760000 * RG = RETURN REGISTER. 73780000 SPACE 1 73800000 * REGISTERS LEAVING SUB-ROUTINE. 73820000 SPACE 1 73840000 * RA = NUMBER OF PASSES BEFORE OPTIMIZATION 73860000 * RB = NUMBER OF PASSES AFTER OPTIMIZATION 73880000 * RC = NEW NUMBER OF SEQUENCES NEEDED FOR OPTIMIZATION. 73900000 SPACE 2 73920000 RCRFIBX STM RA,RB,WFIBSAVE SAVE PARAMETERS 73940000 LR RF,RA M 73960000 SLL RF,1 2*M 73980000 SH RF,K02 (2 * M) - 2 74000000 SR RA,RA 74020000 SR RE,RE 74040000 LA RC,1 74060000 STH RC,WFIBWRK1 STORE ONES IN WORK AREA 74080000 MVC WFIBWRK1+2(30),WFIBWRK1 SET WORK AREA TO ALL ONES 74100000 RCRFIB SR RC,RC 74120000 SR RD,RD 74140000 AH RA,K01 ADD ONE TO LEVEL COUNTER 74160000 LR RB,RF LOAD INDEX REG 74180000 RCRFIB1 AH RC,WFIBWRK1(RB) ADD FIB # TO ACCUM. 74200000 SH RB,K02 STEP DOWN THE INDEX REG 74220000 LTR RB,RB HAVE ALL FIBS IN LEVEL BEEN ADDED 74240000 BC 4,RCRFIB1A YES 74260000 SPACE 2 74280000 B RCRFIB1 NO - CONTINUE 74300018 SPACE 2 74320000 RCRFIB1A STH RC,WFIBWRK2(RE) SAVE STRINGS AT FIB LEVEL. 74340000 LH RD,WFIBWRK1 LOAD FIB. LEVEL FIRST ELEMENT 74360000 STH RD,WFIBWRK4(RE) SAVE ELEMENT 74380000 LA RE,2(RE) INCREASE INDEX REG 74400000 C RC,WFIBSAVE+4 NO. OF STRINGS AT FIB LEVEL 74420000 * GREATER OR EQUAL THAN ACTUAL NO. 74440000 BC 10,RCRFIB3B YES 74460000 SPACE 2 74480000 RCRFIB2 SR RB,RB 74500000 LH RC,WFIBWRK1(RF) LOAD MTH FIB NO. 74520000 LH RD,WFIBWRK1 FIRST ELEMENT OF LEVEL 74540000 STH RC,WFIBWRK3 STORE NEW FIB LEVEL 74560000 RCRFIB3 CR RB,RF IS LEVEL DONE 74580000 BC 10,RCRFIB3A YES 74600000 SPACE 2 74620000 LR RD,RC FIRST ELEMENT 74640000 AH RD,WFIBWRK1(RB) ADD NEXT FIB # TO NEW FIB # 74660000 LA RB,2(RB) INCREASE INDEX REG. 74680000 STH RD,WFIBWRK3(RB) STORE NEW FIB NUMBER 74700000 B RCRFIB3 LOOP 74720018 SPACE 2 74740000 RCRFIB3A MVC WFIBWRK1(32),WFIBWRK3 MOVE IN NEW FIB LEVEL 74760000 B RCRFIB DO NEXT LEVEL 74780018 SPACE 2 74800000 RCRFIB3B STH RC,WOLDSTRF NO. OF STRINGS AT UN-OPT. LEVEL 74820000 B RCRFIB4 USELESS INSTRUCTION 74840018 SPACE 2 74860000 RCRFIB4 LR RD,RA LEVEL 74880000 L RC,WFIBSAVE M 74900000 LA RC,1(RC) M+1 74920000 RCRFIB4A SR RD,RC LEVEL-(M+1) 74940000 BC 10,RCRFIB4A IS LEVEL -(M+1) NEG. 74960000 SPACE 2 74980000 AH RD,WFIBSAVE+2 YES - ADD M 75000000 LTR RD,RD IS FIB LEVEL ODD 75020000 BZ RCRFIB3 YES 75040000 SPACE 2 75060000 RCRFIB5 STH RA,WOLDLEV SAVE OLD FIB LEVEL 75080000 LR RF,RA LEVEL 75100000 RCRFIB5A SR RB,RB 75120000 SR RC,RC 75140000 SR RA,RA 75160000 SLL RF,1 2*LEVEL 75180000 SH RF,K02 2*LEVEL-2 75200000 RCRFIB6 LH RD,WFIBWRK2(RB) LOAD FIB TOTALS 75220000 LH RE,WFIBWRK4(RF) FIRST FIB ELEMENT 75240000 SR RC,RC 75260000 MR RC,RE LOW FIB TOTAL*HIGH FIB LEVEL 75280000 * FIRST ELEMENT 75300000 AR RA,RD ADD FOR TOTAL # STR 75320000 LA RB,2(RB) INCREASE INDEX REG 75340000 SH RF,K02 DECREMENT INDEX REG. 75360000 LTR RF,RF HAVE ALL LEVELS BEEN MULT. 75380000 BC 10,RCRFIB6 NO 75400000 SPACE 2 75420000 * OPTIMIZATION FOR FIB. NUMBERS 75440000 SPACE 2 75460000 TM WCSSWB+1,X'01' IS OPT. SWITCH SET 75480000 BO RCRFIB9 YES 75500000 SPACE 2 75520000 STH RA,WOLDTSTR SAVE TOTAL # OF STR. AT OLD LEVEL 75540000 LH RE,WOLDLEV LOAD OLD LEVEL 75560000 RCRFIB6A BCT RE,RCRFIB7 FIBLEVEL-1 = NEW FIB LEVEL 75580000 CH RE,K01 IS LEVEL THE FIRST LEVEL 75600000 BE RCRFIB8 YES... 75620000 SPACE 1 75640000 RCRFIB7 LR RD,RE FIB LEVEL 75660000 L RC,WFIBSAVE M 75680000 LA RC,1(RC) M+1 75700000 RCRFIB7A SR RD,RC LEVEL-(M+1) 75720000 BC 10,RCRFIB7A IS LEVEL-(M+1) NEG 75740000 SPACE 2 75760000 AH RD,WFIBSAVE+2 YES-ADD M 75780000 LTR RD,RD IS LEVEL ALL ODD 75800000 BZ RCRFIB6A YES 75820000 SPACE 2 75840000 RCRFIB8 STH RE,WNEWLEV NEW FIB LEVEL 75860000 LR RF,RE LEVEL 75880000 OI WCSSWB+1,X'01' SET SWITCH FOR OPT. 75900000 SPACE 2 75920000 * BIT FOR OPTIMIZATION IS THE 16TH BIT OF SWITCH B 75940000 SPACE 2 75960000 B RCRFIB5A CALC NEW LEV 75980018 SPACE 2 76000000 RCRFIB9 STH RA,WNEWTSTR SAVE NEW TOTAL # OF STRINGS 76020000 SH RB,K02 DECREMENT INDEX REG. 76040000 LH RD,WFIBWRK2(RB) LOAD NEW FIB STRING NO. 76060000 STH RD,WNEWSTRF SAVE NEW NO. OF STR. 76080000 LH RE,WOLDSTRF ORIG NO. OF STRINGS AT OLD LEVEL 76100000 LH RD,WOLDTSTR LOAD UN-OPT. WORK FUNCTION 76120000 MH RD,K100 MULT. BY SCALING FACTOR 76140000 SR RC,RC 76160000 DR RC,RE WORK FUNCTION/NO. OF STRINGS = 76180000 * NO. OF PASSES 76200000 LTR RC,RC IS THERE A REMAINDER 76220000 BZ RCRFIB9A NO 76240000 SPACE 2 76260000 LA RD,1(RD) ADD ONE TO PASSES 76280000 RCRFIB9A LR RA,RD RA = UN-OPT. NO OF PASSES 76300000 LH RD,WNEWTSTR OPTIMIZED WORK FUNCTION 76320000 MH RD,K100 MULT. BY SCALING FACTOR 76340000 SR RC,RC 76360000 LH RE,WNEWSTRF OPT. NO. OF STRINGS 76380000 DR RC,RE WORK FUNCTION/NO. OF STRINGS = 76400000 * NO. OF PASSES 76420000 LTR RC,RC IS THERE A REMAINDER 76440000 BZ RCRFIB9B NO 76460000 SPACE 2 76480000 LA RD,1(RD) ADD 1 TO NO. OF PASSES 76500000 RCRFIB9B LR RB,RD RB=OPT. NO. OF PASSES 76520000 LR RC,RE RC = OPT. NO. OF STRINGS 76540000 BR RG RETURN TO CALLER 76560018 EJECT 76580000 * STORE CALCULATED RESULTS IN CPI FOR THE SELECTED TECH. 76600000 SPACE 2 76620000 RCRCPI L RD,WTAVLC LOAD CORE VALUE 76640000 EX 0,RCRCPI01(RP) TAVLC-RUNNING CORE 76660000 B RCRCPI02 BYPASS EXECUTED INSTRUCTION 76680018 SPACE 2 76700000 DS 0F 76720000 RCRCPI01 S RD,WP1BALCR SUBTRACT BAL RUNNING CORE 76740000 S RD,WP1POLCR SUBTRACT POL RUNNING CORE 76760000 S RD,WP12OSCR SUBTRACT OSC RUNNING CORE 76780000 SPACE 2 76800000 RCRCPI02 ST RD,WM4TEMP 76820000 MVC CPITAVLC(3),WM4TEMP+1 MOVE CORE VALUE INTO CPI 76840000 LH RB,WBALBS(RK) BS 76860000 STH RB,CPISRTBL STORE BS INTO CPI 76880000 SPACE 2 76900000 L RB,WBALNMAX(RP) LOAD NMAX 76920000 ST RB,WM4TEMP 76940000 MVC CPINMAX(3),WM4TEMP+1 MOVE NMAX VALUE INTO CPI 76960000 SPACE 2 76980000 L RB,WP1IPBFR LOAD INPUT BFR SIZE 77000000 STH RB,CPILAB03 STORE SIZE OF INPUT BUFS IN CPI 77020000 SPACE 2 77040000 L RB,WP3OPBFR LOAD OUTPUT BFR 77060000 STH RB,CPILAB09+2 STORE SIZE OF OUTPUT BUFS IN CPI 77080000 L RB,WBALG(RP) LOAD G 77100000 ST RB,WM4TEMP 77120000 MVC CPISRTG(3),WM4TEMP+1 MOVE SORT G INTO CPI 77140000 SPACE 2 77160000 LH RB,WBSLBAL(RK) LOAD BSL 77180000 STH RB,CPILAB07 STORE BSL SIZE IN CPI 77200000 SPACE 2 77220000 LH RB,WBALNB1(RK) P1 TOTAL NO BFRS 77240000 STC RB,CPIBUF1 STORE P1 TOTAL NO.BFRS IN CPI 77260000 SPACE 2 77280000 LH RB,WBALNB2(RK) P2 TOTAL NO BFRS 77300000 STC RB,CPIBUF23 STORE P2 TOTAL NO.BFRS IN CPI 77320000 SPACE 2 77340000 LH RB,WBALNB3(RK) P3 TOTAL NO BFRS. 77360000 STC RB,CPIBUF23+1 STORE P3 TOTAL NO. BFRS IN CPI 77380000 SPACE 2 77400000 LH RB,WBALOUT2(RK) NO. P2 OUTPUT BFRS. 77420000 STC RB,CPILAB09 STORE P2 OUTPUT BFRS IN CPI 77440000 SPACE 2 77460000 LH RB,WBALOUT3(RK) NO. P3 OUTPUT BFRS 77480000 STC RB,CPILAB09+1 STORE NO.P3 OUTPUT BFRS IN CPI 77500000 SPACE 2 77520000 L RB,WBALP1GC(RP) P1 GEN CORE 77540000 A RB,WBALTREE(RP) GC+TREE 77560000 SRL RB,3 77580000 SLL RB,3 ROUND GEN CORE TO DOUBLE WORD 77600000 ST RB,WM4TEMP 77620000 MVC CPIP1GC(3),WM4TEMP+1 MOVE P1 GEN CORE VALUE INTO CPI 77640000 SPACE 2 77660000 L RB,WBALP3GC(RP) LOAD P3 GEN CORE 77680000 SRL RB,3 ROUND TO DOUBLE WORD BOUNDARY 77700000 SLL RB,3 77720000 ST RB,WM4TEMP 77740000 MVC CPIP3GC(3),WM4TEMP+1 MOVE P3 GEN CORE VALUE INTO CPI 77760000 SPACE 2 77780000 B RCRCPI03(RP) GO TO PROPER TECHNIQUE 77800018 RCRCPI03 B RCRCPI04 BAL TECH 77820000 B RCRCPI04 POL TECH 77840000 B RCRCPI05 OSC TECH 77860000 SPACE 2 77880000 RCRCPI04 L RB,WBALP2GC(RP) P2 GEN CORE 77900000 SRL RB,3 77920000 SLL RB,3 ROUND GEN CORE TO DOUBLE WORD 77940000 ST RB,WM4TEMP 77960000 MVC CPIP2GC(3),WM4TEMP+1 MOVE P2 GEN CORE VALUE INTO CPI 77980000 SPACE 2 78000000 RCRCPI05 LH RB,WBALMRMX(RK) MERGE MAX 78020000 STC RB,CPIMRGMX STORE MERGE ORDER IN CPI 78040000 SPACE 2 78060000 LA RB,1 78080000 STC RB,CPIMRGAL MERGE ALT = 1 78100000 SPACE 2 78120000 B RCRCPI06(RP) GO TO PROPER TECHNIQUE 78140018 RCRCPI06 B RCRCPI07 BAL 78160000 B RCRCPI08(RP) POL 78180000 B RCRCPI08(RP) OSC 78200000 SPACE 2 78220000 RCRCPI07 LH RB,WBALMRAL BAL ALT MERGE ORDER 78240000 STC RB,CPIMRGAL STORE ALT MERGE ORDER IN CPI 78260000 SPACE 2 78280000 B RCRCPI08(RP) GO TO PROPER TECHNIQUE 78300018 RCRCPI08 B RCRCPI09 BAL TECH 78320000 B RCRCPI10 POL TECH 78340000 SPACE 2 78360000 * OSCL 78380000 SPACE 2 78400000 OI CPISW1,X'02' SPECIFY OSC. TECH SELECTED 78420000 NI CPISW1,X'F3' TURN OFF ANY FORCED BITS. 78440000 TM WCSSWC,X'20' OSC 8 WAY..... 78460000 BO RCRCPI11 YES 78480000 SPACE 2 78500000 B RCRCPI12 NO 78520000 SPACE 2 78540000 * BALN 78560000 SPACE 2 78580000 RCRCPI09 OI CPISW1,X'08' SPECIFY BAL. TECH. SELECTED 78600000 NI CPISW1,X'F9' TURN OFF ANY FORCED BITS. 78620000 TM WCSSWC,X'40' BAL 8 WAY..... 78640000 BO RCRCPI11 YES 78660000 SPACE 2 78680000 B RCRCPI12 NO 78700000 SPACE 2 78720000 * POLY 78740000 SPACE 2 78760000 RCRCPI10 OI CPISW1,X'04' SPECIFY POL. TECH. SELECTED 78780000 NI CPISW1,X'F5' TURN OFF ANY FORCED BITS. 78800000 TM WCSSWC,X'80' POL. 8 WAY..... 78820000 BO RCRCPI11 YES 78840000 SPACE 2 78860000 B RCRCPI12 NO 78880000 SPACE 2 78900000 RCRCPI11 OI CPISW1,X'01' INDICATE 8 WAY NETWORK 78920000 B RCRCPI13 GO TO PRINT B AND G MSGS 78940018 SPACE 2 78960000 RCRCPI12 OI CPISW1+1,X'80' INDICATE 16 WAY NETWORK 78980000 SPACE 2 79000000 RCRCPI13 ST RK,WM4TEMP SAVE INDEX REGS FOR MESSAGE ROUTINE 79020000 ST RP,WM4TEMP+4 79040000 B RCRMSG SET UP FOR PRINTING 79060018 EJECT 79080000 * ROUTINE FOR SETTING THE PARAMETERS AND PRINTING OF THE MESSAGES 79100000 SPACE 2 79120000 RCRMSG LM RF,RG,WM4TEMP LOAD INDEX REGS FOR MESSAGE MOD. 79140000 L RP,ADCON LOAD ADCON FOR PRINT RTN. 79160000 L RJ,ADCON1 LOAD ADCON FOR MESSAGE MODULE 79180000 LH RA,WBALBS(RF) LOAD B 79200000 TM CPISW1,X'80' FIXED LENGTH RCDS. 79220000 BO RCRMSGA YES 79240000 SPACE 2 79260000 SH RA,WRECINCR BS-8 79280000 RCRMSGA BAL RO,RCRCONV GO TO CONVERT ROUTINE 79300000 SPACE 2 79320000 MVC CUPM01+13(5),WM4TEMP+3 MOVE IN B 79340000 LM RA,RB,CUPA01 LOAD PARAMETERS FOR PRINT ROUTINE 79360000 BAL RO,0(RP) GO TO PRINT ROUTINE 79380000 SPACE 2 79400000 L RA,WBALG(RG) LOAD G 79420000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 79440000 SPACE 2 79460000 MVC CUPM02+13(5),WM4TEMP+3 MOVE IN G 79480000 LM RA,RB,CUPA02 LOAD PARAMETERS 79500000 BAL RO,0(RP) GO TO PRINT ROUTINE 79520000 SPACE 2 79540000 L RA,WBALNMAX(RG) LOAD NMAX 79560000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 79580000 SPACE 2 79600000 MVC CUPM03+16(8),WM4TEMP MOVE NMAX 79620000 LM RA,RB,CUPA03 LOAD PARAMETERS 79640000 BAL RO,0(RP) GO TO PRINT ROUTINE 79660000 SPACE 2 79680000 * HAS DIAGNOSTIC BIT BEEN SET 79700000 SPACE 2 79720000 TM CPISW1+6,X'01' HAVE DIAGNOSTICS BEEN SPECIFIED 79740000 BZ RCRDONE NO - NO DIAGNOSTICS 79760000 SPACE 2 79780000 * YES 79800000 * DIAGNOSTIC MESSAGE FORTHE TECH. SPECIFIED 79820000 SPACE 2 79840000 L RA,WBALN(RG) LOAD TECH. NAME 79860000 ST RA,DMSG961A MOVE NAME INTO MESSAGE 79880000 LM RA,RB,DMSG961X LOAD PARAMETERS 79900000 BAL RO,0(RP) GO TO PRINT ROUTINE 79920000 SPACE 2 79940000 * MESSAGE FOR NO/SIZE OF BFRS BY PHASE - PHASE 1 79960000 SPACE 2 79980000 LA RA,1 PHASE 1 80000000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80020000 SPACE 2 80040000 MVC DMSG962A(1),WM4TEMP+7 MOVE PHASE NO INTO MESSAGE 80060000 LH RA,WBALNB1(RF) LOAD P1 NO.BFRS 80080000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80100000 SPACE 2 80120000 MVC DMSG962B(2),WM4TEMP+6 MOVE NO BFRS INTO MSG 80140000 LH RA,WBSLBAL(RF) LOAD BSL 80160000 SH RA,WRECINCR BSL-4 OR 8 80180000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80200000 SPACE 2 80220000 MVC DMSG962C(8),WM4TEMP MOVE BSL INTO MESSAGE 80240000 LM RA,RB,DMSG962X LOAD PARAMETERS 80260000 BAL RO,0(RP) GO TO PRINT ROUTINE 80280000 SPACE 2 80300000 * PHASE 2 80320000 SPACE 2 80340000 B RCRMSG01(RG) GO TO PROPER TECHNIQUE 80360018 RCRMSG01 B RCRMSG02 BAL TECH 80380000 B RCRMSG02 POL TECH 80400000 B RCRMSG03 OSC TECH 80420000 SPACE 2 80440000 * BAL OR POL TECH 80460000 SPACE 2 80480000 RCRMSG02 LA RA,2 PHASE 2 80500000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80520000 SPACE 2 80540000 MVC DMSG962A(1),WM4TEMP+7 MOVE PHASE NO INTO MESSAGE 80560000 LH RA,WBALNB2(RF) LOAD PH2 NO BFRS 80580000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80600000 SPACE 2 80620000 MVC DMSG962B(2),WM4TEMP+6 MOVE NO BFRS INT MESSAGE 80640000 LM RA,RB,DMSG962X LOAD PARAMETERS 80660000 BAL RO,0(RP) GO TO PRINT ROUTINE 80680000 SPACE 2 80700000 * PHASE 3 80720000 SPACE 2 80740000 RCRMSG03 LA RA,3 PHASE 3 80760000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80780000 SPACE 2 80800000 MVC DMSG962A(1),WM4TEMP+7 MOVE PH NO INTO MESSAGE 80820000 LH RA,WBALNB3(RF) LOAD NO PH3 BFRS 80840000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80860000 SPACE 2 80880000 MVC DMSG962B(2),WM4TEMP+6 MOVE NO PH3 BFRS INTO MESSAGE 80900000 LM RA,RB,DMSG962X LOAD PARAMETERS 80920000 BAL RO,0(RP) GO TO PRINT ROUTINE 80940000 SPACE 2 80960000 * SYSGEN CORE MESSAGE 80980000 SPACE 2 81000000 L RA,WTAVLC LOAD SYSGEN CORE VALUE 81020000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 81040000 SPACE 2 81060000 MVC DMSG963A(8),WM4TEMP MOVE CORE VALUE INTO MESSAGE 81080000 LM RA,RB,DMSG963X LOAD PARAMETERS 81100000 BAL RO,0(RP) GO TO PRINT ROUTINE 81120000 SPACE 2 81140000 * CALC. CORE BY PHASE - PHASE 1 81160000 SPACE 2 81180000 LA RA,1 PHASE 1 81200000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 81220000 SPACE 2 81240000 MVC DMSG964A(2),WM4TEMP+6 MOVE PHASE NO INTO MESSAGE 81260000 EX 0,RCRMSG04(RG) LOAD RUNNING PROGRAMS 81280000 SPACE 2 81300000 B RCRMSG05 BYPASS EXECUTED CODE 81320018 SPACE 2 81340000 DS 0F 81360000 RCRMSG04 L RA,WP1BALCR BAL RUNNING PROG 81380000 L RA,WP1POLCR POL RUNNING PROG 81400000 L RA,WP12OSCR OSC RUNNING PROG 81420000 SPACE 2 81440000 RCRMSG05 A RA,WBALP1GC(RG) ADD GEN CORE 81460000 A RA,WBALTREE(RG) ADD TREE SIZE 81480000 L RD,WP1IPBFR LOAD BI SIZE 81500000 MH RD,WBALINP1(RF) BI*INP1 81520000 AR RA,RD ADD VALUE TO RUNNING PROGRAM SIZE 81540000 LH RD,WBSLBAL(RF) LOAD BSL 81560000 LH RE,WBALNB1(RF) LOAD NB1 81580000 SH RE,WBALINP1(RF) NB1-IND1 81600000 SR RC,RC 81620000 MR RC,RE BSL*OUT1 81640000 AR RA,RD ADD VALUE TO RUNNING PROGRAM SIZE 81660000 L RD,WBALG(RG) LOAD G 81680000 SR RC,RC 81700000 MH RD,CPIBINSZ G*BINSZ 81720000 AR RA,RD ADD RSA VALUE TO TOTAL 81740000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 81760000 SPACE 2 81780000 MVC DMSG964B(8),WM4TEMP MOVE CORE VALUE INTO MESSAGE 81800000 LM RA,RB,DMSG964X LOAD PARAMETERS 81820000 BAL RO,0(RP) GO TO PRINT ROUTINE 81840000 SPACE 2 81860000 * PHASE 2 81880000 SPACE 2 81900000 B RCRMSG06(RG) GO TO PROPER TECHNIQUE 81920018 RCRMSG06 B RCRMSG07 BAL 81940000 B RCRMSG07 POL 81960000 B RCRMSG10 OSC - NO PHASE 2 81980000 SPACE 2 82000000 * BAL OR POL TECH 82020000 SPACE 2 82040000 RCRMSG07 LA RA,2 PHASE 2 82060000 BAL RO,RCRCONV GO TO CONV ROUTINE 82080000 SPACE 2 82100000 MVC DMSG964A(2),WM4TEMP+6 MOVE PH NO INTO MESSAGE 82120000 EX 0,RCRMSG08(RG) 82140000 SPACE 2 82160000 B RCRMSG09 BYPASS EXECUTED CODE 82180018 SPACE 2 82200000 DS 0F 82220000 RCRMSG08 L RA,WP2BALCR LOAD BAL RUNNING PROG 82240000 L RA,WP2POLCR LOAD POL RUNNING PROG 82260000 B RCRMSG10 WE SHOULD NEVER GET HERE 82280000 SPACE 2 82300000 RCRMSG09 A RA,WBALP2GC(RG) ADD GEN CORE 82320000 LH RD,WBSLBAL(RF) BSL 82340000 LA RC,0 82360000 MH RD,WBALNB2(RF) NB2*BSL 82380000 AR RA,RD ADD VALUE TO TOTAL 82400000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 82420000 SPACE 2 82440000 MVC DMSG964B(8),WM4TEMP MOVE TOTAL CORE USED INTO MESSAGE 82460000 LM RA,RB,DMSG964X LOAD PARAMETERS 82480000 BAL RO,0(RP) GO TO PRINT ROUTINE 82500000 SPACE 2 82520000 * PHASE 3 - BAL-POL-OSC 82540000 SPACE 2 82560000 RCRMSG10 LA RA,3 PHASE 3 82580000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 82600000 SPACE 2 82620000 MVC DMSG964A(2),WM4TEMP+6 MOVE PHASE NO INTO MESSAGE 82640000 EX 0,RCRMSG11(RG) 82660000 SPACE 2 82680000 B RCRMSG12 BYPASS EXECUTED CODE 82700018 SPACE 2 82720000 DS 0F 82740000 RCRMSG11 L RA,WP3BALCR BAL TECH 82760000 L RA,WP3POLCR POL TECH 82780000 L RA,WP3OSCR OSC TECH 82800000 SPACE 2 82820000 RCRMSG12 A RA,WBALP3GC(RG) ADD GEN CORE 82840000 L RD,WP3OPBFR LOAD OUTBFR 82860000 MH RD,WBALOUT3(RF) BO*OUT3 82880000 AR RA,RD ADD VALUE TO TOTAL 82900000 LH RD,WBALNB3(RF) NB3 82920000 SH RD,WBALOUT3(RF) NB3-OUT3 82940000 MH RD,WBSLBAL(RF) (NB3-OUT3)*BSL 82960000 AR RA,RD ADD VALUE TO TOTAL 82980000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 83000000 SPACE 2 83020000 MVC DMSG964B(8),WM4TEMP MOVE CORE VALUE INTO MESSAGE 83040000 LM RA,RB,DMSG964X LOAD PARAMETERS 83060000 BAL RO,0(RP) GO TO PRINT ROUTINE 83080000 SPACE 2 83100000 * MERGE ORDER MESSAGE 83120000 SPACE 2 83140000 LH RA,WBALMRMX(RF) LOAD MERGE ORDER 83160000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 83180000 SPACE 2 83200000 MVC DMSG965A(2),WM4TEMP+6 MOVE MERGE ORDER INTO MESSAGE 83220000 LM RA,RB,DMSG965X LOAD PARAMETERS 83240000 BAL RO,0(RP) GO TO PRINT ROUTINE 83260000 SPACE 2 83280000 B RCRDONE USELESS INSTRUCTION 83300018 SPACE 2 83320000 RCRDONE LM RA,RP,WREGSV1 RESTORE REGISTERS 83340000 LA RP,0 83360000 BR RO RETURN TO IERRCM 83380000 SPACE 2 83400000 RCRCONV CVD RA,WM4DEWK 83420000 UNPK WM4TEMP(8),WM4DEWK+3(5) 83440000 OI WM4TEMP+7,X'F0' 83460000 BR RO RETURN TO CALLER 83480018 SPACE 2 83500000 DS 0D 83520000 WM4TEMP DC 2F'0' WORK 83540018 WM4DEWK DC 2F'0' AREA 83560018 SPACE 2 83580000 WBALN DC CL4'BALN' SORT TYPES 83600018 WPOLY DC CL4'POLY' FOR 83620018 WOSCL DC CL4'OSCL' MESSAGES 83640018 SPACE 2 83660000 RCRMSGA2 L RP,ADCON LOAD ADCON FOR PRINT RTN. 83680000 L RJ,ADCON1 LOAD ADCON FOR MESSAGE MOD. 83700000 LM RA,RB,CUPA04 LOAD PARAMETERS FOR MESSAGE 83720000 BAL RO,0(RP) GO TO PRINT ROUTINE 83740000 SPACE 2 83760000 B RCRABEND ABEND 83780018 SPACE 2 83800000 RCRMSGA1 L RP,ADCON LOAD ADCON FOR PRINT RTN. 83820000 L RJ,ADCON1 LOAD ADCON FOR MESSAGE MOD. 83840000 L RA,ABRTNMAX LOAD NMAX 83860000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 83880000 SPACE 2 83900000 MVC CUPM03+16(8),WM4TEMP MOVE NMAX 83920000 LM RA,RB,CUPA03 LOAD PARAMETERS 83940000 BAL RO,0(RP) GO TO PRINT RTN. 83960000 SPACE 2 83980000 LM RA,RB,CUPA06 LOAD PARAMETERS 84000000 BAL RO,0(RP) GO TO PRINT RTN. 84020000 SPACE 2 84040000 RCRABEND LM RA,RP,WREGSV1 RESTORE REG. 84060000 LA RP,4 LOAD ABEND CODE 84080000 BR RO RETURN TO RCM 84100000 EJECT 84120000 * THIS CODE COULD NOT FIT IN RCS. THEREFORE WE BRANCH TO IT FROM RCS 84120317 * VIA A BAL INSTRUCTION AND RETURN IMMEDIATELY. 84120617 SPACE 2 84120917 * CHECK FOR VRE RECORDS 84121217 SPACE 2 84121517 RCS0204A TM CPIMODEX+2,X'02' VRE INPUT 84121817 BNO RCS0220 NO 84122117 SPACE 1 84122417 AH RA,CPIRCDL1 ADD SIZE OF MAX RECORD LENGTH 84122717 RCS0220 TM CPIMODEX+2,X'01' VRE OUTPUT 84123017 BNO RCS0221 NO 84123317 SPACE 1 84123617 AH RC,CPIRCDL2 ADD SIZE OF MAX SORT RECORD LENGTH 84123917 SPACE 2 84124217 * CHECK FOR CHECKPOINT/RESTART 84124517 SPACE 2 84124817 RCS0221 TM CPISW1+2,X'01' CHECKPOINT INDICATED 84125117 BNO RCS0222 NO 84125417 SPACE 1 84125717 AH RA,KCHK ADD SIZE OF MODULE TO PHASE 1 84126017 AH RB,KCHK ADD SIZE OF MODULE TO PHASE 2 84126317 AH RC,KCHK ADD SIZE OF MODULE TO PHASE 3 84126617 RCS0222 BR RO RETURN TO MAIN LINE IN RCS 84126917 SPACE 2 84127217 * CHECK FOR VRE RECORDS 84127517 SPACE 2 84127817 RCS0402 TM CPIMODEX+2,X'02' VRE INPUT 84128117 BNO RCS0402A NO 84128417 SPACE 1 84128717 AH RA,CPIRCDL1 ADD SIZE OF MAX RECORD LENGTH 84129017 RCS0402A TM CPIMODEX+2,X'01' VRE OUTPUT 84129317 BNO RCS0402B NO 84129617 SPACE 1 84129917 AH RC,CPIRCDL2 ADD SIZE OF MAX SORT RECORD LENGTH 84130217 SPACE 2 84130517 * CHECK FOR CHECKPOINT/RESTART 84130817 SPACE 2 84131117 RCS0402B TM CPISW1+2,X'01' CHECKPOINT INDICATED 84131417 BNO RCS0402C NO 84131717 SPACE 1 84132017 AH RA,KCHK ADD SIZE OF MODULE TO PHASE 1/2 84132317 AH RB,KCHK ADD SIZE OF MODULE TO PHASE 3 84132617 RCS0402C BR RO RETURN TO MAIN LINE CODE IN RCS 84132917 SPACE 2 84133217 * CHECK FOR VRE RECORDS 84133517 SPACE 2 84133817 RCS0807A TM CPIMODEX+2,X'02' VRE INPUT 84134117 BNO RCS0807B NO 84134417 SPACE 1 84134717 AH RA,K08 ADD 8 BYTES FOR GETMAIN LIST 84135017 RCS0807B BC 15,0(RP,RO) RETURN TO MAIN LINE CODE AND GO TO 84135317 * PROPER TECH. 84135617 SPACE 2 84135917 * CHECK FOR VRE RECORDS 84136217 SPACE 2 84136517 RCS1006A TM CPIMODEX+2,X'01' VRE OUTPUT 84136817 BNO RCS1006B NO 84137117 SPACE 1 84137417 AH RA,K08 ADD 8 BYTES FOR GETMAIN LIST 84137717 RCS1006B BR RO RETURN TO MAIN LINE CODE IN RCS 84138017 SPACE 2 84138317 SPACE 2 84139317 EJECT 84150317 *LIST OF CONSTANTS USED BY THE MODULE: 84160000 SPACE 2 84180000 KIRG DC H'180' 7 TRK 200 BPI IRG CHARACTER A26433 84200019 DC H'500' 7 TRK 556 BPI IRG CHARACTER A26433 84220019 DC H'720' 7 TRK 800 BPI IRG CHARACTER A26433 84240019 DC H'640' 9 TRK 800 BPI IRG CHARACTER A26433 84260019 DC H'1280' 9 TRK - 1600 BPI IRG CHARACTERS 1194 84280017 SPACE 1 84300000 * TAPE CAPACITIES FOR ALL DENSITIES. 84320000 * (2300 FT * 12 INCHES) * (DENSITY) / 1000 SCALING FACTOR. 84340000 SPACE 2 84360000 KBITSMAX DC F'5520' 7 TRK - 200 BPI CAPACITY. 84380000 DC F'15346' 7 TRK - 556 BPI CAPACITY. 84400000 DC F'22080' 7 TRK - 800 BPI CAPACITY. 84420000 DC F'22080' 9 TRK - 800 BPI CAPACITY. 84440000 DC F'44160' 9 TRK - 1600 BPI CAPACITY. 84460000 SPACE 1 84480000 K01 DC H'1' CONSTANT 84500018 K02 DC H'2' CONSTANT 84520018 K03 DC H'3' CONSTANT 84540018 K04 DC H'4' CONSTANT 84560018 K06 DC H'6' CONSTANT 84570018 K08 DC H'8' CONSTANT 84580018 K09 DC H'9' CONSTANT 84600018 K10 DC H'10' CONSTANT 84620018 K12 DC H'12' CONSTANT 84640018 K16 DC H'16' CONSTANT 84660018 K17 DC H'17' CONSTANT 84680018 K32 DC H'32' CONSTANT 84700018 K40 DC H'40' CONSTANT 84720018 K52 DC H'52' CONSTANT 84740018 K100 DC H'100' CONSTANT 84760018 K200 DC H'200' CONSTANT 84780018 K256 DC H'256' CONSTANT 84800018 K720 DC H'720' CONSTANT 84820018 K725 DC H'725' CONSTANT 84840018 K740 DC H'740' CONSTANT 84860018 K975 DC H'975' CONSTANT 84880018 K1035 DC H'1035' CONSTANT 84900018 K1670 DC H'1670' CONSTANT 84920018 K2585 DC H'2585' CONSTANT 84940018 K956 DC H'956' CONSTANT 84960018 K1000 DC H'1000' CONSTANT 84980018 K10000 DC H'10000' CONSTANT 85000018 K100000 DC F'100000' CONSTANT 85020018 KVALUE DC F'7200' PHASE 1 - BAL AND POL 85040000 DC F'6745' PHASE 2 - BAL AND POL 85060000 DC F'7805' PHASE 3 - BAL AND POL 85080000 KVALUE1 DC F'10790' PHASE 1 - OSCL 85100000 DC F'7805' PHASE 3 - OSCL 85120000 KSINGCF DC F'0' PHASE 1 - BAL - POL. 85140000 DC F'80' PHASE 2 - BAL - POL. 85160000 DC F'80' PHASE 3 - BAL - POL. 85180000 KFIXLEN DC F'1210' PHASE 1 - BAL& POL 85200000 DC F'275' PHASE 2 - BAL & POL 85220000 DC F'175' PHASE 3 - BAL AND POL 85240000 KFIXLEN1 DC F'1660' PHASE 1 - OSCL 85260000 DC F'170' PHASE 3 - OSCL 85280000 KVARLEN DC F'1025' PHASE 1 - BAL & POL 85300000 DC F'375' PHASE 2 - BAL AND POL 85320000 DC F'245' PHASE 3 - BAL AND POL 85340000 KVARLEN1 DC F'1650' PHASE 1 - OXCL 85360000 DC F'245' PHASE 3 - OSCL 85380000 KTAPE DC F'1240' PHASE 1 - BAL & POL 85400000 DC F'2260' PHASE 2 - BAL & POL 85420000 KMODS DC F'510' PHASE 1 - BAL & POL 85440000 DC F'240' PHASE 2 - BAL & POL 85460000 DC F'385' PHASE 3 - BAL & POL 85480000 KMODS1 DC F'780' PHASE 1 - OXCL 85500000 DC F'385' PHASE 3 - OSCL 85520000 SPACE 1 85540000 SPACE 2 85560000 KGFACTOR DC H'0' FILLER 85580018 DC H'0' FILLER 85600018 DC H'150' MERGE ORDER = 2. 85620000 DC H'166' MERGE ORDER = 3. 85640000 DC H'175' MERGE ORDER = 4. 85660000 DC H'180' MERGE ORDER = 5. 85680000 DC H'183' MERGE ORDER = 6. 85700000 DC H'183' MERGE ORDER = 7. 85720000 DC H'187' MERGE ORDER = 8. 85740000 DC H'187' MERGE ORDER = 9. 85760000 DC H'190' MERGE ORDER = 10. 85780000 DC H'190' MERGE ORDER = 11. 85800000 DC H'191' MERGE ORDER = 12. 85820000 DC H'192' MERGE ORDER = 13. 85840000 DC H'192' MERGE ORDER = 14. 85860000 KPOLGF DC H'193' DUMMY POLY GFACTOR 85880000 DC H'193' MERGE ORDER = 16. 85900000 DC H'160' BEGINNING OF POLY GFACTORS 85920000 DC H'175' MERGE ORDER = 3 85940000 DC H'180' MERGE ORDER = 4 85960000 DC H'185' MERGE ORDER = 5 85980000 DC H'190' MERGE ORDER = 6 86000000 DC H'195' MERGE ORDER = 7 86020000 SPACE 2 86040000 EJECT 86060000 *WORK LOCATIONS USED BY THE MODULE: 86080000 SPACE 2 86100000 ABRTNMAX DC F'0' TOP NMAX 86120018 WORK DC F'0' W A 86140000 WORK1 DC F'0' O R 86160000 WORK2 DC F'0' R E 86180000 WORK3 DC F'0' K A 86200000 WORK4 DC F'0' W 86220018 WORK5 DC F'0' O 86240018 WORK6 DC F'0' R A 86260018 WORK7 DC F'0' K R 86280018 WORK8 DC F'0' E 86300018 WORK9 DC F'0' A 86320018 WFULL DC F'0' WORK LOCATION. 86340000 WFULL1 DC F'0' WORK LOC 86360018 WFULL2 DC F'0' WORK LOC 86380018 WFULL3 DC F'0' WORK LOC 86400018 WFULL4 DC F'0' WORK LOC 86420018 SPACE 1 86440000 WP1IPBFR DC F'0' PHASE 1 INPUT BUFFER SIZE. 86460000 WP3OPBFR DC F'0' PHASE 3 OUTPUT BUFFER SIZE. 86480000 SPACE 1 86500000 WP1BALCR DC F'0' PHASE 1 - BAL - RUNNING CORE. 86520000 WP2BALCR DC F'0' PHASE 2 - BAL - RUNNING CORE. 86540000 WP3BALCR DC F'0' PHASE 3 - BAL - RUNNING CORE. 86560000 WP1POLCR DC F'0' PHASE 1 - POL - RUNNING CORE. 86580000 WP2POLCR DC F'0' PHASE 2 - POL - RUNNING CORE. 86600000 WP3POLCR DC F'0' PHASE 3 - POL - RUNNING CORE. 86620000 WP12OSCR DC F'0' PHASE 12 - OSC - RUNNING CORE. 86640000 WP3OSCR DC F'0' PHASE 3 - OSC - RUNNING CORE. 86660000 WP2OSCR DC F'0' PHASE 2 - OSC - CALCULATED VALUE. 86680000 SPACE 1 86700000 WBALP1GC DC F'0' PHASE 1 - BAL - GEN CORE SIZE. 86720000 WPOLP1GC DC F'0' PHASE 1 - POL - GEN CORE SIZE. 86740000 WOSCP1GC DC F'0' PHASE 1 - OSC - GEN CORE SIZE. 86760000 WBALP2GC DC F'0' PHASE 2 - BAL - GEN CORE SIZE. 86780000 WPOLP2GC DC F'0' PHASE 2 - POL - GEN CORE SIZE. 86800000 WBALP3GC DC F'0' PHASE 3 - BAL - GEN CORE SIZE. 86820000 WPOLP3GC DC F'0' PHASE 3 - POL - GEN CORE SIZE. 86840000 WOSCP3GC DC F'0' PHASE 3 - OSC - GEN CORE SIZE. 86860000 SPACE 1 86880000 WBAL1COR DC F'0' BAL - PHASE 1 AVAILABLE CORE. 86900000 WBAL2COR DC F'0' BAL - PHASE 2 AVAILABLE CORE. 86920000 WBAL3COR DC F'0' BAL - PHASE 3 AVAILABLE CORE. 86940000 WPOL1COR DC F'0' POL - PHASE 1 AVAILABLE CORE. 86960000 WPOL2COR DC F'0' POL - PHASE 2 AVAILABLE CORE. 86980000 WPOL3COR DC F'0' POL - PHASE 3 AVAILABLE CORE. 87000000 WOSC1COR DC F'0' OSC - PHASE 12 AVAILABLE CORE. 87020000 WOSC3COR DC F'0' OSC - PHASE 3 AVAILABLE CORE. 87040000 SPACE 1 87060000 WBAL1AVP DC F'0' BAL - P1 AVAIL CORE LESS INP BFRS. 87080000 WPOL1AVP DC F'0' POL - P1 AVAIL CORE LESS INP BFRS. 87100000 WOSC1AVP DC F'0' OSC - P1 AVAIL CORE LESS INP BFRS. 87120000 WBAL3AVP DC F'0' BAL - P3 AVAIL CORE LESS OUT BFRS. 87140000 WPOL3AVP DC F'0' POL - P3 AVAIL CORE LESS OUT BFRS. 87160000 WOSC3AVP DC F'0' OSC - P3 AVAIL CORE LESS OUT BFRS. 87180000 SPACE 1 87200000 WP2UPDAV DC F'0' BAL - UPDATED AVAILABLE CORE. 87220000 DC F'0' POL - UPDATED AVAILABLE CORE. 87240000 DC F'0' OSC - UPDATED AVAILABLE CORE. 87260000 SPACE 1 87280000 WBALNMAX DC F'0' BAL - CALCULATED NMAX FOR TECH. 87300000 WPOLNMAX DC F'0' POL - CALCULATED NMAX FOR TECH. 87320000 WOSCNMAX DC F'0' OSC - CALCULATED NMAX FOR TECH. 87340000 SPACE 1 87360000 WBALGCOR DC F'0' BAL - P1 CORE AVAILABLE TO G. 87380000 WPOLGCOR DC F'0' POL - P1 CORE AVAILABLE TO G. 87400000 WOSCGCOR DC F'0' OSC - P1 CORE AVAILABLE TO G. 87420000 SPACE 1 87440000 WCSPOLS1 DC F'0' POL - P1 TOTAL STRINGS - ORIG. 87460000 WCSPOLS2 DC F'0' POL - P1 TOTAL STRINGS - NEW. 87480000 WEXTRSZ DC F'0' EXTRACT ROUTINE SIZE. 87500000 WTAVLC DC F'0' TOTAL CORE AVAILABLE TO SORT. 87520000 WDENTAPE DC F'0' MINIMUM WORK TAPE DENSITY. 87540000 WOSC2AVP DC F'0' OSC PHASE 2 AVAIL. 87560000 WGPRIMEF DC F'0' OSC-G PRIME FIXED LENGTH RCDS. 87580000 WGPRIMEV DC F'0' OSC-G PRIME VAR. LENGTH RCDS. 87600000 EJECT 87620000 * HALF WORD LOCATIONS USED BY THE MODULE FOR WORK AREAS. 87640000 SPACE 2 87660000 WTQIND DC H'0' TECH INDICATOR - PRESENT TECH BEING 87680000 * CALCULATED. 87700000 * 0 = BAL, 4 = POL, 8 = OSC. 87720000 WTQIND1 DC H'0' TECH HALF-WORD POINTER. 87740000 * 0 = BAL, 2 = POL, 4 = OSC. 87760000 WTQCTR DC H'0' NO. OF TECHNIQUES TO CALCULATE FOR. 87780000 SPACE 2 87800000 WNOTECH DC H'0' NO. OF TECHNIQUES FOR OPTIMIZATION. 87820000 W1STTECH DC H'0' 1ST TECH TO OPTIMIZE FOR. 87840000 WABRTCTR DC H'0' COUNT OF ABORTED TECHNIQUES. 87860000 WABRTIND DC XL1'0' ABORTED TECH INDICATORS. 87880000 * BIT 1 - BAL TECH ABORTED. 87900000 * BIT 2 - POL TECH ABORTED. 87920000 * BIT 3 - OSC TECH ABORTED. 87940000 * BIT 4 - BAL NMAX EXCEEDED. 87960000 * BIT 5 - POL NMAX EXCEEDED. 87980000 * BIT 6 - OSC NMAX EXCEEDED. 88000000 * BIT 7 - 88020000 * BIT 8 - 88040000 WOPTTECH DC XL1'0' TECH TO OPTIMIZE FOR INDICATORS. 88060000 * BIT 1 - BAL TECHNIQUE. 88080000 * BIT 2 - POL TECHNIQUE. 88100000 * BIT 3 - OSC TECHNIQUE. 88120000 * BITS 4 - 7 - 88140000 SPACE 1 88160000 WRECIND DC H'0' RECORD FORMAT INDIC (0=VAR, 4= FIX) 88180000 WCHNIND DC H'0' CHANNEL CONFIGURATION INDIC. 88200000 WCHNIND1 DC H'0' CHANNEL STATUS - PHASE 1. 88220000 WCHNIND2 DC H'0' CHANNEL STATUS - PHASE 2. 88240000 WCHNIND3 DC H'0' CHANNEL STATUS - PHAS3 2. 88260000 SPACE 1 88280000 WBALBS DC H'0' BAL - SORT BLOCKING (BS). 88300000 WPOLBS DC H'0' POL - SORT BLOCKING (BS). 88320000 WOSCBS DC H'0' OSC - SORT BLOCKING (BS). 88340000 SPACE 1 88360000 WBALG DC F'0' BAL - TECHNIQUE G VALUE. 88380000 WPOLG DC F'0' POL - TECHNIQUE G VALUE. 88400000 WOSCG DC F'0' OSC - TECHNIQUE G VALUE. 88420000 SPACE 1 88440000 WBSLBAL DC H'0' BAL - SORT PHASE BUFFER SIZE (BSL). 88460000 WBSLPOL DC H'0' POL - SORT PHASE BUFFER SIZE (BSL). 88480000 WBSLOSC DC H'0' OSC - SORT PHASE BUFFER SIZE (BSL). 88500000 SPACE 1 88520000 WBALMRMX DC H'0' BAL - MERGE MAX. 88540000 WPOLMRMX DC H'0' POL - MERGE MAX. 88560000 WOSCMRMX DC H'0' OSC - MERGE MAX. 88580000 WBALMRAL DC H'0' BAL - MERGE ALTERNATE. 88600000 SPACE 1 88620000 WBALNB1 DC H'0' BAL - TOTAL PHASE 1 BUFFERS IN/OUT. 88640000 WPOLNB1 DC H'0' POL - TOTAL PHASE 1 BUFFERS IN/OUT. 88660000 WOSCNB1 DC H'0' OSC - TOTAL PHASE 1 BUFFERS IN/OUT. 88680000 SPACE 1 88700000 WBALINP1 DC H'0' BAL - NO. PHASE 1 INPUT BUFFERS. 88720000 WPOLINP1 DC H'0' POL - NO. PHASE 1 INPUT BUFFERS. 88740000 WOSCINP1 DC H'0' OSC - NO. PHASE 1 INPUT BUFFERS. 88760000 SPACE 1 88780000 WBALNB2 DC H'0' BAL - TOTAL NO. PHASE 2 BFRS (I/O). 88800000 WPOLNB2 DC H'0' POL - TOTAL NO. PHASE 2 BFRS (I/O). 88820000 WOSCNB2 DC H'0' OSC - TOTAL NO. PHASE 2 BFRS (I/O). 88840000 SPACE 1 88860000 WBALOUT2 DC H'0' BAL - NO. PHASE 2 OUTPUT BUFFERS. 88880000 WPOLOUT2 DC H'0' POL - NO. PHASE 2 OUTPUT BUFFERS. 88900000 WOSCOUT2 DC H'0' OSC - NO. PHASE 2 OUTPUT BUFFERS. 88920000 SPACE 1 88940000 WBALNB3 DC H'0' BAL - TOTAL PHASE 3 BUFFERS IN/OUT. 88960000 WPOLNB3 DC H'0' POL - TOTAL PHASE 3 BUFFERS IN/OUT. 88980000 WOSCNB3 DC H'0' OSC - TOTAL PHASE 3 BUFFERS IN/OUT. 89000000 SPACE 1 89020000 WBALOUT3 DC H'0' BAL - NO. PHASE 3 OUTPUT BUFFERS. 89040000 WPOLOUT3 DC H'0' POL - NO. PHASE 3 OUTPUT BUFFERS. 89060000 WOSCOUT3 DC H'0' OSC - NO. PHASE 3 OUTPUT BUFFERS. 89080000 SPACE 1 89100000 WBALIOB1 DC H'0' BAL - P1 IOB STORAGE 89120018 WPOLIOB1 DC H'0' POL - P1 IOB STORAGE 89140018 WOSCIOB1 DC H'0' OSC - P1 IOB STORAGE 89160018 SPACE 1 89180000 SPACE 1 89200000 WBALDCB1 DC H'0' BAL - P1 DCB STORAGE 89220018 WPOLDCB1 DC H'0' POL - P1 DCB STORAGE 89240018 WOSCDCB1 DC H'0' OSC - P1 DCB STORAGE 89260018 SPACE 1 89280000 WBALIOB2 DC H'0' BAL - P2 IOB STORAGE 89300018 WPOLIOB2 DC H'0' POL - P2 IOB STORAGE 89320018 WOSCIOB2 DC H'0' OSC - P2 IOB STORAGE 89340018 SPACE 1 89360000 WBALDCB2 DC H'0' BAL - P2 DCB STORAGE 89380018 WPOLDCB2 DC H'0' POL - P2 DCB STORAGE 89400018 WOSCDCB2 DC H'0' OSC - P2 DCB STORAGE 89420018 SPACE 1 89440000 WBALIOB3 DC H'0' BAL - P3 IOB STORAGE 89460018 WPOLIOB3 DC H'0' POL - P3 IOB STORAGE 89480018 WOSCIOB3 DC H'0' OSC - P3 IOB STORAGE 89500018 SPACE 1 89520000 WBALDCB3 DC H'0' BAL - P3 DCB STORAGE 89540018 WPOLDCB3 DC H'0' POL - P3 DCB STORAGE 89560018 WOSCDCB3 DC H'0' OSC - P3 DCB STORAGE 89580018 SPACE 1 89600000 WBREELS DC H'0' BAL - MAX REELS OF INPUT. 89620000 WPREELS DC H'0' POL - MAX REELS OF INPUT. 89640000 WOREELS DC H'0' OSC - MAX REELS OF INPUT. 89660000 SPACE 1 89680000 WCSSWA DC XL2'0' SWITCH A 89700018 * BIT 1 - SW 1. 89720000 * BIT 2 - SW 2 89740000 * BIT 3 - SW 3. 89760000 * BIT 4 - SW 4. 89780000 * BIT 5 - SW 5. 89800000 * BIT 6 - SW 6. 89820000 * BIT 7 - SW 7. 89840000 * BIT 8 - SW 8. 89860000 WCSSWB DC XL2'0' SWITCH B 89880018 * BIT 1 - SW 9. 89900000 * BIT 2 - SW 10 - TECH FORCED. 89920000 * BIT 3 - SW 11 - FILE GIVEN/EST. 89940000 * BIT 4 - SW 12 - FILE ESTIMATED. 89960000 * BIT 5 - SW 13 - FILE EXACT. 89980000 * BIT 6 - SW 14 - PHASE 1 - OSC-E25 90000000 * BIT 7 - SW 15 - INPUT & WORK 90020000 * NOT SAME CHANNEL. 90040000 * BIT 8 - SW 15 - OUTPUT AND WORK 90060000 * NOT SAME CHANNEL. 90080000 WCSSWC DC XL2'0' SWITCH C 90100018 * BIT 1 - SW 17 - POL 8 WAY NETWORK. 90120000 * BIT 2 - SW 18 - BAL 8 WAY NETWORK. 90140000 * BIT 3 - SW 19 - OSC 8 WAY NETWORK. 90160000 * BIT 4 - SW 20 90180000 * BIT 5 - SW 21 90200000 * BIT 6 - SW 22 - OSC TECH FORCED. 90220000 * BIT 7 - SW 23 - BAL TECH FORCED. 90240000 * BIT 8 - SW 24 - POL TECH FORCED. 90260000 SPACE 1 90280000 WBALEXT1 DC H'0' BAL - SIZE OF EXT FIELD 90300018 WPOLEXT1 DC H'0' POL - SIZE OF EXT FIELD 90320018 WOSCEXT1 DC H'0' OSC - SIZE OF EXT FIELD 90340018 WBALEXT3 DC H'0' BAL - SIZE OF EXT FIELD 90360018 WPOLEXT3 DC H'0' POL - SIZE OF EXT FIELD 90380018 WOSCEXT3 DC H'0' OSC - SIZE OF EXT FIELD 90400018 WBALEXT DC H'0' BAL - SIZE OF EXTRACT ROUTINE. 90420000 WPOLEXT DC H'0' POL - SIZE OF EXTRACT ROUTINE. 90440000 WOSCEXT DC H'0' OSC - SIZE OF EXTRACT ROUTINE. 90460000 WMVRTSZ1 DC H'0' PHASE 1 MOVE ROUTINE SIZE. 90480000 WMVRTSZ3 DC H'0' PHASE 3 MOVE ROUTINE SIZE. 90500000 SPACE 1 90520000 WDIFFCTR DC H'0' OSC - NO. OF ENTRIES IN DIFF TABLE. 90540000 WIRGTAPE DC H'0' MINIMUM DENSITY IRG NO. CHARACTERS. 90560000 SPACE 1 90580000 RCRSW DC H'0' BAL TECHNIQUE SWITCH. 90600000 RCRIND DC H'0' ODD/EVEN PASS INDICATOR. 90620000 RCRSAVE DC F'0' STORAGE FOR NO. STRINGS IN. 90640000 RCRMRGMX DC F'0' STORAGE FOR MRG MAX. 90660000 RCRMRGAL DC F'0' STORAGE FOR MRG ALT. 90680000 RCRNRCDS DC F'0' STORAGE FOR NO. RECORDS IN. 90700000 RCRCORRQ DC F'0' CORE REQUIRED FOR NEW G AND TREE. 90720000 WSTRORIG DC F'0' ORIGINAL STR COUNT - UNOPTIMIZED. 90740000 WSQCTRSV DC F'0' STORAGE FOR LAST LOWER SEQ COUNT. 90760000 WTPRIMEV DC F'0' TREE PRIME VAR.LENGTH RCDS. 90780000 WTPRIMEF DC F'0' TREE PRIME FIXED LENGTH RCDS. 90800000 WBALTREE DC F'0' BAL TECH ACTUAL TREE VALUE. 90820000 WPOLTREE DC F'0' POL TECH ACTUAL TREE VALUE. 90840000 WOSCTREE DC F'0' OSC TECH ACTUAL TREE VALUE. 90860000 WSCNNB1 DC F'0' NUMBER OF NB1 90880000 WSCNNB2 DC F'0' NB2 VALUE 90900000 WSCNNB3 DC F'0' PHASE 3 # OF BUFS 90920000 WSCNBSL DC F'0' BLOCK SIZE 90940000 WSCNP DC F'0' NUMBER OF PASSES 90960000 WADRKP DC F'0' SAVE LOCATION FOR RETURN ADDRESS. 90980000 WTEMPSV DC 3F'0' REG SAVE AREA 91000000 WRCRSCOL DC F'0' OL FACTOR 91020000 WRCRSCBE DC F'0' BE FACTOR 91040000 WRCRSCT DC F'0' T CALCULATION 91060000 WOSCSCN DC F'0' SCN VALUE - FINAL. 91080000 WOSCSCN1 DC F'0' SCN VALUE - UNOPTIMIZED. 91100000 WOSCSCN2 DC F'0' SCN VALUE - OPTIMIZED 91120000 WBALSCN DC F'0' SCN VALUE - FINAL. 91140000 WPOLSCN DC F'0' SCN VALUE - FINAL. 91160000 WBALSCN1 DC F'0' SCN VALUE - UNOPTIMIZED. 91180000 WPOLSCN1 DC F'0' SCN VALUE - UNOPTIMIZED. 91200000 WBALSCN2 DC F'0' SCN VALUE - OPTIMIZED. 91220000 WPOLSCN2 DC F'0' SCN VALUE - OPTIMIZED. 91240000 WBALP1 DC F'0' BAL NO. PASSES UN-OPTIMIZED. 91260000 WPOLP1 DC F'0' POLY ORIG. PASSES 91280000 WOSCP1 DC F'0' OSC NO. PASSES UN-OPTIMIZED. 91300000 WBALP2 DC F'0' OPT. BAL. NO. OF PASSES 91320000 WPOLP2 DC F'0' OPT. POLY NO. OF PASSES 91340000 WOSCP2 DC F'0' NO. PASSES - OPTIMIZED. 91360000 WBALS1 DC F'0' STRINGCOUNT 91380000 WPOLS1 DC F'0' ORIG POLY STRING COUNT 91400000 WPOLS2 DC F'0' OPT. POLY STRING COUNT 91420000 WNEWGCOR DC F'0' GCOR FOR OPTIMIZED B & G 91440000 WBAOBS DC H'0' OPTIMIZED BS 91460000 WRECINCR DC H'0' RECORD INCREMENT ( FIXED = +4, 91500000 * VARIABLE = +8). 91520000 WBALK DC H'0' BAL - TECH K FACTOR. 91540000 WPOLK DC H'0' POL - TECH K FACTOR. 91560000 WOSCK DC H'0' OSC - TECH K FACTOR - VARIABLE RCDS 91580000 WBALNWKU DC H'0' BAL - NO. OF WORK UNITS AVAILABLE. 91600000 WPOLNWKU DC H'0' POL - NO. OF WORK UNITS AVAILABLE. 91620000 WOSCNWKU DC H'0' OSC - NO. OF WORK UNITS AVAILABLE. 91640000 KCHK DC H'200' SIZE OF CHECKPOINT MODULE 91650017 WBAONB1 DC H'0' OPTIMISED TOTAL NR. OF BFFRS A31878 91652021 WSCNINP1 DC F'0' SELECTION INPUT BFRS 91660000 WBAOINP1 DC F'0' OPTIMIZED INPUT BUFFERS 91680000 WOBTREE DC F'0' OPTIMIZED TREE 91720000 WNEWOBSL DC F'0' NEW OPT. TEEE 91740000 WNEWBS DC F'0' NEW OPTIMIZED BS 91760000 WNEWG DC F'0' NEW OPTIMIZED G 91780000 WNEWSTRA DC F'0' DIFFERENCE TABLE - 1ST ADDRESS. 91800000 WNEWSTRB DC F'0' DIFFERENCE TABLE - 2ND ADDRESS. 91820000 WNEWG1A DC F'0' NEW G TABLE - 1ST ADDRESS. 91840000 WNEWG1B DC F'0' NEW G TABLE - 2ND ADDRESS. 91860000 WNEWT1A DC F'0' NEW TREE TABLE - 1ST ADDRESS. 91880000 WNEWT1B DC F'0' NEW TREE TABLE - 2ND ADDRESS. 91900000 WNP1CRQA DC F'0' NEW REQ PHASE 1 CORE TABLE - 1ST 91920000 * ADDRESS. 91940000 WNP1CRQB DC F'0' NEW REQ PHASE 1 CORE TABLE - 2ND 91960000 * ADDRESS. 91980000 WMRGMXA DC F'0' MERGE MAX TABLE - 1ST ADDRESS. 92000000 WMRGMXB DC F'0' MERGE MAX TABLE - 2ND ADDRESS. 92020000 WLOOPCT DC F'0' LOOP COUNT SAVE LOCATION. 92040000 WMRGMX DC 16F'0' OSC MERGE MAX TABLE AREA. 92060000 WSTR1 DC 16F'0' UN-OPTIMIZED STRING COUNT AREA. 92080000 WSTR2 DC 16F'0' OPTIMIZED STRING COUNT AREA. 92100000 WNEWSTR DC 16F'0' NEW STRING COUNT TO SAVE PASS. 92120000 WSUBP1 DC 16F'0' UN/OPTIMIZED SUB-PASS COUNT AREA. 92140000 WSUBP2 DC 16F'0' OPTIMIZED SUB-PASS COUNT AREA. 92160000 WNEWG1 DC 16F'0' NEW G NEEDED TO SAVE PASS. 92180000 WNEWT1 DC 16F'0' NEW TREE SIZE FOR NEW G. 92200000 WNP1CRQ DC 16F'0' PHASE 1 CORE REQUIRED FOR NEW G. 92220000 WSUBTOT DC F'0' SUB-PASS TOTAL COUNT. 92240000 WGCAL DC F'0' NEW CALCULATED G. 92260000 WNMXCAL DC F'0' NEW CALCULATED NMAX. 92280000 WNEWCOR DC F'0' NEW CORE AVAILABLE TO OPTIMIZATION. 92300000 WRMAX DC F'0' NEW CALCULATED RMAX. 92320000 WRMAX1 DC F'0' OLD CALCULATED RMAX. 92340000 WRMAX2 DC F'0' UPDATED PRESENT RMAX. 92360000 WMRMXKP DC F'0' MERGE MAX SAVE LOCATION. 92380000 WOSCRMAX DC F'0' FINAL TECH RMAX. 92400000 WFILSZ DC F'0' USER FILE SIZE. 92420000 WREM DC F'0' PARTIAL REEL REMAINDER 92440000 WREM1 DC F'0' PARTIAL REEL REMAINDER 92460000 WREM2 DC F'0' PARTIAL REEL REMAINDER 92480000 WGAAA DC F'0' RMAX - WORK AREA 92500018 WONB1 DC F'0' OPTIMIZED TOTAL NO. PHASE 1 BFRS. 92520000 WONB2 DC F'0' OPTIMIZED TOTAL NO. PHASE 2 BFRS. 92540000 WONB3 DC F'0' OPTIMIZED TOTAL NO. PHASE 3 BFRS. 92560000 WOBSL DC F'0' SIZE OF OPTIMIZED SORL BUFFER 92580000 WOPASS DC F'0' ACTUAL FULL PASSES OF FILE. 92600000 WOBS DC F'0' SIZE OF OPTIMIZED SORT BLOCKING 92620000 WOINP1 DC F'0' OPTIMIZED NO. PHASE 1 INPUT BFRS. 92640000 WOOUT2 DC F'0' OPTIMIZED NO. PHASE 2 OUTPUT BFRS. 92660000 WOOUT3 DC F'0' OPTIMIZED NO. PHASE 3 OUTPUT BFRS. 92680000 WOTREE DC F'0' OPTIMIZED TREE VALUE. 92700000 WDIFFSV DC H'0' SAVE LOCATION FOR UPDATED DIFFCTR. 92720000 WPTRSV DC H'0' SAVE LOCATION FOR UPDATED TABLE PTR 92740000 WRCDPLUS DC F'0' SIZE OF 1 RCD PLUS INCREMENT. 92760000 WOLDLEV DC H'0' OLD FIB. LEVEL 92780000 WNEWLEV DC H'0' NEW FIB. LEV 92800000 WOLDTSTR DC H'0' OLD TOTAL # OF STRINGS PASSES 92820000 WNEWTSTR DC H'0' NEW TOTAL # OF STRINGS PASSES 92840000 WNEWSTRF DC H'0' POLY NEW NO. OF STRINGS 92860000 WOLDSTRF DC H'0' ORIG. NO. OF STRINGS AT FIB LEVEL 92880000 WFIBSAVE DC 2F'0' M AND # STRINGS 92900000 WFIBWRK1 DC 16H'0' WORK AREAS 92920018 WFIBWRK2 DC 16H'0' FOR 92940018 WFIBWRK3 DC 16H'0' FIBONACCI 92960018 WFIBWRK4 DC 16H'0' CALCULATIONS 92980018 WNOABORT DC H'0' NUMBER TECHS ELIMINATED 93000018 ADCON DC V(IERGAPRT) ADCON FOR RCM PRINT ROUTINE 93020000 ADCON1 DC A(IERRCU) ADCON FOR RCU 93040000 EJECT 93060000 DIERRCU DSECT 93080000 * MODULE NAME ***IERRCU*** 93100000 SPACE 2 93120000 *STATUS:CHANGE LEVEL 000 93140000 SPACE 2 93160000 * THIS MODULE CONTAINS ALL THE MESSAGES THAT ARE REQUIRED BY 93180000 * THE GENERAL ASSIGNMENT AFTER THE LINKAGE EDITOR HAS BEEN 93200000 * EXECUTED. 93220000 SPACE 2 93240000 *THIS MODULE IS A DSECT IN IERRCK-IERRCS-IERRCL-IERRCJ-IERRCZ 93260000 SPACE 2 93280000 *ENTRY POINTS: N/A 93300000 SPACE 2 93320000 *INPUT: N/A 93340000 SPACE 2 93360000 *OUTPUT: N/A 93380000 SPACE 2 93400000 *EXTERNAL ROUTINES: N/A 93420000 SPACE 2 93440000 *EXITS-NORMAL: N/A 93460000 SPACE 2 93480000 *EXITS-ERROR: N/A 93500000 SPACE 2 93520000 *TABLES/WORK AREAS: N/A 93540000 SPACE 2 93560000 *ATTRIBUTES: THIS IS A CLASS -A- MODULE 93580000 SPACE 2 93600000 *NOTES: N/A 93620000 SPACE 2 93640000 * 93660000 CUPA01 DC A(CUPM01) MSG ADDR 93680018 DC F'18' LENGTH 93700018 * 93720000 CUPA02 DC A(CUPM02) MSG ADDR 93740018 DC F'19' LENGTH 93760018 * 93780000 CUPA03 DC A(CUPM03) MSG ADDR 93800018 DC F'24' LENGTH 93820018 * 93840000 CUPA04 DC A(CUPM04) MSG ADDR 93860018 DC F'27' LENGTH 93880018 * 93900000 CUPA05 DC A(CUPM05) MSG ADDR 93920018 DC F'33' LENGTH 93940018 * 93960000 CUPA06 DC A(CUPM06) MSG ADDR 93980018 DC F'19' LENGTH 94000018 * 94020000 CUPA07 DC A(CUPM07) MSG ADDR 94040018 DC F'26' LENGTH 94060018 * 94080000 CUPA08 DC A(CUPM08) MSG ADDR 94100018 DC F'43' LENGTH 94120018 * 94140000 CUPA09 DC A(CUPM09) MSG ADDR 94160018 DC F'36' LENGTH 94180018 * 94200000 CUPA10 DC A(CUPM10) MSG ADDR 94220018 DC F'29' LENGTH 94240018 * 94260000 CUPA11 DC A(CUPM11) MSG ADDR 94280018 DC F'29' LENGTH 94300018 * 94320000 CUPA12 DC A(CUPM12) MSG ADDR 94340018 DC F'36' LENGTH 94360018 * 94380000 CUPA13 DC A(CUPM13) MSG ADDR 94400018 DC F'26' LENGTH 94420018 * 94440000 CUPA14 DC A(CUPM14) MSG ADDR 94460018 DC F'23' LENGTH 94480018 * 94500000 CUPA15 DC A(CUPM15) MSG ADDR 94520018 DC F'18' LENGTH 94540018 * 94560000 DMSG961X DC A(DMSG961) MSG ADDR 94580018 DC F'26' LENGTH 94600018 * 94620000 DMSG962X DC A(DMSG962) MSG ADDR 94640018 DC F'51' LENGTH 94660018 * 94680000 DMSG963X DC A(DMSG963) MSG ADDR 94700018 DC F'37' LENGTH 94720018 * 94740000 DMSG964X DC A(DMSG964) MSG ADDR 94760018 DC F'37' LENGTH 94780018 * 94800000 DMSG965X DC A(DMSG965) MSG ADDR 94820018 DC F'37' LENGTH 94840018 OPENERR1 DC A(OPENERR) MSG ADDR 94860018 DC F'28' LENGTH 94880018 * 94900000 CUPM01 DC CL18'IER036I - B = ' MESSAGE 94920018 * 94940000 CUPM02 DC CL19'IER037I - G = ' MESSAGE 94960018 * 94980000 CUPM03 DC CL24'IER038I - NMAX = ' MESSAGE 95000018 * 95020000 CUPM04 DC CL27'IER039A - INSUFFICIENT CORE' MESSAGE 95040018 * 95060000 CUPM05 DC CL28'IER040A - INSUFFICIENT WORK ' MESSAGE 95080018 DC CL05'UNITS' MESSAGE 95100018 CUPM06 DC CL19'IER041A - N GT NMAX' MESSAGE 95120018 * 95140000 CUPM07 DC CL26'IER042A - UNITS ASGN ERROR' MESSAGE 95160018 * 95180000 CUPM08 DC CL30'IER043A - DATA SET ATTRIBUTES ' MESSAGE 95200018 DC CL13'NOT SPECIFIED' MESSAGE 95220018 * 95240000 CUPM09 DC CL29'IER056A - SORTIN/SORTOUT NOT ' MESSAGE 95260018 DC CL07'DEFINED' MESSAGE 95280018 * 95300000 CUPM10 DC CL29'IER057A - SORTIN NOT SORTWK01' MESSAGE 95320018 * 95340000 CUPM11 DC CL29'IER058A - SORTOUT A WORK UNIT' MESSAGE 95360018 * 95380000 CUPM12 DC CL30'IER059A - REC LNG INVALID FOR ' MESSAGE 95400018 DC CL06'DEVICE' MESSAGE 95420018 * 95440000 CUPM13 DC CL26'IER060A - DSCB NOT DEFINED' MESSAGE 95460018 * 95480000 CUPM14 DC CL23'IER027A - CF BEYOND REC' MESSAGE 95500018 * 95520000 CUPM15 DC CL18'IER062A - L.E. ERR' MESSAGE 95540018 * 95560000 DMSG961 DC CL22'IER961I - TECHNIQUE - ' MESSAGE 95580018 DMSG961A DC CL04' ' MESSAGE 95600018 * 95620000 DMSG962 DC CL30'IER962I - NO/SIZE OF BFRS, PH ' MESSAGE 95640018 DMSG962A DC CL01'0' MESSAGE 95660018 DC CL02', ' MESSAGE 95680018 DMSG962B DC CL02' ' MESSAGE 95700018 DC CL02', ' MESSAGE 95720018 DMSG962C DC CL08' ' MESSAGE 95740018 * 95760000 DMSG963 DC CL29'IER963I - MAX. SYSGEN CORE - ' MESSAGE 95780018 DMSG963A DC CL08' ' MESSAGE 95800018 * 95820000 DMSG964 DC CL24'IER964I - CALC. CORE PH ' MESSAGE 95840018 DMSG964A DC CL02'00' MESSAGE 95860018 DC CL03' = ' MESSAGE 95880018 DMSG964B DC CL08' ' MESSAGE 95900018 * 95920000 DMSG965 DC CL29'IER965I - MERGE ORDER = ' MESSAGE 95940018 DMSG965A DC CL02' ' MESSAGE 95960018 OPENERR DC CL21'IER063A - OPEN ERR - ' MESSAGE 95980018 OPENERRA DC CL7'SORTLIB' MESSAGE 96000018 OPENERRB DC CL7'USERLIB' MESSAGE 96020018 OPENERRC DC CL7'SYSLMOD' MESSAGE 96040018 OPENERRD DC CL7'SYSLIN ' MESSAGE 96060018 * 96080000 SMCPI 96100000 END 96120000 ./ ADD SSI=02012863,NAME=IERRCS,SOURCE=0 *MODULE NAME ***IERRCS*** 00020000 SPACE 2 00040000 *STATUS CHANGE LEVEL 000 00060000 SPACE 2 00080000 *MODULE FUNCTION 00100000 SPACE 1 00120000 * TAPE B&G CONSISTS OF THREE MODULES EXECUTED AT GENERAL 00140000 * ASSIGNMENT TIME. THESE MODULES ARE IERRCS,IERRCR,&IERBGA. 00160000 * THE OVERALL FUNCTION IS TO CALCULATE SORT BLOCKING, RECORD 00180000 * STORAGE AREA, NUMBER AND SIZE OF BUFFERS BY PHASE, MAXIMUM SORT 00200000 * CAPACITY(NMAX), AND WILL SELECT THE MOST EFFICIENT TECH. 00220000 * THREE DIFFERENT TECH. CAN BE USED FOR SEQUENCE DISTRIBUTION 00240000 * ON TAPES. EACH TECH. DIFFERS IN THE WAY IN WHICH SEQUENCES ARE 00260000 * DISTRIBUTED ONTO THE INTERMEDIATE STORAGE DEVICES, AND IN THE ORDER 00280000 * IN WHICH THE NUMBER OF INTERMEDIATE PASSES ARE REDUCED. THE THREE 00300000 * TECH. ARE, BALANCED,POLYPHASE, AND OSCILLATING TECH. 00320000 * THE SELECTION OF ONE OF THE THREE POSSIBLE TECH. IS MADE 00340000 * AFTER EVALUATING THE SORT PARAMETERS. 00360000 * TO DETERMINE THE SELECTION OF THE MOST EFFICIENT OF THE THREE 00380000 * TECH. FILE SIZE MUST BE GIVEN, OR CLOSELY ESTIMATED. IF THE FILE 00400000 * SIZE IS OMITTED, THE BALANCED TECH. IS CHOSEN. WHENEVER THREE WORK 00420000 * UNITS ARE SPECIFIED, ONLY THE POLYPHASE TECH. WILL BE CALCULATED. 00440000 * IERRCS IS THE FIRST OF THREE GENERAL ASSIGNMENT MODULES IN 00460000 * TAPE B&G. THE FUNCTION OF IERRCS IS TO CALCULATE SORT BLOCKING, 00480000 * SORT G, NMAX, NUMBER AND SIZE OF BUFFERS BY PHASE, AND GENERATED 00500000 * CORE BY PHASE FOR ALL THREE TECH. 00520000 *THE MODULE SAVES AND RESTORES ALL REGISTERS, AND USES ALL REGISTERS 00540000 SPACE 2 00560000 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT 00580000 SPACE 1 00600000 * IERRCR 00620000 * IERBGA 00640000 SPACE 2 00660000 *MACROS USED - NONE 00680000 SPACE 2 00700000 *ENTRY POINTS 00720000 SPACE 1 00740000 * CSECT NAME IERRCM ENTER FROM IERRCM VIA 00760000 * LOAD RP,(VCON) 00780000 * BALR RO,RP 00800000 * IERRCR ENTER FROM IERRCR VIA 00820000 * UNCONDITIONAL BRANCH 00840000 SPACE 2 00860000 *INPUT- CPI FIELDS REFRENCED 00880000 SPACE 1 00900000 * CPIBINSZ CPIFILSZ CPILAB07 00920000 * CPIEXTSZ CPIIPBLK CPILAB09 00940000 * CPIMODEX CPINWKU CPIOPBLK 00960000 * CPIP1RSZ CPIP2RSZ CPIP3RSZ 00980000 * CPIRCDL1 CPIRCDL2 CPIRCDL3 01000000 * CPIRCDL5 CPISRTBL CPISW1 01020000 * CPITAVLC 01040000 SPACE 2 01060000 *OUTPUT - CPI FIELDS INITIALIZED OR ALTERED 01080000 SPACE 1 01100000 * CPIBUF1 CPIBUF23 CPILAB03 01120000 * CPIMRGAL CPIMRGMX CPINMAX 01140000 * CPIP1GC CPIP2GC CPIP3GC 01160000 * CPISRTBL CPISRTG CPISW1 01180000 SPACE 2 01200000 *EXTERNAL ROUTINES 01220000 SPACE 1 01240000 * IERRCU DIAGNOSTIC AND ERROR MESSAGES 01260000 SPACE 2 01280000 *EXTERNAL PARAMETERS 01300000 SPACE 1 01320000 * IERRCU MESSAGES 01340000 SPACE 2 01360000 *EXITS-NORMAL 01380000 SPACE 1 01400000 * IERRCR UNCONDITIONAL BRANCH 01420000 SPACE 2 01440000 *EXITS-ERROR 01460000 SPACE 1 01480000 * IERRCR UNCONDITIONAL BRANCH 01500000 SPACE 2 01520000 *TABLES/WORK AREAS 01540000 SPACE 1 01560000 * WORK-WORK9 01580000 * WFULL- WFULL4 01600000 SPACE 2 01620000 *ATTRIBUTES- THIS IS A CLASS A MODULE 01640000 SPACE 2 01660000 *NOTES THIS IS RESTRICTED TO TAPE OPERATION ONLY. IT CONTAINS A DSECT 01680000 * OF IERRCR, IERBGA, AND IERRCU. 01700000 EJECT 01720000 *LIST OF GENERAL REGISTER EQUATE STATEMENTS 01740000 SPACE 2 01760000 RA EQU 0 WORK REGISTER. 01780000 * CONTENTS IN - N/A 01800000 * CONTENTS OUT - N/A 01820000 RB EQU 1 WORK REGISTER. 01840000 * CONTENTS IN - N/A 01860000 * CONTENTS OUT - N/A 01880000 RC EQU 2 WORK REGISTER. 01900000 * CONTENTS IN - N/A 01920000 * CONTENTS OUT - N/A 01940000 RD EQU 3 WORK REGISTER. 01960000 * CONTENTS IN - N/A 01980000 * CONTENTS OUT - N/A 02000000 RE EQU 4 WORK REGISTER. 02020000 * CONTENTS IN - N/A 02040000 * CONTENTS OUT - N/A 02060000 RF EQU 5 WORK REGISTER. 02080000 * CONTENTS IN - N/A 02100000 * CONTENTS OUT - N/A 02120000 RG EQU 6 RETURN REG FOR SUB-ROUTINES. 02140000 * CONTENTS IN - N/A 02160000 * CONTENTS OUT - N/A 02180000 RH EQU 7 IERBGA DSECT BASE REGISTER. 02200000 * CONTENTS IN - N/A 02220000 * CONTENTS OUT - N/A 02240000 RI EQU 8 WORK REGISTER. 02260000 * CONTENTS IN - N/A 02280000 * CONTENTS OUT - N/A 02300000 RJ EQU 9 RECORD FORMAT INDICATOR. 02320000 * CONTENTS IN - N/A 02340000 * CONTENTS OUT - N/A 02360000 RK EQU 10 TECHNIQUE HALF-WORD POINTER. 02380000 * CONTENTS IN - N/A 02400000 * CONTENTS OUT - N/A 02420000 RL EQU 11 MODULE BASE REGISTER. 02440000 * CONTENTS IN - N/A 02460000 * CONTENTS OUT - N/A 02480000 RM EQU 12 IERRCR DSECT BASE REGISTER. 02500000 * CONTENTS IN - N/A 02520000 * CONTENTS OUT - N/A 02540000 RN EQU 13 CPI BASE REGISTER. 02560000 * CONTENTS IN - N/A 02580000 * CONTENTS OUT - N/A 02600000 RO EQU 14 CHANNEL CONFIGURATION INDICATOR. 02620000 * CONTENTS IN - N/A 02640000 * CONTENTS OUT - N/A 02660000 RP EQU 15 TECHNIQUE INDICATOR. 02680000 * CONTENTS IN - N/A 02700000 * CONTENTS OUT - N/A 02720000 EJECT 02740000 IERRCS CSECT 02760000 *A345500,433300,916550 A31878 02760421 *C341800,342200,343200,345300-345400,345600,346200,347200 A31878 02760821 *D443600,446400,914800,917000 A31878 02760921 * 350800-354160,722400-723000,841403-841493 A27998 02761020 * 361820 A24561 02762019 * 842000-842600 A26433 02764019 USING *,RL BASE REGISTER FOR RCS CSECT 02780000 USING IERRCR,RM BASE REGISTER FOR RCR DSECT 02800000 USING IERBGA,RH BASE REGISTER FOR BGA DSECT 02820000 USING IERRC5,RN BASE REG FOR CPI DSECT. 02840000 LR RL,RP SET UP MODULE BASE REGISTER. 02860000 STM RA,RP,WREGSV1 SAVE REGISTER FOR RETURN TO RCM 02880000 L RM,ADCON1X LOAD BASE REG. FOR RCR 02900000 L RH,ADCON2X LOAD BASE REG. FOR BGA 02920000 B RCS0101 START INIT 02940018 EJECT 02960000 ******** PAGE 1 02980000 * START OF MODULE CODE PROPER. 03000000 SPACE 1 03020000 * START INITIALIZATION - CHANNEL STATUS INDICATOR, TECHNIQUE 03040000 * INDICATOR, RECORD INDICATOR........ 03060000 * CHECK IF A TECHNIQUE HAS BEEN SPECIFIED (FORCED). 03080000 SPACE 2 03100000 RCS0101 LH RA,CPINWKU NO. WORK UNITS AVAILABLE TO SORT. 03120000 STH RA,WBALNWKU UNITS AVAILABLE TO BAL TECHNIQUE. 03140000 CLC CPINWKU(2),K17 NO. WORK UNITS GREATER THAN 17..... 03160000 BC 2,RCS0101A YES - 03180000 B RCS0101B NO - 03200000 SPACE 2 03220000 * CUT BACK NUMBER OF AVAILABLE WORK UNITS TO ALLOW FOR 16 WAY 03240000 * NETWORK FOR POLYPHASE AND OSCILLATING TECHNIQUES. 03260000 SPACE 2 03280000 RCS0101A LA RA,17 SET MAX UNITS FOR POL/OSC TECHS. 03300000 RCS0101B STH RA,WPOLNWKU STORE NO. WORK UNITS - POL TECH. 03320000 STH RA,WOSCNWKU STORE NO. WORK UNITS - OSC TECH. 03340000 SPACE 2 03360000 * CHECK FILE SIZE STATUS - EXACT, ESTIMATED OR OMITTED. 03380000 SPACE 2 03400000 RCS0102 MVC WFULL+1(3),CPIFILSZ FILE SIZE PRESENT..... 03420000 L RC,WFULL 03440000 LTR RC,RC 03460000 BZ RCS0110 NO FILE SIZE GIVEN. 03480000 SPACE 2 03500000 ST RC,WFILSZ SAVE USER FILE SIZE. 03520000 OI WCSSWB,X'20' FILE SIZE GIVEN - SET SW 11. 03540000 TM CPISW1+3,X'02' FILE SIZE ESTIMATED..... 03560000 BO RCS0102A YES - 03580000 SPACE 2 03600000 OI WCSSWB,X'08' NO - FILE EXACT - SET SW 13. 03620000 B RCS0103 DO NOT SET SW 12 03640018 SPACE 2 03660000 RCS0102A OI WCSSWB,X'10' FILE ESTIMATED - SET SW 12. 03680000 SPACE 1 03700000 RCS0103 CLC CPINWKU(2),K03 NO. WORK UNITS GREATER THAN 3..... 03720000 BC 2,RCS0104 YES - 03740000 SPACE 2 03760000 RCS0103A OI WOPTTECH,X'40' SET POL TECH OPTIMIZATION INDICATOR 03780000 B RCS0110A SET UP FOR POLYPHASE. 03800000 SPACE 2 03820000 * CHECK IF A TECHNIQUE SPECIFIED . 03840000 SPACE 2 03860000 RCS0104 TM CPISW1,X'0E' ANY TECH SPECIFIED..... 03880000 BZ RCS0108 NO - 03900000 SPACE 2 03920000 LA RA,1 INDICATE ONE (1) TECH ONLY. 03940000 OI WCSSWB,X'40' INDICATE TECH FORCED. 03960000 TM CPISW1,X'0C' BAL OR POL TECH SPECIFIED..... 03980000 BM RCS0106 YES - 04000000 SPACE 2 04020000 * OSC TECHNIQUE FORCED - CHECK IF PERMISSABLE. 04040000 SPACE 2 04060000 RCS0105 TM CPISW1+5,X'04' IS INPUT UNIT A WORK UNIT..... 04080000 BO RCS0107 YES - SWITCH TO BALANCED TECH. 04100000 SPACE 2 04120000 OI WCSSWC,X'04' FORCE OSC TECH - SET SW 22. 04140000 OI WOPTTECH,X'20' SET OSC TECH OPTIMIZATION INDIC. 04160000 LA RB,8 SET TECH INDIC FOR OSC TECH FIRST. 04180000 B RCS0115 SET INDICATORS 04200018 SPACE 2 04220000 RCS0106 TM CPISW1,X'08' BAL TECHNIQUE SPECIFIED..... 04240000 BZ RCS0103A NO - POL TECH SPECIFIED. 04260000 SPACE 2 04280000 * BALANCED TECHNIQUE FORCED - SET UP OPTIMIZATION INDICATOR. 04300000 SPACE 2 04320000 RCS0107 OI WOPTTECH,X'80' SET BAL TECH OPTIMIZATION INDIC. 04340000 SPACE 2 04360000 B RCS0111 SET BALN. ONLY SWITHES 04380018 SPACE 2 04400000 RCS0108 TM CPISW1+5,X'04' IS INPUT A WORK UNIT..... 04420000 BO RCS0109 YES - 04440000 SPACE 2 04460000 OI WOPTTECH,X'E0' NO - SET BAL, POL AND OSC TECH 04480000 * OPTIMIZATION INDICATORS. 04500000 LA RA,3 INDICATE ALL THREE TECHNIQUES TO 04520000 * BE CALCULATED FOR. 04540000 LA RB,8 INDICATE OSC FIRST TECH TO CAL. FOR. 04560000 B RCS0115 SET INDICATORS 04580018 SPACE 2 04600000 RCS0109 OI WOPTTECH,X'C0' SET BAL AND POL TECH OPTIMIZATION 04620000 * INDICATORS. 04640000 LA RA,2 INDICATE TWO TECHNIQUES TO 04660000 * CALCULATE. (BAL-POL). 04680000 LA RB,4 INDICATE POL TECH FIRST TO CAL FOR. 04700000 B RCS0115 SET INDICATORS 04720018 SPACE 2 04740000 * FILE SIZE OMITTED - CHECK WORK UNITS TO DETERMINE WHICH 04760000 * TECHNIQUE TO FORCE. 04780000 SPACE 2 04800000 RCS0110 CLC CPINWKU(2),K03 NO. WORK UNITS GREATER THAN 3..... 04820000 BC 2,RCS0111 YES - FORCE BAL TECH. 04840000 SPACE 2 04860000 RCS0110A OI WCSSWB,X'40' NO - FORCE POL TECH. 04880000 OI WCSSWC,X'01' INDICATE POL TECH . 04900000 LA RA,1 INDICAT ONE (1) TECH ONLY. 04920000 ST RA,WPOLSCN SET A POLY SCN. NO. 04940000 LA RB,4 INDICATE POL TECH ONLY. 04960000 B RCS0115 SET INDICATORS 04980018 SPACE 2 05000000 RCS0111 OI WCSSWB,X'40' TECH FORCED - SET SW 10. 05020000 OI WCSSWC,X'02' INDICATE BAL TECH FORCED. 05040000 LA RA,1 INDICATE ONE (1) TECH ONLY. 05060000 ST RA,WBALSCN SET A BALN. SCN. NO. 05080000 LA RB,0 INDICATE BAL TECH ONLY. 05100000 B RCS0115 SET INDICATORS 05120018 SPACE 2 05140000 RCS0115 STH RA,WTQCTR STORE NO. OF TECHS TO BE CALCULATED. 05160000 STH RB,WTQIND STORE TECHNIQUE INDICATOR. 05180000 STH RA,WNOTECH NO. OF TECH'S TO OPTIMIZE. 05200000 STH RB,W1STTECH 1ST TECH TO OPTIMIZE FOR. 05220000 SRL RB,1 05240000 STH RB,WTQIND1 STORE TECH HALF-WORD POINTER. 05260000 SPACE 2 05280000 * SET INPUT RECORD FORMAT INDICATOR. 05300000 SPACE 1 05320000 * WRECIND = 0 FOR VARIABLE OR 4 FOR FIXED LENGRH RECORDS. 05340000 SPACE 2 05360000 RCS0116 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 05380000 BO RCS0116A YES - 05400000 SPACE 2 05420000 SR RA,RA NO - SET VARIABLE VALUE. 05440000 LA RB,8 SET RECORD FORMAT INCREMENT (+8). 05460000 B RCS0116B STORE VALUE. 05480000 SPACE 2 05500000 RCS0116A LA RA,4 SET FIXED LENGTH VALUE. 05520000 LA RB,4 SET RECORD FORMAT INCREMENT (+4). 05540000 SPACE 1 05560000 RCS0116B STH RA,WRECIND STORE RECORD INDICATOR VALUE. 05580000 STH RB,WRECINCR STORE RECORD INCREMENT. 05600000 AH RB,CPIRCDL2 05620000 ST RB,WRCDPLUS SIZE OF 1 RCD PLUS INCREMENT. 05640000 SPACE 2 05660000 * SET CHANNEL STATUS INDICATOR. 05680000 * WCHNIND = 0 FOR MPX, 4 FOR 1 SELECTOR, 8 FOR 2 SELECTOR. 05700000 SPACE 2 05720000 RCS0117 TM CPISW1+5,X'10' 2 SELECTOR CHANNELS..... 05740000 BO RCS0124 YES - 05760000 SPACE 1 05780000 TM CPISW1+5,X'18' 1 MPX CHANNEL..... 05800000 BZ RCS0125 YES - 05820000 SPACE 2 05840000 RCS0118 TM CPILAB09+3,X'02' INPUT AND WORK SAME CHANNEL..... 05860000 BZ RCS0120 YES - 05880000 SPACE 2 05900000 RCS0119 OI WCSSWB,X'02' NO - SET SWITCH 15. 05920000 RCS0120 TM CPILAB09+3,X'01' OUTPUT AND WORK SAME CHANNEL..... 05940000 BZ RCS0122 YES - 05960000 SPACE 2 05980000 RCS0121 OI WCSSWB,X'01' NO - SET SWITCH 16. 06000000 RCS0122 TM CPISW1+5,X'02' TAU OR SWITCH..... 06020000 BO RCS0124 YES - GO TO 2 CHANNEL ROUTINE. 06040000 SPACE 2 06060000 RCS0123 LA RA,4 SET INDIC TO 4 (1 SEL CHANNEL). 06080000 B RCS0126 STORE CHAN INDICATOR 06100018 SPACE 2 06120000 RCS0124 LA RA,8 SET INDIC TO 8 (2 SEL CHANNELS ). 06140000 B RCS0126 STORE CHAN INDICATOR 06160018 SPACE 2 06180000 RCS0125 LA RA,0 SET INDIC TO 0 (1 MPX CHANNEL). 06200000 SPACE 2 06220000 * STORE CHANNEL STATUS INDICATOR VALUE FOR LATER REFERENCE. 06240000 SPACE 2 06260000 RCS0126 STH RA,WCHNIND INITIAL CHANNEL STATUS. 06280000 STH RA,WCHNIND1 PHASE 1 CHANNEL STATUS. 06300000 STH RA,WCHNIND2 PHASE 2 CHANNEL STATUS. 06320000 STH RA,WCHNIND3 PHASE 3 CHANNEL STATUS. 06340000 SPACE 2 06360000 * CALCULATE MERGE ORDER (M) FOR ALL THREE (3) TECHNIQUES. 06380000 SPACE 2 06400000 RCS0127 LH RA,WPOLNWKU NO. WORK UNITS AVAIL TO POL/OSC. 06420000 BCT RA,RCS0127A (NO. WORK UNITS - 1). 06440000 SPACE 1 06460000 RCS0127A STH RA,WPOLMRMX POL MAX MERGE ORDER. 06480000 STH RA,WOSCMRMX OSC MAX MERGE ORDER. 06500000 LH RA,WBALNWKU NO. WORK UNITS AVAIL TO BAL TECH. 06520000 SRL RA,1 (NO. WORK UNITS/2). 06540000 STH RA,WBALMRAL BAL ALTERNATE MERGE ORDER. 06560000 TM CPINWKU+1,X'01' ODD NO. OF WORK UNITS..... 06580000 BZ RCS0127B NO - 06600000 SPACE 1 06620000 AH RA,K01 YES - INCREASE ALT MERGE ORDER 06640000 * BY 1 FOR MAX MERGE ORDER. 06660000 RCS0127B STH RA,WBALMRMX BAL MAX MERGE ORDER. 06680000 SPACE 2 06700000 MVC WP1IPBFR+2(2),CPILAB03 MOVE IN INPUT BUF SIZ A26453 06900019 MVC WP3OPBFR+2(2),CPILAB09+2 MOVE IN OUTPUT BUF SIZ A26453 07100019 SPACE 2 07340000 * CALCULATE MAXIMUM NUMBER OF REELS OF INPUT EACH TECH CAN HANDLE 07360000 SPACE 1 07380000 * POL TECH - 1 REEL MAX. 07400000 * BAL TECH = NWKU/2 - 1 MAX. 07420000 * OSC TECH = NWKU - 2 MAX. 07440000 SPACE 2 07460000 RCS0132 LA RB,1 07480000 STH RB,WPREELS POL - MAX INPUT 1 REEL. 07500000 LH RB,WBALNWKU BAL NO. WORK UNITS. 07520000 SRL RB,1 NWKU/2 07540000 BCT RB,RCS0132A NWKU/2 - 1. 07560000 SPACE 1 07580000 RCS0132A STH RB,WBREELS BAL - MAX REELS OF INPUT. 07600000 LH RB,WOSCNWKU OSC NO. WORK UNITS. 07620000 SH RB,K02 N - 2. 07640000 STH RB,WOREELS OSC - MAX REELS OF INPUT. 07660000 SPACE 2 07680000 * SET UP CONSTANTS TO BE USED FOR TAPE CAPACITY CALCULATIONS. 07700000 * CPISRTBL TEMP STORAGE FOR DENSITY INDICATOR. 07720000 SPACE 1 07740000 * 0 = 7 TRACK - 200 BPI 07760000 * 4 = 7 TRACK - 556 BPI 07780000 * 8 = 7 TRACK - 800 BPI 07800000 * 12 = 9 TRACK - 800 BPI 07820000 * 16 = 9 TRACK - 1600 BPI 07840000 SPACE 2 07860000 RCS0133 LH RB,CPISRTBL GET DENSITY INDICATOR. 07880000 L RC,KBITSMAX(RB) MAX BITS PER 2300 FT TAPE BY DEN. 07900000 ST RC,WDENTAPE STORE FOR CAPACITY CALCULATION RTN. 07920000 SRL RB,1 DENSITY HALFWORD INDICATOR 07940000 LH RC,KIRG(RB) IRG BY DENSITY. 07960000 STH RC,WIRGTAPE STORE FOR CAPACITY CALCULATION RTN. 07980000 EJECT 08000000 ******** PAGE 2 08020000 * CALCULATE RUNNING CORE SIZES (BAL AND POL TECHS) FOR PHASES 08040000 * 1, 2 AND 3 AND STORE VALUES IN PROPER TECHNIQUE LOCATION. 08060000 SPACE 2 08080000 RCS0201 LH RP,WTQIND SET TECHNIQUE INDICATOR. 08100000 LH RK,WTQIND1 SET TECH HALF-WORD POINTER. 08120000 SPACE 1 08140000 SR RA,RA 08160000 SR RB,RB 08180000 SR RC,RC 08200000 TM CPISW1+3,X'40' IS EXTRACT SPECIFIED? 08220000 BZ RCS02015 NO - CHECK IF EQUALS SPECIFIED 08240000 AH RA,CPIEXTSZ LOAD SIZE OF EXTRACT ROUTINE 08260000 LR RB,RA 08280000 LR RC,RA 08300000 B RCS0201A START CALCULATION 08320018 SPACE 1 08340000 RCS02015 TM CPISW1+3,X'80' IS EQUALS SPECIFIED? 08360000 BZ RCS0201A BRANCH ON NO 08380000 LA RA,86 LOAD SIZE OF EQUALS ROUTINE 08400000 LR RB,RA 08420000 LR RC,RA 08440000 SPACE 1 08460000 RCS0201A B RCS0201B(RP) GO TO PROPER TECH ROUTINE. 08480000 SPACE 2 08500000 RCS0201B B RCS0202 BAL TECH INDICATED. 08520000 B RCS0202 POL TECH INDICATED. 08540000 B RCS0401 OSC TECH INDICATED. 08560000 SPACE 2 08580000 * BAL OR POL TECHNIQUE INDICATED. 08600000 SPACE 2 08620000 RCS0202 LM RD,RF,KVALUE 08640000 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN 08660018 RCS0203 AH RA,K720 ADD REPLACEMENT NETWORK VALUE TO 08680000 * PHASE 1 CORE REQ. 08700000 RCS0204 A RA,KTAPE LOAD TAPE CONSTANTS 08720000 A RB,KTAPE+4 08740000 BAL RO,RCS0204A CONTINUE CALCULATING RUNNING PROGRAM 08746017 * HOWEVER THE CODE IS IN BGA 08752017 SPACE 2 08760000 * CHECK FOR SINGLE OR MULTIPLE CONTROL FIELDS. 08780000 SPACE 2 08800000 RCS0205 TM CPISW1,X'10' MULTIPLE CONTROL FIELDS..... 08820000 BO RCS0209 YES 08840000 SPACE 2 08860000 RCS0206 LM RD,RF,KSINGCF NO - SINGLE CONTROL FIELD. 08880000 RCS0208 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN. 08900000 SPACE 2 08920000 * CHECK FOR FIXED OR VARIABLE LENGTH RECORDS. 08940000 SPACE 2 08960000 RCS0209 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 08980000 BZ RCS0211 NO - 09000000 SPACE 2 09020000 RCS0210 LM RD,RF,KFIXLEN YES - LOAD FIXED LENGTH VALUES. 09040000 B RCS0212 UPDATE 09060018 SPACE 2 09080000 RCS0211 LM RD,RF,KVARLEN LOAD VARIABLE LENGTH VALUES. 09100000 RCS0212 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN. 09120000 SPACE 2 09140000 * CHECK FOR USER MODIFICATION EXITS. 09160000 SPACE 2 09180000 RCS0213 TM CPISW1+1,X'01' USER MODS PRESENT..... 09200000 BZ RCS0217 NO - 09220000 SPACE 2 09240000 RCS0214 LM RD,RF,KMODS YES - LOAD MODS CONSTANTS. 09260000 RCS0215 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN. 09280000 SPACE 2 09300000 * ADD IN USER MODIFICATION PROGRAM SIZES BY PHASE INTO RUNNING 09320000 * CORE TOTALS. 09340000 SPACE 2 09360000 RCS0216 MVC WFULL1+1(3),CPIP1RSZ P1 USER MODS SIZE. 09380000 L RD,WFULL1 09400000 MVC WFULL1+1(3),CPIP2RSZ P2 USER MODS SIZE. 09420000 L RE,WFULL1 09440000 MVC WFULL1+1(3),CPIP3RSZ P3 USER MODS SIZE. 09460000 L RF,WFULL1 09480000 BAL RO,RCSADD1 UPDATE TOTALS AND RETURN 09500000 SPACE 2 09520000 RCS0217 B RCS0301(RP) GO TO PROPER TECH ROUTINE. 09540000 EJECT 09560000 ******** PAGE 3 09580000 SPACE 2 09600000 RCS0301 B RCS0308 BALANCED TECHNIQUE INDICATED. 09620000 SPACE 2 09640000 * POLYPHASE TECHNIQUE INDICATED. 09660000 SPACE 1 09680000 RCS0302 AH RA,K740 PHASE 1 CONSTANT 09700000 LA RB,625(RB) PHASE 2 CONSTANT 09720000 LA RC,840(RC) PH 3 CONSTANT FOR TAPE READ ROUTINE 09740000 SPACE 2 09760000 * CHECK FOR 8 WAY OR 16 WAY NETWORK. 09780000 SPACE 2 09800000 RCS0303 CLC WPOLMRMX(2),K09 MERGE ORDER EQUAL/GREATER THAN 9... 09820000 BC 10,RCS0306 YES - 09840000 SPACE 2 09860000 RCS0304 OI WCSSWC,X'80' SET SW 17 - POLYPHASE 8 WAY. 09880000 RCS0305 LA RB,956(0,RB) PHASE 2 8 WAY CONSTANT. 09900000 LA RC,956(0,RC) PHASE 3 8 WAY CONSTANT. 09920000 B RCS0307 STORE SIZES 09940018 SPACE 2 09960000 RCS0306 LA RB,1632(0,RB) PHASE 2 16 WAY CONSTANT. 09980000 LA RC,1632(0,RC) PHASE 3 16 WAY CONSTANT. 10000000 RCS0307 STM RA,RC,WP1POLCR STORE POL PHASES 1 - 2 - 3 10020000 * RUNNING CORE SIZES. 10040000 B RCS0314 CONINUE INITIALIZATION 10060018 SPACE 2 10080000 RCS0308 AH RA,K725 PHASE 1 CONSTANT 10100000 LA RB,650(RB) PHASE 2 CONSTANT 10120000 LA RC,924(RC) PH 3 CONSTANT FOR TAPE READ ROUTINE 10140000 SPACE 2 10160000 * CALCULATE FOR EITHER 8 WAY OR 16 NETWORKS. 10180000 SPACE 2 10200000 RCS0309 CLC WBALMRMX(2),K09 MERGE ORDER EQUAL/GREATER THAN 9... 10220000 BC 10,RCS0312 YES - 10240000 SPACE 2 10260000 RCS0310 OI WCSSWC,X'40' SET SW 18 - BAL 8 WAY NETWORK. 10280000 RCS0311 LA RB,956(0,RB) PHASE 2 8 WAY CONSTANT. 10300000 LA RC,956(0,RC) PHASE 3 8 WAY CONSTANT. 10320000 B RCS0313 STORE SIZES 10340018 SPACE 2 10360000 RCS0312 LA RB,1632(0,RB) PHASE 2 16 WAY CONSTANT. 10380000 LA RC,1632(0,RC) PHASE 3 16 WAY CONSTANT. 10400000 RCS0313 STM RA,RC,WP1BALCR STORE BAL PHASES 1 - 2 - 3 10420000 * RUNNING CORE SIZES. 10440000 RCS0314 B RCS0601 CONTINUE INITIALIZATION. 10460000 EJECT 10480000 ******** PAGE 4 10500000 SPACE 2 10520000 * OSC TECHNIQUE INDICATED - BEGIN CALCULATIONS FOR OSC B & G. 10540000 SPACE 2 10560000 RCS0401 LM RD,RE,KVALUE1 OSCILLATING TECHNIQUE CONSTANTS 10580000 BAL RO,RCSADD2 UPDATE TOTALS 10600018 AH RA,K975 ADD REPLACEMENT NETWORK VALUE 10620000 * AND INITIALIZATION RTN VALUE. 10640000 AH RA,K2585 TAPE CONSTANTS 10660000 LA RB,840(RB) 10680000 BAL RO,RCS0402 CONTINUE CALCULATING RUNNING PROGRAM 10686017 * HOWEVER THE CODE IS IN BGA 10692017 TM CPISW1,X'10' MULTIPLE CONTROL FIELDS..... 10700000 BO RCS0403 YES 10720000 LA RB,75(RB) NO - SINGLE CONTROL FIELD 10740000 SPACE 2 10760000 * CHECK FOR FIXED OR VARIABLE LENGTH RECORDS. 10780000 SPACE 2 10800000 RCS0403 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 10820000 BO RCS0404 YES - 10840000 SPACE 2 10860000 LM RD,RE,KVARLEN1 NO - VARIABLE LENGTH RECORDS. 10880000 B RCS0404A GO UPDATE 10900018 SPACE 2 10920000 RCS0404 LM RD,RE,KFIXLEN1 FIXED LENGTH CONSTANTS. 10940000 RCS0404A BAL RO,RCSADD2 TOTAL AND RETURN. 10960000 SPACE 2 10980000 * CHECK FOR USER MODIFICATION EXIT PROGRAMS. 11000000 SPACE 2 11020000 RCS0405 TM CPISW1+1,X'01' USER MODS PRESENT..... 11040000 BZ RCS0502 NO 11060000 SPACE 2 11080000 LM RD,RE,KMODS1 YES - 11100000 BAL RO,RCSADD2 TOTAL AND RETURN. 11120000 SPACE 2 11140000 MVC WFULL+1(3),CPIP1RSZ PHASE 1 MOD SIZE. 11160000 A RD,WFULL 11180000 MVC WFULL+1(3),CPIP2RSZ PHASE 2 MOD SIZE. 11200000 A RD,WFULL 11220000 MVC WFULL+1(3),CPIP3RSZ PHASE 3 MOD SIZE. 11240000 A RE,WFULL 11260000 BAL 14,RCSADD2 TOTAL AND RETURN. 11280000 EJECT 11300000 SPACE 2 11320000 ******** PAGE 5 11340000 SPACE 2 11360000 * CHECK FOR 8 OR 16 WAY NETWORK. 11380000 SPACE 2 11400000 RCS0502 CLC WOSCMRMX(2),K09 MERGE ORDER EQUAL/GREATER THAN 9... 11420000 BC 10,RCS0503 YES - 11440000 SPACE 2 11460000 OI WCSSWC,X'20' SET SW 20 - OSC 8 WAY. 11480000 AH RA,K1035 OSCL 8-WAY CONSTANT 11500000 LA RB,956(RB) P3 8 WAY CONSTANTS 11520000 B RCS0505 STORE TOTALS 11540018 SPACE 2 11560000 * SET UP FOR 16 WAY NETWORK. 11580000 SPACE 2 11600000 RCS0503 AH RA,K1670 OSCL 16-WAY CONSTANT 11620000 RCS0504 LA RB,1632(0,RB) P3 16 WAY CONSTANTS. 11640000 RCS0505 STM RA,RB,WP12OSCR STORE OSC P12 AND P3 RUNNING CORE 11660000 * TOTAL FOR LATER REFERENCE. 11680000 EJECT 11700000 ******** PAGE 6 11720000 SPACE 2 11740000 * CALCULATE NUMBER OF INPUT AND OUTPUT BUFFERS FOR PHASE 2 11760000 * ALL TECHNIQUES. 11780000 SPACE 2 11800000 RCS0601 LH RO,WCHNIND2 PHASE 2 CHANNEL STATUS INDICATOR. 11820000 LH RE,WBALMRMX(RK) TECH MERGE MAX. 11840000 B RCS0601A(RO) GO TO PROPER CHAN STATUS RTN. 11860000 SPACE 2 11880000 RCS0601A B RCS0602 MPX CHANNEL INDICATED. 11900000 B RCS0603 1 SELECTOR CHANNEL INDICATED. 11920000 B RCS0604 2 SELECTOR CHANNELS INDICATED. 11940000 SPACE 2 11960000 RCS0602 LA RE,1(0,RE) MPX STATUS - M + 1 INPUT BFRS. 11980000 LA RF,1 1 OUTPUT BUFFER. 12000000 B RCS0606 SAVE NO. OF BFRS 12020018 SPACE 2 12040000 RCS0603 LA RE,2(0,RE) 1 SEL STATUS - M + 2 INPUT BFRS. 12060000 B RCS0605 SAVE NO. OF BFRS 12080018 SPACE 2 12100000 RCS0604 SLL RE,1 2 SELECTOR - TAU - SW. 12120000 LA RE,2(0,RE) 2M + 2 INPUT BFRS. 12140000 RCS0605 LA RF,2 2 OUTPUT BUFFERS. 12160000 RCS0606 STH RE,WBALNB2(RK) TOTAL NO. PHASE 2 BUFFERS (I/O). 12180000 STH RF,WBALOUT2(RK) NO. PHASE 2 OUTPUT BUFFERS. 12200000 EJECT 12220000 ******** PAGE 7 12240000 SPACE 2 12260000 * CALCULATE GENERATED CORE REQUIRED FOR PHASE 1 - ALL TECHNIQUES. 12280000 SPACE 2 12300000 RCS0701 LH RA,WBALNWKU(RK) TECH NO. WORK UNITS. 12320000 AH RA,K01 NO. WORK UNITS + 1. 12340000 SLL RA,2 (M+1) * 4 = DCB ADR TABLE CORE. 12360000 SPACE 2 12380000 * CHECK IF EITHER E15 OR E16 USER EXITS ACTIVATED. 12400000 SPACE 2 12420000 TM CPIMODEX,X'60' EITHER EXIT ACTIVATED..... 12440000 BM RCS0704A YES - 12460000 B RCS0702(RP) GO TO PROPER TECH ROUTINE. 12480000 SPACE 2 12500000 RCS0702 B RCS0709 BAL TECHNIQUE. 12520000 B RCS0709 POL TECHNIQUE. 12540000 SPACE 2 12560000 * OSC TECHNIQUE INDICATED - CHECK FOR USER EXIT E25. 12580000 SPACE 2 12600000 TM CPIMODEX,X'02' EXIT E25 ACTIVATED..... 12620000 BZ RCS0703 NO - 12640000 SPACE 1 12660000 * YES - 12680000 SPACE 1 12700000 OI WCSSWB,X'04' TURN ON SWITCH 14. 12720000 B RCS0704 CONTINUE 12740018 SPACE 2 12760000 RCS0703 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 12780000 BZ RCS0710 NO - 12800000 SPACE 1 12820000 * YES - 12840000 SPACE 1 12860000 RCS0704 TM CPISW1+2,X'40' RCD LENGTH GREATER THAN 256 12880000 BZ RCS0710 NO - 12900000 B RCS0704B YES - 12920000 SPACE 2 12940000 * CALCULATE THE SIZE OF THE MOVE ROUTINE NEEDED. 12960000 SPACE 2 12980000 RCS0704A TM CPISW1,X'80' FIXED LENGTH RECORDS..... 13000000 BZ RCS0710 NO - 13020000 SPACE 2 13040000 RCS0704B LH RE,CPIRCDL2 RECORD LENGTH. 13060000 LA RE,255(RE) 13080000 SRL RE,8 L1/256 = Q1 13100000 LR RF,RE SAVE Q1. 13120000 MH RE,K06 Q1 * 6. 13140000 LA RE,2(0,RE) Q1 * 6 + 2. 13160000 CH RF,K16 ORIGINAL Q1 VS 16. 13180000 BC 4,RCS0705 BRANCH LOW. 13200000 SPACE 2 13220000 SRL RF,4 Q1/16. 13240000 MH RF,K12 ( Q1 / 16 ) * 12. 13260000 AR RE,RF TOTAL MOVE SIZE. 13280000 RCS0705 TM WCSSWB,X'04' SW 14 ON - OSC E25 ACTIVE..... 13300000 BZ RCS0707 NO - GO TO PROPER TECH ROUTINE. 13320000 SPACE 1 13340000 * YES - 13360000 SPACE 1 13380000 RCS0706 STH RE,WMVRTSZ1 SAVE MOVE ROUTINE SIZE 13400000 AR RA,RE ADD MOVE SIZE TO TOTAL CORE REQ. 13420000 B RCS0710 CONTINUE 13440018 SPACE 2 13460000 RCS0707 B RCS0708(RP) GO TO PROPER TECH ROUTINE. 13480000 SPACE 1 13500000 RCS0708 B RCS0706 BAL TECH INDICATED. 13520000 B RCS0706 POL TECH INDICATED. 13540000 SPACE 2 13560000 * OSC TECHNIQUE INDICATED. 13580000 SPACE 2 13600000 SLL RE,1 IF OSC, DOUBLE MOVE ROUTINE SIZE. 13620000 B RCS0706 AND ADD TO TOTAL 13640018 SPACE 2 13660000 RCS0709 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 13680000 BO RCS0704 YES - 13700000 SPACE 2 13720000 * ADD IN CCWS AND INPUT BUFFER ADDRESS TABLE VALUES. 13740000 SPACE 2 13760000 RCS0710 AH RA,K40 13780000 EJECT 13800000 ******** PAGE 8 13820000 SPACE 2 13840000 * CALCULATE CORE REQUIRED FOR ALL IOB-ECBS (ALL TECHNIQUES) 13860000 SPACE 2 13880000 RCS0801 B RCS0801A(RP) GO TO PROPER TECH ROUTINE. 13900000 SPACE 1 13920000 RCS0801A B RCS0801B BAL TECH SPECIFIED. 13940000 B RCS0801B POL TECH SPECIFIED. 13960000 B RCS0801C OSC TECH SPECIFIED. 13980000 SPACE 2 14000000 * BALANCED OR POLYPHASE TECH SPECIFIED. 14020000 SPACE 2 14040000 RCS0801B LA RD,40 1 IOB-ECB FOR ALL DCBS. 14060000 STH RD,WBALIOB1(RK) PHASE 1 IOB-ECB CORE REQUIRED. 14080000 LA RD,112(RD) ADD IN RSA ADDRESS TABLE SIZE 14100000 AR RA,RD UPDATE PHASE 1 GEN CORE TOTAL. 14120000 LH RD,WBALMRMX(RK) TECH MERGE MAX. 14140000 B RCS0801D CONTINUE 14160018 SPACE 2 14180000 * OSCILLATING TECH SPECIFIED. 14200000 SPACE 1 14220000 * CALCULATE RECORD STORAGE AREA ADDRESS TABLE SIZE 14240000 SPACE 1 14260000 * RSA ADR TABLE SIZE = ( M + M+1/2 + 2 ) * 8 14280000 SPACE 2 14300000 RCS0801C LH RD,WBALMRMX(RK) (M) 14320000 LA RD,1(RD) (M + 1) 14340000 SRL RD,1 (M+1/2) 14360000 AH RD,WBALMRMX(RK) (M + M+1/2) 14380000 LA RD,2(RD) (M + M+1/2 + 2) 14400000 SLL RD,3 (M + M+1/2 + 2) * 8 14420000 AR RA,RD UPDATE PHASE 1 GEN CORE TOTAL. 14440000 SPACE 1 14460000 LH RD,WBALNWKU(RK) TECH NO. WORK UNITS. 14480000 MH RD,K40 (NWKU) * 40 = IOB-ECB CORE REQ. 14500000 * 1 IOB-ECB FOR EACH DCB. 14520000 STH RD,WBALIOB1(RK) PHASE 1 IOB-ECB CORE REQUIRED. 14540000 AR RA,RD UPDATE PHASE 1 GEN CORE TOTAL. 14560000 SPACE 2 14580000 * CALCULATE SIZE OF GETMAIN, SEQUENCE DISTRIBUTION AND PHASE 2 14600000 * INPUT BUFFER ADDRESS TABLES. 14620000 SPACE 2 14640000 LH RD,WBALNWKU(RK) TECH NO. WORK UNITS. 14660000 MH RD,K04 SEQ DISTR. TABLE = NWKU * 4. 14680000 AR RA,RD UPDATE GEN CORE TOTAL. 14700000 LH RD,WBALMRMX(RK) 14720000 LR RE,RD 14740000 CH RO,K04 MPX CHANNEL INDICATED..... 14760000 BC 4,RCR08A YES - M PHASE 2 INPUT BFRS. 14780000 SPACE 2 14800000 SLL RD,1 NO - 2M PHASE 2 INPUT BFRS. 14820000 RCR08A AR RA,RD UPDATE GEN CORE BY P2 INPUT BFR 14840000 * ADDRESS TABLE SIZE. 14860000 SRL RE,1 14880000 LA RE,5(RE) 14900000 AR RD,RE 14920000 SLL RD,3 14940000 AR RA,RD UPDATE GEN CORE TOTAL BY GETMAIN 14960000 * TABLE SIZE. 14980000 LH RD,WBALNWKU(RK) TECH NO. WORK UNITS. 15000000 RCS0801D MH RD,K52 EXCP DCB CORE REQUIRED. 15020000 MVC WFULL2(2),CPIDCBIN A26453 15030019 AH RD,WFULL2 ADD SORTIN DCB REQ A26453 15040019 LA RD,4(RD) A26453 15050019 STH RD,WBALDCB1(RK) PHASE 1 DCB CORE REQUIRED. 15060000 AR RA,RD UPDATE PHASE 1 GEN CORE TOTAL. 15080000 SPACE 2 15100000 * CHECK IF EXTRACT HAS BEEN SPECIFIED. 15120000 SPACE 2 15140000 RCS0802 TM CPISW1+3,X'40' EXTRACT SPECIFIED..... 15160000 BZ RCS0806 NO - CHECK IF EQUALS SPECIFIED. 15180000 SPACE 1 15200000 * YES - 15220000 SPACE 1 15240000 RCS0803 LH RE,CPILAB07 EXTRACTED CONTROL FLD SIZE. 15260000 LA RE,8(0,RE) 15280000 B RCS0804(RP) GO TO PROPER TECH ROUTINE. 15300000 SPACE 1 15320000 RCS0804 B RCS0804A BAL TECH SPECIFIED. 15340000 B RCS0804B POL TECH SPECIFIED. 15360000 B RCS0804B OSC TECH SPECIFIED. 15380000 SPACE 2 15400000 RCS0804A LH RB,WBALMRMX(RK) BAL TECH - MERGE MAX. 15420000 B RCS0805 COMPUTE SIZE 15440018 SPACE 2 15460000 RCS0804B LH RB,WBALNWKU(RK) POL/OSC NO. WORK UNITS AVAIL. 15480000 RCS0805 LA RB,1(0,RB) 15500000 STH RB,WORK 15520000 MH RE,WORK BAL=(EXTR CF+8) * (MRG MX + 1) 15540000 * POL=(EXTR CF+8) * (NWKU + 1) 15560000 * OSC=(EXTR CF+8) * (NWKU + 1) 15580000 STH RE,WBALEXT1(RK) STORE TOTAL SIZE OF EXTRACTED 15600000 * CONTROL FIELDS. 15620000 B RCS0807 CONTINUE CALCULATIONS 15660018 SPACE 2 15680000 * CHECK IF EQUALS HAS BEEN SPECIFIED. 15700000 SPACE 2 15720000 RCS0806 LA RE,0 SET EXTRACTED CF SIZE TO ZERO (0). 15740000 STH RE,CPILAB07 CLEAR CPILAB07 15760000 SPACE 1 15800000 RCS0807 BAL RO,RCS0807A CONTINUE CALCULATING GENERATED CORE 15810017 * SIZE. HOWEVER THE CODE IS IN BGA 15820017 B RCS0808 BAL TECH SPECIFIED. 15830017 B RCS0808 POL TECH SPECIFIED. 15840000 B RCS0901 OSC TECH SPECIFIED. 15860000 SPACE 2 15880000 RCS0808 AH RA,K200 15900000 ST RA,WBALP1GC(RP) SAVE BALN OR POLY PH 1 GEN CORE 15920000 * CALCULATED SIZE. 15940000 EJECT 15960000 ******** PAGE 9 15980000 SPACE 2 16000000 * CALCULATE BLOCK COUNTERS AND BLOCK/DEBLOCK ADR TABLE VALUES. 16020000 SPACE 2 16040000 RCS0901 LH RB,WBALNWKU(RK) TECH NO. WORK UNITS. 16060000 LR RD,RB 16080000 LA RD,1(RD) (N+1) 16100000 SLL RD,3 (N+1)*8 16120000 B RCS0902(RP) GO TO PROPER TECH ROUTINE. 16140000 SPACE 1 16160000 RCS0902 B RCS0903 BAL TECH INDICATED. 16180000 B RCS0903 POL TECH INDICATED. 16200000 SPACE 2 16220000 * OSCILLATING TECHNIQUE SPECIFIED. 16240000 SPACE 2 16260000 AR RA,RE ADD IN EXTRACT ROUTINE SIZE. 16280000 AR RA,RD ADD IN BLK CTRS & BLK/DEBLK TABLE. 16300000 LR RD,RB NO. OF WORK UNITS. 16320000 SLL RD,5 (2N*16) = MAX. NO. OF CCW'S 16340000 AR RA,RD ADD INTO PHASE 1 TOTAL. 16360000 LR RD,RB NO. OF WORK UNITS. 16380000 SLL RD,2 MULT BY 4-RECORD COUNTERS. 16400000 AR RA,RD UPDATE TOTAL. 16420000 AH RA,K200 16440000 ST RA,WOSCP1GC STORE OSC P12 GEN CORE REQ. 16460000 B RCS1001 GO DO PH3 16480018 SPACE 2 16500000 * BAL OR POL TECH INDICATED - START CALCULATING P2 GEN CORE. 16520000 SPACE 2 16540000 RCS0903 LH RB,WBALMRMX(RK) TECH MERGE MAX 16560000 LA RB,1(0,RB) MRG MX + 1 16580000 LR RA,RE EXTRACTED CF SIZE IF ANY. 16600000 AR RA,RD ADD IN BLK CTRS & BLK/DEBLK TABLE. 16620000 RCS0904 LH RD,WBALMRMX(RK) CALCULATE INPUT/OUTPUT CCW SIZE 16640000 SLL RD,5 (2M*16) = MAX INPUT/OUTPUT CCW'S 16660000 AR RA,RD UPDATE TOTAL. 16680000 AH RA,K32 MAX OUTPUT BFR CCW'S 16700000 SPACE 2 16720000 * CALCULATE MAX CORE REQ. FOR GET MAIN, ADDRESS AND SIZE TABLES. 16740000 SPACE 2 16760000 RCS0904A LH RD,WBALMRMX(RK) (M) 16780000 SLL RD,1 (2M) 16800000 LA RD,3(RD) (2M+3) 16820000 SLL RD,3 (2M+3) * 8 16840000 AR RA,RD UPDATE GEN CORE TOTAL. 16860000 RCS0905 LR RD,RB CALCULATE INPUT BFR ADR TABLE SIZE. 16880000 SLL RD,3 2(MRG MX) * 4. 16900000 AR RA,RD UPDATE TOTAL. 16920000 RCS0906 LR RD,RB CALCULATE P2 IOB-ECB CORE SIZE. 16940000 MH RD,K40 (MRG MX + 1) * 40. 16960000 STH RD,WBALIOB2(RK) PHASE 2 IOB-ECB CORE REQUIRED. 16980000 AR RA,RD UPDATE TOTAL. 17000000 RCS0907 LH RD,WBALNWKU(RK) NO. WORK UNITS. 17020000 MH RD,K52 RD=P2 EXCP DCB CORE REQ. 17040000 STH RD,WBALDCB2(RK) PHASE 2 DCB CORE REQUIRED. 17060000 AR RA,RD UPDATE TOTAL. 17080000 RCS0908 LH RD,WBALNWKU(RK) CALCULATE DCB ADR TABLE CORE REQ. 17100000 LA RD,1(0,RD) 17120000 SLL RD,2 (NWKU + 1) * 4. 17140000 AR RA,RD UPDATE TOTAL. 17160000 SPACE 2 17180000 * CHECK FOR FIXED LENGTH RECORDS. 17200000 SPACE 2 17220000 RCS0909 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 17240000 BZ RCS0909A NO 17260000 SPACE 1 17280000 * YES - 17300000 SPACE 1 17320000 TM CPISW1+2,X'40' RCDS GREATER THAN 256..... 17340000 BZ RCS0909A NO 17360000 SPACE 2 17380000 AH RA,WMVRTSZ1 YES - ADD MOVE ROUTINE SIZE 17400000 * NO - 17420000 RCS0909A TM CPIMODEX,X'02' EXIT 25 ACTIVATED 17440000 BZ RCS0911 NO - 17460000 SPACE 1 17480000 * YES - 17500000 SPACE 1 17520000 RCS0910 LH RD,WBALEXT1(RK) TECH EXTRACTED CF SIZE. 17540000 AR RA,RD UPDATE TOTAL. 17560000 RCS0911 AH RA,K200 17580000 ST RA,WBALP2GC(RP) STORE PH 2 GEN CORE VALUE IN 17600000 * PROPER TECH LOCATION. 17620000 EJECT 17640000 ******** PAGE 10 17660000 SPACE 2 17680000 * CALCULATE PHASE 3 GENERATED CORE VALUE (ALL TECHNIQUES) 17700000 SPACE 2 17720000 RCS1001 LH RB,WBALMRMX(RK) TECH MERGE MAX. 17740000 SR RA,RA RESET TOTAL FOR PHASE 3. 17760000 RCS1002 LR RD,RB 17780000 MH RD,K52 (MRG MX + 1) * 52 = EXCP DCB CORE. 17800000 MVC WFULL2(2),CPIDCBOU A26453 17810019 AH RD,WFULL2 ADD SORTOUT DCB REQ A26453 17820019 LA RD,4(RD) A26453 17830019 STH RD,WBALDCB3(RK) PHASE 3 DCB CORE REQUIRED. 17840000 AR RA,RD UPDATE TOTAL. 17860000 SPACE 1 17880000 RCS1002A LH RD,WBALMRMX(RK) TECH MRG MX. 17900000 SLL RD,1 (2M) 17920000 LA RD,3(RD) (2M+3) 17940000 SLL RD,3 (2M+3) * 8 17960000 AR RA,RD UPDATE GEN CORE TOTAL. 17980000 SPACE 1 18000000 RCS1003 LR RD,RB CALCULATE IOB-ECB CORE REQ. 18020000 MH RD,K40 (MRG MX + 1) * 40 = IOB-ECB CORE. 18040000 STH RD,WBALIOB3(RK) PHASE 3 IOB-ECB CORE REQUIRED. 18060000 AR RA,RD UPDATE TOTAL. 18080000 RCS1004 LR RD,RB CALCULATE CCWS FOR PHASE 2. 18100000 SLL RD,5 (2M*16) = MAX CCW'S CORE REQ 18120000 AR RA,RD UPDATE TOTAL. 18140000 RCS1005 LH RD,WBALNWKU(RK) CALCULATE DCB ADR TABLE, BLK CTRS, 18160000 * AND BLK/DEBLK ADR TABLE SIZE. 18180000 LA RD,1(0,RD) NO. OF WORK UNITS + 1 18200000 MH RD,K12 (MRG MX + 1) * 12 = TABLE CORE REQ. 18220000 AR RA,RD UPDATE TOTAL. 18240000 SPACE 1 18260000 RCS1006 LR RD,RB CALCULATE INPUT BFR ADR TABLE SIZE. 18280000 SLL RD,3 2(MRG MX + 1) * 4 = TABLE SIZE. 18300000 AR RA,RD UPDATE TOTAL. 18320000 BAL RO,RCS1006A CONTINUE CALCULATING GENERATED CORE 18326017 * SIZE. HOWEVER THE CODE IS IN BGA 18332017 SPACE 2 18340000 * CHECK IF EXTRACT HAS BEEN INDICATED. 18360000 SPACE 2 18380000 RCS1007 TM CPISW1+3,X'40' EXTRACT SPECIFIED..... 18400000 BZ RCS1009 NO 18420000 SPACE 1 18440000 STH RD,WORK 18460000 LH RD,WBALMRMX(RK) TECH MERGE MAX. 18480000 LA RD,1(0,RD) MRG MX + 1 18500000 MH RD,WORK (EXTR CF + 8) * (MRG MX + 1) 18520000 STH RD,WBALEXT3(RK) STORE TOTAL SIZE OF EXTRACTED 18540000 * CONTROL FIELDS FOR PHASE 3. 18560000 AR RA,RE ADD SIZE TO PHASE 3 GEN CORE TOTAL. 18580000 * YES - 18600000 SPACE 1 18620000 LH RD,CPILAB07 EXTRACTED CONTROL FIELD SIZE. 18640000 LA RD,8(0,RD) 18660000 RCS1009 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 18680000 BZ RCS1014 NO - 18700000 SPACE 2 18720000 RCS1010 TM CPIMODEX+1,X'20' EXIT E35 SPECIFIED..... 18740000 BO RCS1011 YES - CALCULATE PHASE 3 MOVE 18760000 SPACE 2 18780000 CLC K256(2),CPIRCDL3 L3 GREATER THAN 256..... 18800000 BH RCS1014 NO - STORE TOTALS. 18820000 SPACE 2 18840000 RCS1011 LH RE,CPIRCDL3 OUTPUT RECORD LENGTH. 18860000 LA RE,255(0,RE) 18880000 SRL RE,8 L3/256 = Q1. 18900000 LR RF,RE SAVE Q1 VALUE. 18920000 RCS1012 MH RE,K06 Q1 * 6. 18940000 LA RE,2(0,RE) (Q1 * 6) + 2. 18960000 CH RF,K16 ORIGINAL Q1 VS 16. 18980000 BC 4,RCS1013 BRANCH LOW. 19000000 SPACE 2 19020000 SRL RF,4 Q1/16 19040000 MH RF,K12 (Q1/16) * 12. 19060000 AR RE,RF TOTAL MOVE SIZE. 19080000 RCS1013 STH RE,WMVRTSZ3 SAVE PHASE 3 MOVE ROUTINE SIZE. 19100000 AR RA,RE UPDATE PHASE 3 GEN CORE TOTAL. 19120000 RCS1014 AH RA,K200 19140000 ST RA,WBALP3GC(RP) STORE PH 3 GEN TOTAL 19160000 EJECT 19180000 ******** PAGE 11 19200000 SPACE 2 19220000 * CALCULATE PHASES 1-2-3 AVAILABLE CORE (ALL TECHNIQUES) 19240000 SPACE 2 19260000 RCS1101 MVC WFULL1+1(3),CPITAVLC TOTAL AVAILABLE CORE. 19280000 L RB,WFULL1 PHASE 1 CORE TOTAL. 19300000 LR RC,RB PHASE 2 CORE TOTAL. 19320000 LR RD,RB PHASE 3 CORE TOTAL. 19340000 ST RB,WTAVLC SAVE VALUE FOR LATER REFERENCE. 19360000 B RCS1102(RP) GO TO PROPER TECH ROUTINE. 19380000 SPACE 1 19400000 RCS1102 B RCS1105 BAL TECH INDICATED. 19420000 B RCS1109 POL TECH INDICATED. 19440000 SPACE 2 19460000 * OSCILLATING TECHNIQUE SPECIFIED. 19480000 SPACE 2 19500000 RCS1103 LM RF,RG,WP12OSCR OSC - PHASES 12 & 3 RUNNING CORE. 19520000 A RF,WOSCP1GC OSC PHASE 12 GEN CORE. 19540000 A RG,WOSCP3GC OSC PHASE 3 GEN CORE SIZE. 19560000 RCS1104 SR RB,RF OSC PHASE 12 AVAILABLE CORE. 19580000 SR RC,RG OSC PHASE 3 AVAILABLE CORE. 19600000 STM RB,RC,WOSC1COR STORE OSC AVAILABLE CORE VALUES. 19620000 B RCS1201 CHECK PH1 BFRS 19640018 SPACE 2 19660000 * BALANCED TECHNIQUE INDICATED. 19680000 SPACE 2 19700000 RCS1105 LM RE,RG,WP1BALCR BAL - PHASES 1,2 & 3 RUNNING 19720000 * CORE SIZES. 19740000 RCS1106 A RE,WBALP1GC BAL - PHASE 1 GEN CORE SIZE. 19760000 A RF,WBALP2GC BAL - PHASE 2 GEN CORE SIZE. 19780000 A RG,WBALP3GC BAL - PHASE 3 GEN CORE SIZE. 19800000 RCS1108 SR RB,RE BAL PHASE 1 AVAILABLE CORE. 19820000 SR RC,RF BAL PHASE 2 AVAILABLE CORE. 19840000 SR RD,RG BAL PHASE 3 AVAILABLE CORE. 19860000 STM RB,RD,WBAL1COR SAVE BAL AVAILABLE CORE VALUES. 19880000 B RCS1201 CHECK PH1 BFRS 19900018 SPACE 2 19920000 * POLYPHASE TECHNIQUE INDICATED. 19940000 SPACE 2 19960000 RCS1109 LM RE,RG,WP1POLCR POL PHASES 1, 2 & 3 RUNNING 19980000 * CORE SIZES. 20000000 RCS1110 A RE,WPOLP1GC POL PHASE 1 GEN CORE SIZE. 20020000 A RF,WPOLP2GC POL PHASE 2 GEN CORE SIZE. 20040000 A RG,WPOLP3GC POL PHASE 3 GEN CORE SIZE. 20060000 RCS1112 SR RB,RE POL PHASE 1 AVAILABLE CORE. 20080000 SR RC,RF POL PHASE 2 AVAILABLE CORE. 20100000 SR RD,RG POL PHASE 3 AVAILABLE CORE. 20120000 STM RB,RD,WPOL1COR SAVE POL AVAILABLE CORE VALUES. 20140000 EJECT 20160000 ******** PAGE 12 20180000 SPACE 2 20200000 * CALCULATE PHASE 1 AVAILABLE CORE (LESS INPUT BUFFER/BUFFERS) 20220000 * IF 2 SELECTOR CHANNELS ARE INDICATED, DETERMINE IF PHASE 1 20240000 * AVAILABLE CORE IS SUFFICIENT TO ALLOW FOR DOUBLE BUFFERED 20260000 * INPUT. IF CORE REQUIRED FOR 2 INPUT BUFFERS IS GREATER THAN 20280000 * THE AVAILABLE CORE, ONLY ONE INPUT BUFFER WILL BE ALLOCATED 20300000 SPACE 2 20320000 RCS1201 LH RO,WCHNIND1 CHANNEL STATUS INDICATOR. 20340000 L RE,WP1IPBFR PHASE 1 INPUT BFR SIZE (BI). 20360000 LR RA,RB SAVE PHASE 1 CORE VALUE. 20380000 B RCS1202(RO) GO TO PROPER CHANNEL STATUS RTN. 20400000 SPACE 1 20420000 RCS1202 B RCS1206 MPX CHANNEL INDICATED. 20440000 B RCS1208 1 SELECTOR CHANNEL INDICATED. 20460000 SPACE 2 20480000 * 2 SELECTOR CHANNELS INDICATED. 20500000 SPACE 2 20520000 RCS1204 SLL RE,1 RE = 2(BI). 20540000 LA RC,2 NO. PHASE 1 INPUT BFRS. 20560000 SR RB,RE (P1AV/2BI) 20580000 BC 2,RCS1210 YES-2 BUFFERS WILL FIT 20600000 SPACE 2 20620000 * SET UP FOR ONE (1) INPUT BFR. 20640000 SPACE 2 20660000 OI WCSSWC,X'10' INDICATE USER BFR SIZE TOO LARGE 20680000 * FOR EFFICIENT PHASE 1 DOUBLE 20700000 * BUFFERING. 20720000 RCS1205 SRL RE,1 RE = 1(BI) 20740000 LR RB,RA RESTORE ORIGINAL P1AV VALUE 20760000 RCS1206 LA RC,1 NO. PHASE 1 INPUT BFRS. 20780000 RCS1207 SR RB,RE P1AV = P1AV - (BI CORE) 20800000 BC 4,RCRABRT2 INSUFFICIENT CORE - INPUT BFR SIZE 20820000 * TO HIGH FOR AVAILABLE CORE 20840000 B RCS1210 STORE VALUES. 20860000 SPACE 2 20880000 * 1 SELECTOR CHANNEL INDICATED - CHECK IF INPUT AND WORK UNITS 20900000 * ARE ON THE SAME CHANNEL. 20920000 SPACE 2 20940000 RCS1208 CLI WTQIND+1,X'08' OSC TECH SPECIFIED..... 20960000 BC 8,RCS1204 YES - TRY FOR 2 INPUT BFRS. 20980000 SPACE 2 21000000 TM WCSSWB,X'02' INPUT/WORK SAME CHANNEL..... 21020000 BO RCS1204 NO - TRY FOR 2 INPUT BFRS. 21040000 SPACE 2 21060000 RCS1209 B RCS1206 YES - SET UP 1 INPUT BFR. 21080000 SPACE 2 21100000 RCS1210 ST RB,WBAL1AVP(RP) STORE PHASE 1 AVAIL CORE LESS 21120000 * BFR/BFRS IN PROPER TECH LOCATION. 21140000 STH RC,WBALINP1(RK) STORE NO. PHASE 1 INPUT BFRS. 21160000 B RCS1301(RP) GO TO PROPER TECH ROUTINE. 21180000 EJECT 21200000 ******** PAGE 13 21220000 SPACE 2 21240000 RCS1301 B RCS1312 BAL TECHNIQUE INDICATED. 21260000 B RCS1313 POL TECHNIQUE INDICATED. 21280000 SPACE 2 21300000 * OSCILLATING TECHNIQUE SPECIFIED. 21320000 SPACE 2 21340000 RCS1302 LA RC,0 21360000 RCS1303 LR RD,RB RD = OSC P12 AVAILABLE CORE PRIME. 21380000 SPACE 2 21400000 * CHECK FOR FIXED LENGTH RECORDS. 21420000 SPACE 2 21440000 RCS1304 TM CPISW1,X'80' FIXED LENGTH RECORDS..... 21460000 BZ RCS1308 NO - 21480000 SPACE 2 21500000 * CALCULATE G PRIME AND TREE PRIME FOR OSC FIXED LENGTH RECORDS. 21520000 SPACE 2 21540000 RCS1305 LH RE,CPIBINSZ 21560000 LA RE,7(0,RE) BIN SIZE + 7. 21580000 DR RC,RE G' = P12AV/BIN SZ + 7. 21600000 BC 4,RCRABRT2 INSUFFICIENT CORE 21620000 ST RD,WGPRIMEF 21640000 SPACE 2 21660000 RCS1306 SR RC,RC 21680000 BCT RD,RCS1306A DECREMENT TO G-1 21700018 SPACE 1 21720000 RCS1306A LA RE,3 21740000 SPACE 1 21760000 DR RC,RE (G' - 1)/3. 21780000 BC 4,RCRABRT2 INSUFFICIENT CORE 21800000 SPACE 2 21820000 RCS1307 LA RE,20 21840000 SR RC,RC 21860000 SPACE 1 21880000 MR RC,RE TREE' = G'-1/3 * 20. 21900000 SPACE 1 21920000 ST RD,WTPRIMEF 21940000 B RCS1310 CHECK SIZE 21960018 SPACE 2 21980000 * CALCULATE G PRIME & TREE PRIME FOR OSC VARIABLE LENGTH RECORDS. 22000000 SPACE 2 22020000 RCS1308 LH RE,CPIBINSZ 22040000 LA RE,12(0,RE) BIN SIZE + 12. 22060000 DR RC,RE G' = P12AV/BIN SZ + 12. 22080000 BC 4,RCRABRT2 INSUFFICIENT CORE 22100000 ST RD,WGPRIMEV 22120000 SPACE 2 22140000 RCS1309 SR RC,RC 22160000 BCT RD,RCS1309A DECREMENT TO G-1 22180018 SPACE 1 22200000 RCS1309A LA RE,12 22220000 MR RC,RE TREE' = (G' - 1) * 12. 22240000 ST RD,WTPRIMEV 22260000 SPACE 2 22280000 * SUBTRACT TREE PRIME FROM OSC PHASE 12 AVAILABLE CORE. 22300000 SPACE 2 22320000 RCS1310 LR RC,RD TREE PRIME VALUE. 22340000 LR RD,RB PHASE 12 AVAIL. CORE. 22360000 ST RD,WOSC2AVP SAVE - TEST * TEST * TEST * TEST* 22380000 SR RD,RC PHASE 12 AVAIL. CORE LESS TREE 22400000 * PRIME VALUE. 22420000 RCS1311 LH RE,WOSCNB2 OSC - TOTAL NO. PHASE 2 BFRS (I/O). 22440000 B RCS1314 CALC BSL 22460018 SPACE 2 22480000 * BALANCED TECHNIQUE INDICATED. 22500000 SPACE 2 22520000 RCS1312 L RD,WBAL2COR BAL - PHASE 2 AVAILABLE CORE. 22540000 LH RE,WBALNB2 BAL - TOTAL NO. PHASE 2 BFRS (I/O). 22560000 B RCS1314 CALCULATE BSL 22580018 SPACE 2 22600000 * POLYPHASE TECHNIQUE INDICATED. 22620000 SPACE 2 22640000 RCS1313 L RD,WPOL2COR POL - PHASE 2 AVAILABLE CORE. 22660000 LH RE,WPOLNB2 POL - TOTAL NO. PHASE 2 BFRS (I/O). 22680000 RCS1314 SR RC,RC 22700000 B RCS1402 CALCULATE BSL 22720018 EJECT 22740000 ******** PAGE 14 22760000 SPACE 2 22780000 * CALCULATE SORT BLOCKING (BS) FOR FIXED OR VARIABLE LENGTH 22800000 * RECORDS ( ALL TECHNIQUES ). 22820000 SPACE 1 22840000 * ENTRY FROM BUFFER CUT-BACK ROUTINE. 22860000 SPACE 2 22880000 RCS1401 L RD,WP2UPDAV(RP) UPDATED PHASE 2 AVAILABLE CORE. 22900000 B RCS1402A CALCULATE BSL 22920018 SPACE 2 22940000 * NORMAL ENTRY POINT. 22960000 SPACE 2 22980000 RCS1402 ST RD,WP2UPDAV(RP) SAVE PHASE 2 AVAILABLE VALUE. 23000000 RCS1402A DR RC,RE P2AV/NB = BSL (RD) 23020000 SH RD,WRECINCR SORT BLOCKING - 4 OR 8 1259 23026014 BAL RI,ROUNDD+4 ALIGN TO DOUBLE WORD 1259 23032014 SPACE 2 23040000 * CHECK IF BUFFER SIZE (BSL) EQUAL TO/GREATER THAN 1 RCD (+4 OR 8) 23060000 SPACE 2 23080000 RCS1403 LH RJ,WRECIND RECORD FORMAT INDICATOR 23100000 * ( FIXED = 4, VARIABLE = 0 ) 23120000 B RCS1403A(RJ) GO TO PROPER RCD FORMAT ROUTINE. 23140000 SPACE 1 23160000 RCS1403A B RCS1403C VARIABLE LENGTH RECORDS INDICATED. 23180000 SPACE 2 23200000 * FIXED LENGTH RECORDS INDICATED. 23220000 SPACE 2 23240000 RCS1403B LH RF,CPIRCDL2 FIXED RECORD LENGTH. 23260000 LA RF,4(0,RF) 1 RECORD + 4. 23280000 B RCS1403D CHECK BSL VS RCD 23300018 SPACE 2 23320000 * VARIABLE LENGTH RECORDS INDICATED. 23340000 SPACE 2 23360000 RCS1403C LH RF,CPIRCDL2 VARIABLE RECORD LENGTH. 23380000 LA RF,8(0,RF) 1 RECORD + 8. 23400000 RCS1403D CR RD,RF BSL EQUAL/GREATER 1 RCD (+4 OR 8). 23420000 BC 10,RCS1404 YES - 23440000 B RCS1517 NO - GO TO BFR CUT-BACK ROUTINE. 23460000 SPACE 2 23480000 RCS1404 CH RF,K10000 1 RCD (+4 OR 8) GREATER THAN 10K... 23500000 BC 2,RCS1405(RJ) YES - GO TO PROPER RCD FORMAT RTN. 23520000 B RCS1408 NO - 23540000 SPACE 2 23560000 RCS1405 B RCS1407 VARIABLE LENGTH RECORDS INDICATED. 23580000 SPACE 2 23600000 * FIXED LENGTH RECORDS INDICATED - 1 RECORD EQUAL 10 K OR OVER. 23620000 SPACE 2 23640000 RCS1406 LA RA,1 SET BS = 1. 23660000 BAL RI,ROUNDF ALIGN TO DOUBLE WORD 1259 23670014 STH RA,WBALBS(RK) STORE BS IN TECH LOCATION. 23680000 STH RF,WBSLBAL(RK) STORE BSL IN TECH LOCATION. 23700000 B RCS1416 CHECK PH2 BFRS VS CORE 23720018 SPACE 2 23740000 * VARIABLE LENGTH RECORDS INDICATED - 1 RECORD EQUAL 10 K OR OVER. 23760000 SPACE 2 23780000 RCS1407 BAL RI,ROUNDF DOUBLE WORD ALIGNMENT 1259 23790014 STH RF,WBALBS(RK) STORE BS IN TECH LOCATION 1259 23800014 STH RF,WBSLBAL(RK) STORE BSL IN TECH LOCA3ION 23820000 LR RD,RF 23840000 B RCS1416 CHECK PH2 BFRS VS CORE 23860018 SPACE 2 23880000 * CHECK IF BUFFER SIZE (BSL) LESS THAN 10 K. 23900000 SPACE 2 23920000 RCS1408 CH RD,K10000 BSL LESS THAN 10K..... 23940000 BC 4,RCS1410(RJ) YES - GO TO PROPER RCD FORMAT RTN. 23960000 SPACE 2 23980000 RCS1409 LH RD,K10000 REDUCE BSL TO 10K. 24000000 B RCS1410(RJ) GO TO PROPER RCD FORMAT ROUTINE. 24020000 SPACE 1 24040000 RCS1410 B RCS1413 VARIABLE LENGTH RECORDS INDICATED. 24060000 SPACE 2 24080000 * FIXED LENGTH RECORDS INDICATED - BSL LESS THAN 10K. 24100000 SPACE 2 24120000 RCS1411 SR RC,RC 24140000 LH RE,CPIRCDL2 RECORD LENGTH. 24160000 STH RD,WBSLBAL(RK) STORE BSL IN TECH LOCATION. 24180000 DR RC,RE BS = BSL/L2 (RD = BS ) 24200000 STH RD,WBALBS(RK) STORE BS IN TECH LOCATION. 24220000 SPACE 1 24240000 RCS1412 MR RC,RE BS * L2 24260000 LA RD,4(0,RD) NEW BSL = (BS * L2) + 4. 24280000 BAL RI,ROUNDD ALIGN TO DOUBLE WORD 1259 24290014 STH RD,WBSLBAL(RK) STORE NEW BSL IN TECH LOCATION. 24300000 B RCS1416 CHECK PH2 BFRS VS CORE 24320018 SPACE 2 24340000 * VARIABLE LENGTH RECORDS INDICATED - BSL LESS THAN 10K. 24360000 SPACE 2 24380000 RCS1413 LR RA,RD SET RA=BSL. 24400000 SR RC,RC 24420000 LH RE,CPIRCDL2 MAX RECORD LENGTH. 24440000 LA RE,8(0,RE) MAX RCD + 8. 24460000 DR RC,RE X = BSL/MAX RCD + 8. 24480000 RCS1414 CH RD,K01 X EQUAL/GREATER 1 RCD + 8. 24500000 BC 10,RCS1415 YES - 24520000 B RCS1517 NO - GO TO BFR CUT-BACK ROUTINE. 24540000 SPACE 2 24560000 RCS1415 AH RA,K09 RECORD INCREMENT AND 7 1259 24566014 AH RA,K06 BYTES FOR ROUNDING= 15 1259 24572014 ST RA,WFULL1 1259 24578014 NI WFULL1+3,X'F8' FOR ALIGNMENT 1259 24584014 L RA,WFULL1 RESTORING REGISTER 1259 24590014 STH RA,WBALBS(RK) STORE BS IN TECH LOCATION 24600000 STH RA,WBSLBAL(RK) STORE BSL IN TECH LOCATION. 24620000 LR RD,RA RD = BSL. 24640000 SPACE 2 24660000 * CHECK IF PHASE 2 AVAILABLE CORE IS LARGE ENOUGH TO HOLD ALL 24680000 * REQUIRED PHASE 2 BUFFERS. 24700000 SPACE 2 24720000 RCS1416 LH RE,WBALNB2(RK) TECH PHASE 2 TOTAL NO. BFRS (I/O). 24740000 MR RC,RE BSL * NB = Z (BFR CORE REQ). 24760000 L RC,WP2UPDAV(RP) UPDATED PHASE 2 AVAILABLE CORE. 24780000 RCS1416A CR RD,RC (BSL*NB) LESS/EQUAL PHASE 2 AVAIL. 24800000 BC 12,RCS1501 YES - 24820000 SPACE 2 24840000 B RCS1416B(RJ) GO TO PROPER RCD FORMAT ROUTINE. 24860000 SPACE 1 24880000 RCS1416B B RCS1419 VARIABLE LENGTH RECORDS INDICATED. 24900000 SPACE 2 24920000 * FIXED LENGTH RECORDS INDICATED. 24940000 SPACE 2 24960000 RCS1416C LH RC,CPIRCDL2 SORT RECORD LENGTH. 24980000 SLL RC,1 25000000 LA RC,4(0,RC) 2 RCDS + 4. 25020000 RCS1417 CR RD,RC BSL EQUAL/GREATER 2 RCDS + 4..... 25040000 BC 10,RCS1418 YES - 25060000 B RCS1517 NO - GO TO BFR CUT-BACK ROUTINE. 25080000 SPACE 2 25100000 RCS1418 LH RD,WBALBS(RK) GET OLD BS VALUE. 25120000 BCT RD,RCS1418A BS = BS - 1. 25140000 SPACE 1 25160000 RCS1418A STH RD,WBALBS(RK) STORE NEW BS VALUE IN TECH LOCATION 25180000 LH RE,CPIRCDL2 RECORD LENGTH. 25200000 B RCS1412 CALCULATE NEW BSL. 25220000 SPACE 2 25240000 * VARIABLE LENGTH RECORDS INDICATED. 25260000 SPACE 2 25280000 RCS1419 LH RC,CPIRCDL2 SORT RECORD LENGTH. 25300000 SLL RC,1 25320000 LA RC,8(0,RC) 2 RCDS + 8. 25340000 CR RD,RC BSL EQUAL/GREATER 2 MAX RCDS + 8. 25360000 BC 10,RCS1419A YES - 25380000 B RCS1517 NO - GO TO BFR CUT-BACK ROUTINE. 25400000 SPACE 2 25420000 * REDUCE BUFFER SIZE (BSL) BY 1 MAX RECORD LENGTH. 25440000 SPACE 2 25460000 RCS1419A LH RC,CPIRCDL2 RECORD SIZE. 25480000 LR RD,RA LOAD OLD BSL 25500000 SR RD,RC BSL = BSL - 1 MAX RECORD. 25520000 B RCS1413 CHECK AGAIN 25540018 * IN AVAILABLE CORE. 25560000 EJECT 25580000 ******** PAGE 15 25600000 SPACE 2 25620000 * CHECK IF LEFT OVER CORE (X) CAN BE USED FOR ADDITIONAL 25640000 * PHASE 2 BUFFERS. 25660000 SPACE 2 25680000 RCS1501 SR RC,RD LEFT OVER CORE = P2AV - (BSL*NB). 25700000 RCS1502 B RCS1502A(RJ) GO TO PROPER RCD FORMAT RTN. 25720000 SPACE 1 25740000 RCS1502A B RCS1504 VARIABLE RCDS INDICATED. 25760000 SPACE 2 25780000 * FIXED LENGTH RECORDS INDICATED. 25800000 SPACE 2 25820000 B RCS1503(RO) GO TO PROPER CHANNEL STATUS RTN. 25840000 SPACE 1 25860000 RCS1503 B RCS1601 MPX - GO TO PHASE 3. 25880000 B RCS1504 1 SELECTOR CHANNEL INDICATED. 25900000 SPACE 2 25920000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 25940000 SPACE 2 25960000 RCS1504 LR RD,RC RD = LEFT OVER CORE. 25980000 LR RA,RC SAVE VALUE FOR LATER REFERENCE. 26000000 LH RE,WBSLBAL(RK) SORT BUFFER SIZE. 26020000 CR RD,RE LEFT OVER CORE EQUAL/GREATER BSL... 26040000 BC 10,RCS1508 YES - 26060000 SPACE 2 26080000 RCS1505 B RCS1505A(RJ) GO TO PROPER RCD FORMAT RTN. 26100000 SPACE 1 26120000 RCS1505A B RCS1506 VARIABLE RCDS INDICATED. 26140000 B RCS1601 FIXED RCDS INDICATED - GO TO 26160000 * PHASE 3 26180000 SPACE 1 26200000 RCS1506 LH RE,WBALNB2(RK) TOTAL PHASE 2 BUFFERS. 26220000 SR RC,RC 26240000 DR RC,RE W = LEFT OVER CORE/NB. 26260000 RCS1507 LH RC,WBSLBAL(RK) VAR - TECH BSL. 26280000 CH RC,K10000 IS BSL GREATER THAN 10000 26285017 BC 10,RCS1507B YES 26290017 SPACE 1 26295017 AR RC,RD BSL = BSL + W. 26300000 CH RC,K10000 NEW BSL GREATER THAN 10000 26320000 BC 10,RCS1507A YES 26340000 SPACE 1 26346017 RCS1507B EQU * 26352017 SPACE 2 26360000 BAL RI,ROUNDC ALIGN TO DOUBLE WORD 1259 26370014 STH RC,WBSLBAL(RK) STORE TECH NEW BSL. 26380000 STH RC,WBALBS(RK) STORE TECH NEW BS. 26440000 B RCS1601 GO TO PHASE 3. 26460000 SPACE 2 26480000 RCS1507A LH RC,K10000 LOAD MAXIMUM BSL 26500000 LA RC,8(RC) ADD 8 TO BSL 26520000 STH RC,WBALBS(RK) STORE NEW BS 26540000 STH RC,WBSLBAL(RK) STORE NEW BSL 26560000 B RCS1601 GO TO PHASE - 3 26580000 SPACE 2 26600000 RCS1508 SR RC,RC 26620000 DR RC,RE Z = X/BSL. 26640000 RCS1509 ST RC,WFULL4 SAVE REMAINDER. 26660000 RCS1510 LH RG,WBALNB2(RK) 26680000 LH RF,WBALMRMX(RK) TECH MERGE MAX. 26700000 SLL RF,1 26720000 LA RF,2(RF) 2M+2 VALUE. 26740000 AR RG,RD NB = NB + Z. 26760000 CR RG,RF NB GREATER THAN 2M+2..... 26780000 BC 2,RCS1511 YES - 26800000 SPACE 2 26820000 RCS1510A STH RG,WBALNB2(RK) STORE NEW PHASE 2 NB. 26840000 LA RC,2 26860000 STH RC,WBALOUT2(RK) SET UP 2 PHASE 2 OUTPUT BFRS. 26880000 B RCS1515 CONTINUE 26900018 SPACE 2 26920000 RCS1511 STH RF,WBALNB2(RK) STORE 2M+2 IN P2NB. 26940000 LA RC,2 26960000 STH RC,WBALOUT2(RK) STORE 2 PHASE 2 OUTPUT BFRS. 26980000 RCS1512 SR RG,RF V = (NB+Z) - (2M+2). 27000000 RCS1513 SR RC,RC 27020000 LR RD,RG RD = V 27040000 LH RE,WBSLBAL(RK) RE = BSL VALUE. 27060000 MR RC,RE Y = V * BSL. 27080000 RCS1514 A RD,WFULL4 REMAINSER = REMAINDER + Y. 27100000 RCS1515 B RCS1515A(RJ) GO TO PROPER RCD FORMAT RTN. 27120000 SPACE 1 27140000 RCS1515A B RCS1516 VAR LENGTH RCDS. 27160000 B RCS1601 FIXED RCDS - GO TO PHASE 3. 27180000 SPACE 2 27200000 RCS1516 LH RD,WBSLBAL(RK) LOAD BSL 27220000 CH RD,K10000 BSL GREATER / EQUAL TO 10000 27240000 BC 10,RCS1601 YES-GO TO PHASE-3 27260000 SPACE 2 27280000 L RD,WFULL4 RD=REMAINDER 27300000 B RCS1506 UP TO MAX OR OPT AND EXIT 27320018 SPACE 2 27340000 * BUFFER CUT-BACK ROUTINE. 27360000 SPACE 2 27380000 RCS1517 LH RO,WCHNIND2 PHASE 2 CHANNEL STATUS. 27400000 B RCS1517A(RO) GO TO PROPER CHANNEL STATUS RTN. 27420000 SPACE 1 27440000 RCS1517A B RCRABRT2 INSUFFICIENT CORE - MPX IND.- 27460000 * ALREADY AT MINIMUM BFRS. 27480000 B RCS1518 1 SELECTOR CHANNEL INDICATED. 27500000 SPACE 2 27520000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 27540000 SPACE 2 27560000 RCS1518 LH RG,WBALNB2(RK) 27580000 LH RF,WBALMRMX(RK) TECH MERGE MAX. 27600000 LA RF,1(RF) M + 1. 27620000 CR RG,RF NB GREATER THAN M + 1. 27640000 BC 4,RCRABRT2 INSUFFICIENT CORE 27660000 SPACE 1 27680000 RCS1519 BCT RG,RCS1520 P2NB = P2NB - 1. 27700000 SPACE 2 27720000 RCS1520 CR RG,RF P2NB = M + 1. 27740000 BC 8,RCS1521 YES - 27760000 SPACE 2 27780000 LA RF,2 SET UP 2 PHASE 2 OUTPUT BFRS. 27800000 B RCS1521A STORE VALUES 27820018 SPACE 2 27840000 RCS1521 LA RF,1 SET UP 1 PHASE 2 OUTPUT BFR. 27860000 RCS1521A STH RF,WBALOUT2(RK) STORE NO. PHASE 2 OUTPUT BFRS. 27880000 STH RG,WBALNB2(RK) STORE NEW TOTAL PHASE 2 BFRS. 27900000 SPACE 2 27920000 * UPDATE PHASE 2 GENERATED CORE AND AVAILABLE CORE. 27940000 SPACE 2 27960000 RCS1522 L RD,WP2UPDAV(RP) PHASE 2 UPDATED AVAILABLE CORE. 27980000 LA RD,4(RD) 28000000 ST RD,WP2UPDAV(RP) STORE NEW PHASE 2 AVAIL. CORE. 28020000 SPACE 1 28040000 EX 0,RCS1522A(RP) EXECUTE PROPER TECH LOAD INSTR. 28060000 SPACE 1 28080000 B RCS1523 SKIP EXECUTED INSTRUCTS 28100018 SPACE 1 28120000 DS 0F 28140000 RCS1522A L RB,WBALP2GC BAL - PHASE 2 GEN CORE. 28160000 L RB,WPOLP2GC POL - PHASE 2 GEN CORE. 28180000 L RB,WOSCP1GC OSC - PHASE 2 GEN CORE. 28200000 SPACE 1 28220000 DS 0F 28240000 RCS1522B ST RB,WBALP2GC BAL - STORE NEW P2 GEN CORE VALUE. 28260000 ST RB,WPOLP2GC POL - STORE NEW P2 GEN CORE VALUE. 28280000 ST RB,WOSCP1GC OSC - STORE NEW P2 GEN CORE VALUE. 28300000 SPACE 1 28320000 RCS1523 SH RB,K04 REDUCE GEN CORE SIZE BY FOUR (4). 28340000 SPACE 1 28360000 EX 0,RCS1522B(RP) 28380000 SPACE 1 28400000 SR RC,RC 28420000 LH RE,WBALNB2(RK) RECALCULATE BS AND BSL. 28440000 B RCS1401 START AGAIN 28460018 EJECT 28480000 ******** PAGE 16 28500000 SPACE 2 28520000 * START OF PHASE 3 CALCULATIONS. 28540000 * CHECK IF PHASE 3 WILL HANDLE PHASE 2 CALCULATED BFR SIZE (BSL) 28560000 SPACE 2 28580000 RCS1601 LH RO,WCHNIND3 PHASE 3 CHANNEL STATUS INDICATOR. 28600000 L RE,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 28620000 SPACE 2 28640000 B RCS1602(RO) GO TO PROPER CHANNEL STATUS 28660000 SPACE 2 28680000 RCS1602 B RCS1604 MPX CHANNEL INDICATED. 28700000 B RCS1604 1 SELECTOR CHANNEL INDICATED. 28720000 SPACE 2 28740000 * 2 SELECTOR CHANNELS INDICATED. 28760000 SPACE 2 28780000 RCS1603 SLL RE,1 (BO+8)*2 28800000 LA RB,2 NO. PHASE 3 OUTPUT BFRS. 28820000 B RCS1604A STORE 28840018 SPACE 2 28860000 * MPX OR 1 SELECTOR CHANNEL INDICATED. 28880000 SPACE 2 28900000 RCS1604 LA RB,1 NO. PHASE 3 OUTPUT BFRS. 28920000 RCS1604A STH RB,WBALOUT3(RK) STORE NO. PHASE 3 OUTPUT BFRS. 28940000 SPACE 2 28960000 * SUBTRACT OUTPUT BFR/BFRS FROM PHASE 3 AVAILABLE CORE. 28980000 SPACE 2 29000000 RCS1605 EX 0,RCS1605A(RP) LOAD TECH AVAILABLE CORE. 29020000 SPACE 1 29040000 B RCS1605B AND UPDATE 29060018 DS 0F 29080000 RCS1605A L RD,WBAL3COR BAL - PHASE 3 AVAILABLE CORE. 29100000 L RD,WPOL3COR POL - PHASE 3 AVAILABLE CORE. 29120000 L RD,WOSC3COR OSC - PHASE 3 AVAILABLE CORE. 29140000 RCS1605B SR RD,RE P3AV=P3AV-BO 29160000 BC 4,RCS1605C BRANCH IF NEGATIVE. 29180000 SPACE 2 29200000 ST RD,WBAL3AVP(RP) SAVE VALUE FOR LATER REFERENCE. 29220000 LR RA,RD SAVE AVAILABLE CORE VALUE. 29240000 B RCS1606 CHECK INPUT BFRS VS CORE 29260018 SPACE 2 29280000 RCS1605C LA RB,1 29300000 CH RB,WBALOUT3(RK) 2 PHASE 3 OUTPUT BFRS..... 29320000 BC 8,RCRABRT2 INSUFFICIENT CORE 29340000 B RCS1604 YES - CUT BACK TO 1 PHASE 3 OUTPUT 29360000 * BUFFER. 29380000 SPACE 2 29400000 * CHECK IF PHASE 3 AVAILABLE CORE WILL HOLD AT LEAST THE MERGE 29420000 * ORDER (M) NUMBER OF INPUT BUFFERS. 29440000 SPACE 2 29460000 RCS1606 LH RE,WBALMRMX(RK) TECH MERGE MAX. 29480000 SR RC,RC 29500000 DR RC,RE BSL3 = P3AV/M 29520000 RCS1607 CH RD,WBSLBAL(RK) BSL3 EQUAL/GREATER THAN BSL..... 29540000 BC 10,RCS1610(RO) YES - 29560000 SPACE 1 29580000 * NO - BSL GREATER THAN BSL3. 29600000 SPACE 1 29620000 RCS1608 CH RB,K02 2 PHASE 3 OUTPUT BFRS..... 29640000 BC 8,RCS1609 YES 29660000 SPACE 2 29680000 AR RB,RE NB3=M+1 29700000 STH RB,WBALNB3(RK) STORE VALUE 29720000 LR RG,RD RG = BSL3 SIZE. 29740000 LH RD,WBSLBAL(RK) RD = BSL2 SIZE. 29760000 B RCS1701 RE-CALCULATE BSL AND BS. 29780000 SPACE 2 29800000 RCS1609 L RE,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 29820000 B RCS1604 REDUCE TO ONE 29840018 SPACE 2 29860000 * BSL3 GREATER THAN BSL - CAN ADDITIONAL CORE BE UTILIZED FOR 29880000 * ADDITIONAL BFRS. 29900000 SPACE 2 29920000 RCS1610 B RCS1615B MPX CHANNEL INDICATED. 29940000 B RCS1610A 1 SELECTOR CHANNEL INDICATED. 29960000 SPACE 2 29980000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 30000000 SPACE 2 30020000 RCS1610A LA RB,2 30040000 CH RB,WBALOUT3(RK) 2 PHASE 3 OUTPUT BFRS..... 30060000 BC 8,RCS1611 YES - 30080000 SPACE 2 30100000 * CHECK IF ANOTHER OUTPUT BUFFER FOR PHASE 3 CAN BE ALLOCATED. 30120000 SPACE 2 30140000 L RG,WBAL3AVP(RP) P3AV - 1(BO) 30160000 SR RC,RC 30180000 LH RD,WBSLBAL(RK) RD=BSL (PHASE 2 BFR SIZE). 30200000 MR RC,RE BSL*M = P3 MIN CORE REQUIRED. 30220000 SR RG,RD P3AV = P3AV - ((M * BSL) + (BO)) 30240000 L RE,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 30260000 SR RG,RE P3AV - 2ND BO. 30280000 BC 4,RCS1611 BRANCH IF NEGATIVE. 30300000 SPACE 2 30320000 SR RA,RE 30340000 ST RA,WBAL3AVP(RP) STORE NEW PHASE 3 AVAILABLE CORE 30360000 * TO INPUT BUFFERS. 30380000 STH RB,WBALOUT3(RK) STORE NEW NO. PHASE 3 OUTPUT BFRS. 30400000 RCS1611 LH RB,WBALMRMX(RK) TECH MERGE MAX. 30420000 LR RE,RB SAVE VALUE. 30440000 SLL RE,1 ( 2 * M ) 30460000 SPACE 1 30480000 RCS1611A LR RD,RA RD = PHASE 3 AVAILABLE CORE. 30500000 RCS1611B SR RC,RC 30520000 DR RC,RE P3AV/2M=NEW BSL3. 30540000 RCS1612 CH RD,WBSLBAL(RK) BSL3 EQUAL/GREATER THAN BSL..... 30560000 BC 10,RCS1615 YES - 30580000 SPACE 1 30600000 * NO - BSL3 LESS THAN BSL. 30620000 SPACE 1 30640000 RCS1613 BCT RE,RCS1614 REDUCE 2M VALUE (RE) BY 1. 30660000 SPACE 1 30680000 RCS1614 CR RE,RB RE EQUAL/GREATER THAN M..... 30700000 BC 10,RCS1611A YES - 30720000 SPACE 1 30740000 * NO - 30760000 SPACE 1 30780000 RCS1615 LH RD,WBALOUT3(RK) NO. PHASE 3 OUTPUT BUFFERS. 30800000 AR RE,RD 30820000 STH RE,WBALNB3(RK) TOTAL NO. PHASE 3 BUFFERS (I/O). 30840000 RCS1615A B RCS1801 GO TO PHASE 1 CALCULATIONS. 30860000 SPACE 2 30880000 SPACE 2 30900000 * MPX CHANNEL INDICATED. 30920000 SPACE 2 30940000 RCS1615B LH RE,WBALMRMX(RK) TECH MERGE MAX. 30960000 B RCS1615 STORE TOTAL 30980018 EJECT 31000000 **********PAGE 17 ********************************************** 31020000 SPACE 2 31040000 * RE-CALCULATE SORT BLOCKING (BS) AND BUFFER SIZE (BSL). 31060000 * BSL CALCULATED IN PHASE 2 WILL NOT FIT IN PHASE 3. 31080000 SPACE 2 31100000 RCS1701 ST RA,WFULL1 SAVE PHASE 3 AVAILABLE CORE - BO. 31120000 LH RA,CPIRCDL2 PHASE 2 RCD LENGTH. 31140000 LR RF,RA RF = L2. 31160000 RCS1702 AH RF,WRECINCR (F = +4, V = +8) 31180000 RCS1703 SR RD,RA BSL2 = BSL2 - L2. 31200000 BC 4,RCRABRT2 INSUFFICIENT CORE 31220000 SPACE 2 31240000 RCS1704 CR RG,RD BSL3 EQUAL/GREATER THAN BSL2..... 31260000 BC 10,RCS1705 YES - 31280000 B RCS1703 NO - REDUCE BSL2 AGAIN. 31300000 SPACE 2 31320000 RCS1705 CR RD,RF BSL2 EQUAL/GREATER 1 RCD (+4 OR +8) 31340000 BC 10,RCS1706 YES - 31360000 B RCRABRT2 INSUFFICIENT CORE 31380000 SPACE 2 31400000 RCS1706 B RCS1706A(RJ) GO TO PROPER RCD FORMAT RTN. 31420000 SPACE 1 31440000 RCS1706A B RCS1708 VARIABLE RCDS INDICATED. 31460000 SPACE 2 31480000 * FIXED LENGTH RCDS INDICATED. 31500000 SPACE 2 31520000 RCS1707 SR RC,RC 31540000 LH RE,CPIRCDL2 PHASE 2 RCD LENGTH. 31560000 DR RC,RE BS (NEW) = BSL2/L2 31580000 STH RD,WBALBS(RK) STORE NEW BS. 31600000 SR RC,RC 31620000 MR RC,RE BSL (NEW) = BSL2 * L2 31640000 AH RD,WRECINCR (F = +4, V = +8). 31660000 BAL RI,ROUNDD ALIGN TO DOUBLE WORD 1259 31670014 STH RD,WBSLBAL(RK) STORE NEW BSL. 31680000 B RCS1709 CHECK FOR EXTRA BFRS 31700018 SPACE 2 31720000 * VARIABLE LENGTH RCDS INDICATED. 31740000 SPACE 2 31760000 RCS1708 BAL RI,ROUNDD DOUBLE WORD ALIGNMENT 1259 31770014 STH RD,WBALBS(RK) STORE VARIABLE BS= BSL 1259 31780014 STH RD,WBSLBAL(RK) STORE VARIABLE BSL. 31800000 SPACE 2 31820000 * CHECK PHASE 2 CHANNEL STATUS - NEW BS AND BSL MAY ALLOW FOR 31840000 * ADDITIONAL PHASE 2 BUFFERS. 31860000 SPACE 2 31880000 RCS1709 LH RO,WCHNIND2 PHASE 2 CHANNEL STATUS INDICATOR. 31900000 B RCS1709A(RO) GO TO PROPER CHANNEL STATUS RTN. 31920000 SPACE 1 31940000 RCS1709A B RCS1801 MPX INDICATED - GO TO PHASE 1. 31960000 B RCS1710 1 SELECTOR CHANNEL INDICATED. 31980000 SPACE 2 32000000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 32020000 SPACE 2 32040000 RCS1710 LH RD,WBALMRMX(RK) TECH MERGE MAX. 32060000 SLL RD,1 32080000 LA RD,2(RD) 32100000 CH RD,WBALNB2(RK) 2M+2 PHASE 2 BFRS. 32120000 BC 8,RCS1801 YES - GO TO PHASE 1 CALCULATIONS. 32140000 SPACE 2 32160000 * RE-CALCULATE PHASE 2 NUMBER OF BUFFERS WITH NEW BFR SIZE. 32180000 SPACE 2 32200000 RCS1711 SR RC,RC 32220000 L RD,WP2UPDAV(RP) PHASE 2 AVAIL BUFFER CORE. 32240000 LH RE,WBSLBAL(RK) NEW BFR SIZE (BSL). 32260000 DR RC,RE NEW P2NB = P2AV/BSL. 32280000 STH RD,WBALNB2(RK) STORE NEW P2NB. 32300000 SH RD,WBALMRMX(RK) X = P2NB - MRG MAX. 32320000 CH RD,K02 X EQUAL/GREATER THAN 2..... 32340000 BC 10,RCS1712 YES - 32360000 SPACE 2 32380000 LA RD,1 NO - INDICATE 1 PHASE 2 OUTPUT BFR. 32400000 B RCS1712A STORE 32420018 SPACE 2 32440000 RCS1712 LA RD,2 INDICATE 2 PHASE 2 OUTPUT BFRS. 32460000 RCS1712A STH RD,WBALOUT2(RK) STORE NO. PHASE 2 PUTPUT BFRS 32480000 B RCS1801 GO TO PHASE 1 CALCULATIONS. 32500000 EJECT 32520000 ***** PAGE 18 ************************************************ 32540000 SPACE 2 32560000 * START OF PHASE 1 CALCULATIONS. 32580000 * CALCULATE CORE AVAILABLE TO PHASE 1 G AND TREE. 32600000 * CALCULATE G AND TREE FOR ALL TECHNIQUES (FIXED OR VARIABLE). 32620000 SPACE 2 32640000 RCS1801 LH RO,WCHNIND1 SET PHASE 1 CHANNEL STATUS INDIC. 32660000 RCS1801A L RD,WBAL1AVP(RP) PHASE 1 AVAILABLE CORE 32680000 RCS1802 B RCS1802A(RO) GO TO PROPER CHANNEL STATUS RTN. 32700000 SPACE 1 32720000 RCS1802A B RCS1803 MPX INDICATED. 32740000 B RCS1804 1 SELECTOR CHANNEL INDICATED. 32760000 B RCS1808 2 SELECTOR CHANNELS INDICATED. 32780000 SPACE 2 32800000 SPACE 2 32820000 * MPX CHANNEL INDICATED. 32840000 SPACE 2 32860000 RCS1803 LA RA,1 INDICATE ONE (1) PHASE 1 INPUT BFR. 32880000 B RCS1807 CHECK OUTPUT BFRS 32900018 SPACE 2 32920000 * 1 SELECTOR CHANNEL INDICATED. 32940000 SPACE 2 32960000 RCS1804 TM WCSSWB,X'02' INPUT AND WORK SAME CHANNEL..... 32980000 BO RCS1808 NO - 33000000 SPACE 2 33020000 CLI WTQIND+1,X'08' OSC TECHNIQUE SPECIFIED..... 33040000 BC 8,RCS1808 YES - TRY FOR 2 OUTPUT BFRS. 33060000 SPACE 2 33080000 * COMPARE INPUT AND SORT BUFFER SIZES. 33100000 * DOUBLE BUFFER THE SMALLER OF THE TWO BUFFERS. 33120000 SPACE 2 33140000 RCS1805 LH RA,WBALBS(RK) SORT BLOCKING. 33160000 LH RB,CPIIPBLK INPUT BLOCKING. 33180000 CR RB,RA BI EQUAL/GREATER THAN BS..... 33200000 BC 10,RCS1808A YES - 33220000 SPACE 2 33240000 RCS1806 S RD,WP1IPBFR (P1AV - 2(BI)) = P1AV. 33260000 LA RA,2 INDICATE TWO (2) PHASE 1 INPUT BFRS 33280000 RCS1807 LH RC,WBSLBAL(RK) PHASE 1 OUTPUT BUFFER SIZE. 33300000 SR RD,RC (P1AV - 1(BSL)) = P1AV. 33320000 BC 4,RCRABRT2 INSUFFICIENT CORE - AVP. LESS 33340000 * THAN ONE OUTPUT BFR. 33360000 SPACE 2 33380000 LA RB,1 INDICATE ONE (1) PHASE 1 OUTPUT BFR 33400000 B RCS1809 AND STORE 33420018 SPACE 2 33440000 * 2 SELECTOR CHANNELS INDICATED - CHECK INDICATOR TO SEE IF USER 33460000 * INPUT BUFFER SIZE WAS SO LARGE THAT DOUBLE BUFFERING THE 33480000 * PHASE 1 INPUT RESULTS IN INEFFICIENT SORT BUFFER SIZES AND 33500000 * VERY SMALL RECORD STORAGE AREA. 33520000 SPACE 2 33540000 RCS1808 TM WCSSWC,X'10' WAS PHASE 1 DOUBLE BFR INPUT VOIDED 33560000 BO RCS1808A YES - SINGLE BFR INPUT. 33580000 SPACE 2 33600000 LA RA,2 NO - INDICATE TWO (2) P1 INPUT BFRS 33620000 B RCS1808B AND CHECK SIZE 33640018 SPACE 2 33660000 RCS1808A LA RA,1 INDICATE ONE (1) P1 INPUT BFR. 33680000 RCS1808B LA RB,2 INDICATE TWO (2) P1 OUTPUT BFRS. 33700000 LH RC,WBSLBAL(RK) PHASE 1 OUTPUT BUFFER SIZE. 33720000 SLL RC,1 33740000 SR RD,RC (P1AV - 2(BSL)) = P1AV. 33760000 BC 2,RCS1809 POSITIVE KEEP BUFFERS 33780000 SPACE 2 33800000 LA RO,0 CUT BACK TO MULTIPLEX 33820000 B RCS1801A AND RECALCULATE 33840018 SPACE 2 33860000 RCS1809 STH RA,WBALINP1(RK) STORE NO. PHASE 1 INPUT BFRS. 33880000 AR RB,RA TOTAL PHASE 1 BFRS (I/O). 33900000 STH RB,WBALNB1(RK) STORE TOTAL. 33920000 RCS1810 ST RD,WBALGCOR(RP) STORE CORE AVAILABLE TO G AND TREE. 33940000 BAL RG,RCSGCAL CALCULATE G AND TREE AND RETURN. 33960000 SPACE 2 33980000 B RCS1810A NORMAL RETURN POINT FROM G CAL. 34000000 B RCS1820A INSUFFICIENT CORE-CUT BUFFERS 34020000 SPACE 2 34040000 RCS1810A ST RA,WBALG(RP) STORE G IN TECH LOCATION. 34060000 ST RB,WBALTREE(RP) STORE TREE IN TECH LOCATION. 34080000 B RCS1817 CHECK G VS BFRS 34100018 SPACE 2 34120000 * CALCULATE G AND TREE FOR ALL TECHNIQUES (FIXED OR VARIABLE). 34140000 SPACE 2 34160000 * FIXED G = ((3P1AV - 68) - (3BINSZ))/(20 + 3BINSZ) A31878 34180021 SPACE 1 34200000 * TREE = ((G - 1)/3) * 20 ROUNDED UP A31878 34220021 SPACE 2 34240000 * VARIABLE K = (MOD RCD LEN + LEN EXTR CF+3) / (BIN SZ-4) +1 34260000 * G = (3P1AV+36) - (3 BIN SZ*5) / 36 + (3 BIN SZ*K) 34280000 SPACE 1 34300000 * TREE = (G - 1) * 12 A31878 34320021 SPACE 2 34340000 RCSGCAL B RCS1811(RJ) GO TO PROPER RCD FORMAT ROUTINE. 34360000 SPACE 1 34380000 RCS1811 B RCS1814 VARIABLE LENGTH RECORDS INDICATED. 34400000 SPACE 2 34420000 * FIXED LENGTH RECORDS INDICATED. 34440000 SPACE 2 34460000 RCS1812 LH RE,K03 34480000 SR RC,RC 34500000 MR RC,RE (3P1AV) 34520000 LA RC,68 (8 FOR QSAM CONTROL,8 FOR A31878 34530021 * ALIGNMENT)*3 PLUS 20 FOR A31878 34540021 * WORST CASE (G = 3A+1) A31878 34550021 SR RD,RC (3P1AV-68) A31878 34560021 LH RE,CPIBINSZ 34580000 MH RE,K03 (3*BINSZ) 34600000 SR RD,RE (3P1AV-68)-(3BINSZ) = TOPLINE A31878 34620021 BC 4,4(RG) RETURN TO ABORT POINT. 34640000 SPACE 2 34660000 SR RC,RC 34680000 LA RE,20(0,RE) (3BINSZ+20) 34700000 DR RC,RE TOPLINE/(3BINSZ+20) A31878 34720021 LR RA,RD SET UP RETURN PARAMETERS. 34740000 CH RA,K03 IS G GREATER/EQUAL THAN 3... 34760000 BC 4,4(RG) NO..GO TO ABORT POINT 34780000 SPACE 2 34800000 * CALCULATE TREE SIZE. 34820000 SPACE 2 34840000 RCS1813 BCT RD,RCS1813A (G-1) 34860000 RCS1813A LA RE,3 34880000 SR RC,RC 34900000 DR RC,RE (G-1)/3 34920000 LTR RC,RC IS THERE A REMAINDER..... 34940000 BZ RCS1813B NO - 34960000 SPACE 2 34980000 LA RD,1(0,RD) YES - INCREMENT G VALUE BY ONE (1). 35000000 RCS1813B LA RE,20 35020000 MR RC,RE (G-1)/3 * 20 35040000 LR RB,RD SET UP RETURN PARAMETERS. 35060000 SPACE 1 35152017 RCS1813C BR RG RETURN TO CALLING ROUTINE 35160000 SPACE 2 35180000 * VARIABLE LENGTH RECORDS INDICATED. 35200000 * CALCULATE K VALUE. 35220000 SPACE 2 35240000 RCS1814 ST RD,WFULL3 SAVE P1 AVAILABLE CORE VALUE. 35260000 LH RD,CPIRCDL5 MODAL RECORD LENGTH. 35280000 LH RE,CPILAB07 LENGTH OF EXTRACTED CONTROL FIELD. 35300000 LA RE,3(0,RE) LEN EXTR CF+3. 35320000 AR RD,RE 35340000 LH RE,CPIBINSZ 35360000 SH RE,K04 (BINSZ-4) 35380000 SR RC,RC 35400000 DR RC,RE MOD RCD LEN+EXTR CF+3/(BINSZ-4) 35420000 LA RD,1(0,RD) 35440000 STH RD,WBALK(RK) STORE K IN TECH LOCATION. 35460000 SPACE 2 35480000 * CALCULATE VARIABLE G. 35500000 SPACE 2 35520000 RCS1815 L RD,WFULL3 PHASE 1 CORE AVAILABLE TO G. 35540000 LA RE,3 35560000 MR RC,RE (3 * P1AV) 35580000 LA RD,36(0,RD) (3 * P1AV) + 36 35600000 ST RD,WFULL1 35620000 LH RD,CPIBINSZ 35640000 MR RC,RE (3 * BINSZ) 35660000 LH RE,WBALK(RK) TECH K FACTOR. 35680000 MR RC,RE (3 * BINSZ) * K 35700000 LR RE,RD 35720000 L RD,WFULL1 35740000 SR RD,RE (3P1AV+36) - ((3BINSZ)K) 35760000 BC 4,4(RG) RETURN TO ABORT POINT. 35780000 SPACE 2 35800000 LA RE,36(0,RE) 36+((3BINSZ)K) 35820000 SR RC,RC 35840000 DR RC,RE 35860000 LR RA,RD SET UP RETURN PARAMETERS. 35880000 CH RA,K03 IS G GREATER/EQUAL THAN 3... 35900000 RCS1815A BC 4,4(RG) NO..GO TO ABORT POINT 35920017 SPACE 2 35940000 * CALCULATE VARIABLE TREE. 35960000 SPACE 2 35980000 RCS1816 BCT RD,RCS1816A (G - 1) 36000000 RCS1816A SR RC,RC 36020000 LA RE,12 36040000 MR RC,RE (G-1) * 12 36060000 LR RB,RD SET UP RETURN PARAMETERS. 36080000 CH RB,K40 IS TREE LESS THAN 40 36100000 BNL RCS1816B NO 36120000 SPACE 1 36140000 LA RB,36 LOAD MINIMUM TREE SIZE 36160000 SPACE 2 36162017 * THIS CHECK IS BEING MADE TO ENSURE THAT RSA CAN CONTAIN FOUR MAX. 36164017 * LENGTH RECORDS PLUS TREE. THIS IS NECESSARY BECAUSE K IS CALCULATED 36166017 * BASED ON MODAL RECORD LENGTH. 36168017 SPACE 2 36170017 RCS1816B LH RD,CPIRCDL1 MAX LENGTH RECORD 36172017 MH RD,K04 4(MAX. RCD. LEN) 36174017 AR RD,RB 4(MAX.RCD. LEN) + TREE 36176017 C RD,WFULL3 IS 4(MAX. RCD. LEN) + TREE LESS THAN 36178017 * RSA CORE. 36180017 BH RCS1820A YES REDUCE BUFFERS A24561 36182019 SPACE 1 36184017 BR RG RETURN TO CALLING ROUTINE 36186017 SPACE 2 36200000 * CHECK IF CALCULATED G VALUE IS EQUAL OR GREATER THAN BS. 36220000 * IF SMALLER AND PARTIAL OR FULL OVERLAP INDICATED, CUT BACK 36240000 * NUMBER PHASE 1 BFRS TO INCREASE G VALUE. 36260000 * IF NO OVERLAP INDICATED, STAY WITH PRESENT G VALUE. 36280000 SPACE 2 36300000 RCS1817 B RCS1817A(RJ) GO TO PROPER RCD FORMAT RTN. 36320000 SPACE 1 36340000 RCS1817A B RCS1819 VARIABLE LENGTH RCDS INDICATED. 36360000 SPACE 2 36380000 * FIXED LENGTH RCDS INDICATED. 36400000 SPACE 2 36420000 RCS1818 LH RA,WBSLBAL(RK) FIXED BSL. 36440000 LH RD,WBALBS(RK) FIXED BS. 36460000 B RCS1820 GO TO COMPARE 36480018 SPACE 2 36500000 * VARIABLE LENGTH RCDS INDICATED. 36520000 SPACE 2 36540000 RCS1819 SR RC,RC 36560000 LH RD,WBSLBAL(RK) VARIABLE BSL. 36580000 LR RA,RD RA = VARIABLE BSL. 36600000 LH RE,CPIRCDL1 VARIABLE - MAX INPUT RCD LENGTH. 36620000 DR RC,RE VAR BS = BSL/L1. 36640000 RCS1820 L RE,WBALG(RP) TECH G VALUE. 36660000 CR RE,RD G EQUAL/GREATER THAN BS..... 36680000 BC 10,RCS1824 YES 36700000 SPACE 2 36720000 RCS1820A L RF,WP1IPBFR RF=PHASE1 INPUT BFR. SIZE. 36740000 LH RA,WBSLBAL(RK) LOAD BSL 36760000 LH RB,WBALNB1(RK) TOTAL NO. PHASE 1 BFRS. 36780000 CH RB,K02 TOTAL BFRS GREATER THAN 2..... 36800000 BC 12,RCS1824 NO 36820000 SPACE 2 36840000 RCS1821 CH RB,K04 TOTAL BFRS EQUAL 4..... 36860000 BC 4,RCS1823 NO - TOTAL BFRS EQUAL 3. 36880000 SPACE 2 36900000 * PHASE 1 TOTAL NO. BFRS EQUAL FOUR (4). 36920000 * COMPARE INPUT BFR SIZE VS OUTPUT BFR SIZE AND STRIP OFF 36940000 * THE LARGER OF THE 2. 36960000 SPACE 2 36980000 SH RB,K01 P1NB = P1NB - 1. 37000000 CR RF,RA INPUT BFR EQUAL/GREATER THAN BSL... 37020000 BC 4,RCS1822 NO - BSL GREATER. 37040000 SPACE 2 37060000 STH RB,WBALNB1(RK) STORE UPDATED P1NB TOTAL. 37080000 LA RB,1 SET UP FOR 1 PHASE 1 INPUT BFR. 37100000 STH RB,WBALINP1(RK) STORE VALUV IN P1 INPUT NO. 37120000 RCS1821A L RD,WBALGCOR(RP) CORE AVAILABLE TO G CALCULATIONS. 37140000 AR RD,RF ADD IN INPUT BFR SIZE. 37160000 B RCS1810 RECALCULATE G AND TREE. 37180000 SPACE 2 37200000 RCS1822 STH RB,WBALNB1(RK) STORE UPDATED P1NB TOTAL. 37220000 RCS1822A L RD,WBALGCOR(RP) CORE AVAILABLE TO G CALCULATIONS. 37240000 AR RD,RA ADD IN BSL SIZE. 37260000 B RCS1810 RECALCULATE G AND TREE. 37280000 SPACE 2 37300000 * PHASE 1 TOTAL BFRS EQUAL THREE (3). 37320000 * STRIP OFF SINGLE OVERLAPPED BFR TO INCREASE G. 37340000 SPACE 2 37360000 RCS1823 SH RB,K01 P1NB = P1NB - 1. 37380000 STH RB,WBALNB1(RK) STORE UPDATED P1NB TOTAL. 37400000 LH RB,WBALINP1(RK) NO. PHASE 1 INPUT BFRS. 37420000 CH RB,K01 2 PHASE 1 INPUT BFRS..... 37440000 BC 8,RCS1822A NO - ADD 1 BSL TO G CORE VALUE. 37460000 B RCS1821A YES - ADD 1 BI TO G CORE VALUE. 37480000 SPACE 2 37500000 SPACE 1 37580000 RCS1824 L RA,WBALG(RP) 6097 37600016 B RCS1825(RP) GO TO PROPER TECH 37620000 RCS1825 B RCS1826 BAL. TECH. 37640000 B RCS1826 POL. TECH. 37660000 SPACE 1 37680000 * OSC. TECH. INDICATED 37700000 SPACE 37701018 CH RA,K03 IS G GREATER/EQUAL THAN 3 1240 37702018 BL RCRABRT2 NO - INSUFFICIENT CORE 1240 37703018 LH RA,WBSLBAL(RK) BSL 6097 37705016 CH RA,CPIBINSZ IS BSL LESS THAN BINSIZE 6097 37710016 BL RCRABRT2 YES ABORT INSUFF CORE 6097 37715016 SPACE 1 37720000 B RCS1827 NO - DO NMAX 1240 37760018 SPACE 2 37800000 * BAL. OR POL. TECH. INDICATED 37820000 SPACE 1 37840000 RCS1826 CH RA,K02 IS G GREATER/EQUAL THAN 2 37860000 BL RCRABRT2 NO-INSUFFICIENT CORE 37880000 SPACE 2 37900000 * CALCULATE NMAX 37920000 SPACE 2 37940000 RCS1827 LH RA,WBALBS(RK) LOAD BS FOR NMAX CAL 37960000 LH RB,WBSLBAL(RK) LOAD BSL FOR NMAX CAL. 37980000 LH RC,WBREELS(RK) LOAD NO. OF REELS FOR NMAX 38000000 BAL RG,RCSCAP CALCULATE NMAX 38020000 SPACE 2 38040000 ST RD,WBALNMAX(RP) STORE NMAX IN TECH LOCATION 38060000 SPACE 2 38080000 * CAPACITY CHECK 38100000 SPACE 2 38120000 TM WCSSWB,X'20' FILE SIZE OMITTED... 38140000 BZ RCR3005 YES 38160000 SPACE 2 38180000 C RD,WFILSZ WAS NMAX EXCEEDED..... 38200000 BL RCRABRT1 YES - ABORT TECHNIQUE. 38220000 SPACE 1 38240000 * NO 38260000 SPACE 1 38280000 B RCR1901 OPTIMIZE 38300018 SPACE 2 38320000 WREGSV1 DC 16F'0' REGISTER SAVE AREA 38340000 ADCON1X DC V(IERRCR) ADCON FOR RCR 38360000 ADCON2X DC V(IERBGA) ADCON FOR BGA 38380000 EJECT 38400000 *MODULE NAME ***IERRCR*** 38420000 SPACE 2 38440000 *STATUS CHANGE LEVEL 000 38460000 SPACE 2 38480000 *MODULE FUNCTION 38500000 SPACE 1 38520000 * IERRCR IS THE SECOND OF THREE GENERAL ASSIGNMENT MODULES 38540000 * IN TAPE B&G. THE FUNCTION OF IERRCR IS TO CALCULATE THE NUMBER 38560000 * OF PHASE TWO PASSES BY TECH. IT WILL ATTEMPT TO OPTIMIZE ON EACH 38580000 * TECH. AND SELECT THE MOST EFFICIENT OF THE THREE TECH. 38600000 SPACE 2 38620000 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT 38640000 SPACE 1 38660000 * IERRCS 38680000 * IERBGA 38700000 SPACE 2 38720000 *MACROS USED - NONE 38740000 SPACE 2 38760000 *ENTRY POINTS 38780000 SPACE 1 38800000 * CSECT NAME IERRCS ENTER FROM IERRCS VIA 38820000 * UNCONDITIONAL BRANCH 38840000 SPACE 2 38860000 *INPUT- CPI FIELDS REFRENCED 38880000 SPACE 1 38900000 * CPIBINSZ CPIFILSZ CPILAB07 38920000 * CPIEXTSZ CPIIPBLK CPILAB09 38940000 * CPIMODEX CPINWKU CPIOPBLK 38960000 * CPIP1RSZ CPIP2RSZ CPIP3RSZ 38980000 * CPIRCDL1 CPIRCDL2 CPIRCDL3 39000000 * CPIRCDL5 CPISRTBL CPISW1 39020000 * CPITAVLC 39040000 SPACE 2 39060000 *OUTPUT - CPI FIELDS INITIALIZED OR ALTERED 39080000 SPACE 1 39100000 * CPIBUF1 CPIBUF23 CPILAB03 39120000 * CPIMRGAL CPIMRGMX CPINMAX 39140000 * CPIP1GC CPIP2GC CPIP3GC 39160000 * CPISRTBL CPISRTG CPISW1 39180000 SPACE 2 39200000 *EXTERNAL ROUTINES 39220000 SPACE 1 39240000 * IERRCU DIAGNOSTIC AND ERROR MESSAGES 39260000 SPACE 2 39280000 *EXTERNAL PARAMETERS 39300000 SPACE 1 39320000 * IERRCU MESSAGES 39340000 SPACE 2 39360000 *EXITS-NORMAL 39380000 SPACE 1 39400000 * IERBGA UNCONDITIONAL BRANCH 39420000 SPACE 2 39440000 *EXITS-ERROR 39460000 SPACE 1 39480000 * IERBGA UNCONDITIONAL BRANCH 39500000 SPACE 2 39520000 *TABLES/WORK AREAS 39540000 SPACE 1 39560000 * WORK-WORK9 39580000 * WFULL- WFULL4 39600000 SPACE 2 39620000 *ATTRIBUTES- THIS IS A CLASS A MODULE 39640000 SPACE 2 39660000 *NOTES THIS IS RESTRICTED TO TAPE OPERATION ONLY. IT CONTAINS A DSECT 39680000 * OF IERRCS, IERBGA, AND IERRCU. 39700000 EJECT 39720000 IERRCR DSECT 39740000 USING *,RM BASE REGISTER FOR RCR 39760000 USING IERRCS,RL BASE REGISTER FOR RCS 39780000 USING IERBGA,RH BASE REGISTER FOR BGA 39800000 USING IERRC5,RN BASE REGISTER FOR CPI 39820000 EJECT 39840000 ******** PAGE 19 39860000 SPACE 2 39880000 * BEGIN PASS CALCULATION AND OPTIMIZATION FOR ALL TECHNIQUES. 39900000 SPACE 2 39920000 RCR1901 LH RO,WCHNIND SET CHANNEL STATUS INDICATOR. 39940000 SPACE 2 39960000 B RCR1901A(RP) GO TO PROPER TECH RTN. 39980000 RCR1901A B RCR1902 BAL TECH INDICATED. 40000000 B RCR1902 POL TECH INDICATED. 40020000 B BGA2201 OSC TECH INDICATED. 40040000 SPACE 2 40060000 SPACE 2 40080000 * BALANCED TECHNIQUE SPECIFIED. 40100000 * POLYPHASE TECHNIQUE SPECIFIED. 40120000 SPACE 2 40140000 SPACE 2 40160000 * CALCULATE NUMBER OF STRINGS IN THE FILE. 40180000 SPACE 2 40200000 * NO. STRINGS = USER FILE SIZE 40220000 * --------------- 40240000 * G * G FACTOR 40260000 SPACE 2 40280000 RCR1902 L RE,WBALG(RP) G 40300000 B RCR1903(RP) GO TO PROPER TECH 40320000 SPACE 2 40340000 RCR1903 B RCR1903A BALANCED TECH 40360000 SPACE 1 40380000 * POLY TECH. 40400000 SPACE 1 40420000 LH RC,WPOLMRMX M 40440000 LH RD,WPOLNWKU N 40460000 CH RD,K09 N GREATER OR EQUAL TO 9 40480000 BC 10,RCR1903A YES - G FACTOR = 2 40500000 SPACE 2 40520000 SLL RC,1 2M 40540000 LH RD,KPOLGF(RC) LOAD G FACTOR 40560000 SR RC,RC 40580000 MR RC,RE G*GFACTOR 40600000 SPACE 2 40620000 LH RE,K100 LOAD SCALING FACTOR 40640000 SR RC,RC 40660000 DR RC,RE SCALE DOWN NO. OF STRINGS 40680000 SPACE 2 40700000 SPACE 2 40720000 LR RE,RD 40740000 B RCR1903B DO NOT SET TO 2G 40760018 SPACE 2 40780000 RCR1903A SLL RE,1 2G 40800000 RCR1903B L RD,WFILSZ RD = FILE SIZE 40820000 SR RC,RC 40840000 DR RC,RE NO. OF STR. = FILE/G*GFACTOR 40860000 LTR RC,RC IS THERE A REMAINDER 40880000 BC 8,RCR1903C NO 40900000 SPACE 2 40920000 LA RD,1(RD) YES - ADD 1 TO THE STRING COUNT 40940000 RCR1903C ST RD,WBALS1(RP) SAVE ORIG. STRING COUNT 40960000 B RCR1904(RP) GO TO PROPER TECH. 40980000 SPACE 2 41000000 RCR1904 B RCR1905 BAL TECH. INDICATED 41020000 SPACE 1 41040000 * POLY TECH. INDICATED 41060000 SPACE 2 41080000 * SET UP PARAMETERS FOR RCRPASS SUB-ROUTINE. 41100000 SPACE 2 41120000 LR RB,RD RB = NO. OF STRINGS 41140000 LH RA,WPOLMRMX RA = MERGE ORDER 41160000 SPACE 2 41180000 C RA,WBALS1(RP) IS M EQUAL/GREATER TO NO. OF STR. 41200000 BC 10,RCR1904D YES-BRANCH AROUND FIBS 41220000 SPACE 2 41240000 BAL RG,RCRFIBX GO TO FIB. ROUTINE 41260000 SPACE 2 41280000 AH RA,K100 ADD PHASE 1 PHASE 41300000 ST RA,WPOLP1 NO OF PASSES BEFORE OPT. 41320000 LA RB,100(RB) ADD PHASE 1 PASS 41340000 ST RB,WPOLP2 NO. OF PASSES AFTER OPT. 41360000 ST RC,WPOLS2 OPT. NO OF STRINGS 41380000 LH RB,WPOLMRMX M 41400000 LH RD,WPOLNWKU N 41420000 CH RD,K09 N GREATER/EQUAL TO 9 41440000 BC 4,RCR1904A NO- USE G FACTOR 41460000 * YES - USE 2 AS G FACTOR 41480000 BAL RG,RCRP06 GO TO RTN. TO CAL. NEW G 41500000 SPACE 2 41520000 B RCR1904B STORE PARMS 41540018 SPACE 2 41560000 RCR1904A SLL RB,1 2M 41580000 MH RC,KPOLGF(RB) NEW NO. STRINGS * GFACTOR 41600000 LR RD,RC NO. OF STR.*G FACTOR 41620000 SR RC,RC 41640000 LA RE,100 LOAD SCALING FACTOR 41660000 SPACE 2 41680000 DR RC,RE NO. OF STR. * G FACTOR/100 41700000 SPACE 2 41720000 LR RE,RD RE = NO. OF STR. * G FACTOR/100 41740000 SPACE 2 41760000 BAL RG,RCRP06A GO TO RTN. TO CALCULATE NEW G 41780000 SPACE 2 41800000 RCR1904B ST RC,WGCAL NEW G 41820000 ST RD,WOTREE SAVE OPT. TREE 41840000 ST RE,WNEWGCOR SAVE NEW COR REQ FOR NEW G 41860000 B RCR1906 SET PARAMETERS FOR SCN RTN. 41880000 SPACE 2 41900000 RCR1904D LA RD,300 THREE PASSES 41920000 ST RD,WBALP1(RP) SET TECH. TO TWO PASSES 41940000 B RCR1906 SET PARAMS FOR SCN RTN 41960018 SPACE 2 41980000 RCR1905 LR RA,RD RA = NO. OF STR. 42000000 LH RB,WBALMRMX RB = MERGE MAX 42020000 LH RC,WBALMRAL RC = MERGE ALT. 42040000 L RD,WFILSZ RD = NO. OF RCDS. 42060000 BAL RG,RCRPASS CAL. NEW G AND NUMBER OF PASSES 42080000 SPACE 2 42100000 ST RC,WGCAL NEW G 42120000 ST RD,WOTREE SAVE OPT. TREE 42140000 ST RE,WNEWGCOR SAVE NEW COR REQ. FOR NEW G 42160000 LA RB,1(RB) ADD PHASE 1 PASS 42180000 MH RB,K100 SCALE NO. OF PASSES 42200000 LR RD,RB RD=BAL NO OF PASSES 42220000 LA RE,10 LOAD SCALING FACTOR 42240000 SR RC,RC 42260000 SPACE 1 42280000 DR RC,RE PASSES/10 42300000 SPACE 1 42320000 AR RB,RD PASSES PLUS 10% 42340000 ST RB,WBALP1 SAVE ORIG NO. OF PASSES 42360000 SH RB,K100 OPT. NO. OF PASSES IS ONE LESS 42380000 ST RB,WBALP2 SAVE OPT. NO OF PASSES 42400000 SPACE 2 42420000 * SET UP PARAMETERS FOR SCN ROUTINE 42440000 SPACE 2 42460000 RCR1906 LH RA,WBALNB1(RK) RA = TOTAL PHASE 1 BFRS 42480000 LH RB,WBALNB2(RK) RB = TOTAL PHASE 2 BFRS 42500000 LH RC,WBALNB3(RK) RC = TOTAL PHASE 3 BFRS 42520000 LH RD,WBSLBAL(RK) RD = BUFFER SIZE 42540000 L RE,WBALP1(RP) RE = ORIG. NO OF PASSES 42560000 BAL RG,RCRSCNGN GO TO SCN ROUTINE 42580000 SPACE 2 42600000 ST RA,WBALSCN(RP) SAVE SCN VALUE 42620000 ST RA,WBALSCN1(RP) SAVE SCN NO. 42640000 SPACE 2 42660000 * IF ONLY TWO PASSES NO OPTIMIZATION 42680000 SPACE 2 42700000 RCR1907 L RA,WBALP1(RP) ORIG. NO OF PASSES 42720000 EX 0,RCR1907A(RP) GO TO PROPER TECH. 42740000 CR RA,RB MORE THAN MIN. NO. OF PASSES 42760000 BC 12,RCR3005 NO - SKIP OPTIMIZATION. 42780000 B RCR1908 YES - OPTIMIZE 42800018 SPACE 2 42820000 DS 0F 42840000 RCR1907A LA RB,220 MINIMUM NO. OF BAL. PASSES 42860000 LA RB,300 MIN. NO. OF POL. PASSES 42880000 SPACE 2 42900000 RCR1908 L RD,WNEWGCOR RD=NEW G CORE 42920000 EX 0,RCR1908A(RP) 42940000 L RB,WP1IPBFR RB= INPUT BFR SIZE 42960000 B RCR1909(RO) GO TO PROPER CHANNEL STATUS 42980000 SPACE 2 43000000 DS 0F 43020000 RCR1908A L RA,WBAL1COR TAVLC-(RUNNING PROG.+GEN.CORE) 43040000 L RA,WPOL1COR TAVLC-(RUNNING PROG.+GEN.CORE) 43060000 SPACE 1 43080000 RCR1909 B RCR1910 MPX INDICATED 43100000 B RCR1910 1 SELECTOR INDICATED 43120000 SPACE 2 43140000 * 2 SELECTOR CHANNELS INDICATED. 43160000 SPACE 2 43180000 SLL RB,1 2(BI) 43200000 MVI WOINP1+3,X'02' SET OPT. NO. OF INP BUFFERS 43206017 MVI WONB1+3,X'04' SET OPT. NO. OF TOTAL BUFFERS 43212017 SPACE 2 43220000 * MPX CHANNEL INDICATED. 43240000 * 1 SELECTOR CHANNEL INDICATED. 43260000 SPACE 2 43280000 RCR1910 AR RB,RD (BI CORE + NEW G CORE ) 43300000 SR RA,RB TOTAL AVAIL -(BI+G) 43320000 SH RA,K08 MINUS 8 FOR QSAM CONTROL BFFR A31878 43330021 BC 4,RCR3005 NEW G TOO LARGE. 43340000 SPACE 2 43360000 LH RB,WRECINCR (F=4, V=8 ) 43380000 B RCR2001(RO) GO TO OPTIMIZATION 43400000 EJECT 43420000 ********* PAGE 20 ******************************** 43440000 SPACE 2 43460000 RCR2001 B RCR2003 MPX INDICATED 43480000 B RCR2002 1 SELECTOR INDICATED 43500000 SPACE 2 43520000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 43540000 SPACE 2 43560000 RCR2002 SLL RB,1 (F=8, V=16 ) 43580000 SR RA,RB 43600000 BC 4,RCR3005 NO OPTIMIZATION. 43620000 SPACE 2 43640000 SRL RA,1 BSLNEW = RA-2(WRECINCR)/2 43660000 B RCR2004 CHECK BSL VS RCD SIZE 43680018 SPACE 2 43700000 * MPX CHANNEL INDICATED. 43720000 SPACE 2 43740000 RCR2003 SR RA,RB BSLNEW = RA - WRECINCR 43760000 BC 4,RCR3005 NO OPTIMIZATION. 43780000 SPACE 2 43800000 RCR2004 CH RA,CPIRCDL2 BSL EQUAL/GREATER THAN 1 RCD..... 43820000 BC 4,RCR3005 NO - SKIP OPTIMIZATION. 43840000 SPACE 2 43860000 CH RA,K10000 BSL GREATER THAN 10K 43880000 BC 2,RCR2004A YES 43900000 SPACE 2 43920000 LR RD,RA 43940000 B RCR2004B NO 43960000 SPACE 2 43980000 RCR2004A CLC CPIRCDL1(2),K10000 1 RCD GREATER THAN 10K 44000000 BC 2,RCR2004F YES 44020000 SPACE 2 44040000 LH RD,K10000 MAX SORT BFR SIZE 44060000 RCR2004B B RCR2004C(RJ) GO TO PROPER ROUTINE 44080000 SPACE 2 44100000 RCR2004C B RCR2004E VARIABLE RCDS INDICATED 44120000 SPACE 2 44140000 * FIXED LENGTH RECORDS INDICATED. 44160000 SPACE 2 44180000 RCR2004D LH RE,CPIRCDL2 44200000 SR RC,RC 44220000 DR RC,RE BS = BSL/L2 44240000 ST RD,WOBS SAVE OPTIMIZED BS 44260000 SR RC,RC 44280000 MR RC,RE BSL = (L2*BS) 44300000 AH RD,WRECINCR BSL = BSL+4 44320000 ST RD,WOBSL SAVE OPTIMIZED BSL 44340000 B RCR2005(RO) GO TO PROPER CNAN. RTN. 44380000 SPACE 2 44400000 * VARIABLE LENGTH RECORDS INDICATED. 44420000 SPACE 2 44440000 RCR2004E ST RD,WOBS SAVE B 44450017 AH RD,WRECINCR BSL = BSL + 8 44460017 ST RD,WOBSL SAVE OPTIMIZED BSL 44480000 B RCR2005(RO) GO TO PROPER CHAN STATUS RTN. 44500000 SPACE 2 44520000 * ONE (1) RECORD GREATER THAN 10K. 44540000 SPACE 2 44560000 RCR2004F LH RD,CPIRCDL2 44580000 AH RD,WRECINCR 1 RCD + INCR 44600000 ST RD,WOBSL SAVE OPTIMIZED BSL 44620000 B RCR2004G(RJ) GO TO PROPER RCD FORMAT RTN 44660000 SPACE 2 44680000 RCR2004G B RCR2004H VAR 44700000 SPACE 2 44720000 * FIXED LENGTH RECORDS INDICATED. 44740000 SPACE 2 44760000 LA RB,1 44780000 ST RB,WOBS OPTIMIZED BS = 1 44800000 B RCR2005(RO) GO TO PROPER CH AN STATUS RTN 44820000 SPACE 2 44840000 RCR2004H ST RD,WOBS OPTIMIZED BS = BSL 44860000 B RCR2005(RO) GO TO PROPER CHAN STATUS RTN. 44880000 SPACE 2 44900000 RCR2005 B RCR2006 MPX INDICATED 44920000 B RCR2007 1 SELECTOR 44940000 B RCR2008A 2 SELECTORS 44960000 SPACE 2 44980000 * MPX CHANNEL INDICATED - SET UP PARAMETERS FOR SCN ROUTINE. 45000000 SPACE 2 45020000 RCR2006 LH RA,WBALNB1(RK) RA= TOTAL PHASE 1 BFRS 45040000 LH RB,WBALNB2(RK) RB= TOTAL PHASE 2 BFRS 45060000 LH RC,WBALNB3(RK) RC= TOTAL PHASE 3 BFRS 45080000 L RE,WBALP2(RP) RE= OPT. NO. OF PASSES 45100000 BAL RG,RCRSCNGN GEN SELECTION COMPARE RTN. 45120000 SPACE 2 45140000 ST RA,WBALSCN2(RP) SAVE OPT. SCN VALUE 45160000 C RA,WBALSCN1(RP) IS SCN2 EQUAL/GREATER THAN SCN1.... 45180000 BC 10,RCR3005 YES - VOID OPTIMIZATION VALUES. 45200000 ST RA,WBALSCN(RP) SAVE SCN NUMBER 45220000 SPACE 2 45240000 B RCR2108A CHECK CAPACITY 45260018 SPACE 2 45280000 * 1 SELECTOR CHANNEL INDICATED. 45300000 SPACE 2 45320000 RCR2007 L RB,WOBSL OPTIMIZED BSL 45340000 L RA,WP1IPBFR PHASE 1 INPUT BR 45360000 CR RB,RA OBSL GREATER BI 45380000 BC 2,RCR2009 YES 45400000 SPACE 2 45420000 RCR2008 LA RB,1 45440000 ST RB,WOINP1 OPT. NO OF PHASE 1 INPUT BFRS 45460000 LA RB,2(RB) P1 TOTAL BFR = 3 45480000 ST RB,WONB1 OPT. PHASE 1 TOTAL BFRS 45500000 SPACE 1 45520000 RCR2008A L RA,WOBSL OPTIMIZED BSL 45540000 LH RB,WBALMRMX(RK) M 45560000 BAL RG,RCRP3NBO GO TO PHASE 3 BUFFER ROUTINE 45580000 SPACE 2 45600000 ST RA,WONB3 OPT. NO. OF PHASE 3 BFRS 45620000 ST RB,WOOUT3 SAVE OPT. NUMBER OF OUTPUT BUFFERS 45640000 SPACE 1 45660000 RCR2008B L RA,WOBSL OPTIMIZED BSL 45680000 LH RB,WBALMRMX(RK) M 45700000 SPACE 1 45720000 EX 0,RCR2008C(RP) 45740000 SPACE 1 45760000 B RCR2008D FIND PH2 BFRS 45780018 SPACE 2 45800000 DS 0F 45820000 RCR2008C L RC,WBAL2COR BAL. PHASE 2 AVAIL. CORE 45840000 L RC,WPOL2COR POL. PHASE 2 AVAIL. CORE 45860000 RCR2008D BAL RG,RCRP2NBP GO TO PHASE 2 BFR ROUTINE 45880000 SPACE 2 45900000 ST RA,WONB2 SAVE OPT. NO OF PHASE 2 BFRS. 45920000 ST RB,WOOUT2 SAVE NO. OF PHASE 2 OUTPUT BFRS 45940000 B RCR2108 START SCAN 45960018 SPACE 2 45980000 * OPTIMIZED BSL GREATER THAN INPUT BUFFERS (BI). 46000000 SPACE 2 46020000 RCR2009 LA RB,2 SET 2 P1 INPUT BFRS 46040000 ST RB,WOINP1 OPY. PHASE 1 INPUT BFRS 46060000 LA RB,1(RB) 46080000 ST RB,WONB1 OPT. PHASE 1 TOTAL BFRS 46100000 B RCR2008A GO TO PHASE 3 BFR ROUTINE 46120000 EJECT 46140000 ******** PAGE 21 46160000 SPACE 2 46180000 * SET UP PARAMETERS FOR SCN ROUTINE. 46200000 SPACE 2 46220000 RCR2108 L RA,WONB1 OPT. PHASE 1 TOTAL BFRS 46240000 L RB,WONB2 OPT. PHASE 2 TOTAL BFRS 46260000 L RC,WONB3 OPT. PHASE 3 TOTAL BFRS 46280000 L RD,WOBSL OPT. BSL 46300000 L RE,WBALP2(RP) RE= OPT. NO OF PASSES 46320000 BAL RG,RCRSCNGN GEN. SELECTION ROUTINE 46340000 SPACE 2 46360000 ST RA,WBALSCN2(RP) SAVE OPT. SCN NO. 46380000 C RA,WBALSCN1(RP) IS SCN2 EQUAL/GREATER THAN SCN1.... 46400000 BC 10,RCR3005 YES - VOID OPTIMIZATION VALUES. 46420000 ST RA,WBALSCN(RP) SAVE SCN NUMBER 46440000 SPACE 2 46460000 * SET UP PARAMETERS FOR CAPACITY ROUTINE. 46480000 SPACE 2 46500000 RCR2108A L RA,WOBS RA = OPT. BS 46520000 L RB,WOBSL RB = OPT. BSL 46540000 LH RC,WBREELS(RK) RC= OPT. NO. OF REELS 46560000 BAL RG,RCSCAP GO TO CAPACITY ROUTINE 46580000 SPACE 2 46600000 ST RD,WNMXCAL OPT. NMAX 46620000 SPACE 2 46640000 C RD,WFILSZ DOES FILE SIZE EXCEED OPT NMAX..... 46660000 BL RCR3005 YES - VOID OPTIMIZATION VALUES. 46680000 SPACE 2 46700000 B BGA2806 OPTIMIZATION WAS OK 46720018 EJECT 46740000 ******** PAGE 22 46760000 SPACE 2 46780000 * START OF OSC TECHNIQUE SUB-PASS , TOTAL PASS AND OPTIMIZATION 46800000 * ROUTINES. 46820000 SPACE 2 46840000 BGA2201 L RA,WOSC1COR TOTAL CORE LESS RUNNING PROGS & GEN 46860000 * CORE. 46880000 L RB,WP1IPBFR INPUT BUFFER SIZE. 46900000 TM WOSCINP1+1,X'01' ONE (1) INPUT BUFFER..... 46920000 BO BGA2202 YES - 46940000 SPACE 2 46960000 SLL RB,1 NO - 46980000 BGA2202 SR RA,RB 47000000 ST RA,WNEWCOR SAVE VALUE FOR OPTIMIZATION RTN. 47020000 MVC WNMXCAL(4),WOSCNMAX 47040000 MVC WGCAL(4),WOSCG GET PRESENT G VALUE. 47060000 SPACE 2 47080000 BGA2203 L RD,WNMXCAL CALCULATE PRESENT RMAX VALUE. 47100000 LH RE,WOREELS MAX FULL REELS FOR OSC. 47120000 SR RC,RC 47140000 SPACE 1 47160000 DR RC,RE RD = RMAX ( MAX RCDS PER REEL) 47180000 LA RD,1(RD) 3530 47190018 SPACE 1 47200000 ST RD,WRMAX SAVE RMAX VALUE 47220000 SPACE 1 47240000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 47260000 BO BGA2204 YES - 47280000 SPACE 2 47300000 ST RD,WOSCRMAX NO - 47320000 ST RD,WRMAX1 47340000 B BGA2205 DO NOT STORE AN UPDATED RMAX 47360018 SPACE 2 47380000 BGA2204 ST RD,WRMAX2 47400000 BGA2205 LR RE,RD RE = RMAX. 47420000 L RD,WFILSZ USER FILE SIZE. 47440000 SR RC,RC 47460000 SPACE 1 47480000 DR RC,RE FILE SZ/RMAX = FULL REELS + REM. 47500000 SPACE 2 47520000 * CHECK FOR NUMBER OF FULL REELS AND PARTIAL REELS. 47540000 SPACE 2 47560000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 47580000 BO BGA2206 YES - 47600000 SPACE 2 47620000 ST RD,WFULL1 NO - SAVE NO. FULL REELS. 47640000 ST RD,WFULL 47660000 LTR RC,RC CHECK FOR REMAINDER..... 47680000 BZ BGA2206 NONE PRESENT. 47700000 SPACE 2 47720000 ST RC,WREM SAVE REMAINDER. 47740000 ST RC,WREM1 47760000 OI WCSSWA,X'80' TURN ON SW1 INDICATING PARTIAL 47780000 * REEL PRESENT. 47800000 LA RC,1 47820000 STH RC,WDIFFCTR INITIALIZE DIFFERENCE CTR TO 1. 47840000 B BGA2207 DO NOT STORE FULL REEL CNT 47860018 SPACE 2 47880000 BGA2206 ST RD,WFULL2 SAVE NUMBER OF FULL REELS. 47900000 ST RD,WFULL 47920000 LTR RC,RC CHECK FOR REMAINDER..... 47940000 BZ BGA2207 NONE PRESENT. 47960000 SPACE 2 47980000 ST RC,WREM SAVE REMAINDER. 48000000 ST RC,WREM2 48020000 OI WCSSWA,X'80' TURN ON SW1 INDICATING PARTIAL REEL 48040000 SPACE 1 48060000 BGA2207 LH RA,WOSCMRMX OSC TECH MAX MERGE ORDER. 48080000 ST RA,WMRMXKP SAVE VALUE FOR OPTIMIZATION RTN. 48100000 SR RF,RF INITIALIZE TABLE POINTER TO 0. 48120000 EJECT 48140000 ******** PAGE 23 48160000 SPACE 2 48180000 SPACE 1 48200000 BGA2301 CLI WFULL+3,X'00' ANY FULL REELS INDICATED..... 48220000 BC 8,BGA2309 NO - 48240000 SPACE 2 48260000 BGA2302 L RI,WFULL YES - LOAD NO. FULL REELS. 48280000 L RB,WRMAX PRESENT RMAX VALUE. 48300000 ST RB,WGAAA 48320000 SPACE 2 48340000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION RTN..... 48360000 BO BGA2303 YES - 48380000 SPACE 2 48400000 AH RD,WDIFFCTR NO - UPDATE TOTAL PASSES VALUE. 48420000 STH RD,WDIFFCTR 48440000 BGA2303 LR RB,RA MERGE MAX. 48460000 SLL RB,1 48480000 L RD,WGCAL PRESENT CALCULATED G. 48500000 LH RE,KGFACTOR(RB) MERGE ORDER G MULT. FACTOR. 48520000 SR RC,RC 48540000 SPACE 1 48560000 MR RC,RE RD = G * G FACTOR 48580000 SPACE 1 48600000 BGA2304 LR RE,RD 48620000 L RD,WGAAA PRESENT RMAX OR REMAINDER. 48640000 MH RD,K100 MULTIPLY BY 100 SCALING FACTOR. 48660000 SR RC,RC 48680000 SPACE 1 48700000 DR RC,RE RMAX(100)/G*G FACTOR = NO. STR PER 48720000 * SUB-PASS. 48740000 LTR RC,RC CHECK FOR REMAINDER..... 48760000 BZ BGA2304A NONE PRESENT. 48780000 SPACE 2 48800000 LA RD,1(RD) REMAINDER PRESENT, ADD 1 TO STRING 48820000 * COUNT. 48840000 SPACE 1 48860000 BGA2304A TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 48880000 BO BGA2305 YES - 48900000 SPACE 2 48920000 ST RD,WSTR1(RF) NO - STORE NO. STR IN TABLE 1. 48940000 ST RA,WMRGMX(RF) STORE MERGE MAX IN TABLE1. 48960000 B BGA2305A DO NOT STORE IN TABLE 2 48980018 SPACE 2 49000000 BGA2305 ST RD,WSTR2(RF) STORE NO. STRINGS IN TABLE 2. 49020000 SPACE 2 49040000 * SET UP FOR PASS CALCULATION SUB-ROUTINE. 49060000 SPACE 2 49080000 BGA2305A LR RB,RA MERGE MAX. 49100000 LR RC,RA MERGE ALT. 49120000 LR RA,RD NO. STRINGS. 49140000 L RD,WGAAA NO. RCDS (RMAX OR REMAINDER). 49160000 BAL RG,RCRPASS1 BRANCH TO SUB-RTN AND RETURN. 49180000 SPACE 2 49200000 * RETURN FROM PASS SUB-ROUTINE. 49220000 SPACE 2 49240000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 49260000 BO BGA2306 YES - 49280000 SPACE 2 49300000 ST RA,WNEWSTR(RF) STORE NEW STRING COUNT NEEDED TO 49320000 * SAVE ONE (1) PASS. 49340000 ST RB,WSUBP1(RF) STORE NO. SUB-PASSES IN TABLE 1. 49360000 ST RC,WNEWG1(RF) STORE NEW ª NEEDED TO SAVE 1 PASS. 49380000 ST RD,WNEWT1(RF) STORE NEW TREE SIZE. 49400000 ST RE,WNP1CRQ(RF) STORE NEW PHASE 1 CORE REQUIRED. 49420000 B BGA2307 SKIP STORE 49440018 SPACE 2 49460000 BGA2306 ST RB,WSUBP2(RF) STORE NO. SUB-PASSES IN TABLE 2. 49480000 BGA2307 LR RD,RB NUMBER OF SUB-PASSES. 49500000 L RE,WGAAA NO. RCDS. 49520000 SR RC,RC 49540000 SPACE 1 49560000 MR RC,RE NO. RCDS PER SUB-PASS * NO. SUB-PASS 49580000 SPACE 1 49600000 A RD,WSUBTOT UPDATE SUB-PASS TOTAL. 49620000 ST RD,WSUBTOT SAVE UPDATED TOTAL. 49640000 L RA,WMRMXKP RESTORE MERGE ORDER VALUE. 49660000 BCT RA,BGA2308 REDUCE MERGE ORDER BY 1. 49680000 BGA2308 ST RA,WMRMXKP STORE REDUCED MERGE ORDER. 49700000 LA RF,4(RF) UPDATE TABLE POINTER. 49720000 SPACE 2 49740000 * CHECK IF ALL FULL REELS HAVE BEEN COMPLETED. 49760000 SPACE 2 49780000 BCT RI,BGA2303 NO - 49800000 SPACE 1 49820000 * YES - 49840000 SPACE 1 49860000 TM WCSSWA,X'80' SW 1 ON - PARTIAL REEL PRESENT..... 49880000 BZ BGA2310 NO - 49900000 SPACE 2 49920000 BGA2309 NI WCSSWA,X'7F' YES - TURN OFF SW1. 49940000 LA RI,1 INITIALIZE COUNT TO 1. 49960000 L RB,WREM LOAD REMAINDER. 49980000 ST RB,WGAAA 50000000 B BGA2303 CALCULATE FOR PARTIAL REEL. 50020000 SPACE 2 50040000 * CALCULATE ACTUAL NUMBER OF TIMES ENTIRE FILE WILL BE PASSES. 50060000 SPACE 2 50080000 BGA2310 L RD,WSUBTOT RCD HANDLING SUB-TOTAL. 50100000 MH RD,K100 MULT BY 100 SCALING FACTOR. 50120000 L RE,WFILSZ USER FILE SIZE. 50140000 SR RC,RC 50160000 SPACE 1 50180000 DR RC,RE 50200000 SPACE 1 50220000 LA RD,200(RD) ADD IN PHASES 1 AND 3 PASSES. 50240000 TM WCSSWA,X'08' SW 5 ON - IN OPTIMIZATION..... 50260000 BZ BGA2311 NO - ORDER TABLES BY SIZE. 50280000 SPACE 2 50300000 ST RD,WOSCP2 OPTIMIZED NO. PASSES. 50320000 ST RD,WOPASS 50340000 L RG,WADRKP LOAD RD WITH RETURN ADDRESS. 50360000 BR RG RETURN. 50380000 SPACE 1 50400000 BGA2311 LH RA,WOSCNB1 TOTAL PHASE 1 BFRS UNOPTIMIZED. 50420000 LH RB,WOSCNB2 TOTAL PHASE 2 BFRS UNOPTIMIZED. 50440000 LH RC,WOSCNB3 TOTAL PHASE 3 BFRS UNOPTIMIZED. 50460000 ST RD,WOSCP1 UN-OPTIMIZED NO. PASSES. 50480000 ST RD,WOPASS 50500000 LR RE,RD NO. PASSES OF ENTIRE FILE. 50520000 LH RD,WBSLOSC SORT BFR SIZE - UNOPTIMIZED. 50540000 STM RA,RE,WSCNNB1 SET UP PARAMETERS FOR SELECTION 50560000 * COMPARE NUMBER ROUTINE. 50580000 BAL RG,RCRSCNGN BRANCH TO RTN AND RETURN. 50600000 SPACE 2 50620000 BGA2312 ST RA,WOSCSCN STORE SCN NUMBER. 50640000 ST RA,WOSCSCN1 50660000 SPACE 1 50680000 OI WCSSWA,X'08' TURN ON SW 5 - START OPTIMIZATION. 50700000 SR RA,RA 50720000 ST RA,WSUBTOT CLEAR OUT SUB-PASS TOTAL COUNT. 50740000 EJECT 50760000 ******** PAGE 24 50780000 SPACE 2 50800000 SPACE 2 50820000 * PUT COMPLIED TABLES IN ORDER - HIGH TO LOW. 50840000 * FIRST ENTRY IN DIFFERENCE TABLE WILL BE THE LARGEST STRING 50860000 * DIFFERENCE TO SAVE ONE (1) PASS, THE LAST ENTRY WILL BE THE 50880000 * SMALLEST STRING DIFFERENCE TO SAVE ONE (1) PASS. 50900000 SPACE 2 50920000 BGA2401 LA RB,WNEWSTR 50940000 ST RB,WNEWSTRA DIFFERENCE TABLE - 1ST ADDRESS. 50960000 LA RB,4(RB) 50980000 ST RB,WNEWSTRB DIFFERENCE TABLE - 2ND ADDRESS. 51000000 LA RB,WNEWG1 51020000 ST RB,WNEWG1A NEW G TABLE - 1ST ADDRESS. 51040000 LA RB,4(RB) 51060000 ST RB,WNEWG1B NEW G TABLE - 2ND ADDRESS. 51080000 LA RB,WNEWT1 51100000 ST RB,WNEWT1A NEW TREE TABLE - 1ST ADDRESS. 51120000 LA RB,4(RB) 51140000 ST RB,WNEWT1B NEW TREE TABLE - 2ND ADDRESS. 51160000 LA RB,WNP1CRQ 51180000 ST RB,WNP1CRQA NEW REQ PHASE 1 CORE TABLE - 1ST 51200000 * ADDRESS. 51220000 LA RB,4(RB) 51240000 ST RB,WNP1CRQB NEW REQ PHASE 1 CORE TABLE - 2ND 51260000 * ADDRESS. 51280000 LA RB,WMRGMX 51300000 ST RB,WMRGMXA MERGE MAX TABLE - 1ST ADDRESS. 51320000 LA RB,4(RB) 51340000 ST RB,WMRGMXB MERGR MAX TABLE - 2ND ADDRESS. 51360000 SPACE 2 51380000 BGA2401A LH RA,WDIFFCTR NO. OF ENTRIES PER TABLE. 51400000 BGA2402 BCT RA,BGA2403 BRANCH IF TABLES NOT COMPLETED. 51420000 SPACE 1 51440000 B BGA2501 TABLES COMPLETED. 51460000 SPACE 2 51480000 BGA2403 ST RA,WLOOPCT SAVE COUNT. 51500000 SR RF,RF ZERO OUT TABLE POINTER. 51520000 SPACE 1 51540000 BGA2404 LM RB,RC,WNEWSTRA 51560000 L RD,0(RF,RB) GET 1ST STRING DIFFERENCE. 51580000 L RE,0(RF,RC) GET 2ND STRING DIFFERENCE. 51600000 CR RD,RE DIFF1 GREATER THAN DIFF2..... 51620000 BC 2,BGA2405 YES - MAKE NO EXCHANGE. 51640000 SPACE 1 51660000 * NO - EXCHANGE TABLE VALUES. 51680000 SPACE 1 51700000 ST RD,0(RF,RC) EXCHANGE STRING DIFFERENCE COUNTS. 51720000 ST RE,0(RF,RB) 51740000 LM RB,RC,WNEWG1A EXCHANGE G TABLE VALUES. 51760000 BAL RG,BGALOOP VIA LOOP ROUTINE 51780018 SPACE 2 51800000 LM RB,RC,WNEWT1A EXCHANGE TREE TABLE VALUES. 51820000 BAL RG,BGALOOP VIA LOOP ROUTINE 51840018 SPACE 2 51860000 LM RB,RC,WMRGMXA EXCHANGE MERGE ORDER TABLE VALUES. 51880000 BAL RG,BGALOOP VIA LOOP ROUTINE 51900018 SPACE 2 51920000 LM RB,RC,WNP1CRQA EXCHANGE PHASE 1 REQ CORE TABLE 51940000 BAL RG,BGALOOP VALUES. 51960000 SPACE 2 51980000 BGA2405 BCT RA,BGA2406 BRANCH IF PASS NO COMPLETED. 52000000 SPACE 1 52020000 L RA,WLOOPCT 52040000 B BGA2402 DO NEXT TABLE 52060018 SPACE 2 52080000 BGA2406 LA RF,4(RF) UPDATE TABLE POINTER. 52100000 B BGA2404 CONTINUE 52120018 SPACE 2 52140000 * LOOP ROUTINE TO ACTUALLY EXCHANGE SPECIFIED TABLE VALUES. 52160000 SPACE 2 52180000 BGALOOP L RD,0(RF,RB) 52200000 L RE,0(RF,RC) 52220000 ST RD,0(RF,RC) 52240000 ST RE,0(RF,RB) 52260000 BR RG RETURN 52280000 SPACE 2 52300000 EJECT 52320000 ******** PAGE 25 52340000 SPACE 2 52360000 * START OF OPTIMIZATION - BEGIN SCANNING TABLES TO SEE IF NEW G 52380000 * CALCULATED TO SAVE ONE (1) PASS WILL FIT IN PHASE 1 52400000 * AVAILABLE CORE. 52420000 SPACE 2 52440000 BGA2501 LH RC,WDIFFCTR NO. OF ENTRIES IN TABLES. 52460000 SPACE 2 52480000 STH RC,WDIFFSV SAVE 52500000 BGA2502 SR RF,RF ZERO OUT TABLE POINTER. 52520000 STH RF,WPTRSV SAVE 52540000 SPACE 1 52560000 BGA2503 L RA,WNEWCOR AVAILABLE PHASE 1 CORE. 52580000 BGA2504 LA RC,WNP1CRQ 52600000 L RB,0(RF,RC) RB = CORE REQ FOR NEW G. 52620000 LTR RB,RB 52640000 BZ BGA2506 NO PASS CAN BE SAVED. 52660000 SPACE 2 52680000 BGA2505 CR RA,RB AVAILABLE CORE GREATER THAN CORE 52700000 * REQUIRED FOR NEW G..... 52720000 BC 2,BGA2509 YES - 52740000 SPACE 2 52760000 BGA2506 LH RC,WDIFFSV NO - UPDATE AND SAVE POINTERS. 52780000 LH RF,WPTRSV 52800000 SPACE 1 52820000 BGA2507 BCT RC,BGA2508 TABLE COMPLETED..... 52840000 B RCR3005 GO TECH CTR ROUTINE 52860000 SPACE 2 52880000 BGA2508 STH RC,WDIFFSV NO - SAVE NEW TABLE COUNT. 52900000 LA RF,4(RF) UPDATE TABLE POINTER. 52920000 STH RF,WPTRSV SAVE NEW TABLE POINTER VALUE. 52940000 B BGA2503 TRY NEXT TABLE ENTRY. 52960000 SPACE 2 52980000 BGA2509 SR RA,RB RA = AVAIL CORE - NEW REQ CORE. 53000000 CL RA,WRCDPLUS RA EQUAL/GREATER THAN 1 RCD + INCR 53020000 BC 4,BGA2506 NO - 53040000 SPACE 2 53060000 BGA2510 LR RD,RA RD = REMAINING AVAILABLE CORE. 53080000 LH RE,WBALNB1(RK) TOTAL PHASE 1 NO. BFRS. 53100000 SH RE,WBALINP1(RK) TOTAL P1 NO. BFRS - INPUT BFRS. 53120000 SR RC,RC 53140000 SPACE 1 53160000 DR RC,RE OBSL = AVAIL CORE/NO. OUTPUT BFRS. 53180000 SPACE 1 53200000 BGA2511 CL RD,WRCDPLUS OBSL EQUAL/GREATER THAN 1 RCD 53220000 * PLUS INCREMENT..... 53240000 BC 4,BGA2506 NO - 53260000 SPACE 1 53280000 B BGA2512(RJ) YES - GO TO PROPER RCD FORMAT RTN. 53300000 SPACE 2 53320000 * CALCULATE OPTIMIZED SORT BUFFER LENGTH (OBSL) AND OPTIMIZED 53340000 * SORT BLOCKING FACTOR (OBS). 53360000 SPACE 2 53380000 BGA2512 B BGA2514 VARIABLE LENGTH RCDS INDICATED. 53400000 SPACE 2 53420000 * FIXED LENGTH RCDS INDICATED. 53440000 SPACE 2 53460000 BGA2513 SH RD,K04 53480000 LH RE,CPIRCDL2 RECORD LENGTH. 53500000 SR RC,RC 53520000 SPACE 1 53540000 DR RC,RE OBS = OBSL/L2. 53560000 SPACE 1 53580000 ST RD,WOBS SAVE OPTIMIZED OBS VALUE. 53600000 SR RC,RC 53620000 SPACE 1 53640000 MR RC,RE OBSL = (L2 * OBS). 53660000 SPACE 1 53680000 AH RD,WRECINCR OBSL = OBSL + 4. 53700000 ST RD,WOBSL SAVE OPTIMIZED OBSL VALUE. 53720000 B BGA2515 RECALCULATE NMAX 53740018 SPACE 2 53760000 * VARIABLE LENGTH RCDS INDICATED. 53780000 SPACE 2 53800000 BGA2514 ST RD,WOBS SAVE OPTIMIZED OBS VALUE. 53820000 ST RD,WOBSL SAVE OPTIMIZED OBSL VALUE. 53840000 SPACE 2 53860000 * CALCULATE NEW NMAX VALUE USING NEW OPTIMIZED PARAMETERS. 53880000 SPACE 2 53900000 BGA2515 L RA,WOBS 53920000 L RB,WOBSL 53940000 LH RC,WOREELS 53960000 BAL RG,RCSCAP BRANCH AND RETURN WITH NEW NMAX. 53980000 SPACE 2 54000000 BGA2516 ST RD,WNMXCAL SAVE NEW NMAX VALUE. 54020000 SPACE 2 54040000 SPACE 2 54060000 BGA2517 L RC,WFILSZ YES - LOAD FILE SIZE. 54080000 CR RC,RD NMAX EXCEEDED..... 54100000 BC 2,BGA2506 YES - TRY NEXT TABLE ENTRY. 54120000 SPACE 2 54140000 BGA2518 LA RB,WNEWG1 NO - ADDRESS OF NEW G TABLE. 54160000 LH RF,WPTRSV TABLE ENTRY POINTER. 54180000 L RC,0(RF,RB) RC = NEW G VALUE. 54200000 ST RC,WGCAL 54220000 SPACE 1 54240000 BGA2519 LH RB,WBALNB1(RK) UN-OPTIMIZED PHASE 1 TOTAL NO. BFRS. 54260000 ST RB,WONB1 SAVE VALUE. 54280000 LH RB,WBALINP1(RK) UN-OPTIMIZED NO. PHASE 1 INPUT BFRS 54300000 ST RB,WOINP1 SAVE VALUE. 54320000 SPACE 2 54340000 * SET UP RETURN ADDRESS FOR RETURN FROM MAIN PROGRAM . 54360000 SPACE 2 54380000 BGA2520 LA RG,BGA2801 RETURN POINT FROM MAIN ROUTINE. 54400000 ST RG,WADRKP SAVE FOR REFERENCE BY MAIN ROUTINE. 54420000 B BGA2203 GO TO MAIN ROUTINE. 54440000 SPACE 2 54460000 EJECT 54480000 ******** PAGE 26 54500000 SPACE 2 54520000 * RCRP3NBO SUBROUTINE - USED TO RE-CALCULATE TOTAL NUMBER OF 54540000 * PHASE 3 BUFFERS AND NUMBER OF PHASE 3 OUTPUT BUFFERS USING 54560000 * ANY SUPPLIED SORT BUFFER LENGTH (OBSL). 54580000 SPACE 1 54600000 * REGISTERS ENTERING SUB-ROUTINE. 54620000 SPACE 1 54640000 * RA = SORT BUFFER LENGTH (OBSL). 54660000 * RB = MAXIMUM MERGE ORDER. 54680000 * RG = RETURN REGISTER. 54700000 SPACE 1 54720000 * REGISTERS LEAVING SUB-ROUTINE. 54740000 SPACE 1 54760000 * RA = TOTAL NUMBER PHASE 3 BUFFERS. 54780000 * RB = NUMBER OF PHASE 3 OUTPUT BUFFERS. 54800000 SPACE 2 54820000 RCRP3NBO STM RA,RB,WORK1 SAVE PARAMETER REGISTERS. 54840000 B RCR2601(RO) GO TO PROPER CHANNEL STATUS RTN. 54860000 SPACE 2 54880000 RCR2601 B RCR2614 MPX CHANNEL INDICATED. 54900000 B RCR2601A 1 SELECTOR CHANNEL INDICATED. 54920000 SPACE 2 54940000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 54960000 SPACE 2 54980000 RCR2601A LH RA,WBALNB3(RK) UNOPTIMIZED PHASE 3 TOTAL BFRS. 55000000 SLL RB,1 2(M) 55020000 LA RB,2(RB) 2(M) + 2 55040000 RCR2602 CR RB,RA TOTAL NO. BFRS EQUAL 2M+2..... 55060000 BC 8,RCR2613 YES - 55080000 SPACE 1 55100000 * NO - 55120000 SPACE 1 55140000 EX 0,RCR2603(RP) PHASE 3 AVAIL CORE LESS RP AND GC. 55160000 B RCR2603A FIND PH3 BFRS 55180018 SPACE 2 55200000 DS 0F 55220000 RCR2603 L RA,WBAL3COR 55240000 L RA,WPOL3COR 55260000 L RA,WOSC3COR 55280000 SPACE 2 55300000 RCR2603A L RD,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 55320000 SR RA,RD RA = WXXX3COR - 1(BO) 55340000 RCR2604 LA RB,1 SET PHASE 3 OUTPUT BFR COUNT = 1. 55360000 SPACE 1 55380000 RCR2605 L RE,WORK1 OBSL VALUE. 55400000 L RD,WORK2 MERGE MAX VALUE. 55420000 SR RC,RC 55440000 MR RC,RE RD = M(OBSL) 55460000 SR RA,RD RA = RA - M(OBSL). 55480000 SPACE 1 55500000 RCR2606 L RD,WP3OPBFR PHASE 3 OUTPUT BFR SIZE. 55520000 CR RA,RD ENOUGH CORE FOR A SECOND OUTPUT BFR 55540000 BC 4,RCR2608 NO - 55560000 SPACE 2 55580000 RCR2607 SR RA,RD YES - ALLOCATE SECOND OUTPUT BFR. 55600000 LA RB,2 INDICATE 2 OUTPUT BFRS. 55620000 RCR2608 L RE,WORK1 OBSL VALUE. 55640000 CR RA,RE ENOUGH CORE FOR ANY ADDITIONAL 55660000 * PHASE 3 UNPUT BFRS..... 55680000 BC 4,RCR2612 NO - 55700000 SPACE 2 55720000 RCR2609 LR RD,RA YES - 55740000 SR RC,RC 55760000 DR RC,RE RD = AVAILABLE CORE/OBSL. 55780000 SPACE 1 55800000 RCR2610 L RE,WORK2 MERGE MAX VALUE. 55820000 CR RD,RE ADDIT. INPUT BFRS GREATER THAN M.. 55840000 BC 12,RCR2615 NO - 55860000 SPACE 2 55880000 RCR2611 LR RD,RE YES - INDICATE M NO. ADDITIONAL 55900000 * INPUT BUFFERS. 55920000 B RCR2615 GO TO EXIT 55940018 SPACE 2 55960000 RCR2612 LA RD,0 INDICATE NO ADDITIONAL INPUT BFRS. 55980000 B RCR2615 GO TO EXIT 56000018 SPACE 2 56020000 RCR2613 LA RB,2 INDICATE 2 OUTPUT BFRS. 56040000 L RD,WORK2 INDICATE M NO. OF ADDITIONAL 56060000 * INPUT BFRS. 56080000 B RCR2615 GO TO EXIT 56100018 SPACE 2 56120000 RCR2614 LA RB,1 INDICATE 1 PHASE 3 OUTPUT BFR. 56140000 B RCR2612 SET ADDITIONAL BFRS=0 56160018 SPACE 2 56180000 RCR2615 L RA,WORK2 MINIMUM NUMBER OF INPUT BFRS. 56200000 AR RA,RD ADD IN NUMBER OF ADDITIONAL 56220000 * INPUT BFRS. 56240000 AR RA,RB ADD IN NUMBER OF OUTPUT BFRS. 56260000 SPACE 2 56280000 BR RG RETURN TO CALLING ROUTINE. 56300000 EJECT 56320000 ******** PAGE 27 56340000 SPACE 2 56360000 * RCRP2NB SUBROUTINE - USED TO RE-CALCULATE TOTAL NUMBER OF 56380000 * PHASE 2 BUFFERS AND NUMBER OF PHASE 2 OUTPUT BUFFERS USING 56400000 * ANY SUPPLIED SORT BUFFER LENGTH (OBSL). 56420000 SPACE 2 56440000 * REGISTERS ENTERING SUB-ROUTINE. 56460000 SPACE 1 56480000 * RA = SORT BUFFER LENGTH. 56500000 * RB = MERGE MAX. 56520000 * RC = BUFFER CORE AVAILABLE. 56540000 * (WXXX2COR FOR POL AND BAL TECH). 56560000 * (NEW G CORE FOR OSC TECH). 56580000 * RG = RETURN REGISTER. 56600000 SPACE 1 56620000 * REGISTERS LEAVING SUB-ROUTINE. 56640000 SPACE 1 56660000 * RA = TOTAL NUMBER OF PHASE 2 BUFFERS. 56680000 * RB = NUMBER OF PHASE 2 OUTPUT BUFFERS. 56700000 SPACE 2 56720000 * ENTRY POINT FROM POLYPHASE OR BALANCED TECHNIQUES. 56740000 SPACE 2 56760000 RCRP2NBP STM RA,RF,WORK SAVE PARAMETER REGISTERS. 56780000 LR RA,RB INITIALIZE TOTAL NO. BFRS TO M. 56800000 LR RE,RB 56820000 LR RF,RB 56840000 SLL RE,1 56860000 LA RE,2(RE) RE = 2M+2. 56880000 LR RC,RE 56900000 LA RF,2(RF) RF = M+2. 56920000 LA RB,1 INITIALIZE NO. OUTPUT BFRS TO 1. 56940000 B RCR2701 OPTIMIZE PH2 BFRS 56960018 SPACE 2 56980000 * ENTRY POINT FROM OSCILLATING TECHNIQUE. 57000000 SPACE 2 57020000 RCRP2NBO STM RA,RF,WORK SAVE PARAMETER REGISTERS. 57040000 LR RA,RB INITIALIZE TOTAL NO. BFRS = M. 57060000 LR RF,RB RF = M. 57080000 LR RE,RB 57100000 SLL RE,1 RE = 2M. 57120000 LH RB,WOSCOUT2 NO. PHASE 2 OUTPUT BFRS. 57140000 LR RC,RE 57160000 LA RC,2(RC) RC = 2M+2. 57180000 SPACE 2 57200000 * CHECK CHANNEL CONFIGURATION AND GO TO PROPER ROUTINE. 57220000 SPACE 2 57240000 RCR2701 B RCR2701A(RO) GO TO PROPER CHANNEL RTN 57260018 SPACE 2 57280000 RCR2701A B RCR2712 MPX CHANNEL INDICATED. 57300000 B RCR2702 1 SELECTOR CHANNEL INDICATED. 57320000 SPACE 2 57340000 * 1 OR 2 SELECTOR CHANNELS INDICATED. 57360000 SPACE 2 57380000 RCR2702 LH RD,WBALNB2(RK) UNOPTIMIZED NO. PHASE 2 TOTAL BFRS. 57400000 CR RD,RC P2NB EQUAL TO 2M+2..... 57420000 BC 8,RCR2709 YES - 57440000 SPACE 2 57460000 RCR2703 ST RE,WORK7 NO - SAVE VALUE. 57480000 L RD,WORK2 CORE AVAILABE FOR BUFFERS. 57500000 L RE,WORK OBSL. 57520000 SR RC,RC 57540000 DR RC,RE RD = NO. OF BFRS NEW CORE VALUE 57560000 * WILL HOLD. 57580000 L RE,WORK7 RESTORE RE TO SAVED VALUE. 57600000 SPACE 2 57620000 RCR2704 CR RD,RE NEW NO. BFRS EQUAL/GREATER THAN 57640000 * 2M+2 VALUE..... 57660000 BC 10,RCR2709 YES - 57680000 SPACE 2 57700000 RCR2705 CR RD,RF 57720000 BC 4,RCR2712 BRANCH IF LESS. 57740000 SPACE 2 57760000 RCR2706 B RCR2706A(RP) GO TO PROPER TECH ROUTINE. 57780000 SPACE 2 57800000 RCR2706A B RCR2708 BAL TECH INDICATED. 57820000 B RCR2708 POL TECH INDICATED. 57840000 SPACE 2 57860000 * OSCILLATING TECHNIQUE INDICATED. 57880000 SPACE 2 57900000 RCR2707 SR RD,RF RD = RD - M. 57920000 B RCR2713 OSCILLATING TECH 57940018 SPACE 2 57960000 * POLYPHASE OR BALANCED TECHNIQUE INDICATED. 57980000 SPACE 2 58000000 RCR2708 SR RD,RF RD = RD - (M+2). 58020000 B RCR2711 POLY OR BAL TECH 58040018 SPACE 2 58060000 RCR2709 L RD,WORK1 RD = M. 58080000 RCR2710 B RCR2710A(RP) GO TO PROPER TECH ROUTINE. 58100000 SPACE 2 58120000 RCR2710A B RCR2711 BAL TECH INDICATED. 58140000 B RCR2711 POL TECH INDICATED. 58160000 B RCR2713 OSC TECH INDICATED 58180000 SPACE 2 58200000 * POLYPHASE OR BALANCED TECHNIQUE INDICATED. 58220000 SPACE 2 58240000 RCR2711 LA RB,2 SET NO. PHASE 2 OUTPUT BFRS = 2. 58260000 B RCR2713 SET TOT PH2 BUFS - EXIT 58280018 SPACE 2 58300000 RCR2712 SR RD,RD 58320000 SPACE 2 58340000 * OSCILLATING TECHNIQUE SPECIFIED. 58360000 SPACE 2 58380000 RCR2713 AR RA,RD SET UP PARAMETER REGISTERS. 58400000 AR RA,RB RA = TOTAL NO. PHASE 2 BFRS. 58420000 LM RD,RF,WORK3 RESTORE ORIGINAL REGISTER SETTINGS. 58440000 BR RG RETURN TO CALLING ROUTINE 58460000 SPACE 2 58480000 EJECT 58500000 ******** PAGE 28 58520000 SPACE 2 58540000 * COMPUTE TOTAL NUMBER OF PHASE 3 BUFFERS AND NUMBER OF PHASE 3 58560000 * OUTPUT BUFFERS USING OPTIMIZED SORT BUFFER LENGTH (OBSL). 58580000 SPACE 2 58600000 BGA2801 L RA,WOBSL OPTIMIZED SORT BUFFER LENGTH. 58620000 LH RB,WBALMRMX(RK) OSC MERGE MAX. 58640000 BAL RG,RCRP3NBO BRANCH TO SUB-ROUTINE AND RETURN. 58660000 SPACE 2 58680000 ST RA,WONB3 STORE OPTIMIZED TOTAL NO. OF 58700000 * PHASE 3 BUFFERS. 58720000 ST RB,WOOUT3 STORE OPTIMIZED NO. OF PHASE 3 58740000 * OUTPUT BUFFERS. 58760000 SPACE 2 58780000 * COMPUTE TOTAL NUMBER OF PHASE 2 BUFFERS USING OPTIMIZED SORT 58800000 * BUFFER LENGTH (OBSL). 58820000 SPACE 2 58840000 BGA2802 L RA,WOBSL OPTIMIZED SORT BUFFER LENGTH. 58860000 LH RB,WBALMRMX(RK) OSC MERGE MAX. 58880000 SPACE 1 58900000 LH RF,WPTRSV TABLE POINTER. 58920000 LA RD,WNP1CRQ 58940000 L RC,0(RF,RD) CORE REQ FOR NEW G AND TREE. 58960000 LA RE,WNEWT1 58980000 L RD,0(RF,RE) CORE REQ FOR NEW TREE. 59000000 ST RD,WOTREE SAVE VALUE. 59020000 SR RC,RD RC = CORE AVAILABLE FOR PHASE 2 59040000 * INPUT BUFFERS. 59060000 SPACE 1 59080000 BAL RG,RCRP2NBO BRANCH TO SUB-ROUTINE AND RETURN. 59100000 SPACE 2 59120000 BGA2803 ST RA,WONB2 STORE OPTIMIZED TOTAL NUMBER OF 59140000 * PHASE 2 BUFFERS. 59160000 ST RB,WOOUT2 STORE OPTIMIZED NUMBER OF PHASE 2 59180000 * OUTPUT BUFFERS. 59200000 SPACE 2 59220000 * SET UP PARAMETERS TO GENERATE AN OPTIMIZED SELECTION COMPARE 59240000 * NUMBER (SCN) FOR COMPARISON WITH UN-OPTIMIZED SCN NUMBER. 59260000 SPACE 2 59280000 BGA2804 LM RA,RE,WONB1 LOAD PARAMETER REGISTERS. 59300000 STM RA,RE,WSCNNB1 59320000 BAL RG,RCRSCNGN GENERATE SCN NUMBER AND RETURN. 59340000 SPACE 2 59360000 BGA2805 ST RA,WOSCSCN2 SAVE SCN2 NUMBER. 59380000 L RB,WOSCSCN1 UN-OPTIMIZED SCN NUMBER. 59400000 CR RA,RB NEW SCN NO. LOWER THAN OLD ONE..... 59420000 BC 10,BGA2805A NO - NO OPTIMIZATION 59440000 ST RA,WOSCSCN OPTIMIZED SCN. NO. 59460000 B BGA2806 OPTIMIZATION WAS GOOD 59480018 SPACE 2 59500000 BGA2805A SR RB,RB NO - TRY NEXT LIST ENTRY 59520000 ST RB,WSUBTOT CLEAR OUT SUB-TOTAL LOCATION. 59540000 B BGA2506 GO TO NEXT ENTRY 59560018 SPACE 2 59580000 * SECOND SCN NUMBER LOWER THAN UN-OPTIMIZED ONE. THIS INDICATES 59600000 * A SUCCESSFUL OPTIMIZATION HAS BEEN COMPLETED. MOVE OPTIMIZED 59620000 * VALUES INTO OSCILLATING TECHNIQUE LOCATIONS. 59640000 SPACE 2 59660000 BGA2806 L RD,WOBSL OPTIMIZED BSL 59680000 CH RD,CPIBINSZ BSL LESS THAN BINSIZE 59700000 BL RCR3005 YES-ABORT OPTIMIZATION 59720000 SPACE 2 59740000 LM RA,RD,WONB1 59760000 B BGA2807(RO) GO TO CORRECT CHAN RTN 59780018 BGA2807 B BGA2809 1 MPX. CHANNEL 59800000 B BGA2808 1 SEL. CHANNEL 59820000 B BGA2808 2 SEL. CHANNEL 59840000 * 1 OR 2 SELECTOR CHANNELS 59860000 BGA2808 STH RA,WBALNB1(RK) OPTIMIZED TOTAL PHASE 1 BFRS 59880000 STH RB,WBALNB2(RK) OPTIMIZED TOTAL PHASE 2 BFRS 59900000 STH RC,WBALNB3(RK) OPTIMIZED TOTAL PHASE 3 BFRS 59920000 L RD,WOINP1 59940000 STH RD,WBALINP1(RK) OPTIMIZED NO. OF PHASE 1 INPUT BFRS 59960000 L RD,WOOUT2 59980000 STH RD,WBALOUT2(RK) OPTIMIZED NO. OF PHASE 2 OUTPUT BFRS 60000000 L RD,WOOUT3 60020000 STH RD,WBALOUT3(RK) OPTIMIZED NO. OF PHASE 3 OUTPUT BFRS 60040000 * 1 MPX. 60060000 BGA2809 L RD,WOBSL 60080000 STH RD,WBSLBAL(RK) OPYIMIZED BSL 60100000 L RD,WOBS 60120000 STH RD,WBALBS(RK) OPTIMIZED BS 60140000 L RD,WNMXCAL 60160000 ST RD,WBALNMAX(RP) OPTIMIZED NMAX 60180000 L RD,WGCAL 60200000 ST RD,WBALG(RP) OPTIMIZED G 60220000 L RD,WOTREE 60240000 ST RD,WBALTREE(RP) OPTIMIZED TREE 60260000 B RCR3005 GO TO NEXT TECHNIQUE 60280018 EJECT 60300000 ****** PAGE 30 ****** 60320000 SPACE 2 60340000 * ABORT ENTRY FROM TECH NMAX EXCEEDED. 60360000 SPACE 2 60380000 RCRABRT1 EX 0,RCR3001(RP) INDICATE TECH ABORTING. 60400000 B RCRABRT2 SET ABORT INDICATORS 60420018 SPACE 2 60440000 DS 0F 60460000 RCR3001 OI WABRTIND,X'10' INDICATE BAL NMAX EXCEEDED. 60480000 OI WABRTIND,X'08' INDICATE POL NMAX EXCEEDED. 60500000 OI WABRTIND,X'04' INDICATE OSC NMAX EXCEEDED. 60520000 SPACE 2 60540000 * ABORT ENTRY FROM TECHNIQUE INSUFFICIENT CORE. 60560000 SPACE 2 60580000 RCRABRT2 EX 0,RCR3002(RP) 60600000 B RCR3003 GO TO NEXT TECHNIQUE 60620018 SPACE 2 60640000 DS 0F 60660000 RCR3002 OI WABRTIND,X'80' INDICATE BAL TECH ABORTED. 60680000 OI WABRTIND,X'40' INDICATE POL TECH ABORTED. 60700000 OI WABRTIND,X'20' INDICATE OSC TECH ABORTED. 60720000 SPACE 2 60740000 RCR3003 LH RB,WNOABORT NO. OF PREVIOUS TECH ABORTS. 60760000 LA RB,1(RB) UPDATE NUMBER. 60780000 STH RB,WNOABORT STORE UPDATE NO. OF TECH ABORTS. 60800000 SPACE 2 60820000 RCR3004 CH RB,WNOTECH HAVE ALL SPECIFIED TECHNIQUES 60840000 * BEEN ABORTED..... 60860000 BC 8,RCR3015 YES - DETERMINE IF NMAX EXCEEDED OR 60880000 * INSUFFICIENT CORE. 60900000 SPACE 2 60920000 RCR3005 LH RB,WTQCTR NO - LOAD TECHNIQUE COUNTER. 60940000 BCT RB,RCR3006 ARE ALL SELECTED TECHS DONE..... 60960000 SPACE 1 60980000 B RCR3007 YES - SELECT WINNING TECHNIQUE. 61000000 SPACE 2 61020000 * ALL SELECTED TECHNIQUES HAVE NOT BEEN COMPLETED, UPDATE TECH. 61040000 * POINTERS AND CONTINUE TECHNIQUE CALCULATIONS. 61060000 SPACE 2 61080000 RCR3006 STH RB,WTQCTR SAVE UPDATED TECH COUNT IN COUNTER. 61100000 SH RP,K04 UPDATE TECHNIQUE POINTER. 61120000 STH RP,WTQIND 61140000 SH RK,K02 UPDATE TECH HALF-WORD POINTER. 61160000 STH RK,WTQIND1 61180000 B RCS0201 BEGIN NEXT TECH CALCULATION 1259 61200014 SPACE 2 61220000 * ALL SELECTED TECHNIQUES HAVE BEEN CALCULATED FOR AND OPTIMIZED 61240000 * IF POSSIBLE. COMPARE TECHNIQUE SCN NUMBERS TO DETERMINE WHICH 61260000 * TECHNIQUE IS THE MOST EFFICIENT. 61280000 SPACE 2 61300000 RCR3007 SR RD,RD SET RD = 0. 61320000 L RA,WBALSCN BAL TECH SCN NO. 61340000 CR RD,RA 61360000 BC 8,RCR3009 BAL SCN = 0, ELIMINATE BAL TECH 61380000 * FROM CONTENTION. 61400000 SPACE 2 61420000 LA RP,0 INDICATE BAL TECH IN CONTENTION. 61440000 C RA,WPOLSCN COMPARE BAL SCN NO. TO POL SCN NO. 61460000 BC 8,RCR3010 BRANCH IF EQUAL. 61480000 BC 2,RCR3011 BRANCH IF HIGH. 61500000 SPACE 2 61520000 RCR3008 C RA,WOSCSCN COMPARE BAL/POL SCN WINNER TO THE 61540000 * OSC SCN NO. 61560000 BC 8,RCR3012 BRANCH IF EQUAL. 61580000 BC 2,RCR3013A BRANCH IF HIGH. 61600000 B RCR3014 OSC TECH LOSES. 61620000 SPACE 2 61640000 * BAL TECH SCN NO. EQUALS 0, CHECK POL TECH SCN NO. FOR A 61660000 * NON-ZERO VALUE. 61680000 SPACE 2 61700000 RCR3009 L RA,WPOLSCN POL TECH SCN NO. 61720000 CR RD,RA 61740000 BC 8,RCR3013 POL TECH SCN NO. = 0, OSC TECH IS 61760000 * THE WINNER. 61780000 SPACE 2 61800000 LA RP,4 INDICATE POL TECH IN CONTENTION. 61820000 B RCR3008 COMPARE POL AND OSC SCN NUMBERS. 61840000 SPACE 2 61860000 * BAL AND POL TECH SCN NUMBERS EQUAL, DETERMINE WINNER BY TECH 61880000 * HAVING THE HIGHEST G VALUE. 61900000 SPACE 2 61920000 RCR3010 L RB,WBALG 61940000 C RB,WPOLG COMPARE BAL G VS POL G..... 61960000 BC 2,RCR3008 BAL TECH IS WINNER. 61980000 LA RP,4 POL TECH IS WINNER. 62000000 B RCR3008 COMPARE POL SCN NO. VS OSC SCN NO. 62020000 SPACE 2 62040000 * BAL TECH SCN NO. HIGHER THAN POL TECH SCN NO., IF POL SCN 62060000 * NO. IS A NON-ZERO VALUE POL TECH IS THE WINNER. 62080000 SPACE 2 62100000 RCR3011 L RB,WPOLSCN 62120000 CR RD,RB 62140000 BC 8,RCR3008 BAL TECH WINNER, COMPARE BAL SCN 62160000 * NO. VS OSC SCN NO. 62180000 SPACE 1 62200000 LR RA,RB POL TECH IS WINNER. 62220000 LA RP,4 INDICATE POL TECH IN CONTENTION. 62240000 B RCR3008 COMPARE POL SCN NO. VS OSC SCN NO. 62260000 SPACE 2 62280000 * BAL/POL SCN WINNER EQUAL OSC SCN NO., DETERMINE WINNER BY TECH 62300000 * WITH THE HIGHEST G VALUE. 62320000 SPACE 2 62340000 RCR3012 L RB,WBALG(RP) BAL/POL WINNER G VALUE. 62360000 C RB,WOSCG COMPARE WINNER G VS OSC G VALUE. 62380000 BC 10,RCR3014 OSC TECH IS LOSER. 62400000 SPACE 2 62420000 RCR3013 LA RP,8 OSC TECH IS WINNER. 62440000 B RCR3014 GO SET POINTER 62460018 SPACE 2 62480000 * BAL/POL WINNER SCN NO. HIGHER THAN OSC SCN NO. IF OSC SCN NO. 62500000 * CONTAINS A NON-ZERO VALUE OSC TECH IS THE WINNER. 62520000 SPACE 2 62540000 RCR3013A L RB,WOSCSCN OSC SCN VALUE. 62560000 CR RD,RB 62580000 BC 8,RCR3014 OSC TECH IS LOSER. 62600000 B RCR3013 OSC TECH IS WINNER. 62620000 SPACE 2 62640000 * SET WINNING TECHNIQUE HALF-WORD POINTER. 62660000 RCR3014 LR RK,RP 62680000 SRL RK,1 62700000 SPACE 2 62720000 B RCRCPI STORE RESULT 62740018 * ALL SELECTED TECHNIQUES HAVE BEEN ABORTED. DETERMINE IF NMAX 62760000 * EXCEEDED WAS THE CAUSE OF ANY OF THE TECHNIQUE ABORTS. 62780000 SPACE 2 62800000 RCR3015 TM WABRTIND,X'1C' ANY TECH NMAX BITS ON..... 62820000 BC 5,RCR3016 YES- FIND HIGHEST NMAX VALUE 1736 62840014 B RCRMSGA2 PRINT INSUFFICIENT CORE 62860000 SPACE 2 62880000 RCR3016 LM RA,RC,WBALNMAX RA = BAL TECHNIQUE NMAX. 62900000 * RB = POL TECHNIQUE NMAX. 62920000 * RC = OSC TECHNIQUE NMAX. 62940000 SPACE 1 62960000 CR RC,RB OSC VS POL. 62980000 BC 10,RCR3017 OSC GREATER. 63000000 SPACE 1 63020000 * POL GREATER. 63040000 SPACE 1 63060000 CR RB,RA POL VS BAL. 63080000 BC 10,RCR3018 POL HIGHEST NMAX VALUE. 63100000 B RCR3019 BAL HIGHEST NMAX VALUE. 63120000 SPACE 2 63140000 RCR3017 CR RC,RA OSC VS BAL. 63160000 BC 10,RCR3020 OSC HIGHEST NMAX VALUE. 63180000 B RCR3019 BAL HIGHEST NMAX VALUE. 63200000 SPACE 2 63220000 RCR3018 LR RC,RB RC = POL NMAX VALUE. 63240000 B RCR3020 STORE NMAX 63260018 SPACE 2 63280000 RCR3019 LR RC,RA RC = BAL NMAX VALUE. 63300000 RCR3020 ST RC,ABRTNMAX HIGHEST NMAX ABORT VALUE. 63320000 B RCR3021(RJ) GO TO PROPER FORMAT 63340000 SPACE 2 63360000 RCR3021 B RCR3022 VARIABLE LENGTH RCDS. 63380000 SPACE 2 63400000 * FIXED LENGTH RCDS. 63420000 SPACE 2 63440000 TM WCSSWB,X'08' EXACT FILE SIZE GIVEN 63460000 BZ RCR3022 NO 63480000 B RCRMSGA1 YES.....PRINT NMAX EXCEEDED 63500000 SPACE 2 63520000 RCR3022 C RC,WBALNMAX BAL. TECH 63540000 BE RCR3023 SET BAL IND. 63560000 SPACE 2 63580000 C RC,WPOLNMAX POL. TECH 63600000 BE RCR3024 SET POL.IND. 63620000 B RCR3013 OSC. TECH. SELECTED 63640000 SPACE 2 63660000 RCR3023 SR RP,RP BAL.TECH. SELECTED 63680000 B RCR3014 GO SET POINTER 63700018 SPACE 2 63720000 RCR3024 LA RP,4 POLY. TECH. SELECTED 63740000 B RCR3014 GO SET POINTER 63750018 *** 1259 63761014 *** 1259 63762014 *** THIS IS A SUBROUTINE TO ALIGN 1259 63763014 *** SORT BLOCKING TO A DOUBLE WORD BOUNDRY 1259 63764014 *** 1259 63765014 ROUNDC ST RC,WFULL1 SAVE AREA 1259 63766014 NI WFULL1+3,X'F8' ALIGNMENT 1259 63767014 L RC,WFULL1 RESTORE REGISTER 1259 63768014 BR RI RETURN 1259 63769014 ROUNDD LA RD,7(0,RD) ROUNDING UPWARD 1259 63770014 ST RD,WFULL1 SAVE AREA 1259 63771014 NI WFULL1+3,X'F8' ALIGNMENT 1259 63772014 L RD,WFULL1 RESTORE REGISTER 1259 63773014 BR RI RETURN 1259 63774014 ROUNDF LA RF,7(0,RF) ROUNDING UP 1259 63775014 ST RF,WFULL1 SAVE AREA 1259 63776014 NI WFULL1+3,X'F8' ALIGNMENT 1259 63777014 L RF,WFULL1 RESTORE REGISTER 1259 63778014 BR RI RETURN 1259 63779014 EJECT 63780000 *MODULE NAME ***IERBGA*** 63800000 SPACE 2 63820000 *STATUS CHANGE LEVEL 000 63840000 SPACE 2 63860000 *MODULE FUNCTION 63880000 SPACE 1 63900000 * IERBGA IS THE THIRD OF THREE GENERAL ASSIGNMENT MODULES 63920000 * IN TAPE B&G. THE FUNCTION OF IERBGA IS TO PRINT THE MESSAGES AND 63940000 * STORE THE CALCULATED VALUES IN CPI. IT CONTAINS ALL CONSTANTS, 63960000 * WORK AREAS, AND SUBROUTINES USED BY IERRCS AND IERRCR. 63980000 SPACE 2 64000000 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT 64020000 SPACE 1 64040000 * IERRCS 64060000 * IERRCR 64080000 SPACE 2 64100000 *MACROS USED 64120000 SPACE 1 64140000 * SMCPI 64160000 SPACE 2 64180000 *ENTRY POINTS 64200000 SPACE 1 64220000 * CSECT NAME IERRCR ENTER FROM IERRCR VIA 64240000 * UNCONDITIONAL BRANCH 64260000 SPACE 2 64280000 *INPUT- CPI FIELDS REFRENCED 64300000 SPACE 1 64320000 * CPIBINSZ CPIFILSZ CPILAB07 64340000 * CPIEXTSZ CPIIPBLK CPILAB09 64360000 * CPIMODEX CPINWKU CPIOPBLK 64380000 * CPIP1RSZ CPIP2RSZ CPIP3RSZ 64400000 * CPIRCDL1 CPIRCDL2 CPIRCDL3 64420000 * CPIRCDL5 CPISRTBL CPISW1 64440000 * CPITAVLC 64460000 SPACE 2 64480000 *OUTPUT - CPI FIELDS INITIALIZED OR ALTERED 64500000 SPACE 1 64520000 * CPIBUF1 CPIBUF23 CPILAB03 64540000 * CPIMRGAL CPIMRGMX CPINMAX 64560000 * CPIP1GC CPIP2GC CPIP3GC 64580000 * CPISRTBL CPISRTG CPISW1 64600000 SPACE 2 64620000 *EXTERNAL ROUTINES 64640000 SPACE 1 64660000 * IERRCU DIAGNOSTIC AND ERROR MESSAGES 64680000 SPACE 2 64700000 *EXTERNAL PARAMETERS 64720000 SPACE 1 64740000 * IERRCU MESSAGES 64760000 SPACE 2 64780000 *EXITS-NORMAL 64800000 SPACE 1 64820000 * IERRCM RETURN TO IERRCM VIA 64840000 * LA RP,0 64860000 * BR RO 64880000 SPACE 2 64900000 *EXITS-ERROR 64920000 SPACE 1 64940000 * IERRCM RETURN TO IERRCM VIA 64960000 * LA RP,4 64980000 * BR RO 65000000 SPACE 2 65020000 *TABLES/WORK AREAS 65040000 SPACE 1 65060000 * WORK-WORK9 65080000 * WFULL- WFULL4 65100000 SPACE 2 65120000 *ATTRIBUTES- THIS IS A CLASS A MODULE 65140000 SPACE 2 65160000 *NOTES THIS IS RESTRICTED TO TAPE OPERATION ONLY. IT CONTAINS A DSECT 65180000 * OF IERRCS, IERRCR, AND IERRCU. 65200000 EJECT 65220000 IERBGA DSECT 65240000 USING *,RH BASE REGISTER FOR BGA 65260000 USING IERRCS,RL BASE REGISTER FOR RCS 65280000 USING IERRCR,RM BASE REGISTER FOR RCR 65300000 USING IERRC5,RN BASE REGISTER FOR CPI 65320000 USING DIERRCU,RJ BASE REGISTER FOR RCU 65340000 EXTRN IERRCU 65360000 EJECT 65380000 * RCRSCNGN SUB-ROUTINE -- USED TO CALCULATE TECHNIQUE SELECTION 65400000 * SELECTION COMPARE NUMBERS (SCN'S). 65420000 SPACE 1 65440000 * REGISTERS ENTERING SUB-ROUTINE. 65460000 SPACE 1 65480000 * RA = TOTAL NUMBER OF PHASE 1 BUFFERS. 65500000 * RB = TOTAL NUMBER OF PHASE 2 BUFFERS. 65520000 * RC = TOTAL NUMBER OF PHASE 3 BUFFERS. 65540000 * RD = SORT BUFFER LENGTH (BSL OR OBSL). 65560000 * RE = NOMBER OF PASSES. 65580000 * RG = RETURN REGISTER. 65600000 SPACE 1 65620000 * REGISTERS LEAVING SUB-ROUTINE. 65640000 SPACE 1 65660000 * RA = SELECTION COMPARE NUMBER (SCN). 65680000 SPACE 2 65700000 RCRSCNGN STM RA,RE,WSCNNB1 SAVE PARAMETERS 65720000 L RD,WSCNNB3 LOAD PHASE 3 NO. OF BUFS 65740000 LH RE,WBALMRMX(RK) LOAD MERGE OEDER 65760000 SPACE 2 65780000 B RCRSC01(RO) GO TO CORRECT CHAN STATUS 65800018 RCRSC01 B RCRSC02 1 MULTIPLEX CHANNEL 65820000 B RCRSC03 1 SELECTOR CHANNEL 65840000 SPACE 2 65860000 * 2 SELECTOR CHANNELS 65880000 SPACE 2 65900000 SLL RE,1 2 * M. 65920000 LA RE,2(RE) (2*M)+2 = Y 65940000 B RCRSC04 CONTINUE CALCULATION 65960018 SPACE 2 65980000 * 1 MULTIPLEX 66000000 SPACE 2 66020000 RCRSC02 LA RE,1(RE) (M+1) = Y 66040000 B RCRSC04 CONTINUE CALCULATION 66060018 SPACE 2 66080000 * 1 SELECTOR 66100000 SPACE 2 66120000 RCRSC03 LA RE,2(RE) (M+2) = Y 66140000 SPACE 2 66160000 * CONTINUE CALCULATION 66180000 SPACE 2 66200000 RCRSC04 MH RD,K100 NB3*100 66220000 SR RC,RC 66240000 DR RC,RE (NB3*100)/Y 66260000 LR RF,RD SAVE VALUE 66280000 L RD,WSCNNB2 LOAD NB2 66300000 L RB,WSCNP NUMBER OF PASSES 66320000 SH RB,K200 ( P - 2 ) 66340000 BC 8,RCRSC04A TERM= ZERO 66360000 SPACE 2 66380000 SR RC,RC 66400000 MR RC,RB (P-2)(NB2) 66420000 SR RC,RC 66440000 DR RC,RE (NB2)(P-2)/Y 66460000 AR RF,RD ADD PHASE 2 TO PHASE 3 VALUES 66480000 RCRSC04A L RD,WSCNNB1 LOAD NB1 66500000 MH RD,K100 NB1*100 66520000 EX 0,RCRSC05(RO) 66540000 B RCRSC06 SKIP EXECUTED INSTRUCTION 66560018 SPACE 2 66580000 DS 0F 66600000 RCRSC05 LA RE,2 1 MULTIPLEX - X CONSTANT 66620000 LA RE,3 1 SELECTOR - X CONSTANT 66640000 LA RE,4 2 SELECTOR - X CONSTANT 66660000 SPACE 2 66680000 RCRSC06 LA RC,0 66700000 DR RC,RE (NB1*100)/X CONSTANT 66720000 AR RF,RD ADD PHASE 1 VALUE TO PHASE 2+3 66740000 L RD,WSCNP LOAD # OF PASSES 66760000 MH RD,K10 P*10 66780000 LR RE,RF 66800000 SR RC,RC 66820000 DR RC,RE 66840000 * (P*10)/(NB1*100/X) + ((P-200)(NB2)/Y) + (NB3*100/Y) 66860000 SPACE 2 66880000 ST RD,WRCRSCOL SAVE OL FACTOR 66900000 L RD,WSCNBSL LOAD BLOCK SIZE 66920000 LR RE,RD LOAD BLOCK SIZE 66940000 MH RD,K1000 BSL* 1000 66960000 AH RE,WIRGTAPE ADD IRG FACTOR 66980000 SR RC,RC 67000000 DR RC,RE BLK SZ/BLK SZ + IRG 67020000 LR RE,RD RD = BE 67040000 L RD,K100000 LOAD SCALING FACTOR 67060000 SR RC,RC 67080000 DR RC,RE 100000/BE = BLK E FACTOR 67100000 ST RD,WRCRSCBE SAVE BE 67120000 SR RC,RC 67140000 M RC,WSCNP BE*P 67160000 SR RC,RC 67180000 M RC,WRCRSCOL BE*P*OL = T 67200000 ST RD,WRCRSCT SAVE T 67220000 LR RA,RD PASS RESULTS 67240000 BR RG RETURN 67260000 EJECT 67280000 * RCSCAP SUB-ROUTINE -- USED TO CALCULATE THE MAXIMUM NUMBER OF 67300000 * RECORDS THAT CAN BE HANDLED BY SPECIFIED TECHNIQUE. 67320000 SPACE 2 67340000 * NMAX = (2300' * 12'' * DENSITY * BS * REELS) 67360000 * ------------------------------------- 67380000 * (RECORD LENGTH * BS) + IRG 67400000 SPACE 2 67420000 * REGISTERS ENTERING SUB-ROUTINE. 67440000 SPACE 1 67460000 * RA = BS (SORT BLOCKING) 67480000 * RB = BSL (SORT BUFFER LENGTH). 67500000 * RC = NO. REELS CAPACITY. 67520000 * RG = RETURN REGISTER. 67540000 SPACE 1 67560000 * REGISTERS LEAVING SUB-ROUTINE. 67580000 SPACE 1 67600000 * RD = TECHNIQUE NMAX VALUE. 67620000 SPACE 2 67640000 RCSCAP STM RA,RC,RCSBS SAVE PARAMETERS 67660000 B RCS100(RJ) GO TO PROPER RCD FORMAT RTN. 67680000 SPACE 2 67700000 RCS100 B RCS101 VARIABLE LENGTH RCDS INDICATED. 67720000 SPACE 2 67740000 * FIXED LENGTH RECORDS INDICATED. 67760000 SPACE 2 67780000 LH RD,RCSBS+2 TECH BLOCKING FACTOR 67800000 B RCS102 START CALCULATIONS 67820018 SPACE 2 67840000 * VARIABLE LENGTH RECORDS INDICATED. 67860000 SPACE 2 67880000 RCS101 LH RD,RCSBSL+2 VARIABLE LENGTH RCDS BUF SIZE 67900000 LH RE,CPIRCDL2 VAR - MAX RECORD LENGTH 8244 67920017 SR RC,RC 67940000 DR RC,RE BSL/L1 = VARIABLE BS. 67960000 RCS102 L RE,WDENTAPE (2300'*12''*DENSITY) 67980000 SR RC,RC 68000000 MR RC,RE (2300'*12''*DENSITY*BS) 68020000 LH RE,RCSREELS+2 TECH MAX REELS OF INPUT 68040000 SR RC,RC 68060000 MR RC,RE (2300'*12''*DENSITY*BS*REELS) 68080000 LH RE,RCSBSL+2 RCD LENGTH*BS 68100000 SH RE,WRECIND SUBTRACT RECORD INCREMENT FROM BSL 68120000 AH RE,WIRGTAPE (RCD LENGTH*BS) + IRG. 68140000 CR RD,RE IS NUMERATOR LESS THAN DENOMINATOR 68160000 BL RCS103 YES... 68180000 SPACE 2 68200000 SR RC,RC 68220000 DR RC,RE (2300'*12''*DENSITY*BS*REELS) 68240000 * -------------------------------- 68260000 * (RCD LENGTH * BS) + IRG 68280000 SPACE 1 68300000 LA RE,1000 DENSITY SCALING FACTOR. 68320000 SR RC,RC 68340000 MR RC,RE RD = TECH NMAX. 68360000 B RCS104 CONTINUE 68380018 SPACE 2 68400000 RCS103 LA RE,1000 DENSITY SCALING FACTOR 68420000 SR RC,RC 68440000 MR RC,RE (2300'*12''*DENSITY*BS*REELS) 68460000 SPACE 2 68480000 LH RE,RCSBSL+2 RCD LENGTH * BS 68500000 SH RE,WRECIND SUBTRACT RECORD INCREMENT FROM BSL 68520000 AH RE,WIRGTAPE (RCD LENGTH * BS) + IRG 68540000 SR RC,RC 68560000 DR RC,RE (2300'*12''*DENSITY*BS*REELS) 68580000 * - - - - - - - - - - - - - - 68600000 * (RCD LENGTH*BS) + IRG 68620000 RCS104 ST RD,RCSNMAX STORE NMAX IN SAVE LOCATION 68640000 BR RG RETURN TO CALLER 68660018 SPACE 2 68680000 RCSNMAX DC F'0' TEMP STORAGE FOR NMAX. 68700000 RCSBS DC F'0' TEMP STORAGE FOR BS 68720000 RCSBSL DC F'0' TEMP STORAGE FOR BSL 68740000 RCSREELS DC F'0' TEMP STORAGE FOR NO. REELS 68760000 SPACE 1 68780000 * SUBROUTINES TO UPDATE TOTALS AND RETURN TO MAIN PROGRAM. 68800000 SPACE 1 68820000 RCSADD1 AR RC,RF 68840000 RCSADD2 AR RA,RD 68860000 AR RB,RE 68880000 BR 14 RETURN TO MAIN ROUTINE. 68900000 EJECT 68920000 SPACE 1 68940000 * RCRPASS SUB-ROUTINE...USED BY BALANCED AND OSCILLATING TECHS 68960000 * TO CALCULATE NUMBER OF PASSES REQUIRED AND A NEW G REQUIRED 68980000 * TO SAVE ONE (1) PASS OF DATA. 69000000 SPACE 2 69020000 * REGISTERS ENTERING SUB-ROUTINE. 69040000 SPACE 1 69060000 * RA = NUMBER OF STRINGS. 69080000 * RB = MERGE MAX. 69100000 * RC = MERGE ALT - IF BALANCED TECH. 69120000 * RD = NUMBER OF RECORDS (BAL) OR RMAX IF OSC. 69140000 * RG = RETURN REGISTER. 69160000 SPACE 1 69180000 * REGISTERS LEAVING SUB-ROUTINE. 69200000 SPACE 1 69220000 * RA = NUMBER OF STRINGS TO CUT TO SAVE ONE (1) PASS. 69240000 * RB = NUMBER OF PASSES (USING ORIGINAL STRING COUNT) 69260000 * RC = NEW G REQUIRED TO SAVE ONE (1) PASS. 69280000 * RD = NEW TREE SIZE FOR NEW G VALUE. 69300000 * RE = NEW PHASE 1 CORE REQUIRED FOR NEW G VALUE. 69320000 SPACE 2 69340000 RCRPASS OI RCRSW,X'01' ENTRY FROM BALANCED TECHNIQUE. 69360000 STM RA,RD,RCRSAVE SAVE PARAMETER REGISTERS. 69380000 B RCRPASS4 BEGIN CALCULATING 69400018 SPACE 2 69420000 RCRPASS1 OI RCRSW,X'01' ENTRY FROM OSC TECH - 1ST PASS LOOP 69440000 B RCRPASS3 BEGIN CALCULATING 69460018 SPACE 2 69480000 RCRPASS2 NI RCRSW,X'FE' ENTRY FROM OSC TECH - 2ND PASS LOOP 69500000 RCRPASS3 STM RA,RD,RCRSAVE SAVE PARAMETER REGISTERS. 69520000 ST RB,RCRMRGAL MRG ALT = MRG MAX. 69540000 ST RA,WSTRORIG ORIGINAL STRING COUNT. 69560000 RCRPASS4 LA RB,1 SET PCTR=1 (TOTAL PASS COUNT). 69580000 L RD,RCRMRGMX SET SQCTR = MRG MAX. 69600000 SPACE 1 69620000 RCRP01 CR RA,RD NO. STRINGS EQUAL/LESS THAN SQCTR.. 69640000 BC 12,RCRP03 YES - 69660000 SPACE 2 69680000 ST RD,WSQCTRSV NO - SAVE LAST SEQUENCE COUNT. 69700000 LA RB,1(RB) PCTR = PCTR + 1. 69720000 STC RB,RCRIND SAVE PASS COUNT. 69740000 TM RCRIND,X'01' PCTR ODD NUMBER..... 69760000 BO RCRP02 YES - MULTIPLY BY MRG MAX. 69780000 SPACE 2 69800000 L RE,RCRMRGAL NO - MULTIPLY BY MRG ALT. 69820000 B RCRP02A SKIP MRG MAX LOAD 69840018 SPACE 2 69860000 RCRP02 L RE,RCRMRGMX 69880000 RCRP02A SR RC,RC 69900000 SPACE 1 69920000 MR RC,RE 69940000 B RCRP01 COMPARE RESULTS TO ORIGINAL STRING 69960000 * COUNT..... 69980000 SPACE 2 70000000 RCRP03 CH RB,K01 PCTR GREATER THAN 1..... 70020000 BC 2,RCRP04 YES - MORE THAN 1 PASS REQUIRED. 70040000 SPACE 2 70060000 SR RA,RA NO - INDICATE TO CALLING ROUTINE 70080000 SR RC,RC NO PASSES CAN BE SAVED. 70100000 SR RD,RD 70120000 SR RE,RE 70140000 BR RG RETURN TO CALLING ROUTINE. 70160000 SPACE 2 70180000 RCRP04 L RC,WSQCTRSV LAST COUNT LOWER THAN STRING NO. 70200000 LR RE,RC STRING COUNT NEEDED TO SAVE 1 PASS. 70220000 SR RA,RC ORIG STRING COUNT LESS NEW STRING 70240000 * COUNT = DIFFERENCE. 70260000 STM RA,RB,RCRSAVE SAVE DIFFERENCE AND NO. PASSES. 70280000 TM RCRSW,X'01' BAL TECH OR OSC TECH 1ST PASS..... 70300000 BZ RCRP10 NO - 70320000 SPACE 1 70340000 * YES - 70360000 SPACE 1 70380000 B RCRP04A(RP) GO TO PROPER TECH ROUTINE. 70400000 SPACE 2 70420000 RCRP04A B RCRP06 BALANCED TECH INDICATED. 70440000 B RCRP11 POLYPHASE TECHNIQUE INDICATED. 70460000 SPACE 2 70480000 * OSCILLATING TECHNIQUE. 70500000 * CALCULATE NEW G NEEDED TO SUPPLY NEW STRING COUNT. 70520000 * NEW G = (ORIGINAL STR. COUNT) * (ORIGINAL G) 70540000 * ---------------------------------- 70560000 * (NEW STRING COUNT) 70580000 SPACE 2 70600000 RCRP05 L RD,WSTRORIG ORIGINAL STRING COUNT. 70620000 L RE,WBALG(RP) ORIGINAL G. 70640000 SR RC,RC 70660000 MR RC,RE RD = ORIG. STR COUNT * ORIG G. 70680000 L RE,WSQCTRSV NEW STRING COUNT TO SAVE PASS. 70700000 SR RC,RC 70720000 DR RC,RE RD = NEW G. 70740000 B RCRP06B ROUND UPWARD 70760018 SPACE 2 70780000 * BALANCED TECHNIQUE. 70800000 * CALCULATE NEW G NEEDED TO SUPPLY NEW STRING COUNT. 70820000 * NEW G = USER FILE SIZE 70840000 * --------------- 70860000 * 2(NEW STRING CT) 70880000 SPACE 2 70900000 RCRP06 LR RE,RC NEW STRING COUNT. 70920000 SLL RE,1 2(NEW STRING COUNT) 70940000 RCRP06A L RD,WFILSZ USER FILE SIZE 70960000 SR RC,RC 70980000 DR RC,RE RD = NEW G. 71000000 SPACE 1 71020000 RCRP06B LTR RC,RC CHECK FOR REMAINDER ..... 71040000 BZ RCRP06C NONE PRESENT. 71060000 SPACE 2 71080000 LA RD,1(RD) ADD 1 TO G VALUE. 71100000 RCRP06C ST RD,RCRMRGAL SAVE NEW G VALUE. 71120000 SPACE 2 71140000 * BALANCED OR OSCILLATING TECHNIQUES. 71160000 * CALCULATE PHASE 1 CORE REQUIRED FOR NEW G AND NEW TREE. 71180000 SPACE 2 71200000 RCRP07 B RCRP07A(RJ) GO TO PROPER RCD FORMAT RTN. 71220000 SPACE 2 71240000 RCRP07A B RCRP09 VARIABLE LENGTH RECORDS INDICATED. 71260000 SPACE 2 71280000 * FIXED LENGTH RECORDS. 71300000 * PHASE 1 CORE REQUIRED = (3BINSZ + 20) * (NEW G + 1) 71320000 * --------------------------- 71340000 * 3 71360000 SPACE 2 71380000 RCRP08 LH RD,CPIBINSZ 71400000 LA RE,3 71420000 SR RC,RC 71440000 SPACE 1 71460000 MR RC,RE (3BINSZ) 71480000 SPACE 1 71500000 LA RD,20(RD) (3BINSZ + 20) 71520000 L RE,RCRMRGAL NEW G VALUE. 71540000 LA RE,1(RE) NEW G + 1 71560000 SR RC,RC 71580000 SPACE 1 71600000 MR RC,RE (3BINSZ+20)(NEWG+1) 71620000 SPACE 1 71640000 LA RE,3 71660000 SR RC,RC 71680000 SPACE 1 71700000 DR RC,RE (3BINSZ+20)(NEWG+1)/3 71720000 SPACE 1 71740000 ST RD,RCRCORRQ SAVE PHASE 1 CORE REQUIRED. 71760000 SPACE 2 71780000 * FIXED LENGTH RECORDS. 71800000 * CALCULATE TREE SIZE FOR NEW G. 71820000 * NEW TREE = (NEW G - 1) * 20 71840000 * ------------ 71860000 * 3 71880000 SPACE 2 71900000 L RD,RCRMRGAL NEW G VALUE. 71920000 SH RD,K01 (NEW G - 1) 71940000 LA RE,3 71960000 SR RC,RC 71980000 SPACE 1 72000000 DR RC,RE (NEW G - 1)/3. 72020000 SPACE 1 72040000 LTR RC,RC IS THERE A REMAINDER 72060000 BZ RCRP08A NO... 72080000 SPACE 1 72100000 LA RD,1(RD) 72120000 RCRP08A LA RE,20 72140000 SR RC,RC 72160000 SPACE 1 72180000 MR RC,RE (NEW G -1)/3 * 20. 72200000 SPACE 1 72220000 RCRP08B ST RD,RCRNRCDS SAVE NEW TREE VALUE 72320000 B RCRP11 RETURN 72340018 SPACE 2 72360000 * VARIABLE LENGTH RECORDS INDICATED. 72380000 * CALCULATE PHASE 1 CORE REQUIRED FOR NEW G. 72400000 * PHASE 1 CORE REQ = ((36+(K(3BINSZ))NEW G)+(K(3BINSZ))-36) 72420000 * -------------------------------------- 72440000 * 3 72460000 SPACE 2 72480000 RCRP09 LH RD,CPIBINSZ 72500000 LA RE,3 72520000 SR RC,RC 72540000 SPACE 1 72560000 MR RC,RE (3BINSZ) 72580000 MH RD,WBALK(RK) (3BINSZ) * K 72600000 LR RA,RD RA = (3BINSZ)K 72620000 LA RD,36(RD) (36+(K(3BINSZ))) 72640000 L RE,RCRMRGAL NEW G. 72660000 SR RC,RC 72680000 SPACE 1 72700000 MR RC,RE ((36+K(3BINSZ))NEW G) 72720000 AR RD,RA ((36+K(3BINSZ))NEW G)+(K(3BINSZ)) 72740000 LA RB,36 72760000 SR RD,RB ((36+K(3BINSZ))NEW G)+(K(3BINSZ)-36) 72780000 SR RC,RC 72800000 LA RE,3 72820000 SPACE 1 72840000 DR RC,RE ((36+K(3BINSZ))NEW G)+(K(3BINSZ)-36) 72860000 * ------------------------------------ 72880000 * 3 72900000 ST RD,RCRCORRQ SAVE PHASE 1 CORE REQUIRED. 72920000 SPACE 2 72940000 * VARIABLE LENGTH RECORDS. 72960000 * CALCULATE NEW TREE SIZE FOR NEW G. 72980000 * NEW TREE = (NEW G - 1) * 12. 73000000 SPACE 2 73020000 L RD,RCRMRGAL NEW G VALUE. 73040000 SH RD,K01 (NEW G - 1). 73060000 LA RE,12 73080000 SR RC,RC 73100000 SPACE 1 73120000 MR RC,RE (NEW G - 1) * 12. 73140000 SPACE 1 73160000 CH RD,K40 IS TREE LESS THAN 40 73180000 BNL RCRP09A NO 73200000 SPACE 1 73220000 LA RD,36 LOAD MINIMUM TREE VALUE 73240000 RCRP09A ST RD,RCRNRCDS SAVE NEW TREE VALUE 73260000 B RCRP11 RETURN 73280018 SPACE 2 73300000 * RETURN TO CALLING ROUTINE WITH DESIRED PARAMETERS. 73320000 * IF BALANCED TECH - RETURN ALL PARAMETERS. 73340000 * IF OSC FIRST PASS - RETURN ALL PARAMETERS. 73360000 * IF OSC SECOND PASS - RETURN ONLY DIFFERENCE AND SUB-PASS CT. 73380000 SPACE 2 73400000 RCRP10 LM RA,RB,RCRSAVE DIFF AND PASS COUNT. 73420000 BR RG RETURN TO CALLING ROUTINE. 73440000 SPACE 2 73460000 RCRP11 LM RA,RE,RCRSAVE LOAD ALL PARAMETER REGISTERS. 73480000 BR RG RETURN TO CALLING ROUTINE. 73500000 SPACE 2 73520000 EJECT 73540000 SPACE 1 73560000 * RCRFIBX SUB-ROUTINE -- USED TO GENERATE FIBONACCI NUMBERS 73580000 * NECESSARY TO CALCULATE THE NUMBER OF STRINGS REQUIRED TO SORT 73600000 * AN INPUT FILE. THE SUB-ROUTINE WILL ALSO CALCULATE THE NEW 73620000 * NUMBER OF STRINGS NECESSARY IN ORDER TO OPTIMIZE ONE (1) 73640000 * LEVEL OF THE FIBONACCI SERIES. 73660000 SPACE 2 73680000 * REGISTERS ENTERING SUB-ROUTINE. 73700000 SPACE 1 73720000 * RA = MERGE ORDER. 73740000 * RB = NUMBER OF STRINGS IN FILE. 73760000 * RG = RETURN REGISTER. 73780000 SPACE 1 73800000 * REGISTERS LEAVING SUB-ROUTINE. 73820000 SPACE 1 73840000 * RA = NUMBER OF PASSES BEFORE OPTIMIZATION 73860000 * RB = NUMBER OF PASSES AFTER OPTIMIZATION 73880000 * RC = NEW NUMBER OF SEQUENCES NEEDED FOR OPTIMIZATION. 73900000 SPACE 2 73920000 RCRFIBX STM RA,RB,WFIBSAVE SAVE PARAMETERS 73940000 LR RF,RA M 73960000 SLL RF,1 2*M 73980000 SH RF,K02 (2 * M) - 2 74000000 SR RA,RA 74020000 SR RE,RE 74040000 LA RC,1 74060000 STH RC,WFIBWRK1 STORE ONES IN WORK AREA 74080000 MVC WFIBWRK1+2(30),WFIBWRK1 SET WORK AREA TO ALL ONES 74100000 RCRFIB SR RC,RC 74120000 SR RD,RD 74140000 AH RA,K01 ADD ONE TO LEVEL COUNTER 74160000 LR RB,RF LOAD INDEX REG 74180000 RCRFIB1 AH RC,WFIBWRK1(RB) ADD FIB # TO ACCUM. 74200000 SH RB,K02 STEP DOWN THE INDEX REG 74220000 LTR RB,RB HAVE ALL FIBS IN LEVEL BEEN ADDED 74240000 BC 4,RCRFIB1A YES 74260000 SPACE 2 74280000 B RCRFIB1 NO - CONTINUE 74300018 SPACE 2 74320000 RCRFIB1A STH RC,WFIBWRK2(RE) SAVE STRINGS AT FIB LEVEL. 74340000 LH RD,WFIBWRK1 LOAD FIB. LEVEL FIRST ELEMENT 74360000 STH RD,WFIBWRK4(RE) SAVE ELEMENT 74380000 LA RE,2(RE) INCREASE INDEX REG 74400000 C RC,WFIBSAVE+4 NO. OF STRINGS AT FIB LEVEL 74420000 * GREATER OR EQUAL THAN ACTUAL NO. 74440000 BC 10,RCRFIB3B YES 74460000 SPACE 2 74480000 RCRFIB2 SR RB,RB 74500000 LH RC,WFIBWRK1(RF) LOAD MTH FIB NO. 74520000 LH RD,WFIBWRK1 FIRST ELEMENT OF LEVEL 74540000 STH RC,WFIBWRK3 STORE NEW FIB LEVEL 74560000 RCRFIB3 CR RB,RF IS LEVEL DONE 74580000 BC 10,RCRFIB3A YES 74600000 SPACE 2 74620000 LR RD,RC FIRST ELEMENT 74640000 AH RD,WFIBWRK1(RB) ADD NEXT FIB # TO NEW FIB # 74660000 LA RB,2(RB) INCREASE INDEX REG. 74680000 STH RD,WFIBWRK3(RB) STORE NEW FIB NUMBER 74700000 B RCRFIB3 LOOP 74720018 SPACE 2 74740000 RCRFIB3A MVC WFIBWRK1(32),WFIBWRK3 MOVE IN NEW FIB LEVEL 74760000 B RCRFIB DO NEXT LEVEL 74780018 SPACE 2 74800000 RCRFIB3B STH RC,WOLDSTRF NO. OF STRINGS AT UN-OPT. LEVEL 74820000 B RCRFIB4 USELESS INSTRUCTION 74840018 SPACE 2 74860000 RCRFIB4 LR RD,RA LEVEL 74880000 L RC,WFIBSAVE M 74900000 LA RC,1(RC) M+1 74920000 RCRFIB4A SR RD,RC LEVEL-(M+1) 74940000 BC 10,RCRFIB4A IS LEVEL -(M+1) NEG. 74960000 SPACE 2 74980000 AH RD,WFIBSAVE+2 YES - ADD M 75000000 LTR RD,RD IS FIB LEVEL ODD 75020000 BZ RCRFIB3 YES 75040000 SPACE 2 75060000 RCRFIB5 STH RA,WOLDLEV SAVE OLD FIB LEVEL 75080000 LR RF,RA LEVEL 75100000 RCRFIB5A SR RB,RB 75120000 SR RC,RC 75140000 SR RA,RA 75160000 SLL RF,1 2*LEVEL 75180000 SH RF,K02 2*LEVEL-2 75200000 RCRFIB6 LH RD,WFIBWRK2(RB) LOAD FIB TOTALS 75220000 LH RE,WFIBWRK4(RF) FIRST FIB ELEMENT 75240000 SR RC,RC 75260000 MR RC,RE LOW FIB TOTAL*HIGH FIB LEVEL 75280000 * FIRST ELEMENT 75300000 AR RA,RD ADD FOR TOTAL # STR 75320000 LA RB,2(RB) INCREASE INDEX REG 75340000 SH RF,K02 DECREMENT INDEX REG. 75360000 LTR RF,RF HAVE ALL LEVELS BEEN MULT. 75380000 BC 10,RCRFIB6 NO 75400000 SPACE 2 75420000 * OPTIMIZATION FOR FIB. NUMBERS 75440000 SPACE 2 75460000 TM WCSSWB+1,X'01' IS OPT. SWITCH SET 75480000 BO RCRFIB9 YES 75500000 SPACE 2 75520000 STH RA,WOLDTSTR SAVE TOTAL # OF STR. AT OLD LEVEL 75540000 LH RE,WOLDLEV LOAD OLD LEVEL 75560000 RCRFIB6A BCT RE,RCRFIB7 FIBLEVEL-1 = NEW FIB LEVEL 75580000 CH RE,K01 IS LEVEL THE FIRST LEVEL 75600000 BE RCRFIB8 YES... 75620000 SPACE 1 75640000 RCRFIB7 LR RD,RE FIB LEVEL 75660000 L RC,WFIBSAVE M 75680000 LA RC,1(RC) M+1 75700000 RCRFIB7A SR RD,RC LEVEL-(M+1) 75720000 BC 10,RCRFIB7A IS LEVEL-(M+1) NEG 75740000 SPACE 2 75760000 AH RD,WFIBSAVE+2 YES-ADD M 75780000 LTR RD,RD IS LEVEL ALL ODD 75800000 BZ RCRFIB6A YES 75820000 SPACE 2 75840000 RCRFIB8 STH RE,WNEWLEV NEW FIB LEVEL 75860000 LR RF,RE LEVEL 75880000 OI WCSSWB+1,X'01' SET SWITCH FOR OPT. 75900000 SPACE 2 75920000 * BIT FOR OPTIMIZATION IS THE 16TH BIT OF SWITCH B 75940000 SPACE 2 75960000 B RCRFIB5A CALC NEW LEV 75980018 SPACE 2 76000000 RCRFIB9 STH RA,WNEWTSTR SAVE NEW TOTAL # OF STRINGS 76020000 SH RB,K02 DECREMENT INDEX REG. 76040000 LH RD,WFIBWRK2(RB) LOAD NEW FIB STRING NO. 76060000 STH RD,WNEWSTRF SAVE NEW NO. OF STR. 76080000 LH RE,WOLDSTRF ORIG NO. OF STRINGS AT OLD LEVEL 76100000 LH RD,WOLDTSTR LOAD UN-OPT. WORK FUNCTION 76120000 MH RD,K100 MULT. BY SCALING FACTOR 76140000 SR RC,RC 76160000 DR RC,RE WORK FUNCTION/NO. OF STRINGS = 76180000 * NO. OF PASSES 76200000 LTR RC,RC IS THERE A REMAINDER 76220000 BZ RCRFIB9A NO 76240000 SPACE 2 76260000 LA RD,1(RD) ADD ONE TO PASSES 76280000 RCRFIB9A LR RA,RD RA = UN-OPT. NO OF PASSES 76300000 LH RD,WNEWTSTR OPTIMIZED WORK FUNCTION 76320000 MH RD,K100 MULT. BY SCALING FACTOR 76340000 SR RC,RC 76360000 LH RE,WNEWSTRF OPT. NO. OF STRINGS 76380000 DR RC,RE WORK FUNCTION/NO. OF STRINGS = 76400000 * NO. OF PASSES 76420000 LTR RC,RC IS THERE A REMAINDER 76440000 BZ RCRFIB9B NO 76460000 SPACE 2 76480000 LA RD,1(RD) ADD 1 TO NO. OF PASSES 76500000 RCRFIB9B LR RB,RD RB=OPT. NO. OF PASSES 76520000 LR RC,RE RC = OPT. NO. OF STRINGS 76540000 BR RG RETURN TO CALLER 76560018 EJECT 76580000 * STORE CALCULATED RESULTS IN CPI FOR THE SELECTED TECH. 76600000 SPACE 2 76620000 RCRCPI L RD,WTAVLC LOAD CORE VALUE 76640000 EX 0,RCRCPI01(RP) TAVLC-RUNNING CORE 76660000 B RCRCPI02 BYPASS EXECUTED INSTRUCTION 76680018 SPACE 2 76700000 DS 0F 76720000 RCRCPI01 S RD,WP1BALCR SUBTRACT BAL RUNNING CORE 76740000 S RD,WP1POLCR SUBTRACT POL RUNNING CORE 76760000 S RD,WP12OSCR SUBTRACT OSC RUNNING CORE 76780000 SPACE 2 76800000 RCRCPI02 ST RD,WM4TEMP 76820000 MVC CPITAVLC(3),WM4TEMP+1 MOVE CORE VALUE INTO CPI 76840000 LH RB,WBALBS(RK) BS 76860000 STH RB,CPISRTBL STORE BS INTO CPI 76880000 SPACE 2 76900000 L RB,WBALNMAX(RP) LOAD NMAX 76920000 ST RB,WM4TEMP 76940000 MVC CPINMAX(3),WM4TEMP+1 MOVE NMAX VALUE INTO CPI 76960000 SPACE 2 76980000 L RB,WP1IPBFR LOAD INPUT BFR SIZE 77000000 STH RB,CPILAB03 STORE SIZE OF INPUT BUFS IN CPI 77020000 SPACE 2 77040000 L RB,WP3OPBFR LOAD OUTPUT BFR 77060000 STH RB,CPILAB09+2 STORE SIZE OF OUTPUT BUFS IN CPI 77080000 L RB,WBALG(RP) LOAD G 77100000 ST RB,WM4TEMP 77120000 MVC CPISRTG(3),WM4TEMP+1 MOVE SORT G INTO CPI 77140000 SPACE 2 77160000 LH RB,WBSLBAL(RK) LOAD BSL 77180000 STH RB,CPILAB07 STORE BSL SIZE IN CPI 77200000 SPACE 2 77220000 LH RB,WBALNB1(RK) P1 TOTAL NO BFRS 77240000 STC RB,CPIBUF1 STORE P1 TOTAL NO.BFRS IN CPI 77260000 SPACE 2 77280000 LH RB,WBALNB2(RK) P2 TOTAL NO BFRS 77300000 STC RB,CPIBUF23 STORE P2 TOTAL NO.BFRS IN CPI 77320000 SPACE 2 77340000 LH RB,WBALNB3(RK) P3 TOTAL NO BFRS. 77360000 STC RB,CPIBUF23+1 STORE P3 TOTAL NO. BFRS IN CPI 77380000 SPACE 2 77400000 LH RB,WBALOUT2(RK) NO. P2 OUTPUT BFRS. 77420000 STC RB,CPILAB09 STORE P2 OUTPUT BFRS IN CPI 77440000 SPACE 2 77460000 LH RB,WBALOUT3(RK) NO. P3 OUTPUT BFRS 77480000 STC RB,CPILAB09+1 STORE NO.P3 OUTPUT BFRS IN CPI 77500000 SPACE 2 77520000 L RB,WBALP1GC(RP) P1 GEN CORE 77540000 A RB,WBALTREE(RP) GC+TREE 77560000 SRL RB,3 77580000 SLL RB,3 ROUND GEN CORE TO DOUBLE WORD 77600000 ST RB,WM4TEMP 77620000 MVC CPIP1GC(3),WM4TEMP+1 MOVE P1 GEN CORE VALUE INTO CPI 77640000 SPACE 2 77660000 L RB,WBALP3GC(RP) LOAD P3 GEN CORE 77680000 SRL RB,3 ROUND TO DOUBLE WORD BOUNDARY 77700000 SLL RB,3 77720000 ST RB,WM4TEMP 77740000 MVC CPIP3GC(3),WM4TEMP+1 MOVE P3 GEN CORE VALUE INTO CPI 77760000 SPACE 2 77780000 B RCRCPI03(RP) GO TO PROPER TECHNIQUE 77800018 RCRCPI03 B RCRCPI04 BAL TECH 77820000 B RCRCPI04 POL TECH 77840000 B RCRCPI05 OSC TECH 77860000 SPACE 2 77880000 RCRCPI04 L RB,WBALP2GC(RP) P2 GEN CORE 77900000 SRL RB,3 77920000 SLL RB,3 ROUND GEN CORE TO DOUBLE WORD 77940000 ST RB,WM4TEMP 77960000 MVC CPIP2GC(3),WM4TEMP+1 MOVE P2 GEN CORE VALUE INTO CPI 77980000 SPACE 2 78000000 RCRCPI05 LH RB,WBALMRMX(RK) MERGE MAX 78020000 STC RB,CPIMRGMX STORE MERGE ORDER IN CPI 78040000 SPACE 2 78060000 LA RB,1 78080000 STC RB,CPIMRGAL MERGE ALT = 1 78100000 SPACE 2 78120000 B RCRCPI06(RP) GO TO PROPER TECHNIQUE 78140018 RCRCPI06 B RCRCPI07 BAL 78160000 B RCRCPI08(RP) POL 78180000 B RCRCPI08(RP) OSC 78200000 SPACE 2 78220000 RCRCPI07 LH RB,WBALMRAL BAL ALT MERGE ORDER 78240000 STC RB,CPIMRGAL STORE ALT MERGE ORDER IN CPI 78260000 SPACE 2 78280000 B RCRCPI08(RP) GO TO PROPER TECHNIQUE 78300018 RCRCPI08 B RCRCPI09 BAL TECH 78320000 B RCRCPI10 POL TECH 78340000 SPACE 2 78360000 * OSCL 78380000 SPACE 2 78400000 OI CPISW1,X'02' SPECIFY OSC. TECH SELECTED 78420000 NI CPISW1,X'F3' TURN OFF ANY FORCED BITS. 78440000 TM WCSSWC,X'20' OSC 8 WAY..... 78460000 BO RCRCPI11 YES 78480000 SPACE 2 78500000 B RCRCPI12 NO 78520000 SPACE 2 78540000 * BALN 78560000 SPACE 2 78580000 RCRCPI09 OI CPISW1,X'08' SPECIFY BAL. TECH. SELECTED 78600000 NI CPISW1,X'F9' TURN OFF ANY FORCED BITS. 78620000 TM WCSSWC,X'40' BAL 8 WAY..... 78640000 BO RCRCPI11 YES 78660000 SPACE 2 78680000 B RCRCPI12 NO 78700000 SPACE 2 78720000 * POLY 78740000 SPACE 2 78760000 RCRCPI10 OI CPISW1,X'04' SPECIFY POL. TECH. SELECTED 78780000 NI CPISW1,X'F5' TURN OFF ANY FORCED BITS. 78800000 TM WCSSWC,X'80' POL. 8 WAY..... 78820000 BO RCRCPI11 YES 78840000 SPACE 2 78860000 B RCRCPI12 NO 78880000 SPACE 2 78900000 RCRCPI11 OI CPISW1,X'01' INDICATE 8 WAY NETWORK 78920000 B RCRCPI13 GO TO PRINT B AND G MSGS 78940018 SPACE 2 78960000 RCRCPI12 OI CPISW1+1,X'80' INDICATE 16 WAY NETWORK 78980000 SPACE 2 79000000 RCRCPI13 ST RK,WM4TEMP SAVE INDEX REGS FOR MESSAGE ROUTINE 79020000 ST RP,WM4TEMP+4 79040000 B RCRMSG SET UP FOR PRINTING 79060018 EJECT 79080000 * ROUTINE FOR SETTING THE PARAMETERS AND PRINTING OF THE MESSAGES 79100000 SPACE 2 79120000 RCRMSG LM RF,RG,WM4TEMP LOAD INDEX REGS FOR MESSAGE MOD. 79140000 L RP,ADCON LOAD ADCON FOR PRINT RTN. 79160000 L RJ,ADCON1 LOAD ADCON FOR MESSAGE MODULE 79180000 LH RA,WBALBS(RF) LOAD B 79200000 TM CPISW1,X'80' FIXED LENGTH RCDS. 79220000 BO RCRMSGA YES 79240000 SPACE 2 79260000 SH RA,WRECINCR BS-8 79280000 RCRMSGA BAL RO,RCRCONV GO TO CONVERT ROUTINE 79300000 SPACE 2 79320000 MVC CUPM01+13(5),WM4TEMP+3 MOVE IN B 79340000 LM RA,RB,CUPA01 LOAD PARAMETERS FOR PRINT ROUTINE 79360000 BAL RO,0(RP) GO TO PRINT ROUTINE 79380000 SPACE 2 79400000 L RA,WBALG(RG) LOAD G 79420000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 79440000 SPACE 2 79460000 MVC CUPM02+13(5),WM4TEMP+3 MOVE IN G 79480000 LM RA,RB,CUPA02 LOAD PARAMETERS 79500000 BAL RO,0(RP) GO TO PRINT ROUTINE 79520000 SPACE 2 79540000 L RA,WBALNMAX(RG) LOAD NMAX 79560000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 79580000 SPACE 2 79600000 MVC CUPM03+16(8),WM4TEMP MOVE NMAX 79620000 LM RA,RB,CUPA03 LOAD PARAMETERS 79640000 BAL RO,0(RP) GO TO PRINT ROUTINE 79660000 SPACE 2 79680000 * HAS DIAGNOSTIC BIT BEEN SET 79700000 SPACE 2 79720000 TM CPISW1+6,X'01' HAVE DIAGNOSTICS BEEN SPECIFIED 79740000 BZ RCRDONE NO - NO DIAGNOSTICS 79760000 SPACE 2 79780000 * YES 79800000 * DIAGNOSTIC MESSAGE FORTHE TECH. SPECIFIED 79820000 SPACE 2 79840000 L RA,WBALN(RG) LOAD TECH. NAME 79860000 ST RA,DMSG961A MOVE NAME INTO MESSAGE 79880000 LM RA,RB,DMSG961X LOAD PARAMETERS 79900000 BAL RO,0(RP) GO TO PRINT ROUTINE 79920000 SPACE 2 79940000 * MESSAGE FOR NO/SIZE OF BFRS BY PHASE - PHASE 1 79960000 SPACE 2 79980000 LA RA,1 PHASE 1 80000000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80020000 SPACE 2 80040000 MVC DMSG962A(1),WM4TEMP+7 MOVE PHASE NO INTO MESSAGE 80060000 LH RA,WBALNB1(RF) LOAD P1 NO.BFRS 80080000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80100000 SPACE 2 80120000 MVC DMSG962B(2),WM4TEMP+6 MOVE NO BFRS INTO MSG 80140000 LH RA,WBSLBAL(RF) LOAD BSL 80160000 SH RA,WRECINCR BSL-4 OR 8 80180000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80200000 SPACE 2 80220000 MVC DMSG962C(8),WM4TEMP MOVE BSL INTO MESSAGE 80240000 LM RA,RB,DMSG962X LOAD PARAMETERS 80260000 BAL RO,0(RP) GO TO PRINT ROUTINE 80280000 SPACE 2 80300000 * PHASE 2 80320000 SPACE 2 80340000 B RCRMSG01(RG) GO TO PROPER TECHNIQUE 80360018 RCRMSG01 B RCRMSG02 BAL TECH 80380000 B RCRMSG02 POL TECH 80400000 B RCRMSG03 OSC TECH 80420000 SPACE 2 80440000 * BAL OR POL TECH 80460000 SPACE 2 80480000 RCRMSG02 LA RA,2 PHASE 2 80500000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80520000 SPACE 2 80540000 MVC DMSG962A(1),WM4TEMP+7 MOVE PHASE NO INTO MESSAGE 80560000 LH RA,WBALNB2(RF) LOAD PH2 NO BFRS 80580000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80600000 SPACE 2 80620000 MVC DMSG962B(2),WM4TEMP+6 MOVE NO BFRS INT MESSAGE 80640000 LM RA,RB,DMSG962X LOAD PARAMETERS 80660000 BAL RO,0(RP) GO TO PRINT ROUTINE 80680000 SPACE 2 80700000 * PHASE 3 80720000 SPACE 2 80740000 RCRMSG03 LA RA,3 PHASE 3 80760000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80780000 SPACE 2 80800000 MVC DMSG962A(1),WM4TEMP+7 MOVE PH NO INTO MESSAGE 80820000 LH RA,WBALNB3(RF) LOAD NO PH3 BFRS 80840000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 80860000 SPACE 2 80880000 MVC DMSG962B(2),WM4TEMP+6 MOVE NO PH3 BFRS INTO MESSAGE 80900000 LM RA,RB,DMSG962X LOAD PARAMETERS 80920000 BAL RO,0(RP) GO TO PRINT ROUTINE 80940000 SPACE 2 80960000 * SYSGEN CORE MESSAGE 80980000 SPACE 2 81000000 L RA,WTAVLC LOAD SYSGEN CORE VALUE 81020000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 81040000 SPACE 2 81060000 MVC DMSG963A(8),WM4TEMP MOVE CORE VALUE INTO MESSAGE 81080000 LM RA,RB,DMSG963X LOAD PARAMETERS 81100000 BAL RO,0(RP) GO TO PRINT ROUTINE 81120000 SPACE 2 81140000 * CALC. CORE BY PHASE - PHASE 1 81160000 SPACE 2 81180000 LA RA,1 PHASE 1 81200000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 81220000 SPACE 2 81240000 MVC DMSG964A(2),WM4TEMP+6 MOVE PHASE NO INTO MESSAGE 81260000 EX 0,RCRMSG04(RG) LOAD RUNNING PROGRAMS 81280000 SPACE 2 81300000 B RCRMSG05 BYPASS EXECUTED CODE 81320018 SPACE 2 81340000 DS 0F 81360000 RCRMSG04 L RA,WP1BALCR BAL RUNNING PROG 81380000 L RA,WP1POLCR POL RUNNING PROG 81400000 L RA,WP12OSCR OSC RUNNING PROG 81420000 SPACE 2 81440000 RCRMSG05 A RA,WBALP1GC(RG) ADD GEN CORE 81460000 A RA,WBALTREE(RG) ADD TREE SIZE 81480000 L RD,WP1IPBFR LOAD BI SIZE 81500000 MH RD,WBALINP1(RF) BI*INP1 81520000 AR RA,RD ADD VALUE TO RUNNING PROGRAM SIZE 81540000 LH RD,WBSLBAL(RF) LOAD BSL 81560000 LH RE,WBALNB1(RF) LOAD NB1 81580000 SH RE,WBALINP1(RF) NB1-IND1 81600000 SR RC,RC 81620000 MR RC,RE BSL*OUT1 81640000 AR RA,RD ADD VALUE TO RUNNING PROGRAM SIZE 81660000 L RD,WBALG(RG) LOAD G 81680000 SR RC,RC 81700000 MH RD,CPIBINSZ G*BINSZ 81720000 AR RA,RD ADD RSA VALUE TO TOTAL 81740000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 81760000 SPACE 2 81780000 MVC DMSG964B(8),WM4TEMP MOVE CORE VALUE INTO MESSAGE 81800000 LM RA,RB,DMSG964X LOAD PARAMETERS 81820000 BAL RO,0(RP) GO TO PRINT ROUTINE 81840000 SPACE 2 81860000 * PHASE 2 81880000 SPACE 2 81900000 B RCRMSG06(RG) GO TO PROPER TECHNIQUE 81920018 RCRMSG06 B RCRMSG07 BAL 81940000 B RCRMSG07 POL 81960000 B RCRMSG10 OSC - NO PHASE 2 81980000 SPACE 2 82000000 * BAL OR POL TECH 82020000 SPACE 2 82040000 RCRMSG07 LA RA,2 PHASE 2 82060000 BAL RO,RCRCONV GO TO CONV ROUTINE 82080000 SPACE 2 82100000 MVC DMSG964A(2),WM4TEMP+6 MOVE PH NO INTO MESSAGE 82120000 EX 0,RCRMSG08(RG) 82140000 SPACE 2 82160000 B RCRMSG09 BYPASS EXECUTED CODE 82180018 SPACE 2 82200000 DS 0F 82220000 RCRMSG08 L RA,WP2BALCR LOAD BAL RUNNING PROG 82240000 L RA,WP2POLCR LOAD POL RUNNING PROG 82260000 B RCRMSG10 WE SHOULD NEVER GET HERE 82280000 SPACE 2 82300000 RCRMSG09 A RA,WBALP2GC(RG) ADD GEN CORE 82320000 LH RD,WBSLBAL(RF) BSL 82340000 LA RC,0 82360000 MH RD,WBALNB2(RF) NB2*BSL 82380000 AR RA,RD ADD VALUE TO TOTAL 82400000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 82420000 SPACE 2 82440000 MVC DMSG964B(8),WM4TEMP MOVE TOTAL CORE USED INTO MESSAGE 82460000 LM RA,RB,DMSG964X LOAD PARAMETERS 82480000 BAL RO,0(RP) GO TO PRINT ROUTINE 82500000 SPACE 2 82520000 * PHASE 3 - BAL-POL-OSC 82540000 SPACE 2 82560000 RCRMSG10 LA RA,3 PHASE 3 82580000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 82600000 SPACE 2 82620000 MVC DMSG964A(2),WM4TEMP+6 MOVE PHASE NO INTO MESSAGE 82640000 EX 0,RCRMSG11(RG) 82660000 SPACE 2 82680000 B RCRMSG12 BYPASS EXECUTED CODE 82700018 SPACE 2 82720000 DS 0F 82740000 RCRMSG11 L RA,WP3BALCR BAL TECH 82760000 L RA,WP3POLCR POL TECH 82780000 L RA,WP3OSCR OSC TECH 82800000 SPACE 2 82820000 RCRMSG12 A RA,WBALP3GC(RG) ADD GEN CORE 82840000 L RD,WP3OPBFR LOAD OUTBFR 82860000 MH RD,WBALOUT3(RF) BO*OUT3 82880000 AR RA,RD ADD VALUE TO TOTAL 82900000 LH RD,WBALNB3(RF) NB3 82920000 SH RD,WBALOUT3(RF) NB3-OUT3 82940000 MH RD,WBSLBAL(RF) (NB3-OUT3)*BSL 82960000 AR RA,RD ADD VALUE TO TOTAL 82980000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 83000000 SPACE 2 83020000 MVC DMSG964B(8),WM4TEMP MOVE CORE VALUE INTO MESSAGE 83040000 LM RA,RB,DMSG964X LOAD PARAMETERS 83060000 BAL RO,0(RP) GO TO PRINT ROUTINE 83080000 SPACE 2 83100000 * MERGE ORDER MESSAGE 83120000 SPACE 2 83140000 LH RA,WBALMRMX(RF) LOAD MERGE ORDER 83160000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 83180000 SPACE 2 83200000 MVC DMSG965A(2),WM4TEMP+6 MOVE MERGE ORDER INTO MESSAGE 83220000 LM RA,RB,DMSG965X LOAD PARAMETERS 83240000 BAL RO,0(RP) GO TO PRINT ROUTINE 83260000 SPACE 2 83280000 B RCRDONE USELESS INSTRUCTION 83300018 SPACE 2 83320000 RCRDONE LM RA,RP,WREGSV1 RESTORE REGISTERS 83340000 LA RP,0 83360000 BR RO RETURN TO IERRCM 83380000 SPACE 2 83400000 RCRCONV CVD RA,WM4DEWK 83420000 UNPK WM4TEMP(8),WM4DEWK+3(5) 83440000 OI WM4TEMP+7,X'F0' 83460000 BR RO RETURN TO CALLER 83480018 SPACE 2 83500000 DS 0D 83520000 WM4TEMP DC 2F'0' WORK 83540018 WM4DEWK DC 2F'0' AREA 83560018 SPACE 2 83580000 WBALN DC CL4'BALN' SORT TYPES 83600018 WPOLY DC CL4'POLY' FOR 83620018 WOSCL DC CL4'OSCL' MESSAGES 83640018 SPACE 2 83660000 RCRMSGA2 L RP,ADCON LOAD ADCON FOR PRINT RTN. 83680000 L RJ,ADCON1 LOAD ADCON FOR MESSAGE MOD. 83700000 LM RA,RB,CUPA04 LOAD PARAMETERS FOR MESSAGE 83720000 BAL RO,0(RP) GO TO PRINT ROUTINE 83740000 SPACE 2 83760000 B RCRABEND ABEND 83780018 SPACE 2 83800000 RCRMSGA1 L RP,ADCON LOAD ADCON FOR PRINT RTN. 83820000 L RJ,ADCON1 LOAD ADCON FOR MESSAGE MOD. 83840000 L RA,ABRTNMAX LOAD NMAX 83860000 BAL RO,RCRCONV GO TO CONVERT ROUTINE 83880000 SPACE 2 83900000 MVC CUPM03+16(8),WM4TEMP MOVE NMAX 83920000 LM RA,RB,CUPA03 LOAD PARAMETERS 83940000 BAL RO,0(RP) GO TO PRINT RTN. 83960000 SPACE 2 83980000 LM RA,RB,CUPA06 LOAD PARAMETERS 84000000 BAL RO,0(RP) GO TO PRINT RTN. 84020000 SPACE 2 84040000 RCRABEND LM RA,RP,WREGSV1 RESTORE REG. 84060000 LA RP,4 LOAD ABEND CODE 84080000 BR RO RETURN TO RCM 84100000 EJECT 84120000 * THIS CODE COULD NOT FIT IN RCS. THEREFORE WE BRANCH TO IT FROM RCS 84120317 * VIA A BAL INSTRUCTION AND RETURN IMMEDIATELY. 84120617 SPACE 2 84120917 * CHECK FOR VRE RECORDS 84121217 SPACE 2 84121517 RCS0204A TM CPIMODEX+2,X'02' VRE INPUT 84121817 BNO RCS0220 NO 84122117 SPACE 1 84122417 AH RA,CPIRCDL1 ADD SIZE OF MAX RECORD LENGTH 84122717 RCS0220 TM CPIMODEX+2,X'01' VRE OUTPUT 84123017 BNO RCS0221 NO 84123317 SPACE 1 84123617 AH RC,CPIRCDL2 ADD SIZE OF MAX SORT RECORD LENGTH 84123917 SPACE 2 84124217 * CHECK FOR CHECKPOINT/RESTART 84124517 SPACE 2 84124817 RCS0221 TM CPISW1+2,X'01' CHECKPOINT INDICATED 84125117 BNO RCS0222 NO 84125417 SPACE 1 84125717 AH RA,KCHK ADD SIZE OF MODULE TO PHASE 1 84126017 AH RB,KCHK ADD SIZE OF MODULE TO PHASE 2 84126317 AH RC,KCHK ADD SIZE OF MODULE TO PHASE 3 84126617 RCS0222 BR RO RETURN TO MAIN LINE IN RCS 84126917 SPACE 2 84127217 * CHECK FOR VRE RECORDS 84127517 SPACE 2 84127817 RCS0402 TM CPIMODEX+2,X'02' VRE INPUT 84128117 BNO RCS0402A NO 84128417 SPACE 1 84128717 AH RA,CPIRCDL1 ADD SIZE OF MAX RECORD LENGTH 84129017 RCS0402A TM CPIMODEX+2,X'01' VRE OUTPUT 84129317 BNO RCS0402B NO 84129617 SPACE 1 84129917 AH RC,CPIRCDL2 ADD SIZE OF MAX SORT RECORD LENGTH 84130217 SPACE 2 84130517 * CHECK FOR CHECKPOINT/RESTART 84130817 SPACE 2 84131117 RCS0402B TM CPISW1+2,X'01' CHECKPOINT INDICATED 84131417 BNO RCS0402C NO 84131717 SPACE 1 84132017 AH RA,KCHK ADD SIZE OF MODULE TO PHASE1/2 84132317 AH RB,KCHK ADD SIZE OF MODULE TO PHASE 3 84132617 RCS0402C BR RO RETURN TO MAIN LINE CODE IN RCS 84132917 SPACE 2 84133217 * CHECK FOR VRE RECORDS 84133517 SPACE 2 84133817 RCS0807A TM CPIMODEX+2,X'02' VRE INPUT 84134117 BNO RCS0807B NO 84134417 SPACE 1 84134717 AH RA,K08 ADD 8 BYTES FOR GETMAIN LIST 84135017 RCS0807B BC 15,0(RP,RO) RETURN TO MAIN LINE CODE AND GO TO 84135317 * PROPER TECH. 84135617 SPACE 2 84135917 * CHECK FOR VRE RECORDS 84136217 SPACE 2 84136517 RCS1006A TM CPIMODEX+2,X'01' VRE OUTPUT 84136817 BNO RCS1006B NO 84137117 SPACE 1 84137417 AH RA,K08 ADD 8 BYTES FOR GETMAIN LIST 84137717 RCS1006B BR RO RETURN TO MAIN LINE CODE IN RCS 84138017 SPACE 2 84138317 SPACE 2 84139317 EJECT 84150317 *LIST OF CONSTANTS USED BY THE MODULE: 84160000 SPACE 2 84180000 KIRG DC H'180' 7 TRK 200 BPI IRG CHARACTER A26433 84200019 DC H'500' 7 TRK 556 BPI IRG CHARACTER A26433 84220019 DC H'720' 7 TRK 800 BPI IRG CHARACTER A26433 84240019 DC H'640' 9 TRK 800 BPI IRG CHARACTER A26433 84260019 DC H'1280' 9 TRK - 1600 BPI IRG CHARACTERS 1194 84280017 SPACE 1 84300000 * TAPE CAPACITIES FOR ALL DENSITIES. 84320000 * (2300 FT * 12 INCHES) * (DENSITY) / 1000 SCALING FACTOR. 84340000 SPACE 2 84360000 KBITSMAX DC F'5520' 7 TRK - 200 BPI CAPACITY. 84380000 DC F'15346' 7 TRK - 556 BPI CAPACITY. 84400000 DC F'22080' 7 TRK - 800 BPI CAPACITY. 84420000 DC F'22080' 9 TRK - 800 BPI CAPACITY. 84440000 DC F'44160' 9 TRK - 1600 BPI CAPACITY. 84460000 SPACE 1 84480000 K01 DC H'1' CONSTANT 84500018 K02 DC H'2' CONSTANT 84520018 K03 DC H'3' CONSTANT 84540018 K04 DC H'4' CONSTANT 84560018 K06 DC H'6' CONSTANT 84570018 K08 DC H'8' CONSTANT 84580018 K09 DC H'9' CONSTANT 84600018 K10 DC H'10' CONSTANT 84620018 K12 DC H'12' CONSTANT 84640018 K16 DC H'16' CONSTANT 84660018 K17 DC H'17' CONSTANT 84680018 K32 DC H'32' CONSTANT 84700018 K40 DC H'40' CONSTANT 84720018 K52 DC H'52' CONSTANT 84740018 K100 DC H'100' CONSTANT 84760018 K200 DC H'200' CONSTANT 84780018 K256 DC H'256' CONSTANT 84800018 K720 DC H'720' CONSTANT 84820018 K725 DC H'725' CONSTANT 84840018 K740 DC H'740' CONSTANT 84860018 K975 DC H'975' CONSTANT 84880018 K1035 DC H'1035' CONSTANT 84900018 K1670 DC H'1670' CONSTANT 84920018 K2585 DC H'2585' CONSTANT 84940018 K956 DC H'956' CONSTANT 84960018 K1000 DC H'1000' CONSTANT 84980018 K10000 DC H'10000' CONSTANT 85000018 K100000 DC F'100000' CONSTANT 85020018 KVALUE DC F'7200' PHASE 1 - BAL AND POL 85040000 DC F'6745' PHASE 2 - BAL AND POL 85060000 DC F'7805' PHASE 3 - BAL AND POL 85080000 KVALUE1 DC F'10790' PHASE 1 - OSCL 85100000 DC F'7805' PHASE 3 - OSCL 85120000 KSINGCF DC F'0' PHASE 1 - BAL - POL. 85140000 DC F'80' PHASE 2 - BAL - POL. 85160000 DC F'80' PHASE 3 - BAL - POL. 85180000 KFIXLEN DC F'1210' PHASE 1 - BAL& POL 85200000 DC F'275' PHASE 2 - BAL & POL 85220000 DC F'175' PHASE 3 - BAL AND POL 85240000 KFIXLEN1 DC F'1660' PHASE 1 - OSCL 85260000 DC F'170' PHASE 3 - OSCL 85280000 KVARLEN DC F'1025' PHASE 1 - BAL & POL 85300000 DC F'375' PHASE 2 - BAL AND POL 85320000 DC F'245' PHASE 3 - BAL AND POL 85340000 KVARLEN1 DC F'1650' PHASE 1 - OXCL 85360000 DC F'245' PHASE 3 - OSCL 85380000 KTAPE DC F'1240' PHASE 1 - BAL & POL 85400000 DC F'2260' PHASE 2 - BAL & POL 85420000 KMODS DC F'510' PHASE 1 - BAL & POL 85440000 DC F'240' PHASE 2 - BAL & POL 85460000 DC F'385' PHASE 3 - BAL & POL 85480000 KMODS1 DC F'780' PHASE 1 - OXCL 85500000 DC F'385' PHASE 3 - OSCL 85520000 SPACE 1 85540000 SPACE 2 85560000 KGFACTOR DC H'0' FILLER 85580018 DC H'0' FILLER 85600018 DC H'150' MERGE ORDER = 2. 85620000 DC H'166' MERGE ORDER = 3. 85640000 DC H'175' MERGE ORDER = 4. 85660000 DC H'180' MERGE ORDER = 5. 85680000 DC H'183' MERGE ORDER = 6. 85700000 DC H'183' MERGE ORDER = 7. 85720000 DC H'187' MERGE ORDER = 8. 85740000 DC H'187' MERGE ORDER = 9. 85760000 DC H'190' MERGE ORDER = 10. 85780000 DC H'190' MERGE ORDER = 11. 85800000 DC H'191' MERGE ORDER = 12. 85820000 DC H'192' MERGE ORDER = 13. 85840000 DC H'192' MERGE ORDER = 14. 85860000 KPOLGF DC H'193' DUMMY POLY GFACTOR 85880000 DC H'193' MERGE ORDER = 16. 85900000 DC H'160' BEGINNING OF POLY GFACTORS 85920000 DC H'175' MERGE ORDER = 3 85940000 DC H'180' MERGE ORDER = 4 85960000 DC H'185' MERGE ORDER = 5 85980000 DC H'190' MERGE ORDER = 6 86000000 DC H'195' MERGE ORDER = 7 86020000 SPACE 2 86040000 EJECT 86060000 *WORK LOCATIONS USED BY THE MODULE: 86080000 SPACE 2 86100000 ABRTNMAX DC F'0' TOP NMAX 86120018 WORK DC F'0' W A 86140000 WORK1 DC F'0' O R 86160000 WORK2 DC F'0' R E 86180000 WORK3 DC F'0' K A 86200000 WORK4 DC F'0' W 86220018 WORK5 DC F'0' O 86240018 WORK6 DC F'0' R A 86260018 WORK7 DC F'0' K R 86280018 WORK8 DC F'0' E 86300018 WORK9 DC F'0' A 86320018 WFULL DC F'0' WORK LOCATION. 86340000 WFULL1 DC F'0' WORK LOC 86360018 WFULL2 DC F'0' WORK LOC 86380018 WFULL3 DC F'0' WORK LOC 86400018 WFULL4 DC F'0' WORK LOC 86420018 SPACE 1 86440000 WP1IPBFR DC F'0' PHASE 1 INPUT BUFFER SIZE. 86460000 WP3OPBFR DC F'0' PHASE 3 OUTPUT BUFFER SIZE. 86480000 SPACE 1 86500000 WP1BALCR DC F'0' PHASE 1 - BAL - RUNNING CORE. 86520000 WP2BALCR DC F'0' PHASE 2 - BAL - RUNNING CORE. 86540000 WP3BALCR DC F'0' PHASE 3 - BAL - RUNNING CORE. 86560000 WP1POLCR DC F'0' PHASE 1 - POL - RUNNING CORE. 86580000 WP2POLCR DC F'0' PHASE 2 - POL - RUNNING CORE. 86600000 WP3POLCR DC F'0' PHASE 3 - POL - RUNNING CORE. 86620000 WP12OSCR DC F'0' PHASE 12 - OSC - RUNNING CORE. 86640000 WP3OSCR DC F'0' PHASE 3 - OSC - RUNNING CORE. 86660000 WP2OSCR DC F'0' PHASE 2 - OSC - CALCULATED VALUE. 86680000 SPACE 1 86700000 WBALP1GC DC F'0' PHASE 1 - BAL - GEN CORE SIZE. 86720000 WPOLP1GC DC F'0' PHASE 1 - POL - GEN CORE SIZE. 86740000 WOSCP1GC DC F'0' PHASE 1 - OSC - GEN CORE SIZE. 86760000 WBALP2GC DC F'0' PHASE 2 - BAL - GEN CORE SIZE. 86780000 WPOLP2GC DC F'0' PHASE 2 - POL - GEN CORE SIZE. 86800000 WBALP3GC DC F'0' PHASE 3 - BAL - GEN CORE SIZE. 86820000 WPOLP3GC DC F'0' PHASE 3 - POL - GEN CORE SIZE. 86840000 WOSCP3GC DC F'0' PHASE 3 - OSC - GEN CORE SIZE. 86860000 SPACE 1 86880000 WBAL1COR DC F'0' BAL - PHASE 1 AVAILABLE CORE. 86900000 WBAL2COR DC F'0' BAL - PHASE 2 AVAILABLE CORE. 86920000 WBAL3COR DC F'0' BAL - PHASE 3 AVAILABLE CORE. 86940000 WPOL1COR DC F'0' POL - PHASE 1 AVAILABLE CORE. 86960000 WPOL2COR DC F'0' POL - PHASE 2 AVAILABLE CORE. 86980000 WPOL3COR DC F'0' POL - PHASE 3 AVAILABLE CORE. 87000000 WOSC1COR DC F'0' OSC - PHASE 12 AVAILABLE CORE. 87020000 WOSC3COR DC F'0' OSC - PHASE 3 AVAILABLE CORE. 87040000 SPACE 1 87060000 WBAL1AVP DC F'0' BAL - P1 AVAIL CORE LESS INP BFRS. 87080000 WPOL1AVP DC F'0' POL - P1 AVAIL CORE LESS INP BFRS. 87100000 WOSC1AVP DC F'0' OSC - P1 AVAIL CORE LESS INP BFRS. 87120000 WBAL3AVP DC F'0' BAL - P3 AVAIL CORE LESS OUT BFRS. 87140000 WPOL3AVP DC F'0' POL - P3 AVAIL CORE LESS OUT BFRS. 87160000 WOSC3AVP DC F'0' OSC - P3 AVAIL CORE LESS OUT BFRS. 87180000 SPACE 1 87200000 WP2UPDAV DC F'0' BAL - UPDATED AVAILABLE CORE. 87220000 DC F'0' POL - UPDATED AVAILABLE CORE. 87240000 DC F'0' OSC - UPDATED AVAILABLE CORE. 87260000 SPACE 1 87280000 WBALNMAX DC F'0' BAL - CALCULATED NMAX FOR TECH. 87300000 WPOLNMAX DC F'0' POL - CALCULATED NMAX FOR TECH. 87320000 WOSCNMAX DC F'0' OSC - CALCULATED NMAX FOR TECH. 87340000 SPACE 1 87360000 WBALGCOR DC F'0' BAL - P1 CORE AVAILABLE TO G. 87380000 WPOLGCOR DC F'0' POL - P1 CORE AVAILABLE TO G. 87400000 WOSCGCOR DC F'0' OSC - P1 CORE AVAILABLE TO G. 87420000 SPACE 1 87440000 WCSPOLS1 DC F'0' POL - P1 TOTAL STRINGS - ORIG. 87460000 WCSPOLS2 DC F'0' POL - P1 TOTAL STRINGS - NEW. 87480000 WEXTRSZ DC F'0' EXTRACT ROUTINE SIZE. 87500000 WTAVLC DC F'0' TOTAL CORE AVAILABLE TO SORT. 87520000 WDENTAPE DC F'0' MINIMUM WORK TAPE DENSITY. 87540000 WOSC2AVP DC F'0' OSC PHASE 2 AVAIL. 87560000 WGPRIMEF DC F'0' OSC-G PRIME FIXED LENGTH RCDS. 87580000 WGPRIMEV DC F'0' OSC-G PRIME VAR. LENGTH RCDS. 87600000 EJECT 87620000 * HALF WORD LOCATIONS USED BY THE MODULE FOR WORK AREAS. 87640000 SPACE 2 87660000 WTQIND DC H'0' TECH INDICATOR - PRESENT TECH BEING 87680000 * CALCULATED. 87700000 * 0 = BAL, 4 = POL, 8 = OSC. 87720000 WTQIND1 DC H'0' TECH HALF-WORD POINTER. 87740000 * 0 = BAL, 2 = POL, 4 = OSC. 87760000 WTQCTR DC H'0' NO. OF TECHNIQUES TO CALCULATE FOR. 87780000 SPACE 2 87800000 WNOTECH DC H'0' NO. OF TECHNIQUES FOR OPTIMIZATION. 87820000 W1STTECH DC H'0' 1ST TECH TO OPTIMIZE FOR. 87840000 WABRTCTR DC H'0' COUNT OF ABORTED TECHNIQUES. 87860000 WABRTIND DC XL1'0' ABORTED TECH INDICATORS. 87880000 * BIT 1 - BAL TECH ABORTED. 87900000 * BIT 2 - POL TECH ABORTED. 87920000 * BIT 3 - OSC TECH ABORTED. 87940000 * BIT 4 - BAL NMAX EXCEEDED. 87960000 * BIT 5 - POL NMAX EXCEEDED. 87980000 * BIT 6 - OSC NMAX EXCEEDED. 88000000 * BIT 7 - 88020000 * BIT 8 - 88040000 WOPTTECH DC XL1'0' TECH TO OPTIMIZE FOR INDICATORS. 88060000 * BIT 1 - BAL TECHNIQUE. 88080000 * BIT 2 - POL TECHNIQUE. 88100000 * BIT 3 - OSC TECHNIQUE. 88120000 * BITS 4 - 7 - 88140000 SPACE 1 88160000 WRECIND DC H'0' RECORD FORMAT INDIC (0=VAR, 4= FIX) 88180000 WCHNIND DC H'0' CHANNEL CONFIGURATION INDIC. 88200000 WCHNIND1 DC H'0' CHANNEL STATUS - PHASE 1. 88220000 WCHNIND2 DC H'0' CHANNEL STATUS - PHASE 2. 88240000 WCHNIND3 DC H'0' CHANNEL STATUS - PHAS3 2. 88260000 SPACE 1 88280000 WBALBS DC H'0' BAL - SORT BLOCKING (BS). 88300000 WPOLBS DC H'0' POL - SORT BLOCKING (BS). 88320000 WOSCBS DC H'0' OSC - SORT BLOCKING (BS). 88340000 SPACE 1 88360000 WBALG DC F'0' BAL - TECHNIQUE G VALUE. 88380000 WPOLG DC F'0' POL - TECHNIQUE G VALUE. 88400000 WOSCG DC F'0' OSC - TECHNIQUE G VALUE. 88420000 SPACE 1 88440000 WBSLBAL DC H'0' BAL - SORT PHASE BUFFER SIZE (BSL). 88460000 WBSLPOL DC H'0' POL - SORT PHASE BUFFER SIZE (BSL). 88480000 WBSLOSC DC H'0' OSC - SORT PHASE BUFFER SIZE (BSL). 88500000 SPACE 1 88520000 WBALMRMX DC H'0' BAL - MERGE MAX. 88540000 WPOLMRMX DC H'0' POL - MERGE MAX. 88560000 WOSCMRMX DC H'0' OSC - MERGE MAX. 88580000 WBALMRAL DC H'0' BAL - MERGE ALTERNATE. 88600000 SPACE 1 88620000 WBALNB1 DC H'0' BAL - TOTAL PHASE 1 BUFFERS IN/OUT. 88640000 WPOLNB1 DC H'0' POL - TOTAL PHASE 1 BUFFERS IN/OUT. 88660000 WOSCNB1 DC H'0' OSC - TOTAL PHASE 1 BUFFERS IN/OUT. 88680000 SPACE 1 88700000 WBALINP1 DC H'0' BAL - NO. PHASE 1 INPUT BUFFERS. 88720000 WPOLINP1 DC H'0' POL - NO. PHASE 1 INPUT BUFFERS. 88740000 WOSCINP1 DC H'0' OSC - NO. PHASE 1 INPUT BUFFERS. 88760000 SPACE 1 88780000 WBALNB2 DC H'0' BAL - TOTAL NO. PHASE 2 BFRS (I/O). 88800000 WPOLNB2 DC H'0' POL - TOTAL NO. PHASE 2 BFRS (I/O). 88820000 WOSCNB2 DC H'0' OSC - TOTAL NO. PHASE 2 BFRS (I/O). 88840000 SPACE 1 88860000 WBALOUT2 DC H'0' BAL - NO. PHASE 2 OUTPUT BUFFERS. 88880000 WPOLOUT2 DC H'0' POL - NO. PHASE 2 OUTPUT BUFFERS. 88900000 WOSCOUT2 DC H'0' OSC - NO. PHASE 2 OUTPUT BUFFERS. 88920000 SPACE 1 88940000 WBALNB3 DC H'0' BAL - TOTAL PHASE 3 BUFFERS IN/OUT. 88960000 WPOLNB3 DC H'0' POL - TOTAL PHASE 3 BUFFERS IN/OUT. 88980000 WOSCNB3 DC H'0' OSC - TOTAL PHASE 3 BUFFERS IN/OUT. 89000000 SPACE 1 89020000 WBALOUT3 DC H'0' BAL - NO. PHASE 3 OUTPUT BUFFERS. 89040000 WPOLOUT3 DC H'0' POL - NO. PHASE 3 OUTPUT BUFFERS. 89060000 WOSCOUT3 DC H'0' OSC - NO. PHASE 3 OUTPUT BUFFERS. 89080000 SPACE 1 89100000 WBALIOB1 DC H'0' BAL - P1 IOB STORAGE 89120018 WPOLIOB1 DC H'0' POL - P1 IOB STORAGE 89140018 WOSCIOB1 DC H'0' OSC - P1 IOB STORAGE 89160018 SPACE 1 89180000 SPACE 1 89200000 WBALDCB1 DC H'0' BAL - P1 DCB STORAGE 89220018 WPOLDCB1 DC H'0' POL - P1 DCB STORAGE 89240018 WOSCDCB1 DC H'0' OSC - P1 DCB STORAGE 89260018 SPACE 1 89280000 WBALIOB2 DC H'0' BAL - P2 IOB STORAGE 89300018 WPOLIOB2 DC H'0' POL - P2 IOB STORAGE 89320018 WOSCIOB2 DC H'0' OSC - P2 IOB STORAGE 89340018 SPACE 1 89360000 WBALDCB2 DC H'0' BAL - P2 DCB STORAGE 89380018 WPOLDCB2 DC H'0' POL - P2 DCB STORAGE 89400018 WOSCDCB2 DC H'0' 3>" - P2 DCB STORAGE 89420018 SPACE 1 89440000 WBALIOB3 DC H'0' BAL - P3 IOB STORAGE 89460018 WPOLIOB3 DC H'0' POL - P3 IOB STORAGE 89480018 WOSCIOB3 DC H'0' OSC - P3 IOB STORAGE 89500018 SPACE 1 89520000 WBALDCB3 DC H'0' BAL - P3 DCB STORAGE 89540018 WPOLDCB3 DC H'0' POL - P3 DCB STORAGE 89560018 WOSCDCB3 DC H'0' OSC - P3 DCB STORAGE 89580018 SPACE 1 89600000 WBREELS DC H'0' BAL - MAX REELS OF INPUT. 89620000 WPREELS DC H'0' POL - MAX REELS OF INPUT. 89640000 WOREELS DC H'0' OSC - MAX REELS OF INPUT. 89660000 SPACE 1 89680000 WCSSWA DC XL2'0' SWITCH A 89700018 * BIT 1 - SW 1. 89720000 * BIT 2 - SW 2 89740000 * BIT 3 - SW 3. 89760000 * BIT 4 - SW 4. 89780000 * BIT 5 - SW 5. 89800000 * BIT 6 - SW 6. 89820000 * BIT 7 - SW 7. 89840000 * BIT 8 - SW 8. 89860000 WCSSWB DC XL2'0' SWITCH B 89880018 * BIT 1 - SW 9. 89900000 * BIT 2 - SW 10 - TECH FORCED. 89920000 * BIT 3 - SW 11 - FILE GIVEN/EST. 89940000 * BIT 4 - SW 12 - FILE ESTIMATED. 89960000 * BIT 5 - SW 13 - FILE EXACT. 89980000 * BIT 6 - SW 14 - PHASE 1 - OSC-E25 90000000 * BIT 7 - SW 15 - INPUT & WORK 90020000 * NOT SAME CHANNEL. 90040000 * BIT 8 - SW 15 - OUTPUT AND WORK 90060000 * NOT SAME CHANNEL. 90080000 WCSSWC DC XL2'0' SWITCH C 90100018 * BIT 1 - SW 17 - POL 8 WAY NETWORK. 90120000 * BIT 2 - SW 18 - BAL 8 WAY NETWORK. 90140000 * BIT 3 - SW 19 - OSC 8 WAY NETWORK. 90160000 * BIT 4 - SW 20 90180000 * BIT 5 - SW 21 90200000 * BIT 6 - SW 22 - OSC TECH FORCED. 90220000 * BIT 7 - SW 23 - BAL TECH FORCED. 90240000 * BIT 8 - SW 24 - POL TECH FORCED. 90260000 SPACE 1 90280000 WBALEXT1 DC H'0' BAL - SIZE OF EXT FIELD 90300018 WPOLEXT1 DC H'0' POL - SIZE OF EXT FIELD 90320018 WOSCEXT1 DC H'0' OSC - SIZE OF EXT FIELD 90340018 WBALEXT3 DC H'0' BAL - SIZE OF EXT FIELD 90360018 WPOLEXT3 DC H'0' POL - SIZE OF EXT FIELD 90380018 WOSCEXT3 DC H'0' OSC - SIZE OF EXT FIELD 90400018 WBALEXT DC H'0' BAL - SIZE OF EXTRACT ROUTINE. 90420000 WPOLEXT DC H'0' POL - SIZE OF EXTRACT ROUTINE. 90440000 WOSCEXT DC H'0' OSC - SIZE OF EXTRACT ROUTINE. 90460000 WMVRTSZ1 DC H'0' PHASE 1 MOVE ROUTINE SIZE. 90480000 WMVRTSZ3 DC H'0' PHASE 3 MOVE ROUTINE SIZE. 90500000 SPACE 1 90520000 WDIFFCTR DC H'0' OSC - NO. OF ENTRIES IN DIFF TABLE. 90540000 WIRGTAPE DC H'0' MINIMUM DENSITY IRG NO. CHARACTERS. 90560000 SPACE 1 90580000 RCRSW DC H'0' BAL TECHNIQUE SWITCH. 90600000 RCRIND DC H'0' ODD/EVEN PASS INDICATOR. 90620000 RCRSAVE DC F'0' STORAGE FOR NO. STRINGS IN. 90640000 RCRMRGMX DC F'0' STORAGE FOR MRG MAX. 90660000 RCRMRGAL DC F'0' STORAGE FOR MRG ALT. 90680000 RCRNRCDS DC F'0' STORAGE FOR NO. RECORDS IN. 90700000 RCRCORRQ DC F'0' CORE REQUIRED FOR NEW G AND TREE. 90720000 WSTRORIG DC F'0' ORIGINAL STR COUNT - UNOPTIMIZED. 90740000 WSQCTRSV DC F'0' STORAGE FOR LAST LOWER SEQ COUNT. 90760000 WTPRIMEV DC F'0' TREE PRIME VAR.LENGTH RCDS. 90780000 WTPRIMEF DC F'0' TREE PRIME FIXED LENGTH RCDS. 90800000 WBALTREE DC F'0' BAL TECH ACTUAL TREE VALUE. 90820000 WPOLTREE DC F'0' POL TECH ACTUAL TREE VALUE. 90840000 WOSCTREE DC F'0' OSC TECH ACTUAL TREE VALUE. 90860000 WSCNNB1 DC F'0' NUMBER OF NB1 90880000 WSCNNB2 DC F'0' NB2 VALUE 90900000 WSCNNB3 DC F'0' PHASE 3 # OF BUFS 90920000 WSCNBSL DC F'0' BLOCK SIZE 90940000 WSCNP DC F'0' NUMBER OF PASSES 90960000 WADRKP DC F'0' SAVE LOCATION FOR RETURN ADDRESS. 90980000 WTEMPSV DC 3F'0' REG SAVE AREA 91000000 WRCRSCOL DC F'0' OL FACTOR 91020000 WRCRSCBE DC F'0' BE FACTOR 91040000 WRCRSCT DC F'0' T CALCULATION 91060000 WOSCSCN DC F'0' SCN VALUE - FINAL. 91080000 WOSCSCN1 DC F'0' SCN VALUE - UNOPTIMIZED. 91100000 WOSCSCN2 DC F'0' SCN VALUE - OPTIMIZED 91120000 WBALSCN DC F'0' SCN VALUE - FINAL. 91140000 WPOLSCN DC F'0' SCN VALUE - FINAL. 91160000 WBALSCN1 DC F'0' SCN VALUE - UNOPTIMIZED. 91180000 WPOLSCN1 DC F'0' SCN VALUE - UNOPTIMIZED. 91200000 WBALSCN2 DC F'0' SCN VALUE - OPTIMIZED. 91220000 WPOLSCN2 DC F'0' SCN VALUE - OPTIMIZED. 91240000 WBALP1 DC F'0' BAL NO. PASSES UN-OPTIMIZED. 91260000 WPOLP1 DC F'0' POLY ORIG. PASSES 91280000 WOSCP1 DC F'0' OSC NO. PASSES UN-OPTIMIZED. 91300000 WBALP2 DC F'0' OPT. BAL. NO. OF PASSES 91320000 WPOLP2 DC F'0' OPT. POLY NO. OF PASSES 91340000 WOSCP2 DC F'0' NO. PASSES - OPTIMIZED. 91360000 WBALS1 DC F'0' STRINGCOUNT 91380000 WPOLS1 DC F'0' ORIG POLY STRING COUNT 91400000 WPOLS2 DC F'0' OPT. POLY STRING COUNT 91420000 WNEWGCOR DC F'0' GCOR FOR OPTIMIZED B & G 91440000 WBAOBS DC H'0' OPTIMIZED BS 91460000 WRECINCR DC H'0' RECORD INCREMENT ( FIXED = +4, 91500000 * VARIABLE = +8). 91520000 WBALK DC H'0' BAL - TECH K FACTOR. 91540000 WPOLK DC H'0' POL - TECH K FACTOR. 91560000 WOSCK DC H'0' OSC - TECH K FACTOR - VARIABLE RCDS 91580000 WBALNWKU DC H'0' BAL - NO. OF WORK UNITS AVAILABLE. 91600000 WPOLNWKU DC H'0' POL - NO. OF WORK UNITS AVAILABLE. 91620000 WOSCNWKU DC H'0' OSC - NO. OF WORK UNITS AVAILABLE. 91640000 KCHK DC H'200' SIZE OF CHECKPOINT MODULE 91650017 WBAONB1 DC H'0' OPTIMISED TOTAL NR. OF BFFRS A31878 91652021 WSCNINP1 DC F'0' SELECTION INPUT BFRS 91660000 WBAOINP1 DC F'0' OPTIMIZED INPUT BUFFERS 91680000 WOBTREE DC F'0' OPTIMIZED TREE 91720000 WNEWOBSL DC F'0' NEW OPT. TEEE 91740000 WNEWBS DC F'0' NEW OPTIMIZED BS 91760000 WNEWG DC F'0' NEW OPTIMIZED G 91780000 WNEWSTRA DC F'0' DIFFERENCE TABLE - 1ST ADDRESS. 91800000 WNEWSTRB DC F'0' DIFFERENCE TABLE - 2ND ADDRESS. 91820000 WNEWG1A DC F'0' NEW G TABLE - 1ST ADDRESS. 91840000 WNEWG1B DC F'0' NEW G TABLE - 2ND ADDRESS. 91860000 WNEWT1A DC F'0' NEW TREE TABLE - 1ST ADDRESS. 91880000 WNEWT1B DC F'0' NEW TREE TABLE - 2ND ADDRESS. 91900000 WNP1CRQA DC F'0' NEW REQ PHASE 1 CORE TABLE - 1ST 91920000 * ADDRESS. 91940000 WNP1CRQB DC F'0' NEW REQ PHASE 1 CORE TABLE - 2ND 91960000 * ADDRESS. 91980000 WMRGMXA DC F'0' MERGE MAX TABLE - 1ST ADDRESS. 92000000 WMRGMXB DC F'0' MERGE MAX TABLE - 2ND ADDRESS. 92020000 WLOOPCT DC F'0' LOOP COUNT SAVE LOCATION. 92040000 WMRGMX DC 16F'0' OSC MERGE MAX TABLE AREA. 92060000 WSTR1 DC 16F'0' UN-OPTIMIZED STRING COUNT AREA. 92080000 WSTR2 DC 16F'0' OPTIMIZED STRING COUNT AREA. 92100000 WNEWSTR DC 16F'0' NEW STRING COUNT TO SAVE PASS. 92120000 WSUBP1 DC 16F'0' UN/OPTIMIZED SUB-PASS COUNT AREA. 92140000 WSUBP2 DC 16F'0' OPTIMIZED SUB-PASS COUNT AREA. 92160000 WNEWG1 DC 16F'0' NEW G NEEDED TO SAVE PASS. 92180000 WNEWT1 DC 16F'0' NEW TREE SIZE FOR NEW G. 92200000 WNP1CRQ DC 16F'0' PHASE 1 CORE REQUIRED FOR NEW G. 92220000 WSUBTOT DC F'0' SUB-PASS TOTAL COUNT. 92240000 WGCAL DC F'0' NEW CALCULATED G. 92260000 WNMXCAL DC F'0' NEW CALCULATED NMAX. 92280000 WNEWCOR DC F'0' NEW CORE AVAILABLE TO OPTIMIZATION. 92300000 WRMAX DC F'0' NEW CALCULATED RMAX. 92320000 WRMAX1 DC F'0' OLD CALCULATED RMAX. 92340000 WRMAX2 DC F'0' UPDATED PRESENT RMAX. 92360000 WMRMXKP DC F'0' MERGE MAX SAVE LOCATION. 92380000 WOSCRMAX DC F'0' FINAL TECH RMAX. 92400000 WFILSZ DC F'0' USER FILE SIZE. 92420000 WREM DC F'0' PARTIAL REEL REMAINDER 92440000 WREM1 DC F'0' PARTIAL REEL REMAINDER 92460000 WREM2 DC F'0' PARTIAL REEL REMAINDER 92480000 WGAAA DC F'0' RMAX - WORK AREA 92500018 WONB1 DC F'0' OPTIMIZED TOTAL NO. PHASE 1 BFRS. 92520000 WONB2 DC F'0' OPTIMIZED TOTAL NO. PHASE 2 BFRS. 92540000 WONB3 DC F'0' OPTIMIZED TOTAL NO. PHASE 3 BFRS. 92560000 WOBSL DC F'0' SIZE OF OPTIMIZED SORL BUFFER 92580000 WOPASS DC F'0' ACTUAL FULL PASSES OF FILE. 92600000 WOBS DC F'0' SIZE OF OPTIMIZED SORT BLOCKING 92620000 WOINP1 DC F'0' OPTIMIZED NO. PHASE 1 INPUT BFRS. 92640000 WOOUT2 DC F'0' OPTIMIZED NO. PHASE 2 OUTPUT BFRS. 92660000 WOOUT3 DC F'0' OPTIMIZED NO. PHASE 3 OUTPUT BFRS. 92680000 WOTREE DC F'0' OPTIMIZED TREE VALUE. 92700000 WDIFFSV DC H'0' SAVE LOCATION FOR UPDATED DIFFCTR. 92720000 WPTRSV DC H'0' SAVE LOCATION FOR UPDATED TABLE PTR 92740000 WRCDPLUS DC F'0' SIZE OF 1 RCD PLUS INCREMENT. 92760000 WOLDLEV DC H'0' OLD FIB. LEVEL 92780000 WNEWLEV DC H'0' NEW FIB. LEV 92800000 WOLDTSTR DC H'0' OLD TOTAL # OF STRINGS PASSES 92820000 WNEWTSTR DC H'0' NEW TOTAL # OF STRINGS PASSES 92840000 WNEWSTRF DC H'0' POLY NEW NO. OF STRINGS 92860000 WOLDSTRF DC H'0' ORIG. NO. OF STRINGS AT FIB LEVEL 92880000 WFIBSAVE DC 2F'0' M AND # STRINGS 92900000 WFIBWRK1 DC 16H'0' WORK AREAS 92920018 WFIBWRK2 DC 16H'0' ;3› 92940018 WFIBWRK3 DC 16H'0' FIBONACCI 92960018 WFIBWRK4 DC 16H'0' CALCULATIONS 92980018 WNOABORT DC H'0' NUMBER TECHS ELIMINATED 93000018 ADCON DC V(IERGAPRT) ADCON FOR RCM PRINT ROUTINE 93020000 ADCON1 DC A(IERRCU) ADCON FOR RCU 93040000 EJECT 93060000 DIERRCU DSECT 93080000 * MODULE NAME ***IERRCU*** 93100000 SPACE 2 93120000 *STATUS:CHANGE LEVEL 000 93140000 SPACE 2 93160000 * THIS MODULE CONTAINS ALL THE MESSAGES THAT ARE REQUIRED BY 93180000 * THE GENERAL ASSIGNMENT AFTER THE LINKAGE EDITOR HAS BEEN 93200000 * EXECUTED. 93220000 SPACE 2 93240000 *THIS MODULE IS A DSECT IN IERRCK-IERRCS-IERRCL-IERRCJ-IERRCZ 93260000 SPACE 2 93280000 *ENTRY POINTS: N/A 93300000 SPACE 2 93320000 *INPUT: N/A 93340000 SPACE 2 93360000 *OUTPUT: N/A 93380000 SPACE 2 93400000 *EXTERNAL ROUTINES: N/A 93420000 SPACE 2 93440000 *EXITS-NORMAL: N/A 93460000 SPACE 2 93480000 *EXITS-ERROR: N/A 93500000 SPACE 2 93520000 *TABLES/WORK AREAS: N/A 93540000 SPACE 2 93560000 *ATTRIBUTES: THIS IS A CLASS -A- MODULE 93580000 SPACE 2 93600000 *NOTES: N/A 93620000 SPACE 2 93640000 * 93660000 CUPA01 DC A(CUPM01) MSG ADDR 93680018 DC F'18' LENGTH 93700018 * 93720000 CUPA02 DC A(CUPM02) MSG ADDR 93740018 DC F'19' LENGTH 93760018 * 93780000 CUPA03 DC A(CUPM03) MSG ADDR 93800018 DC F'24' LENGTH 93820018 * 93840000 CUPA04 DC A(CUPM04) MSG ADDR 93860018 DC F'27' LENGTH 93880018 * 93900000 CUPA05 DC A(CUPM05) MSG ADDR 93920018 DC F'33' LENGTH 93940018 * 93960000 CUPA06 DC A(CUPM06) MSG ADDR 93980018 DC F'19' LENGTH 94000018 * 94020000 CUPA07 DC A(CUPM07) MSG ADDR 94040018 DC F'26' LENGTH 94060018 * 94080000 CUPA08 DC A(CUPM08) MSG ADDR 94100018 DC F'43' LENGTH 94120018 * 94140000 CUPA09 DC A(CUPM09) MSG ADDR 94160018 DC F'36' LENGTH 94180018 * 94200000 CUPA10 DC A(CUPM10) MSG ADDR 94220018 DC F'29' LENGTH 94240018 * 94260000 CUPA11 DC A(CUPM11) MSG ADDR 94280018 DC F'29' LENGTH 94300018 * 94320000 CUPA12 DC A(CUPM12) MSG ADDR 94340018 DC F'36' LENGTH 94360018 * 94380000 CUPA13 DC A(CUPM13) MSG ADDR 94400018 DC F'26' LENGTH 94420018 * 94440000 CUPA14 DC A(CUPM14) MSG ADDR 94460018 DC F'23' LENGTH 94480018 * 94500000 CUPA15 DC A(CUPM15) MSG ADDR 94520018 DC F'18' LENGTH 94540018 * 94560000 DMSG961X DC A(DMSG961) MSG ADDR 94580018 DC F'26' LENGTH 94600018 * 94620000 DMSG962X DC A(DMSG962) MSG ADDR 94640018 DC F'51' LENGTH 94660018 * 94680000 DMSG963X DC A(DMSG963) MSG ADDR 94700018 DC F'37' LENGTH 94720018 * 94740000 DMSG964X DC A(DMSG964) MSG ADDR 94760018 DC F'37' LENGTH 94780018 * 94800000 DMSG965X DC A(DMSG965) MSG ADDR 94820018 DC F'37' LENGTH 94840018 OPENERR1 DC A(OPENERR) MSG ADDR 94860018 DC F'28' LENGTH 94880018 * 94900000 CUPM01 DC CL18'IER036I - B = ' MESSAGE 94920018 * 94940000 CUPM02 DC CL19'IER037I - G = ' MESSAGE 94960018 * 94980000 CUPM03 DC CL24'IER038I - NMAX = ' MESSAGE 95000018 * 95020000 CUPM04 DC CL27'IER039A - INSUFFICIENT CORE' MESSAGE 95040018 * 95060000 CUPM05 DC CL28'IER040A - INSUFFICIENT WORK ' MESSAGE 95080018 DC CL05'UNITS' MESSAGE 95100018 CUPM06 DC CL19'IER041A - N GT NMAX' MESSAGE 95120018 * 95140000 CUPM07 DC CL26'IER042A - UNITS ASGN ERROR' MESSAGE 95160018 * 95180000 CUPM08 DC CL30'IER043A - DATA SET ATTRIBUTES ' MESSAGE 95200018 DC CL13'NOT SPECIFIED' MESSAGE 95220018 * 95240000 CUPM09 DC CL29'IER056A - SORTIN/SORTOUT NOT ' MESSAGE 95260018 DC CL07'DEFINED' MESSAGE 95280018 * 95300000 CUPM10 DC CL29'IER057A - SORTIN NOT SORTWK01' MESSAGE 95320018 * 95340000 CUPM11 DC CL29'IER058A - SORTOUT A WORK UNIT' MESSAGE 95360018 * 95380000 CUPM12 DC CL30'IER059A - REC LNG INVALID FOR ' MESSAGE 95400018 DC CL06'DEVICE' MESSAGE 95420018 * 95440000 CUPM13 DC CL26'IER060A - DSCB NOT DEFINED' MESSAGE 95460018 * 95480000 CUPM14 DC CL23'IER027A - CF BEYOND REC' MESSAGE 95500018 * 95520000 CUPM15 DC CL18'IER062A - L.E. ERR' MESSAGE 95540018 * 95560000 DMSG961 DC CL22'IER961I - TECHNIQUE - ' MESSAGE 95580018 DMSG961A DC CL04' ' MESSAGE 95600018 * 95620000 DMSG962 DC CL30'IER962I - NO/SIZE OF BFRS, PH ' MESSAGE 95640018 DMSG962A DC CL01'0' MESSAGE 95660018 DC CL02', ' MESSAGE 95680018 DMSG962B DC CL02' ' MESSAGE 95700018 DC CL02', ' MESSAGE 95720018 DMSG962C DC CL08' ' MESSAGE 95740018 * 95760000 DMSG963 DC CL29'IER963I - MAX. SYSGEN CORE - ' MESSAGE 95780018 DMSG963A DC CL08' ' MESSAGE 95800018 * 95820000 DMSG964 DC CL24'IER964I - CALC. CORE PH ' MESSAGE 95840018 DMSG964A DC CL02'00' MESSAGE 95860018 DC CL03' = ' MESSAGE 95880018 DMSG964B DC CL08' ' MESSAGE 95900018 * 95920000 DMSG965 DC CL29'IER965I - MERGE ORDER = ' MESSAGE 95940018 DMSG965A DC CL02' ' MESSAGE 95960018 OPENERR DC CL21'IER063A - OPEN ERR - ' MESSAGE 95980018 OPENERRA DC CL7'SORTLIB' MESSAGE 96000018 OPENERRB DC CL7'USERLIB' MESSAGE 96020018 OPENERRC DC CL7'SYSLMOD' MESSAGE 96040018 OPENERRD DC CL7'SYSLIN ' MESSAGE 96060018 * 96080000 SMCPI 96100000 END 96120000 ./ ADD SSI=05013330,NAME=IERRCT,SOURCE=0 TITLE 'IERRCT - OS/360 SORT/MERGE - 360S-SM023 05/10/66' 00300013 *MODULE NAME:*** IERRCT *** 00600013 SPACE 2 00900013 *STATUS: CHANGE LEVEL 000 01200013 SPACE 2 01500013 *MODULE FUNCTION/OPERATION: INTER-PHASE CORE DELETION MODULE. 01800013 * THE FUCTION OF THIS MODULE IS TO FREE CORE OBTAINED BY THE GETMAIN 02100013 * MACRO , DELETES SORT RUNNING PROGRAMS AND USER PROGRAMS, AND CLOSES 02400013 * I/O DEVICES IF THE JOB IS TO BE ABNORMALLY TERMINATED. THIS MODULE 02700013 * IS IN CORE ONLY WHEN NECESSARY.GENERATED CORE WILL NOT BE FREED BY 03000013 * THIS MODULE EXCEPT AT END OF TASK. 03300013 SPACE 2 03600013 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT - 03900013 * 04200013 * N/A 04500013 * 04800013 * 05100013 *MACROS USED - 05400013 SPACE 1 05700013 * SMPPI CLOSE FREEMAIN 06000013 * DELETE DCBD 06300013 SPACE 2 06600013 *ENTRY POINTS: 06900013 SPACE 1 07200013 * ENTRY ENTRY FROM: IERRCV 07500013 * CALLING SEQUENCE- 07800013 * LOAD EP=IERRCT,DCB=SORTLIB 08100013 * LR RL,RA 08400013 * BALR RO,RL 08700013 SPACE 2 09000013 *INPUT: PPI FIELDS REFERENCED- 09300013 SPACE 1 09600013 * PPISW1 PPIBDSVA PPIMODEX PPIALG 09900013 * PPISTDCB PPIWKARE PPIX16 PPINDSKA 10200013 SPACE 2 10500013 *OUTPUT: PPI FIELDS INITIALIZED OR ALTERED- NONE 10800013 SPACE 2 11100013 *EXTERNAL ROUTINES: 11400013 SPACE 1 11700013 * EXTRN IERRCV SORT SYSTEM CONTROL 12000013 SPACE 2 12300013 *EXTERNAL PARAMETERS: NONE 12600013 SPACE 1 12900013 *EXITS: NORMAL 13200013 SPACE 1 13500013 * IERRCV SORT SYSTEM CONTROL 13800013 SPACE 2 14100013 *EXITS: ERROR - NONE 14400013 SPACE 2 14700013 *TABLES/WORK AREA: 15000013 SPACE 1 15300013 * GETMAIN TABLE POINTED TO BY PPIWKARE,(USED TO FREE CORE). 15600013 * GETMAIN SIZES TABLE POINTED TO BY PPIWKARE+4,(USED TO FREE CORE). 15900013 * DCB ENTRY TABLE POINTED TO BY PPISTDCB,(USED IN CLOSING UNITS). 16200013 * MODULE TABLE BEGINING AT PPIALG AND ENDING AT PPIX16, 16500013 * (USED AS A LIST OF MODULES TO BE DELETED). 16800013 SPACE 2 17100013 *ATTRIBUTES: THIS IS A CLASS A MODULE. 17400013 SPACE 2 17700013 *NOTES: 18000013 SPACE 1 18300013 * CONDITION CODE IS PASSED IN RP. ZERO INDICATES DELETION ONLY; 12 18600013 * MEANS DELETION AND CLOSING OF OPEN DCB@S. LABLES ARE KEYED TO 18900013 * THE BOXES IN AUTOCHART KZ. 19200013 SPACE 2 19500013 *LIST OF GENERAL REGISTER EQUATE STATEMENTS: 19800013 SPACE 1 20100013 RA EQU 0 CONTENTS IN - N/A 20400013 * USE- PARAMETER REGISTER 20700013 * CONTENTS OUT- N/A 21000013 RB EQU 1 CONTENTS IN - N/A 21300013 * USE- PARAMETER REGISTER 21600013 * CONTENTS OUT- N/A 21900013 RC EQU 2 CONTENTS IN - N/A 22200013 * USE- BASE ADDRESS REGISTER FOR DCB'S 22500013 * CONTENTS OUT- N/A 22800013 RD EQU 3 CONTENTS IN - N/A 23100013 * USE- GENERAL WORK REGISTER 23400013 * CONTENTS OUT- N/A 23700013 RE EQU 4 CONTENTS IN - N/A 24000013 * USE- GENERAL WORK REGISTER 24300013 * CONTENTS OUT- N/A 24600013 RF EQU 5 CONTENTS IN - N/A 24900013 * USE- COUNT OF WORK UNITS 25200013 * CONTENTS OUT- N/A 25500013 RG EQU 6 CONTENTS IN - N/A 25800013 * USE- NOT USED 26100013 * CONTENTS OUT- N/A 26400013 RH EQU 7 CONTENTS IN - N/A 26700013 * USE- NOT USED 27000013 * CONTENTS OUT- N/A 27300013 RI EQU 8 CONTENTS IN - N/A 27600013 * USE- NOT USED 27900013 * CONTENTS OUT- N/A 28200013 RJ EQU 9 CONTENTS IN - N/A 28500013 * USE- NOT USED 28800013 * CONTENTS OUT- N/A 29100013 RK EQU 10 CONTENTS IN - N/A 29400013 * USE- NOT USED 29700013 * CONTENTS OUT- N/A 30000013 RL EQU 11 CONTENTS IN - THIS MODULE'S ADDRESS 30300013 * USE- BASE REGISTER FOR THIS MODULE. 30600013 * CONTENTS OUT- N/A 30900013 RM EQU 12 CONTENTS IN - N/A 31200013 * USE- NOT USED 31500013 * CONTENTS OUT- N/A 31800013 RN EQU 13 CONTENTS IN - ADDRESS OF PPI 32100013 * USE- PPI REFERENCE,REGISTER SAVE 32400013 * AREA 32700013 * CONTENTS OUT- ADDRESS OF PPI 33000013 * USE- RETURN REGISTER 33300013 RO EQU 14 CONTENTS IN - RETURN ADDRESS IN RCV 33600013 * CONTENTS OUT- RETURN ADDRESS 33900013 RP EQU 15 CONTENTS IN - CONDITION CODE 34200013 * USE- CONDITION CODE 34500013 * CONTENTS OUT- CONDITION CODE 34800013 SPACE 2 35100013 *START OF MODULE CODE PROPER: 35400013 SPACE 2 35700013 IERRCT CSECT 36000013 *0722789000 4546 36100018 USING *,RL RL MAKES THIS MODULE ADDRESSABLE 36300013 USING IHADCB,RC RC WILL MAKE DCB ADDRESSABLE 36600013 USING IERRCA,RN RN MAKES PPI ADDRESSABLE 36900013 SPACE 2 37200013 STM RA,RP,RCTHOLD SAVE GERNERAL REGISTERS 37500013 SPACE 2 37800013 LA RC,12 IF CONDITION CODE IN RP IS 12, 38100013 CLR RC,RP PERFORM ABNORMAL ENDING PROCEDURE. 38400013 BE RCTC2 GO TO TEST FOR MERGE RUN 38700018 SPACE 2 39000013 TM PPISW1+2,X'06' IF PHASE THREE OR MERGE ONLY 39300013 BNZ RCTCHK TEST FOR CHECKPOINT OPTION 39600017 SPACE 1 39900013 TM RCTB4SW+1,X'20' IF BEFORE SWITCH IS ON CONTINUE 40200013 BO RCTA1 WHERE WE LEFT OFF 40500013 SPACE 1 40800013 MVI RCTB4SW+1,X'20' ELSE TURN BEFORE SWITCH ON 41100013 SPACE 1 41400013 * THIS ROUTINE FRESS CORE OBTAINED VIA A GETMAIN. THE ADDRESS OF EACH 41700013 * PORTION OF CORE CAN BE FOUND IN A TABLE POINTED TO BY PPIWKARE, AND 42000013 * THE SIZE OF EACH PORTION CAN BE FOUND IN A TABLE POINTED TO BY PPI- 42300013 * WKARE+4 . THE LAST SIZE ENTRY MUST HAVE BIT 0 = 1 TO END FREEMAIN. 42600013 SPACE 1 42900013 L RJ,PPISTDCB SET DCB TABLE ADDRESS 42930013 SPACE 1 42933013 TM PPISW1,X'02' IS THIS AN OSCILLATING SORT 42936013 BO RCTPH BRANCH IF YES 42939013 TM PPISW1+6,X'02' IS THIS A 2314 SORT 42942013 BO RCTPH BRANCH IF NO 42945013 TM PPISW1+2,X'0E' TEST FOR END OF PHASE 1 42948013 BNZ RCTD1 IF NO, BYPASS TEST FOR SORTIN CLOSED 42951013 SPACE 1 42954013 RCTPH CLI 0(RJ),X'80' IS SORTIN CLOSED 42964013 BE RCTD1 YES, BRANCH AROUND SORTIN CLOSE 42990013 L RC,0(0,RJ) GET DCB ADDRESS 43020013 CLOSE ((RC)) CLOSE SORTIN 43050013 MVI 0(RJ),X'80' INDICATE SORTIN CLOSED 43080013 SPACE 1 43110013 RCTD1 L RD,PPIWKARE SET POINTER TO A(ADDRESSES) 43200013 L RC,PPIWKARE+4 SET POINTER TO A(SIZES) 43500013 RCTD1A MVC RCTPOSTV+1(3),1(RC) INSURE SIGN BIT IS DROPPED 43800013 L RA,RCTPOSTV SET RA TO LENGTH OF CORE FREED 44100013 L RB,0(0,RD) SET RB TO ADDRESS OF CORE FREED 44400013 SPACE 44700013 FREEMAIN R,LV=(0),A=(1) FREE PIECE OF CORE 45000013 SPACE 45300013 TM 0(RC),X'80' WAS BIT ZERO = 1% I.E. LIST ENDED ? 45600013 BO RCTF1 IF SO, CONTINUE 45900013 LA RC,4(0,RC) SET RC TO NEXT ENTRY LENGTH 46200013 LA RD,4(0,RD) SET RD TO NEXT ENTRY ADDRESS 46500013 B RCTD1A FREE NEXT PIECE OF CORE 46800013 SPACE 2 47100013 RCTF1 LA RC,PPIALG START OF MODULES 47400013 LA RD,PPIOPEN END OF MODULES STARTED BY IER 47700013 LA RE,PPIEOF 48000013 SPACE 2 48300013 RCTF2 L RA,0(0,RC) SET PARAMETER REGISTER TO AN ENTRY. 48600013 LTR RA,RA IF THIS IS A NULL ENTRY 48900013 BZ RCTF3 SKIP TO NEXT ENTRY UPDATE 49200013 RCTST MVC WORK+3(3),0(RC) ELSE PLACE NAME IN WORK AND 49500013 LA RA,WORK ADDRESS OF WORK IN RA 49800013 SPACE 2 50100013 DELETE EPLOC=(0) DELETE CORE INDICATED BY ENTRY. 50400013 SPACE 2 50700013 LTR RP,RP IF AN ERROR CODE IS GENERATED BY 51000013 BC 7,RCTJ1 THE DELETE MACRO,MODULE WAS LOST. 51300013 SPACE 2 51600013 RCTF3 LA RC,8(0,RC) UPDATE TO NEXT MODULE LIST ENTRY. 51900013 CLR RC,RE TEST TO SEE IF BEFORE SWITCH SHOULD 52200013 RCTB4SW NOP RCTA2 CAUSE A PAUSE OVER TO RCV 52500013 RCTG3 CLR RC,RD IF POINTER IS POINTING TO AN ENTRY 52800013 BNH RCTF2 IN THE TABLE,GO BACK TO DELETE 53100013 MVI WORK,C' ' CLEAR WORK AREA TO BLANKS 53400013 MVC WORK+1(7),WORK 53700013 MVC RCTST(6),RCTSTOV OVERLAY FOR USER EXITS 54000013 LA RD,PPIX16 SET RD TO END OF MODULES 54300013 CLR RC,RD ARE WE ALREADY FINISHED 54600013 BNH RCTF2 IF NOT FINISH USER EXITS 54900013 SPACE 2 55200013 RCTJ3 LM RA,RP,RCTHOLD RESTORE REGISTERS 55500013 BR RO RETURN TO SORT SYSTEM CONTROL (RCV) 55800013 SPACE 1 56100013 RCTA1 LM RC,RE,REGREST 56400013 MVI RCTB4SW+1,X'00' TURN OFF BEFORE SWITCH 56700013 B RCTF2 GO TO TEST FOR NULL ENTRY 57000018 SPACE 1 57300013 RCTA2 STM RC,RE,REGREST SAVE REGS C,D & E FOR NEXT PASS 57600013 B RCTJ3 RETURN TO RCV FOR CLOSE 57900013 SPACE 2 58200013 RCTJ1 L RP,PPIADSSC 58500013 BAL RO,28(0,RP) WRITE DELETE ERROR MESSAGE 58800013 MVI RCTG4+1,X'00' SET BRANCH TO RCTD1 AT RCTG4 TO NOP 59100013 LM RA,RO,RCTHOLD RESTORE REGISTERS EXCEPT CC(RP). 59400013 LA RP,12 SET CC (RP) TO ERROR = 12. 59700013 ST RP,RCTHOLD+60 RESET RP TO INDICATE ERROR CODE 60000013 SPACE 2 60300013 RCTC2 L RD,PPISTDCB RD WILL BE A POINTER TO DCB ENTRIES, 60600013 L RC,0(0,RD) EACH CLOSED ENTRY BYTE 1 = X'80'. 60900013 TM PPISW1+2,X'02' IS THIS A MERGE ONLY RUN 61200013 BZ RCTXX1 IF NOT, SKIP MERGE SET UP 61500013 LH RF,PPIMRGMX 61800013 B RCTE3A GO TO INCREMENT DCB PTR 62100018 RCTXX1 TM PPISW1+1,X'40' IF TAPE IS INDICATED, SET UP COUNTER 62400013 BO RCTC2A FROM NUMBER OF TAPE UNITS 62700013 LH RF,PPINDSKA RF WILL BECOME DISK AREA COUNTER 63000013 B RCTD3 SET FROM NUMBER OF DISK AREAS. 63300013 SPACE 2 63600013 RCTC2A SR RF,RF RF WILL BECOME A WORK UNIT COUNTER 63900013 IC RF,PPIBDSVA SET FROM TOTAL WORK UNITS FIELD. 64200013 SPACE 2 64500013 * IF PHASE 1 CLOSE FIRST UNIT AS INPUT(REWIND TO LOAD POINT) , SET DCB- 64800013 * OFLAGS AND CLOSE REST AS OUTPUT. IF PHASE 2,SET DCBOFLAGS CLOSE ALL 65100013 * AS OUTPUT (AT LOAD POINT). IF PHASE 3,CLOSE FIRST AS OUTPUT,SET DCB- 65400013 * OFLAGS AND CLOSE REST AS OUTPUT.IF MERGE ONLY,CLOSE FIRST AS OUTPUT, 65700013 * REST AS INPUT. IN ALL CASE EXIT THROUGH RCTG4 (FOR POSSIBLE OVERLAY). 66000013 SPACE 1 66300013 RCTD3 TM PPISW1+2,X'0C' TEST FOR PHASE 2 OR 3 66600013 BC 8,RCTD2 NO PHASE 1 66900013 TM PPISW1+2,X'04' TEST FOR PHASE 3 67200013 BNO RCTD4X NO, PHASE 2 67500013 * ASSUME PHASE 3 OR MERGE ONLY 67800013 RCTE3A LA RD,4(0,RD) INCREMENT TO NEST DCB POINTER 68100013 LTR RC,RC IS ENTRY ALREADY CLOSED,IF SO DO NOT 68400013 BM RCTE4 CLOSE IT AND BRANCH TO REMAINDER. 68700013 SPACE 2 69000013 CLOSE ((RC),LEAVE) LEAVE UNIT DOSITIONED AT LOAD POINT 69300013 SPACE 2 69600013 RCTE4 TM PPISW1+2,X'02' MERGE ONLY 69900013 BZ RCTD4 IF NOT ,MUST BE PHASE 3 70200013 RCTF4 L RC,0(0,RD) SET RC TO ADDRESS OF NEXT DCB 70500013 LTR RC,RC IS THIS DCB ALREADY CLOSED,IF SO 70800013 BM RCTF4A CHECK NEXT ENTRY. 71100013 SPACE 2 71400013 CLOSE ((RC),REREAD) IF NOT CLOSE WITH REWIND. 71700013 SPACE 2 72000013 RCTF4A LA RD,4(0,RD) INCREMENT TO NEST DCB POINTER 72300013 BCT RF,RCTF4 DECREMENT RF,IF NONE LEFT EXIT RCTG4 72600013 SPACE 2 72900013 RCTG4 B RCTD1 THIS BRANCH MAY BECOME NOP AT RCTK1 73200013 B RCTJ3 ALTERNATE BRANCH POINT IF RCTG4=NOP. 73500013 SPACE 2 73800013 RCTD2 LA RD,4(0,RD) INCREMENT TO FIRST WORK UNIT 74100013 LTR RC,RC IS THIS UNIT ALREADY CLOSED 74400013 BM RCTD4 IF SO BRANCH TO REMAINDER OF UNITS 74700013 SPACE 2 75000013 CLOSE ((RC),REREAD) IF NOT CLOSE WITH REWIND. 75300013 SPACE 2 75600013 RCTD4 L RC,0(0,RD) SET RC TO NEXT DCB ADDRESS ENTRY 75900013 LTR RC,RC IS THIS UNIT ALREADY CLOSED 76200013 BM RCTD5A BRANCH TO SET UP FOR NEXT 76500013 NI DCBOFLGS,X'BF' TURN OFF READ BACKWARDS BIT IF ON 76800013 SPACE 2 77100013 TM PPISW1+1,X'40' IS IT A TAPE SORT. 77400013 BC 1,RCTCLOSE BRANCH ON YES. 77700013 SPACE 2 78000013 LA RK,0 78300013 STH RK,26(RC) CLEAR DSORG FOR DIRECT ACCESS. 78600013 RCTCLOSE CLOSE ((RC),REREAD) CLOSE A UNIT 4546 78900018 SPACE 2 79200013 RCTD5A LA RD,4(0,RD) INCREMENT TO NEST DCB POINTER 79500013 BCT RF,RCTD4 IF UNITS REMAIN,GO BACK TO CLOSE 79800013 B RCTG4 ELSE GO TO SWITCH RCTG4 80100013 RCTSTOV MVC WORK(3),0(RC) USED TO OVERLAY USER EXITS 80400013 SPACE 2 80700013 RCTD4X TM PPISW1,X'02' IF OSC, USE PHASE 1 LOGIC 81000013 BO RCTD2 GO TO INCREMENT TO FIRST WORK UNIT 81300018 SPACE 1 81600013 LA RD,4(0,RD) SKIP OVER UNUSED SORTIN/OUT SLOT 81900013 B RCTD4 OTHERWISE - PH 2 82200013 RCTCHK TM PPISW1+2,X'01' IS CHECKPOINT ACTIVATED.... 82220017 BZ RCTD1 NO, NO CHECKPOINT TO DELETE 82240017 SPACE 82260017 LA RA,RCTCHKAD LOAD ADDR OF MODULE NAME 82280017 DELETE EPLOC=(0) DELETE CHECKPOINT MODULE 82300017 SPACE 82320017 LTR RP,RP IF AN ERROR CODE IS GENERATED BY 82340017 BC 7,RCTJ1 THE DELETE MACRO, MODULE WAS LOST 82360017 B RCTD1 NO ERROR RETURN TO MAIN LINE 82380017 SPACE 2 82400017 SPACE 5 82500013 DS 0D 82800013 WORK DC CL8'IER' C O N S 83000018 RCTCHKAD DC CL8'IERCHK' T A N T S 83200018 RCTHOLD DS 16F SIXTEEN WORD SAVE AREA 83400013 RCTPOSTV DC F'0' C O N S 83700018 REGREST DC 3F'0' T A N T S 84000018 EJECT 84300013 DCBD DSORG=PS 84600013 EJECT 84900013 SMPPI 85200013 END 85500013 ./ ADD SSI=02011583,SOURCE=1,NAME=IERRCU TITLE ' IERRCU - OS/360 SORT/MERGE - 360S-SM023 4/18/66' 00600013 *MODULE NAME *** IERRCU *** 01200013 SPACE 2 01800013 *STATUS:CHANGE LEVEL 000 02400013 SPACE 2 03000013 *MODULE FUNCTION-OPERATION - 03600013 * THIS MODULE CONTAINS ALL THE MESSAGES THAT ARE REQUIRED BY 04200013 * THE GENERAL ASSIGNMENT AFTER THE LINKAGE EDITOR HAS BEEN 04800013 * EXECUTED. 05400013 SPACE 2 06000013 *THIS MODULE IS A DSECT IN IERRCK-IERRCS-IERRCL-IERRCJ-IERRCZ 06600013 SPACE 2 07200013 *MACROS USED - NONE 07800013 * 08400013 * 09000013 *ENTRY POINTS: N/A 09600013 SPACE 2 10200013 *INPUT: N/A 10800013 SPACE 2 11400013 *OUTPUT: N/A 12000013 SPACE 2 12600013 *EXTERNAL ROUTINES: N/A 13200013 SPACE 2 13800013 *EXTERNAL PARAMETERS - N/A 14400013 * 15000013 * 15600013 *EXITS-NORMAL: N/A 16200013 SPACE 2 16800013 *EXITS-ERROR: N/A 17400013 SPACE 2 18000013 *TABLES/WORK AREAS: N/A 18600013 SPACE 2 19200013 *ATTRIBUTES: THIS IS A CLASS -A- MODULE 19800013 SPACE 2 20400013 *NOTES: N/A 21000013 SPACE 2 21600013 IERRCU CSECT 22200013 * 22800013 CUPA01 DC A(CUPM01) 23400013 DC F'18' 24000013 * 24600013 CUPA02 DC A(CUPM02) 25200013 DC F'19' 25800013 * 26400013 CUPA03 DC A(CUPM03) 27000013 DC F'24' 27600013 * 28200013 CUPA04 DC A(CUPM04) 28800013 DC F'27' 29400013 * 30000013 CUPA05 DC A(CUPM05) 30600013 DC F'33' 31200013 * 31800013 CUPA06 DC A(CUPM06) 32400013 DC F'19' 33000013 * 33600013 CUPA07 DC A(CUPM07) 34200013 DC F'26' 34800013 * 35400013 CUPA08 DC A(CUPM08) 36000013 DC F'43' 36600013 * 37200013 CUPA09 DC A(CUPM09) 37800013 DC F'36' 38400013 * 39000013 CUPA10 DC A(CUPM10) 39600013 DC F'29' 40200013 * 40800013 CUPA11 DC A(CUPM11) 41400013 DC F'29' 42000013 * 42600013 CUPA12 DC A(CUPM12) 43200013 DC F'36' 43800013 * 44400013 CUPA13 DC A(CUPM13) 45000013 DC F'26' 45600013 * 46200013 CUPA14 DC A(CUPM14) 46800013 DC F'23' 47400013 * 48000013 CUPA15 DC A(CUPM15) 48600013 DC F'18' 49200013 * 49800013 DMSG961X DC A(DMSG961) 50400013 DC F'26' 51000013 * 51600013 DMSG962X DC A(DMSG962) 52200013 DC F'45' 52800013 * 53400013 DMSG963X DC A(DMSG963) 54000013 DC F'37' 54600013 * 55200013 DMSG964X DC A(DMSG964) 55800013 DC F'37' 56400013 * 57000013 DMSG965X DC A(DMSG965) 57600013 DC F'31' 58200013 OPENERR1 DC A(OPENERR) 58800013 DC F'28' 59400013 * 60000013 CUPM01 DC CL18'IER036I - B = ' 60600013 * 61200013 CUPM02 DC CL19'IER037I - G = ' 61800013 * 62400013 CUPM03 DC CL24'IER038I - NMAX = ' 63000013 * 63600013 CUPM04 DC CL27'IER039A - INSUFFICIENT CORE' 64200013 * 64800013 CUPM05 DC CL28'IER040A - INSUFFICIENT WORK ' 65400013 DC CL05'UNITS' 66000013 CUPM06 DC CL19'IER041A - N GT NMAX' 66600013 * 67200013 CUPM07 DC CL26'IER042A - UNITS ASGN ERROR' 67800013 * 68400013 CUPM08 DC CL30'IER043A - DATA SET ATTRIBUTES ' 69000013 DC CL13'NOT SPECIFIED' 69600013 * 70200013 CUPM09 DC CL29'IER056A - SORTIN/SORTOUT NOT ' 70800013 DC CL07'DEFINED' 71400013 * 72000013 CUPM10 DC CL29'IER057A - SORTIN NOT SORTWK01' 72600013 * 73200013 CUPM11 DC CL29'IER058A - SORTOUT A WORK UNIT' 73800013 * 74400013 CUPM12 DC CL30'IER059A - REC LNG INVALID FOR ' 75000013 DC CL06'DEVICE' 75600013 * 76200013 CUPM13 DC CL26'IER060A - DSCB NOT DEFINED' 76800013 * 77400013 CUPM14 DC CL23'IER027A - CF BEYOND REC' 78000013 * 78600013 CUPM15 DC CL18'IER062A - L.E. ERR' 79200013 * 79800013 DMSG961 DC CL22'IER961I - TECHNIQUE - ' 80400013 DMSG961A DC CL04' ' 81000013 * 81600013 DMSG962 DC CL30'IER962I - NO/SIZE OF BFRS, PH ' 82200013 DMSG962A DC CL01'0' 82800013 DC CL02', ' 83400013 DMSG962B DC CL02' ' 84000013 DC CL02', ' 84600013 DMSG962C DC CL08' ' 85200013 * 85800013 DMSG963 DC CL29'IER963I - MAX. SYSGEN CORE - ' 86400013 DMSG963A DC CL08' ' 87000013 * 87600013 DMSG964 DC CL24'IER964I - CALC. CORE PH ' 88200013 DMSG964A DC CL02'00' 88800013 DC CL03' = ' 89400013 DMSG964B DC CL08' ' 90000013 * 90600013 DMSG965 DC CL29'IER965I - MERGE ORDER = ' 91200013 DMSG965A DC CL02' ' 91800013 OPENERR DC CL21'IER063A - OPEN ERR - ' 92400013 OPENERRA DC CL7'SORTLIB' 93000013 OPENERRB DC CL7'USERLIB' 93600013 OPENERRC DC CL7'SYSLMOD' 94200013 OPENERRD DC CL7'SYSLIN ' 94800013 * 95400013 END 96000013 ./ ADD SSI=03010192,NAME=IERRCV,SOURCE=0 TITLE 'IERRCV - OS/360 SORT/MERGE - 360-SM-023 05/20/66' 00100013 *MODULE NAME *** IERRCV *** 00200013 SPACE 2 00300013 *STATUS: CHANGE LEVEL 0 00400013 SPACE 2 00500013 *MODULE FUNCTION/OPERATION: THE PURPOSE OF THIS MODULE IS TO HANDLE ALL 00600013 * MESSAGE PRINTING AND CONTROL LINKAGE FROM PHASE 1 TO PHASE 2 AND/OR 00700013 * PHASE 3. IT ALSO RECEIVES CONTROL AT ABNORMAL OR NORMAL END OF 00800013 * TASK. THE MODULE CONTROLS THE FREEING OF CORE, DELETING OF RUNNING 00900013 * PROGRAMS, AND CLOSING OF FILES. IERRCV ACHIEVES THESE BY LOADING 01000013 * IERRCT AND THE APPROPRIATE END OF PHASE ROUTINE, WHICH ACTUALLY DO 01100013 * THE ABOVE MENTIONED FUNCTIONS OF FREEING CORE, ETC. FOR IERRCV. 01200013 * IERRCV ALSO HAS A QSAM SYNAD(ERROR HANDLING) ENTRY. 01300013 SPACE 2 01400013 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT - 01500013 * 01600013 * N/A 01700013 * 01800013 * 01900013 *LIST OF MACROS USED BY MODULE: 02000013 * LOAD 02100013 * DELETE 02200013 * WRITE 02300013 * CHECK 02400013 * PRTOV 02500013 * WTO 02600013 * SMPPI 02700013 * FREEMAIN 02800013 SPACE 2 02900013 *ENTRY POINTS: 03000013 SPACE 1 03100013 * ENTRY ENTRY FROM IERRCB. 03200013 * CALLING SEQUENCE- 03300013 * LOAD EP=IERRCV,DCB=(1) 03400013 * LR RP,RA 03500013 * BALR RO,RP 03600013 SPACE 1 03700013 * ENTRY ENTRY FROM IERRCT. 03800013 * CALLING SEQUENCE- 03900013 * BR RO 04000013 SPACE 1 04100013 * ENTRY ENTRY FROM END OF TASK ROUTINE. 04200013 * CALLING SEQUENCE- 04300013 * L RP,PPIADSSC 04400013 * BR RP 04500013 SPACE 1 04600013 * ENTRY ENTRY FROM END OF PHASE ROUTINE. 04700013 * CALLING SEQUENCE- 04800013 * L RP,PPIADSSC 04900013 * B 4(0,RP) -TO LOAD PHASE 2- 05000013 * B 8(0,RP) -TO LOAD PHASE 3- 05100013 SPACE 1 05200013 * ENTRY ENTRY FROM ANY MODULE TO PRNT MSG. 05300013 * CALLING SEQUENCE- 05400013 * L RP,PPIADSSC 05500013 * BAL RO,12(0,RP) 05600013 SPACE 1 05700013 * ENTRY ENTRY FROM MODULE WANTING TO ABORT. 05800013 * CALLING SEQUENCE- 05900013 * L RP,PPIADSSC 06000013 * B 16(0,RP) 06100013 SPACE 1 06200013 * ENTRY ENTRY FROM ALGORITHM. 06300013 * CALLING SEQUENCE- 06400013 * L RP,PPIADSSC 06500013 * B 20(0,RP) 06600013 SPACE 1 06700013 * ENTRY ENTRY FROM QSAM ERROR ROUTINE. 06800013 * CALLING SEQUENCE- 06900013 * L XX,YY (XX=ANY REGISTER AND 07000013 * BR XX YY=A SYNAD ADDRESS 07100013 * IN A DCB WHICH CON- 07200013 * TAINS THE SAME ADD- 07300013 * RESS AS PPIASSC+24) 07400013 SPACE 1 07500013 * ENTRY ENTRY FROM ANY MODULE TO PRINT THE 07600013 * DELETE ERROR MESSAGE. 07700013 * CALLING SEQUENCE- 07800013 * L RP,PPIADSSC 07900013 * BAL RO,28(0,RP) 08000013 SPACE 2 08100013 *INPUT: PPI FIELDS REFERENCED - 08200013 SPACE 1 08300013 * PPIWKARE PPIGETMN PPIGETSZ 08400013 * PPIADSSC PPISW1 PPISLIB 08500013 SPACE 2 08600013 *OUTPUT: PPI FIELDS INITIALIZED OR ALTERED - 08700013 SPACE 1 08800013 * PPIWKARE PPIADSSC 08900013 SPACE 2 09000013 *EXTERNAL ROUTINES: N/A 09100013 SPACE 2 09200013 *EXTERNAL PARAMETERS - N/A 09300013 * 09400013 * 09500013 *EXITS-NORMAL: 09600013 SPACE 1 09700013 * IERRCT - DELETE-CLOSE FILES ROUTINE. 09800013 * MODULE SELECTION ROUTINE - AT BEGINNING OF EACH PASS. 09900013 * END OF PHASE ROUTINE - AT END OF EACH PASS. 10000013 * RETURN TO ANY MODULE WHICH HAS ENTERED IERRCV TO PRINT A MESSAGE. 10100013 * IERRCB - TO RETURN CONTROL AFTER A SUCCESSFUL SORT/MERGE. 10200013 SPACE 2 10300013 *EXITS-ERROR: 10400013 SPACE 1 10500013 * IERRCB - TO RETURN CONTROL ON AN ABORT CONDITION. 10600013 SPACE 2 10700013 *TABLES/WORK AREAS: 10800013 SPACE 1 10900013 * WORK AREA AT WNAME1 IS AN 8 BYTE AREA CONTAINING IERRC6, IERRC7, 11000013 * IERRC8 OR IERRCT FOR LOADING AND DELETING. 11100013 * WORK AREA AT WNAME2 IS AN 8 BYTE AREA CONTAINING IERRPC, IERRPF, 11200013 * IERRPM, OR IER8PM FOR LOADING AND DELETING THE END OF PHASE MODULE. 11300013 * WORK AREA AT WSAVE1 IS A ONE WORD LOCATION USED TO SAVE AN ERROR 11400013 * INDICATION. 11500013 * WORK AREA AT WSAVE2 IS A ONE WORD LOCATION USED TO SAVE A CODE 11600013 * WHICH IS PASSED BY THE ALGORITHM AND USED IN BRANCHING TO THE END 11700013 * OF PHASE ROUTINE. 11800013 * WORK AREA AT WSWITCH IS A ONE BYTE AREA TO INDICATE END OF TASK. 11900013 * WORK AREA AT WSAVE3 IS A 13 WORD AREA FOR SAVING REGISTERS. 12000013 SPACE 2 12100013 *ATTRIBUTES: THIS IS A CLASS A MODULE. 12200013 SPACE 2 12300013 *NOTES: THIS MODULE IS USED FOR EVERY SORT/MERGE 12400013 EJECT 12500013 *LIST OF GENERAL REGISTER EQUATE STATEMENTS 12600013 SPACE 1 12700013 RA EQU 0 CONTENTS IN - WHEN ENTERED FROM A 12800013 * MODULE WANTING MESSAGE PRINTED IT 12900013 * WILL CONTAIN THE ADDRESS OF THE 13000013 * MESSAGE. 13100013 * - ADDRESS OF ROUTINE 13200013 * JUST LOADED UPON RETURN FROM THE 13300013 * LOAD ROUTINE. 13400013 * USED - GENERAL WORK REGISTER. 13500013 * CONTENTS OUT - ADDRESS OF A LOCATION 13600013 * CONTAINING THE NAME OF THE MODULE 13700013 * TO BE LOADED OR DELETED WHEN GOING 13800013 * TO ONE OF THOSE ROUTINES. 13900013 RB EQU 1 CONTENTS IN - WHEN ENTERED FROM A 14000013 * MODULE WANTING MESSAGE PRINTED IT 14100013 * WILL CONTAIN THE LENGTH OF THE 14200013 * MESSAGE. 14300013 * - WHEN ENTERED FROM THE 14400013 * ALGORITHM IT WILL CONTAIN A NUMBER 14500013 * TO BE USED AS A DISPLACEMENT WHEN 14600013 * BRANCHING TO THE EOP ROUTINE. 14700013 * USED - GENERAL WORK REGISTER. 14800013 * CONTENTS OUT - SIZE OF CORE TO BE 14900013 * FREED WHEN GOING TO THE FREEMAIN 15000013 * ROUTINE. 15100013 * - ADDRESS OF SORTLIB 15200013 * DCB WHEN GOING TO THE LOAD ROUTINE 15300013 * - DISPLACEMENT MENTION- 15400013 * ED ON CONTENTS IN WHEN GOING TO 15500013 * THE END OF PHASE ROUTINE 15600013 * - ADDRESS OF PARAMETER 15700013 * LIST WHEN GOING TO THE WTO ROUTINE 15800013 RC EQU 2 NOT USED. 15900013 RD EQU 3 CONTENTS IN - SYSOUT DCB ADDRESS 16000013 * WHEN ENTERED FROM IERRCB. 16100013 * USED - NOT USED. 16200013 * CONTENTS OUT - N/A 16300013 RE EQU 4 CONTENTS IN - N/A 16400013 * USED - GENERAL WORK REGISTER. 16500013 * CONTENTS OUT - N/A 16600013 RF EQU 5 CONTENTS IN - N/A 16700013 * USED - GENERAL WORK REGISTER. 16800013 * CONTENTS OUT - N/A 16900013 RG EQU 6 CONTENTS IN - N/A 17000013 * USED - GENERAL WORK REGISTER. 17100013 * CONTENTS OUT - N/A 17200013 RH EQU 7 CONTENTS IN - N/A 17300013 * USED - GENERAL WORK REGISTER. 17400013 * CONTENTS OUT - N/A 17500013 RI EQU 8 CONTENTS IN - N/A 17600013 * USED - TEMPORARY BASE REGISTER. 17700013 * CONTENTS OUT - N/A 17800013 RJ EQU 9 CONTENTS IN - N/A 17900013 * USED - BASE REGISTER. 18000013 * CONTENTS OUT - SYSOUT DCB ADDRESS 18100013 * WHEN GOING TO WRITE MACRO ROUTINE. 18200013 RK EQU 10 CONTENTS IN - N/A 18300013 * USED - NOT USED. 18400013 * CONTENTS OUT - ADDRESS OF MESSAGE TO 18500013 * BE PRINTED WHEN GOING TO THE WRITE 18600013 * MACRO ROUTINE. 18700013 RL EQU 11 CONTENTS IN - N/A 18800013 * USED - NOT USED. 18900013 * CONTENTS OUT - ADDRESS OF RCT WHEN 19000013 * BRANCHING AND LINKING TO IT. 19100013 * - LENGTH OF MESSAGE TO 19200013 * BE PRINTED WHEN GOING TO THE WRITE 19300013 * MACRO ROUTINE. 19400013 * - ADDRESS OF END OF 19500013 * PHASE ROUTINE UPON BRANCHING TO IT 19600013 RM EQU 12 CONTENTS IN - N/A 19700013 * USED - BASE REGISTER FOR IERRMD 19800013 * CONTENTS OUT - N/A 19900013 RN EQU 13 CONTENTS IN - PPI ADDRESS ALWAYS 20000013 * USED - PPI BASE REGISTER 20100013 * CONTENTS OUT - PPI ADDRESS ALWAYS 20200013 RO EQU 14 CONTENTS IN - RCV RETURN ADDRESS 20300013 * UPON RETURN FROM RCT. 20400013 * USED - LINK REGISTER 20500013 * CONTENTS OUT - LINK ADDRESS OF RCB 20600013 * UPON RETURN TO RCB. 20700013 * - LINK ADDRESS OF ANY 20800013 * ROUTINE REQUESTING MESSAGE PRINT- 20900013 * ING UPON RETURN TO IT 21000013 RP EQU 15 CONTENTS IN - ADDRESS OF RCV UPON 21100013 * ENTRY FROM RCB. 21200013 * - ADDRESS OF PPIADSSC 21300013 * UPON ENTRY FROM - EOP ROUTINE. 21400013 * - ALGORITHM. 21500013 * - EOT ROUTINE. 21600013 * - MESSAE REQUEST. 21700013 * - ABORT REQUEST. 21800013 * - 0 OR 12 ON ENTRY FROM 21900013 * RCT INDICATING NORMAL OR ABEND 22000013 * CONDITION. 22100013 * USED - TEMPORARY BASE REGISTER. 22200013 * CONTENTS OUT - ADDRESS OF MODULE 22300013 * BEING BRANCHED TO WHEN GOING TO 22400013 * MODULE SELECTION ROUTINES. 22500013 * - INDICATION OF NORMAL 22600013 * OR ABEND CONDITION UPON EXIT TO 22700013 * RCT AND UPON RETURN TO RCB. 0 = 22800013 * NORMAL. 12 = ABEND. 22900013 SPACE 2 23000013 *START OF MODULE CODE PROPER: 23100013 SPACE 2 23200013 IERRCV CSECT SORT PHASE CONTROL 23300013 *C372000,A372500 A41251 23310021 *C363600,364500 A31873 23320020 *2919 4556 23350018 USING *,RJ TEMPORARY BASE REGISTER 23400013 USING IERRCA,RN PPI BASE REGISTER 23500013 USING IERRMD,RM FOR OWN MESSAGE MODULE 23600013 RCV001 LR RJ,RP SET BASE REGISTER 23700013 LR RE,RO SAVE RETURN REGISTER 23800013 ST RD,CVDCB SAVE DCB ADDRESS OF SYSOUT 23900013 LA RH,RCV002 GET ALTERNATE ENTRY ADDRESS 24000013 ST RH,PPIADSSC PUT ADDRESS IN PPI 24100013 STM RA,RM,WSAVE3 SAVE REGISTERS 0 THROUGH 12 24200013 L RB,PPISLIB LOAD SORTLIB DCB ADDRESS 24300013 TM PPISW1+2,X'02' MERGE ONLY 24400013 BO RCVMERG YES - LOAD RC8 24500013 SPACE 2 24600013 LOAD EP=IERRC6,DCB=(1) LOAD RC6 24700013 SPACE 2 24800013 B RCVMDSEL GO BRANCH TO RC6 24900013 SPACE 2 25000013 RCVMERG LOAD EP=IERRC8,DCB=(1) LOAD RC8 25100013 RCVMDSEL LR RP,RA LOAD RP WITH ADDRESS OF MOD. LOADED 25200013 BR RP BRANCH TO MODULE JUST LOADED 25300013 SPACE 2 25400013 DROP RJ 25500013 SPACE 2 25600013 USING *,RP 25700013 SPACE 2 25800013 * FOLLOWING IS A BRANCH TABLE TO BE USED FOR ALL ENTRIES TO IERRCV 25900013 * EXCEPT THE INITIAL ENTRY (FROM IERRCB). 26000013 SPACE 2 26100013 RCV002 B RCVEOT TO END OF TASK ROUTINE 26200013 B RCVPH2 TO START PHASE 2 PASS 26300013 B RCVPH3 TO START PHASE 3 26400013 B RCVPRINT TO PRINT A MESSAGE 26500013 B RCVABORT TO ABORT THE SORT/MERGE 26600013 B RCVENDPH TO END OF PASS ROUTINE 26700013 DC A(RCVSYNAD) ADDRESS OF ERROR HANDLING ROUTINE 26800013 B RCVPRNT2 TO PRINT A DELETE ERROR MESSAGE 26900013 SPACE 2 27000013 DROP RP 27100013 USING RCV002,RJ 27200013 RCVENDPH LR RJ,RP 27300013 ST RB,WSAVE2 SAVE RB FOR BRANCH TO EOP ROUTINE 27400013 L RH,PPIGETMN GET ADDRESS OF GETMAIN LIST 27500013 LA RH,4(0,RH) ADD 4 TO IT (BYPASS GEN. CORE ENTRY) 27600013 ST RH,PPIWKARE STORE IT FOR FREEMAIN ROUTINE 27700013 L RH,PPIGETSZ GET ADDRESS OF GETMAIN SIZE LIST 27800013 LA RH,4(0,RH) ADD 4 TO IT 27900013 ST RH,PPIWKARE+4 STORE IT FOR FREEMAIN ROUTINE 28000013 SPACE 2 28100013 RCVEOTEN MVI WNAME1+5,C'T' MAKE MODULE NAME RCT 28200013 LA RA,WNAME1 LOAD ADDRESS OF NAME 28300013 BAL RG,RCVLOAD BRANCH AND LINK TO LOAD ROUTINE 28400013 SPACE 2 28500013 * SET UP - BRANCH AND LINK TO RCT 28600013 SPACE 1 28700013 RCVALT LA RP,0 INDICATE NOT ABORT OF TASK - WILL 28800013 ST RA,RCTHOLD BE OVERLAID BY LA RP,12 AT ABORT 28900013 LR RL,RA 29000013 BALR RO,RL 29100013 SPACE 2 29200013 * RCT RETURNS WITH RP NOT EQUAL ZERO IF AN ERROR HAS OCCURRED 29300013 SPACE 1 29400013 LA RG,RCVRETCB SET UP RG TO RETURN TO LINK TO RCB 29500013 LTR RP,RP IS THIS AN ABORT CONDITION 29600013 BC 7,RCVFRMN FREE GENERATED CORE 29700013 TM WSWITCH,X'01' IS THIS END OF TASK 29800013 BO RCVFRMN FREE GENERATED CORE 29900013 SPACE 2 30000013 * FIND WHICH END OF PHASE MODULE TO LOAD 30100013 SPACE 1 30200013 TM PPISW1+6,X'02' IS IT 2314 30300013 BO RCV2314 BRANCH IF YES 30400013 TM PPISW1,X'02' IS IT OSCILLATING 30500013 BO RCVOSC BRANCH IF YES 30600013 TM PPISW1+2,X'08' IS IT PHASE 2 30700013 BO RCVPHTWO BRANCH IF YES 30800013 MVI WNAME2+5,C'C' MUST BE PHASE 1 - SET UP NAME 30900013 RCVEOPH LA RA,WNAME2 LOAD ADDRESS OF MODULE NAME 31000013 BAL RG,RCVLOAD BRANCH AND LINK TO LOAD ROUTINE 31100013 SPACE 2 31200013 MVI WEOPSW,X'04' SET SWITCH INDICATING EOP RTN BEING 31300013 * EXECUTED 31400013 LR RL,RA 31500013 L RB,WSAVE2 31600013 B 0(RB,RL) BRANCH TO EOP ROUTINE 31700013 SPACE 2 31800013 RCV2314 MVI WNAME2+3,C'8' SET UP PART OF NAME FOR 2314 31900013 RCVOSC MVI WNAME2+5,C'M' SETUP OSC NAME -OR- FINISH 2314 NAME 32000013 B RCVEOPH GO LOAD IT AND BRANCH TO IT 32100013 SPACE 2 32200013 RCVPHTWO MVI WNAME2+5,C'F' SET UP NAME FOR PHASE 2 32300013 B RCVEOPH GO LOAD IT AND BRANCH TO IT 32400013 SPACE 2 32500013 RCVEOT LR RJ,RP LOAD BASE REGISTER 32600013 MVI WSWITCH,X'01' SET EOT SWITCH 32700013 B RCVENDPH+6 32800013 SPACE 2 32900013 DROP RJ 33000013 USING RCV002,RP 33100013 RCVABORT STM RA,RP,CVPSAVE SAVE REGISTERS IF SKIP/ACCEPT 33200013 LR RJ,RP 33300013 DROP RP 33400013 USING RCV002,RJ 33500013 TM PPISW1+5,X'C0' WAS THERE A READ OR WRITE ERROR 33600013 BC 5,RCVIOSER BRANCH IF IOS ERROR 33700013 RCVIOERR MVC RCVALT(4),KLOAD OVERLAY TO SET CC TO 12 33800013 MVI WSAVE1+3,X'0C' SET ERROR INDICATOR 33900013 TM PPISW1+6,X'01' DIAG SW ON 4556 33920018 BC 8,*+8 NO 4556 33940018 DC F'0' YES- ABEND 4556 33960018 CLI WEOPSW,X'04' WAS TERMINATION SET BY EOP RTN. 34000013 BNE RCVENDPH+6 NO, LET RCT FREE CORE AND UNITS 34100013 SPACE 1 34200013 BAL RG,RCVFRMN FREE GENERATED CORE 34300013 LA RG,RCVRETCB SET RETURN TO RCB 34400013 LA RA,WNAME2 34500013 B RCVDELE DELETE END OF PHASE RTN 34600013 SPACE 2 34700013 RCVIOSER L RM,ADDRMDX LOAD BASE REG. FOR OWN MSG. MODULE 34800013 TM PPISW1+5,X'80' READ OR WRITE ERROR I302 34840019 BZ RCVAB000 BRANCH IF NOT READ I302 34880019 LR RG,RF IOB ADDRESS IN RG I302 34920019 RCVAB000 SYNADAF ACSMETH=EXCP,PARM1=(6) I302 34960019 L RC,RMDIOS MESSAGEADDRESS I302 35000019 MVC 22(69,RC),50(RB) COMPLETED I/O MESSAGE I302 35040019 XI SYNADSW,X'80' SET SWITCH I302 35080019 SYNADRLS I302 35120019 LR RA,RC LOAD ADDRESS OF MESSAGE I302 35160019 XC PPIRCV(4),PPIRCV INVERT ONE BITS TO CLEAR PPIRCV 35200013 TM PPISW1+5,X'80' WAS THERE A READ ERROR 35300013 BO RCVAB002 IF SO CHECK FOR SKIP/ACCEPT 35400013 SPACE 1 35500013 RCVAB001 L RP,PPIADSSC PRINT I/O ERR MSG AND ABEND 35600013 BAL RO,12(RP) 35700013 B RCVIOERR 35800013 SPACE 1 35900013 RCVAB002 C RL,PPIRD+4 36000013 BNE RCVAB001 36100013 TM PPISW1+7,X'01' 36200013 BZ RCVAB001 IF NOT TERMINATE 36300013 SPACE 36330017 LA RI,RCVPRINT+6 A31873 36360020 LR RK,RA 9645 36390017 LR RL,RB 9645 36420017 L RJ,CVDCB SET REGS FOR MESSAGE A31873 36450020 BC 15,4(RI) CAUSE I/O MSG AND USER RETURN 9645 36480017 SPACE 2 36510017 * THIS ENTRY IS TO LOAD PHASE 2. IT MAY BE FROM PHASE 1 OR PHASE 2 36600013 * END OF PHASE ROUTINE. 36700013 SPACE 1 36800013 RCVPH2 LR RJ,RP LOAD BASE REGISTER 36900013 LA RG,RCVSKIP 37000013 RCVFRMN L RB,PPIGETSZ SET SIZE OF GENERATED CORE VIA 37100013 L RF,0(0,RB) GETMAIN SIZE TABLE A41251 37200021 LA RA,0(0,RF) CLEAR HIGH ORDER BYTE A41251 37250021 L RB,PPIGETMN GET ADDRESS OF GENERATED CORE VIA 37300013 L RB,0(0,RB) GETMAIN ADDRESS TABLE 37400013 FREEMAIN R,LV=(0),A=(1) FREE GENERATED CORE 37500013 BR RG 37600013 RCVSKIP LA RA,WNAME2 LOAD ADDRESS OF NAME 37700013 BAL RG,RCVDELE BRANCH AND LINK TO DELETE ROUTINE 37800013 SPACE 2 37900013 LTR RP,RP TEST FOR DELETE ERROR 38000013 BZ RCVRCT USE RCT AGAIN 38100013 ST RP,WSAVE1 SAVE ERROR INDICATION 38200013 BAL RO,RCVPRNT2 BRANCH AND LINK TO PRINT MESSAGE 38300013 SPACE 1 38400013 RCVRCT L RL,RCTHOLD 38500013 BALR RO,RL RETURN TO RCT AGAIN 38600013 SPACE 1 38700013 BAL RD,RCVRCTDL DELETE RCT FINALLY 38800013 SPACE 1 38900013 RCVLDRC7 MVI WNAME1+5,C'7' CHANGE NAME TO RC7 39000013 * THE IMMEDIATE CHARACTER IS CHANGED TO AN 8 FOR THE PHASE 3 USE OF 39100013 * THIS ROUTINE 39200013 SPACE 1 39300013 MVI WEOPSW,X'00' TURN OFF EOP SWITCH 39400013 LA RA,WNAME1 LOAD ADDRESS OF RC7 NAME 39500013 BAL RG,RCVLOAD BRANCH TO LOAD RC7 39600013 SPACE 2 39700013 LR RP,RA LOAD RC7 ADDRESS IN RP 39800013 BR RP BRANCH TO RC7 39900013 SPACE 1 40000013 RCVRCTDL LA RA,WNAME1 POINT TO RCT NAME 40100013 DELETE EPLOC=(0) DELETE RCT 40200013 LTR RP,RP IF THE RCT DELETE WAS OK 40300013 BCR 8,RD RETURN VIA RD 40400013 SPACE 1 40500013 BAL RO,RCVPRNT2 ELSE PRINT DELETE ERR MSG 40600013 B RCVRET2 AND ABORT THE TASK 40700013 SPACE 2 40800013 * THIS ENTRY IS TO LOAD PHASE 3. IT MAY BE FROM PHASE 1, PHASE 2 OR 40900013 * OSCILLATING OR 2314 END OF PHASE ROUTINE. 41000013 SPACE 1 41100013 RCVPH3 LR RJ,RP LOAD BASE REGISTER 41200013 MVI RCVLDRC7+1,C'8' ALTER MVI INSTRUCTION FOR RC8 41300013 B RCVPH2+2 41400013 SPACE 2 41500013 * THIS ENTRY IS FOR PRINTING THE DELETE ERROR MESSAGE 41600013 SPACE 1 41700013 DROP RJ 41800013 USING RCV002,RP 41900013 RCVPRNT2 STM RA,RO,CVPSAVE1 SAVE CALLERS REGISTERS 42000013 DROP RP 42100013 USING RCV002,RJ 42200013 LR RJ,RP LOAD BASE REGISTER 42300013 L RM,ADDRMDX LOAD BASE REG. FOR OWN MSG. MODULE 42400013 LM RA,RB,RMDDELE LOAD ADDRESS AND LENGTH OF MESSAGE 42500013 L RP,PPIADSSC LOAD ADDRESS OF PRINT ROUTINE 42600013 BAL RO,12(0,RP) BRANCH AND LINK TO IT 42700013 SPACE 2 42800013 LM RA,RO,CVPSAVE1 RESTORE REGISTERS 42900013 BR RO RETURN 43000013 SPACE 2 43100013 * THIS IS THE ROUTINE TO SET UP AND RETURN TO RCB 43200013 SPACE 1 43300013 RCVRETCB BAL RD,RCVRCTDL LINK TO DELETE RCT 43400013 SR RF,RF 43500013 A RF,WSAVE1 IS THIS AN ABORT 43600013 BZ RCVRTN BRANCH IF NOT 43700013 RCVRET2 MVI RCVERIND+3,12 INDICATE ERROR 43800013 RCVRTN LM RA,RM,WSAVE3 RESTORE REGISTERS 43900013 RCVERIND LA RP,0 INDICATE NO ERROR UNLESS ALTERED 44000013 LR RO,RE RESTORE RETURN REGISTER 44100013 BR RO RETURN TO IERRCB 44200013 SPACE 2 44300013 * THE FOLLOWING ROUTINE IS ENTERED ONLY FROM QSAM AND ONLY UPON 44400013 * ENCOUNTERING AN UNCORRECTABLE I/O ERROR. 44500013 SPACE 1 44600013 RCVSYNAD L RP,PPIADSSC LOAD ROUTINE ADDRESS IN BASE REG 44700013 LR RJ,RP 44800013 L RM,ADDRMDX SET BASE FOR OWN MESSAGE MODULE 44900013 SYNADAF ACSMETH=QSAM I302 44970019 L RC,RMDIOS MESSAGEADDRESS I302 45040019 MVC 22(69,RC),50(RB) COMPLETED I/O MESSAGE I302 45110019 XI SYNADSW,X'80' SET SWITCH I302 45180019 SYNADRLS I302 45250019 LR RA,RC LOAD ADDRESS OF MESSAGE I302 45320019 BAL RO,12(0,RP) LINK TO PRINT MESSAGE 45400013 SPACE 2 45500013 L RP,PPIADSSC 45600013 B 16(0,RP) BRANCH TO ABORT JOB 45700013 SPACE 2 45800013 SPACE 2 45900013 * THIS SUBROUTINE DOES THE LOADING OF MODULES 46000013 SPACE 1 46100013 RCVLOAD L RB,PPISLIB LOAD SORTLIB DCB ADDRESS 46200013 LOAD EPLOC=(0),DCB=(1) LOAD MODULE 46300013 BR RG RETURN 46400013 SPACE 2 46500013 * THIS SUBROUTINE DOES THE DELETING OF MODULES 46600013 SPACE 1 46700013 RCVDELE DELETE EPLOC=(0) DELETE MODULE 46800013 BR RG RETURN 46900013 SPACE 2 47000013 DROP RJ 47100013 USING RCV002,RP 47200013 RCVPRINT STM RA,RP,CVPSAVE SAVE REGISTERS 0 THROUGH 15 47300013 DROP RP 47400013 BALR RI,0 SET TEMPORARY BASE 47500013 USING *,RI 47600013 LM RJ,RL,CVDCB GET MESSAGE INFORMATION 47700013 TM SYNADSW,X'80' SYNADAF MACRO USED I302 47710019 BZ CVDISK NOT - BRANCH I302 47720019 TM 44(RK),X'11' DEVICETYPE I302 47730019 BZ CVDISK DISK I302 47740019 BM CVTAPE TAPE I302 47750019 MVI 93(RK),X'02' ROUTING CODE FOR UNIT RECORD I302 47760019 B CVSETSW CHANGED ROUT CODE I302 47770019 CVTAPE MVI 93(RK),X'20' ROUTING CODE FOR TAPE I302 47780019 CVSETSW XI SYNADSW,X'01' SWITCH FOR CHAnGED ROUTING CODE I302 47790019 CVDISK L RM,PPIP3ASZ GET MESSAGE INDEX I302 47800019 B *+4(RM) BRANCH AS INDEX INDICATES 47900013 B CVPEXIT1 INDEX = 0 - NO MESSAGES I302 48000019 B CVPCC = 4 - CRITICAL & CONSOLE 48100013 B CVPCP = 8 - CRITICAL & PRINTER 48200013 B CVPAC = 12 - ALL & CONSOLE 48300013 * B CVPAP = 16 - ALL & PRINTER 48400013 * 48500013 EJECT 48600013 CVPAP TM SYNADSW,X'80' SYNADAF MACRO USED I302 48620019 BZ CVPAP1 NO - BRANCH I302 48640019 LH RL,0(0,RK) GET MESSAGE LENGTH I302 48660019 SH RL,CMPTH3 ADJUST LENGTH I302 48680019 LA RK,3(0,RK) CALCULATE ADDRESS OF MESSAGE I302 48700019 MVC CMPTSC(1),0(RK) SAVE CHARACTER TEMPORARILY I302 48720019 MVI 0(RK),C' ' INSERT SKIP-BLANK I302 48740019 CVPAP1 WRITE DECB,SF,(9),(10),(11) I302 48760019 * 48800013 CHECK DECB 48900013 * 49000013 PRTOV (9),12 49100013 TM SYNADSW,X'80' SYNADAF MACRO USED I302 49130019 BZ CVPEXIT2 NO - BRANCH I302 49160019 * 49200013 MVC 0(1,RK),CMPTSC RESTORE CHARACTER I302 49260019 B CVPEXIT1 BRANCH TO EXIT LINKAGE I302 49330019 * 49400013 CVPCP TM SYNADSW,X'80' CRITICAL MESSAGE I302 49440019 BO CVPAP YES - BRANCH I302 49480019 CLI 6(RK),C'A' IS THIS A CRITICAL MESSAGE I302 49540019 BE CVPAP1 IF TRUE BRANCH TO PRINT IT I302 49590019 B CVPEXIT2 IF FALSE BRANCH TO EXIT LINKAGE I302 49640019 CVPCC TM SYNADSW,X'80' CRITICAL MESSAGE I302 49700019 BO CVPAC1 YES - BRANCH I302 49750019 * 49800013 CLI 6(RK),C'A' IS THIS A CRITICAL MESSAGE I302 49870019 BNE CVPEXIT2 IF FALSE BRANCH TO EXIT LINKAGE I302 49930019 CVPAC TM SYNADSW,X'80' SYNADAF MACRO USED I302 50000019 BO CVPAC1 YES - BRANCH I302 50050019 BCTR RL,0 DECR LENGTH AND STORE 50120021 STC RL,CVPMOVE+1 IN MVC INSTRUCTION 50140021 LA RL,5(0,RL) LENGTH UP 1+4 AGAIN 50160021 STC RL,CVPWTO+1 PUT LENGTH IN WTO PARM LIST 50200013 CVPMOVE MVC CVPWTO+4(1),0(RK) MOVE MESSAGE INTO WTO PARM LIST 50300021 LA RB,CVPWTO GET ADDRESS OF WTO PARM LIST 50400013 B CVPWTOM BRANCH TO WTO MACRO I302 50420019 CVPAC1 L RB,CVPSAVE ADDRESS OF MESSAGE I302 50440019 CVPWTOM WTO MF=(E,(1)) I302 50470019 CVPEXIT1 TM SYNADSW,X'01' CHANGED ROUT CODE I302 50510019 BZ CVPEXIT2 NO - BRANCH I302 50540019 MVI 93(RC),X'10' RESTORE ROUTCODE = 4 I302 50570019 CVPEXIT2 MVI SYNADSW,X'00' RESTORE SYNADSW I302 50600019 LM RA,RP,CVPSAVE RESTORE REGISTER 0 THROUGH 15 I302 50650019 DROP RI 50700013 BR RO RETURN TO CALLER 50800013 * 50900013 EJECT 51000013 CVDCB DC F'0' 51100013 CVPSAVE DC 16F'0' 51200013 CVPSAVE1 DC 15F'0' 51300013 CVPWTO DC F'0' 51400013 DC 4CL30' ' 51500013 CMPTSC DS C I302 51520019 CMPTH3 DC H'3' I302 51540019 SYNADSW DC X'00' SWITCH USED BY SYNADAF MACRO I302 51560019 EJECT 51600013 SPACE 2 51700013 WNAME1 DC CL8'IERRCT ' FOR LOADING AND DELETING 51800013 WNAME2 DC CL8'IERRPC ' FOR LOADING AND DELETING 51900013 RCTHOLD DC F'0' 52000013 WSAVE1 DC F'0' FOR ERROR INDICATION 52100013 WSAVE2 DC F'0' SAVE FOR BRANCH TO EOP 52200013 WSWITCH DC XL1'00' SET TO 01 IF END OF TASK 52300013 WEOPSW DC XL1'00' EOP EXECUTION SWITCH 52400013 WSAVE3 DC 13F'0' 52500013 SPACE 2 52600013 KLOAD LA RP,12 USED TO OVERLAY AN INSTRUCTION 52700013 SPACE 2 52800013 ADDRMDX DC A(IERRMD) ADDRESS OF OWN MESSAGE MODULE 52900013 EJECT 53000013 * THIS CSECT CONTAINS TWO MESSAGES WHICH MAY BE PUT OUT BY IERRCV. NO 53100013 * OTHER MODULE HAS ACCESS TO THEM. 53200013 SPACE 2 53300013 IERRMD CSECT 53400013 RMDIOS DC A(MSGIOS) 53500013 RMDDELE DC A(MSGDELE) 53700013 DC F'20' 53800013 SPACE 1 53900013 MSGIOS WTO 'IER061A - I/O ERR X53950019 ',MF=L, X54000019 ROUTCDE=4,DESC=4 I302 54050019 SPACE 1 54100013 MSGDELE DC CL20'IER064A - DELETE ERR' 54200013 SPACE 1 54300013 SMPPI 54400013 END 54500013 EJECT 54600013 END 54700013 ./ ADD SSI=02011583,SOURCE=1,NAME=IERRCW TITLE ' IERRCW - OS/360 SORT/MERGE - 360S-SM023 4/18/66' 01000013 *MODULE NAME *** IERRCW *** 02000013 SPACE 2 03000013 *STATUS:CHANGE LEVEL 000 04000013 SPACE 2 05000013 *MODULE FUNCTION/OPERATION - 06000013 * THIS MODULE CONTAINS ALL THE MESSAGES THAT ARE REQUIRED FOR 07000013 * THE RECORD CARD INTERPRETATION ROUTINE. 08000013 SPACE 2 09000013 *THIS MODULE IS A DSECT IN- N/A 10000013 SPACE 2 11000013 *MACROS USED - N/A 12000013 * 13000013 * 14000013 *ENTRY POINTS: N/A 15000013 SPACE 2 16000013 *INPUT: N/A 17000013 SPACE 2 18000013 *OUTPUT: N/A 19000013 SPACE 2 20000013 *EXTERNAL ROUTINES: N/A 21000013 SPACE 2 22000013 *EXTERNAL PARAMETERS - N/A 23000013 * 24000013 * 25000013 *EXITS-NORMAL: N/A 26000013 SPACE 2 27000013 *EXITS-ERROR: N/A 28000013 SPACE 2 29000013 *TABLES/WORK AREAS: N/A 30000013 SPACE 2 31000013 *ATTRIBUTES: THIS IS A CLASS -A- MODULE 32000013 SPACE 2 33000013 *NOTES- THIS MODULE IS REFERENCED BY AN EXTERN STATEMENT IN IERRCG. 34000013 SPACE 2 35000013 IERRCW CSECT 36000013 SPACE 1 37000013 CGPA01 DC A(CGPM01) 38000013 DC F'29' 39000013 CGPA02 DC A(CGPM02) 40000013 DC F'25' 41000013 CGPA03 DC A(CGPM03) 42000013 DC F'28' 43000013 CGPA04 DC A(CGPM04) 44000013 DC F'27' 45000013 CGPA05 DC A(CGPM05) 46000013 DC F'29' 47000013 CGPA06 DC A(CGPM06) 48000013 DC F'25' 49000013 CGPA07 DC A(CGPM07) 50000013 DC F'22' 51000013 CGPA08 DC A(CGPM08) 52000013 DC F'23' 53000013 * 54000013 CGPM01 DC C'IER020A - INVALID REC KEYWORD' 55000013 CGPM02 DC CL25'IER021A - NO TYPE DEFINER' 56000013 CGPM03 DC C'IER022A - RCD FORMAT NOT F/V' 57000013 CGPM04 DC CL27'IER023A - NO LENGTH DEFINER' 58000013 CGPM05 DC CL29'IER024A - ERR IN LENGTH VALUE' 59000013 CGPM06 DC CL25'IER025A - RCD SIZE GT MAX' 60000013 CGPM07 DC CL22'IER026A - L1 NOT GIVEN' 61000013 CGPM08 DC C'IER027A - CF BEYOND RCD' 62000013 * 63000013 END 64000013 ./ ADD SSI=02011583,SOURCE=1,NAME=IERRCX TITLE ' IERRCX - OS/360 SORT/MERGE - 360S-SM023 4/18/66' 01000013 *MODULE NAME *** IERRCX *** 02000013 SPACE 2 03000013 *STATUS:CHANGE LEVEL 000 04000013 SPACE 2 05000013 *MODULE FUNCTION/OPERATION - 06000013 * THIS MODULE CONTAINS ALL OF THE MESSAGES THAT ARE REQUIRED FOR 07000013 * ERRORS IN THE MODIFICATION CONTROL CARDS. 08000013 SPACE 2 09000013 *THIS MODULE IS A DSECT IN- N/A 10000013 SPACE 2 11000013 *MACROS USED - N/A 12000013 * 13000013 * 14000013 *ENTRY POINTS: N/A 15000013 SPACE 2 16000013 *INPUT: N/A 17000013 SPACE 2 18000013 *OUTPUT: N/A 19000013 SPACE 2 20000013 *EXTERNAL ROUTINES: N/A 21000013 SPACE 2 22000013 *EXTERNAL PARAMETERS - N/A 23000013 * 24000013 * 25000013 *EXITS-NORMAL: N/A 26000013 SPACE 2 27000013 *EXITS-ERROR: N/A 28000013 SPACE 2 29000013 *TABLES/WORK AREAS: N/A 30000013 SPACE 2 31000013 *ATTRIBUTES: THIS IS A CLASS -A- MODULE 32000013 SPACE 2 33000013 *NOTES- THIS MODULE IS REFERENCED BY AN EXTERN STATEMENT IN IERRCH. 34000013 SPACE 2 35000013 EJECT 36000013 IERRCX CSECT 37000013 * 38000013 MSGA01 DC A(MSGGAM01) 39000013 DC F'24' 40000013 MSGA02 DC A(MSGGAM02) 41000013 DC F'23' 42000013 MSGA03 DC A(MSGGAM03) 43000013 DC F'31' 44000013 MSGA05 DC A(MSGGAM05) 45000013 DC F'30' 46000013 MSGA06 DC A(MSGGAM06) 47000013 DC F'27' 48000013 MSGA07 DC A(MSGGAM07) 49000013 DC F'33' 50000013 MSGA08 DC A(MSGGAM08) 51000013 DC F'28' 52000013 MSGA09 DC A(MSGGAM09) 53000013 DC F'36' 54000013 OPENERR1 DC A(OPENERR) 55000013 DC F'28' 56000013 MSGA10 DC A(MSGGAM10) 57000013 DC F'40' 58000013 * 59000013 MSGGAM01 DC CL24'IER028A - TOO MANY EXITS' 60000013 MSGGAM02 DC CL23'IER029A - IMPROPER EXIT' 61000013 MSGGAM03 DC CL31'IER030A - MULTIPLY DEFINED EXIT' 62000013 MSGGAM05 DC C'IER031A - INVALID MODS OP CHAR' 63000013 MSGGAM06 DC CL27'IER032A - EXIT E61 REQUIRED' 64000013 MSGGAM07 DC C'IER033A - CF SEQ INDIC E ' 65000013 DC C'REQUIRED' 66000013 MSGGAM08 DC CL28'IER034A - PARAM ERR FOR MODS' 67000013 MSGGAM09 DC C'IER035A - DUPLICATE MOD RTN ' 68000013 DC C'IN PHASE' 69000013 OPENERR DC CL28'IER063A - OPEN ERR - SYSIN ' 70000013 DC CL8'SORTMODS' 71000013 MSGGAM10 DC CL40'IER065A - PROBABLE DECK STRUCTURE ERROR' 72000013 * 73000013 END 74000013 ./ ADD SSI=02011583,SOURCE=1,NAME=IERRCY TITLE ' IERRCY - OS/360 SORT/MERGE - 360S-SM023 4/18/66' 01000013 *MODULE NAME *** IERRCY *** 02000013 SPACE 2 03000013 *STATUS:CHANGE LEVEL 000 04000013 SPACE 2 05000013 *MODULE FUNCTION/OPERATION - 06000013 * THIS MODULE CONTAINS ALL OF THE MESSAGES THAT ARE REQUIRED FOR THE 07000013 * GENERAL ASSIGNMENT CONTROL CARD READING ROUTINE. 08000013 SPACE 2 09000013 *THIS MODULE IS A DSECT IN- N/A 10000013 SPACE 2 11000013 *MACROS USED - N/A 12000013 * 13000013 * 14000013 *ENTRY POINTS: N/A 15000013 SPACE 2 16000013 *INPUT: N/A 17000013 SPACE 2 18000013 *OUTPUT: N/A 19000013 SPACE 2 20000013 *EXTERNAL ROUTINES: N/A 21000013 SPACE 2 22000013 *EXTERNAL PARAMETERS - N/A 23000013 * 24000013 * 25000013 *EXITS-NORMAL: N/A 26000013 SPACE 2 27000013 *EXITS-ERROR: N/A 28000013 SPACE 2 29000013 *TABLES/WORK AREAS: N/A 30000013 SPACE 2 31000013 *ATTRIBUTES: THIS IS A CLASS -A- MODULE 32000013 SPACE 2 33000013 *NOTES- THIS MODULE IS REFERENCED BY AN EXTERN STATEMENT IN IERRCC. 34000013 SPACE 2 35000013 EJECT 36000013 IERRCY CSECT 37000013 * 38000013 MSGGAA01 DC A(MSGGAR01) 39000013 DC F'33' 40000013 MSGGAA02 DC A(MSGGAR02) 41000013 DC F'22' 42000013 MSGGAA03 DC A(MSGGAR03) 43000013 DC F'30' 44000013 MSGGAA04 DC A(MSGGAR04) 45000013 DC F'30' 46000013 MSGGAA05 DC A(MSGGAR05) 47000013 DC F'26' 48000013 MSGGAA06 DC A(MSGGAR06) 49000013 DC F'24' 50000013 MSGGAA07 DC A(MSGGAR07) 51000013 DC F'21' 52000013 OPENERR1 DC A(OPENERR) 53000013 DC F'28' 54000013 * 55000013 MSGGAR01 DC CL28'IER001A - COL 1 OR 1-15 NOT ' 56000013 DC CL05'BLANK' 57000013 MSGGAR02 DC C'IER002A - EXCESS CARDS' 58000013 MSGGAR03 DC C'IER003A - NO CONTINUATION CARD' 59000013 MSGGAR04 DC CL30'IER004A - ILLEGAL OP DELIMITER' 60000013 MSGGAR05 DC CL26'IER005A - STMT DEFINER ERR' 61000013 MSGGAR06 DC CL24'IER006A - OP DEFINER ERR' 62000013 MSGGAR07 DC CL21'IER010A - NO S/M CARD' 63000013 OPENERR DC CL28'IER063A - OPEN ERR - SYSIN ' 64000013 * 65000013 END 66000013 ./ ADD SSI=02010184,NAME=IERRCZ,SOURCE=0 TITLE ' IERRCZ - OS/360 SORT/MERGE - 360S-SM-023 05/13/66 ' 00200013 *MODULE NAME:*** IERRCZ *** 00400013 SPACE 2 00600013 *STATUS: CHANGE LEVEL 000 00800013 SPACE 2 01000013 *MODULE FUNCTION/OPERATION: OPTIMIZATION PHASE SORT SYSTEM CONTROL. 01200013 * THE FUNCTION OF THIS MODULE IS TO CONTROL THE EXECUTION OF THE 01400013 * OPTIMIZATION PHASE. ADDITIONALLY IT FREES CORE NO LONGER NEEDED 01600013 * FOR CPI. IT PRINTS ANY MESSAGES REQUIRED BY THE OPTIMIZATION 01800013 * PHASE OR IERRCO. THE ORDER OF EXECUTION IS AS FOLLOWS: 02000013 * 1. RC1 EXPAND ROUTINE . 02200013 * 2. AOL EQUALS ASSIGNEMNT ROUTINE (IF NEEDED). 02400013 * 3. AOM EXTRACT ASSIGNMENT ROUTINE (IF NEEDED). 02600013 * 3.5FREE CORE OBTAINED IF MORE THAN TWELVE CONTROL FIELDS 02800013 * 4. RC4 SYSTEM SEARCH AFTER LINKEDIT . 03000013 * 5. RCJ DISK CAPACITY ROUTINE (IF NEEDED). 03200013 * 6. AO1 OPTIMIZE DISK UNIT ASSIGNMENT (IF NEEDED). 03400013 * 7. AO2 OPTIMIZE TAPE UNIT ASSIGNMENT (IF NEEDED). 03600013 SPACE 2 03800013 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT - N/A 04000013 * 04200013 * 04400013 *MACROS USED 04600013 SPACE 1 04800013 * SMPPI FREEMAIN GETMAIN WTO 05000013 * WRITE CHECK PRTOV SMCPI 05200013 SPACE 2 05400013 *ENTRY POINTS: 05600013 ENTRY IERGAPRT 05800013 * ENTRY FROM: OPTIMIZATION ROUTINES 06000013 * CALLING SEQUENCE - 06200013 * L RP,ADCON 06400013 * BALR RO,RP 06600013 * ADCON DC V(IERGAPRT) 06800013 SPACE 2 07000013 * ENTRY IERRCZ ENTRY FROM: IERRCB 07200013 * CALLING SEQUENCE- 07400013 * LINK EP=IERRCZ 07600013 SPACE 2 07800013 *INPUT: PPI FIELDS REFERENCED- 08000013 SPACE 1 08200013 * PPIP3RSZ PPISW1 PPIADDCF PPINUMCF 08400013 * PPIEXTSZ 08600013 SPACE 2 08800013 *OUTPUT: PPI FIELDS INITIALIZED OR ALTERED- 09000013 SPACE 1 09200013 * PPIAXERT 09400013 SPACE 2 09600013 *EXTERNAL ROUTINES: 09800013 SPACE 1 10000013 * EXTRN IERRC1 EXPAND ROUTINE 10200013 * EXTRN IERAOL EQUALS ASSIGNMENT 10400013 * EXTRN IERAOM EXTRACT ASSIGNMENT 10600013 * EXTRN IERRC4 SYSTEM SEARCH 10800013 * EXTRN IERRCJ DISK CAPACITY 11000013 * EXTRN IERAO1 OPTIMIZE DISK 11200013 * EXTRN IERA02 OPTIMIZE TAPE 11400013 SPACE 2 11600013 *EXTERNAL PARAMETERS: 11800013 * EXTRN IERRCU MESSAGE MODULE 12000013 SPACE 2 12200013 SPACE 1 12400013 *EXITS: NORMAL 12600013 SPACE 1 12800013 * EXTRN IERRCB SORT SYSTEM CONTROL 13000013 SPACE 2 13200013 *EXITS: ERROR 13400013 SPACE 1 13600013 * EXTRN IERRCB SORT SYSTEM CONTROL 13800013 SPACE 2 14000013 *TABLES/WORK AREAS: NONE 14200013 SPACE 1 14400013 SPACE 2 14600013 *ATTRIBUTES: THIS IS A CLASS A MODULE. 14800013 SPACE 2 15000013 *NOTES: 15200013 SPACE 1 15400013 * MESSAGE WRITER IERGAPRT IS A COMPONENT OF THIS MODULE. IT REQUIRES 15600013 * THAT RB = LENGTH AND RA = STARTING ADDRESS 15800013 SPACE 2 16000013 *LIST OF GENERAL REGISTER EQUATE STATEMENTS: 16200013 SPACE 1 16400013 RA EQU 0 CONTENTS IN- ADDRESS OF MESSAGE 16600013 * USE- SYSTEM PARAMETER 16800013 * CONTENTS OUT- N/A 17000013 RB EQU 1 CONTENTS IN- MESSAGE LENGTH 17200013 * USE- SYSTEM PARAMETER 17400013 * CONTENTS OUT- N/A 17600013 RC EQU 2 CONTENTS IN- ADDRESS OF CPI 17800013 * USE- TO SET FREEMAIN MACRO 18000013 * CONTENTS OUT- N/A 18200013 RD EQU 3 CONTENTS IN- DCB ADDRESS 18400013 * USE- TO SET DATA CONTROL BLOCK WORD 18600013 * CONTENTS OUT- N/A 18800013 RE EQU 4 CONTENTS IN- N/A 19000013 * USE- TEMPORARY RETURN ADDRESS WORD 19200013 * CONTENTS OUT- N/A 19400013 RF EQU 5 CONTENTS IN- N/A 19600013 * USE- NOT USED 19800013 * CONTENTS OUT- N/A 20000013 RG EQU 6 CONTENTS IN- N/A 20200013 * USE- NOT USED 20400013 * CONTENTS OUT- N/A 20600013 RH EQU 7 CONTENTS IN- N/A 20800013 * USE- RETURN ADDRESS REGISTER(CZLINK) 21000013 * CONTENTS OUT- N/A 21200013 RI EQU 8 CONTENTS IN- N/A 21400013 * USE- TEMPORARY BASE ADDRESS-IERGAPRT 21600013 * CONTENTS OUT- N/A 21800013 RJ EQU 9 CONTENTS IN- N/A 22000013 * USE- MODULE BASE ADDRESS REGISTER 22200013 * CONTENTS OUT- N/A 22400013 RK EQU 10 CONTENTS IN- N/A 22600013 * USE- WORK REGISTER 22800013 * CONTENTS OUT- N/A 23000013 RL EQU 11 CONTENTS IN- N/A 23200013 * USE- WORK REGISTER 23400013 * CONTENTS OUT- N/A 23600013 RM EQU 12 CONTENTS IN- N/A 23800013 * USE- WORK REGISTER 24000013 * CONTENTS OUT- N/A 24200013 RN EQU 13 CONTENTS IN- ADDRESS OF PPI 24400013 * USE- PPI REFERNECE,REGISTER SAVE 24600013 * AREA 24800013 * CONTENTS OUT- ADDRESS OF PPI 25000013 RO EQU 14 CONTENTS IN- RETURN ADDRESS 25200013 * USE- RETURN REGISTER 25400013 * CONTENTS OUT- RETURN ADDRESS 25600013 RP EQU 15 CONTENTS IN- BASE ADDRESS OF RCZ 25800013 * USE- PARAMETER REGISTER 26000013 * CONTENTS OUT- CONDITION CODE 26200013 SPACE 2 26400013 *START OF MODULE CODE PROPER: 26600013 SPACE 2 26800013 IERRCZ CSECT SORT PHASE CONTROL FOR OPT. PHASE 27000013 * 840000,844000,850000,860000,866000 A27995 27100020 USING *,RJ 27200013 USING DIERRCU,RD 27400013 USING IERRCA,RN 27600013 LR RJ,RP SET BASE REGISTER 27800013 LR RE,RO SAVE RETURN REGISTER 28000013 MVC CZDCB,0(RB) MOVE A(SYSOUT) TO DCB LIST 28200013 ST RB,CZRBSAVE SAVE POINTER 28400013 L RD,CZRCUX LOAD BASE REG FOR MESSAGE MODULE 28600013 LA RM,CZSAVE SET SAVE AREA REGISTER 28800013 USING IERRC5,RC 29000013 MVC CZMSGIX(2),CPIP3ASZ GET MESSAGE INDEX 29200013 TM CPILINK+2,X'02' DID RCO REQUEST MESSAGE AND ABEND? 29400013 BZ CZONW IF NOT CONTINUE TO PROCESS. 29600013 LM RA,RB,CUPA15 LOAD ADDRESS & LENGTH INTO PARAMETER 29800013 LA RP,CZPRINT REGISTERS, ADDRESS OF IERGAPRT TO 30000013 BALR RO,RP RP AND PRINT LINKAGE EDITOR ERROR 30200013 B CZBAD MESSAGE. 30400013 SPACE 2 30600013 CZONW L RP,CZRC1X GET ADD OF EXPAND ROUTINE 30800013 BAL RH,CZLINK BRANCH TO LINK ROUTINE 31000013 LR RB,RC PUT ADD OF CPI IN R1 31200013 LA RA,CZ008 FREEMAIN SIZE TO CPI LENGTH A26453 31400019 FREEMAIN R,LV=(0),A=(1) FREEMAIN FOR CPI 31600013 L RB,CZRBSAVE RESET POINTER 31800013 MVC PPISLIB(4),4(RB) MOVE A(SORTLIB) TO PPI 32000013 SPACE 32200013 L RF,PPISLIB LOAD SORTLIB DCB ADDRESS 32400013 OPEN ((RF)) OPEN SORTLIB 32600013 USING IHADCB,RG SET UP TO TEST DCB AFTER OPEN 32800013 L RG,PPISLIB 33000013 TM DCBOFLGS,X'10' DID SORTLIB FAIL TO OPEN 33200013 BO CZUSER IF NOT, CONTINUE 33400013 LM RA,RB,OPENERR1 LOAD ERROR MESSAGE ADDR AND LENGTH 33600013 LA RP,IERGAPRT 33800013 BALR RO,RP BRANCH TO PRINT ROUTINE 34000013 B CZBAD SET ERRORCODE AND EXIT 34200013 CZUSER SR RF,RF 34400013 A RF,PPISORCE TEST FOR USER MODS 34600013 BZ CZLMOD BRANCH IF NO MODS 34800013 L RB,CZRBSAVE RESET POINTER 35000013 L RG,8(RB) SET A(USERLIB) INTO RB 35200013 MVC DCBDDNAM(8),PPISORCE SET USERLIB NAME TO C(PPISORCE) 35400013 ST RG,PPISORCE SET PPI TO A(USERLIB) 35600013 SPACE 35800013 OPEN ((RG)) OPEN USERLIB 36000013 SPACE 36200013 TM DCBOFLGS,X'10' DID USERLIB FAIL TO OPEN 36400013 BO CZLMOD IF NOT, CONTINUE 36600013 MVC OPENERRA,OPENERRB LOAD LIBRARY NAME IN ERROR MESSAGE 36800013 LM RA,RB,OPENERR1 LOAD ERROR MESSAGE ADDR AND LENGTH 37000013 LA RP,IERGAPRT 37200013 BALR RO,RP BRANCH TO PRINT ROUTINE 37400013 B CZBAD SET ERRORCODE AND EXIT 37600013 CZLMOD TM PPILINK+2,X'08' TEST FOR LINKEDIT 37800013 BZ CZ002 BRANCH IF NO LINKEDIT 38000013 L RB,CZRBSAVE RESET POINTER 38200013 MVC PPISORCE+4(4),12(RB) MOVE A(SYSLMOD) TO PPI 38400013 SPACE 38600013 L RF,PPISORCE+4 LOAD ADDRESS OF SYSLMOD DCB 38800013 OPEN ((RF)) OPEN SYSLMOD 39000013 SPACE 39200013 L RG,PPISORCE+4 39400013 TM DCBOFLGS,X'10' DID SYSLMOD FAIL TO OPEN 39600013 BO CZ002 IF NOT, CONTINUE 39800013 MVC OPENERRA,OPENERRC PUT SYSLMOD IN ERROR MESSAGE 40000013 LM RA,RB,OPENERR1 LOAD ERROR MESSAGE ADDR AND LENGTH 40200013 LA RP,IERGAPRT 40400013 BALR RO,RP BRANCH TO PRINT ROUTINE 40600013 B CZBAD SET ERRORCODE AND EXIT 40800013 EJECT 41000013 CZ002 TM PPISW1+3,X'80' TEST FOR EQUALS 41200013 BZ CZ003 IF FALSE TAKE BRANCH 41400013 LA RA,96 GET LENGTH OF EQUALS ROUTINE 41600013 GETMAIN R,LV=(0) GETMAIN FOR EQUALS ROUTINE 41800013 ST RB,PPIAXERT PUT ADD OF EQUALS ROUTINE IN PPI 42000013 L RP,CZAOLX GET ADD OF EQUALS ASSIGNMENT 42200013 BAL RH,CZLINK BRANCH TO LINK ROUTINE 42400013 B CZ006 BRANCH TO TEST FOR MERGE ONLY 42600013 * 42800013 CZ003 TM PPISW1+3,X'40' TEST FOR EXTRACT 43000013 BZ CZ006 IF FALSE TAKE BRANCH 43200013 L RA,PPIEXTSZ GET LENGTH OF EXTRACT ROUTINE 43400013 GETMAIN R,LV=(0) GETMAIN FOR EXTRACT ROUTINE 43600013 ST RB,PPIAXERT PUT ADD OF EXTRACT ROUTINE IN PPI 43800013 L RP,CZAOMX GET ADD OF EXTRACT ASSIGNMENT 44000013 BAL RH,CZLINK BRANCH TO LINK ROUTINE 44200013 * 44400013 CZ006 L RB,PPIADDCF IF MORE THAN 12 CONTROL FIELDS, 44600013 LTR RB,RB PPIADDCF WILL CONTAIN ADDRESS OF 44800013 BZ CZ007 STORAGE AREA ALLOCATED FOR THEM 45000013 LH RA,PPINUMCF LENGTH OF AREA=NUMBER OF CONTROL 45200019 MH RA,CZSIX FIELDS X SIX 45400019 FREEMAIN R,LV=(0),A=(1) FREEMAIN FOR CONTROL FIELD INFO AREA 45600013 * 45800013 CZ007 TM PPISW1+2,X'02' TEST FOR MERGE ONLY RUN 46000013 BZ CZ001 IF FALSE TAKE BRANCH 46200013 CZ004 LA RP,0 SET RETURN CODE 46400013 CZEE01 LR RO,RE RESTORE RETURN REGISTER 46600013 BR RO RETURN TO IERRCB 46800013 * 47000013 EJECT 47200013 CZ001 L RP,CZRC4X GET ADD OF SYSTEM SEARCH 47400013 BAL RH,CZLINK BRANCH TO LINK ROUTINE 47600013 TM PPISW1+1,X'40' TEST FOR TAPE 47800013 BZ CZ005 IF FALSE TAKE BRANCH 48000013 L RP,CZAO2X GET ADD OF TAPE OPTIMIZE ROUTINE 48200013 BAL RH,CZLINK BRANCH TO LINK ROUTINE 48400013 B CZ004 BRANCH TO RETURN 48600013 * 48800013 CZ005 L RP,CZRCJX GET ADD OF DISK CAPACITY ROUTINE 49000013 BAL RH,CZLINK BRANCH TO LINK ROUTINE 49200013 L RP,CZAO1X GET ADD OF DISK OPTIMIZE ROUTINE 49400013 BAL RH,CZLINK BRANCH TO LINK ROUTINE 49600013 B CZ004 BRANCH TO RETURN 49800013 * 50000013 CZLINK BALR RO,RP BRANCH TO NEXT ROUTINE 50200013 LTR RP,RP TEST FOR ERROR RETURN 50400013 BCR 13,RH IF NOT HIGH (OK) RETURN TO CALLER 50600013 CZBAD LA RP,4 SET ERROR CODE INTO RETURN CODE REG. 50800013 B CZEE01 51000013 * 51200013 CZPRINT EQU * TO AVOID IERGAPRT ADDRESSING PROBLEM 51400013 EJECT 51600013 USING *,RP 51800013 IERGAPRT STM RA,RP,CZPSAVE SAVE REGISTERS 0 THROUGH 15 52000013 DROP RP 52200013 BALR RI,0 SET TEMPORARY BASE 52400013 USING *,RI 52600013 LM RJ,RL,CZDCB GET MESSAGE INFORMATION 52800013 LH RM,CZMSGIX GET MESSAGE INDEX 53000013 B *+4(RM) BRANCH AS INDEX INDIATES 53200013 B CZPEXIT INDEX = 0 - NO MESSAGES 53400013 B CZPCC = 4 - CRITICAL & CONSOLE 53600013 B CZPCP = 8 - CRITICAL & PRINTER 53800013 B CZPAC = 12 - ALL & CONSOLE 54000013 * B CZPAP = 16 - ALL & PRINTER 54200013 * 54400013 EJECT 54600013 CZPAP WRITE DECB,SF,(9),(10),(11) 54800013 * 55000013 CHECK DECB 55200013 * 55400013 PRTOV (9),12 55600013 * 55800013 B CZPEXIT BRANCH TO EXIT LINKAGE 56000013 * 56200013 CZPCP CLI 6(RK),C'A' IS THIS A CRITICAL MESSAGE ? 56400013 BE CZPAP IF TRUE BRANCH TO PRINT IT 56600013 B CZPEXIT IF FALSE BRANCH TO EXIT LINKAGE 56800013 * 57000013 CZPCC CLI 6(RK),C'A' IS THIS A CRITICAL MESSAGE ? 57200013 BNE CZPEXIT IF FALSE BRANCH TO EXIT LINKAGE 57400013 CZPAC BCTR RL,0 DECR LENGTH AND STORE 57600021 STC RL,CZPMOVE+1 IN MVC INSTRUCTION 57660021 LA RL,5(0,RL) LENGTH UP 1+4 AGAIN 57720021 STC RL,CZPWTO+1 PUT LENGTH IN WTO PARM LIST 57800013 CZPMOVE MVC CZPWTO+4(1),0(RK) MOVE MESSAGE INTO WTO PARM LIST 58000021 LA RB,CZPWTO GET ADDRESS OF WTO PARM LIST 58200013 WTO MF=(E,(1)) 58400013 CZPEXIT LM RA,RP,CZPSAVE RESTORE REGISTERS 0 THROUGH 15 58600013 DROP RI 58800013 BR RO RETURN TO CALLER 59000013 * 59200013 EJECT 59400013 CZDCB DC F'0' 59600013 CZPSAVE DC 16F'0' 59800013 CZPWTO DC F'0' 60000013 DC 4CL30' ' 60200013 CZSIX DC H'6' 60400013 CZMSGIX DC H'0' FOR MESSAGE INDEX 60600013 EJECT 60800013 CZRC1X DC V(IERRC1) 61000013 CZAOLX DC V(IERAOL) 61200013 CZAOMX DC V(IERAOM) 61400013 CZRC4X DC V(IERRC4) 61600013 CZRCJX DC V(IERRCJ) 61800013 CZAO1X DC V(IERAO1) 62000013 CZAO2X DC V(IERAO2) 62200013 CZRCUX DC V(IERRCU) ADDRESS OF MESSAGE MODULE 62400013 CZSAVE DC 10F'0' 62600013 CZRBSAVE DC F'0' POINTER HOLD AREA 62800013 DCBD 63000013 EJECT 63200013 DIERRCU DSECT 63400013 * 63600013 CUPA01 DC A(CUPM01) 63800013 DC F'18' 64000013 * 64200013 CUPA02 DC A(CUPM02) 64400013 DC F'19' 64600013 * 64800013 CUPA03 DC A(CUPM03) 65000013 DC F'24' 65200013 * 65400013 CUPA04 DC A(CUPM04) 65600013 DC F'27' 65800013 * 66000013 CUPA05 DC A(CUPM05) 66200013 DC F'33' 66400013 * 66600013 CUPA06 DC A(CUPM06) 66800013 DC F'19' 67000013 * 67200013 CUPA07 DC A(CUPM07) 67400013 DC F'26' 67600013 * 67800013 CUPA08 DC A(CUPM08) 68000013 DC F'43' 68200013 * 68400013 CUPA09 DC A(CUPM09) 68600013 DC F'36' 68800013 * 69000013 CUPA10 DC A(CUPM10) 69200013 DC F'29' 69400013 * 69600013 CUPA11 DC A(CUPA11) 69800013 DC F'29' 70000013 * 70200013 CUPA12 DC A(CUPM12) 70400013 DC F'36' 70600013 * 70800013 CUPA13 DC A(CUPM13) 71000013 DC F'26' 71200013 * 71400013 CUPA14 DC A(CUPM14) 71600013 DC F'23' 71800013 * 72000013 CUPA15 DC A(CUPM15) 72200013 DC F'18' 72400013 * 72600013 DMSG961X DC A(DMSG961) 72800013 DC F'26' 73000013 * 73200013 DMSG962X DC A(DMSG962) 73400013 DC F'45' 73600013 * 73800013 DMSG963X DC A(DMSG963) 74000013 DC F'37' 74200013 * 74400013 DMSG964X DC A(DMSG964) 74600013 DC F'37' 74800013 * 75000013 DMSG965X DC A(DMSG965) 75200013 DC F'31' 75400013 OPENERR1 DC A(OPENERR) 75600013 DC F'28' 75800013 * 76000013 CUPM01 DC CL18'IER036I - B = ' 76200013 * 76400013 CUPM02 DC CL19'IER037I - G = ' 76600013 * 76800013 CUPM03 DC CL24'IER038I - NMAX = ' 77000013 * 77200013 CUPM04 DC CL27'IER039A - INSUFFICIENT CORE' 77400013 * 77600013 CUPM05 DC CL28'IER040A - INSUFFICIENT WORK ' 77800013 DC CL05'UNITS' 78000013 CUPM06 DC CL19'IER041A - N GT NMAX' 78200013 * 78400013 CUPM07 DC CL26'IER042A - MIXED UNITS ASGN' 78600013 * 78800013 CUPM08 DC CL30'IER043A - DATA SET ATTRIBUTES ' 79000013 DC CL13'NOT SPECIFIED' 79200013 * 79400013 CUPM09 DC CL29'IER056A - SORTIN/SORTOUT NOT ' 79600013 DC CL07'DEFINED' 79800013 * 80000013 CUPM10 DC CL29'IER057A - SORTIN NOT SORTWK01' 80200013 * 80400013 CUPM11 DC CL29'IER058A - SORTOUT A WORK UNIT' 80600013 * 80800013 CUPM12 DC CL30'IER059A - REC LNG INVALID FOR ' 81000013 DC CL06'DEVICE' 81200013 * 81400013 CUPM13 DC CL26'IER060A - DSCB NOT DEFINED' 81600013 * 81800013 CUPM14 DC CL23'IER027A - CF BEYOND REC' 82000013 * 82200013 CUPM15 DC CL18'IER062A - L.E. ERR' 82400013 * 82600013 DMSG961 DC CL22'IER961I - TECHNIQUE - ' 82800013 DMSG961A DC CL04' ' 83000013 * 83200013 DMSG962 DC CL30'IER962I - NO/SIZE OF BFRS, PH ' 83400013 DMSG962A DC CL01'0' 83600013 DC CL02', ' 83800013 DMSG962B DC CL02' ' A27995 84000020 DC CL02', ' 84200013 DMSG962C DC CL08' ' A27995 84400020 * 84600013 DMSG963 DC CL29'IER963I - MAX. SYSGEN CORE - ' 84800013 DMSG963A DC CL08' ' A27995 85000020 * 85200013 DMSG964 DC CL24'IER964I - CALC. CORE PH ' 85400013 DMSG964A DC CL02'00' 85600013 DC CL03' = ' 85800013 DMSG964B DC CL08' ' A27995 86000020 * 86200013 DMSG965 DC CL29'IER965I - MERGE ORDER = ' 86400013 DMSG965A DC CL02' ' A27995 86600020 OPENERR DC CL21'IER063A - OPEN ERR - ' 86800013 OPENERRA DC CL7'SORTLIB' 87000013 OPENERRB DC CL7'USERLIB' 87200013 OPENERRC DC CL7'SYSLMOD' 87400013 OPENERRD DC CL7'SYSLIN ' 87600013 * 87800013 SMPPI 88000013 SMCPI 88200013 CZ008 EQU *-IERRC5 A26453 88300019 END 88400013 ./ ADD SSI=03012956,SOURCE=1,NAME=IERRC1 TITLE 'IERRC1 - OS/360 SORT/MERGE - 360-SM-023 05/23/66' 00500013 *MODULE NAME *** IERRC1 *** 01000013 SPACE 2 01500013 *STATUS: CHANGE LEVEL 0 02000013 SPACE 2 02500013 *MODULE FUNCTION/OPERATION: THE PURPOSE OF THIS MODULE IS TO CREATE THE 03000013 * FULLY EXPANDED PHASE-TO-PHASE INFORMATION AREA (IERRCA) FROM THE 03500013 * CONDENSED VERSION WHICH WAS USED DURING DEFINITION PHASE BECAUSE OF 04000013 * THE POSSIBILITY OF A LINK EDITOR RUN. IT ALSO SETS BITS 27 AND 28 04500013 * OF PPISW1 ACCORDING TO TECHNIQUE, SORT OR MERGE, EXTRACTING OR NOT. 05000013 SPACE 2 05500013 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT - N/A 06000013 * 06500013 * 07000013 *LIST OF MACROS USED BY MODULE: 07500013 * SMPPI 08000013 * SMCPI 08500013 SPACE 2 09000013 *ENTRY POINT: 09500013 SPACE 1 10000013 * ENTRY ENTRY FROM NETWORK. 10500013 * CALLING SEQUENCE- 11000013 * L RP,CZRC1X 11500013 * BALR RO,RP 12000013 * CZRC1X DC V(IERRC1) 12500013 SPACE 2 13000013 *INPUT: PPI-CPI FIELDS REFERENCED 13500013 SPACE 1 14000013 * THE ENTIRE CPI IS MOVED TO PPI. 14500013 SPACE 2 15000013 *OUTPUT: PPI FIELDS INITIALIZED OR ALTERED - 15500013 SPACE 1 16000013 * BITS 27 AND 28 OF PPISW1 ARE LOADED. 16500013 SPACE 2 17000013 *EXTERNAL ROUTINES: N/A 17500013 SPACE 2 18000013 *EXTERNAL PARAMETERS - N/A 18500013 * 19000013 * 19500013 *EXITS-NORMAL: 20000013 SPACE 1 20500013 * IERRCZ - RETURN CONTROL 21000013 SPACE 2 21500013 *EXITS-ERROR: N/A 22000013 SPACE 2 22500013 *TABLES/WORK AREAS: N/A 23000013 SPACE 2 23500013 *ATTRIBUTES: THIS IS A CLASS A MODULE. 24000013 SPACE 2 24500013 *NOTES: THIS MODULE IS USED FOR ALL SORTS OR MERGES. 25000013 EJECT 25500013 *LIST OF GENERAL REGISTER EQUATE STATEMENTS: 26000013 SPACE 1 26500013 RA EQU 0 NOT USED. 27000013 RB EQU 1 NOT USED. 27500013 RC EQU 2 CONTENTS IN - CPI ADDRESS. 28000013 * USED - BASE REGISTER FOR CPI. 28500013 * CONTENTS OUT - CPI ADDRESS. 29000013 RD EQU 3 NOT USED. 29500013 RE EQU 4 NOT USED. 30000013 RF EQU 5 NOT USED. 30500013 RG EQU 6 NOT USED. 31000013 RH EQU 7 NOT USED. 31500013 RI EQU 8 NOT USED. 32000013 RJ EQU 9 NOT USED. 32500013 RK EQU 10 NOT USED. 33000013 RL EQU 11 NOT USED. 33500013 RM EQU 12 NOT USED. 34000013 RN EQU 13 CONTENTS IN - PPI ADDRESS. 34500013 * USED - BASE REGISTER FOR PPI. 35000013 * CONTENTS OUT - PPI ADDRESS. 35500013 RO EQU 14 CONTENTS IN - IERRCZ RETURN ADDRESS. 36000013 * USED - NOT USED. 36500013 * CONTENTS OUT - SAME AS CONTENTS IN. 37000013 RP EQU 15 CONTENTS IN - ADDRESS OF IERRC1. 37500013 * USED - MODULE BASE REGISTER. 38000013 * CONTENTS OUT - 0 38500013 SPACE 2 39000013 *START OF MODULE CODE PROPER: 39500013 SPACE 2 40000013 IERRC1 CSECT 40500013 USING *,RP PROGRAM BASE 41000013 USING IERRC5,RC CPI BASE 41500013 USING IERRCA,RN PPI BASE 42000013 * 42500013 *THE FOLLOWING CODE ZEROES PPI. IT IS DEPENDENT UPON THE LENGTH OF PPI 43000013 * 43500013 * 44000013 HERE MVI PPISVARE+72,X'00' 44500013 MVC PPISVARE+73(256),PPISVARE+72 ZERO PPI. 45000013 MVC PPISVARE+329(256),PPISVARE+328 45500013 MVC PPISVARE+585(256),PPISVARE+584 46000013 MVC PPISVARE+841(215),PPISVARE+840 46500013 * 47000013 *THE FOLLOWING CODE MOVES THE FIELDS WITHIN CPI INTO THE CORRESPONDING 47500013 * FIELDS IN PPI. 48000013 * 48500013 * 49000013 MVC PPINUMCF(74),CPINUMCF 49500013 MVC PPIDD0L1(4),CPIPCF01 50000013 MVC PPISW1(8),CPISW1 50500013 MVC PPILAB09(4),CPILAB09 51000013 MVC PPIP1GC+1(3),CPIP1RSZ 51500013 MVC PPIP1ASZ+2(2),CPIP1ASZ 52000013 MVC PPIIPBLK+2(2),CPIIPBLK 52500013 MVC PPIFFF+2(2),CPIFFF 53000013 MVC PPIPBUFF+2(2),CPIPBUFF 53500013 MVC PPIP2GC+1(3),CPIP2RSZ 54000013 MVC PPIP3GC+1(3),CPIP3RSZ 54500013 MVC PPIP3ASZ+2(2),CPIP3ASZ 55000013 MVC PPIOPBLK(2),CPIOPBLK 55500013 MVC PPISRTBL(2),CPISRTBL 56000013 MVC PPIRCDL1(10),CPIRCDL1 56500013 MVC PPILAB03+2(2),CPILAB03 57000013 MVC PPILAB07+2(2),CPILAB07 57500013 MVC PPIBUF23(2),CPIBUF23 58000013 MVC PPIEXTSZ+2(2),CPIEXTSZ 58500013 MVC PPIBINSZ+2(2),CPIBINSZ 59000013 MVC PPISKPRD+1(3),CPISKPRD 59500013 MVC PPIATP1E+1(3),CPIATP1E 60000013 MVC PPIMODEX(3),CPIMODEX 60500013 MVC PPIATP3E+1(3),CPIATP3E 61000013 MVC PPITAVLC+1(3),CPITAVLC 61500013 MVC PPIFILSZ+1(3),CPIFILSZ 62000013 MVC PPISRTG+1(3),CPISRTG 62500013 MVC PPINMAX+1(3),CPINMAX 63000013 MVC PPIBUF1+3(1),CPIBUF1 63500013 MVC PPIMRGMX+1(1),CPIMRGMX 64000013 MVC PPINDSKA(2),CPINWKU 64500013 MVC PPIMRGAL+1(1),CPIMRGAL 65000013 MVC PPILINK(3),CPILINK 65500013 MVC PPIADDCF+1(3),CPIADDCF 66000013 MVC PPISORCE(8),CPISORCE 66500013 MVC PPIDDSRT(4),CPIDDSRT 67000013 MVC PPIDCBIN(2),CPIDCBIN V5FL 67300019 MVC PPIDCBOU(2),CPIDCBOU V5FL 67600019 SPACE 2 68000013 NI PPISW1+2,X'E3' TURN OFF PH1,2,3 BITS 68500013 SPACE 1 69000013 *THE FOLLOWING CODE IS USED TO SET BITS 27 AND 28 IN PPISW1 FOR USE 69500013 * LATER BY THE SORT AND MERGE NETWORKS, WHICH USE THEM TO DETERMING 70000013 * IN WHICH ORDER SEQUENCES ARE TO BE HANDLED. 70500013 * 71000013 * 71500013 TM PPISW1+2,X'02' IS IT MERGE ONLY.... 72000013 BO C1EXTR YES-TAKE BRANCH.... 72500013 * 73000013 TM PPISW1,X'08' IS IT BALANCED.... 73500013 BZ C1EXTR NO- 74000013 * 74500013 TM PPISW1+1,X'40' YES-IS IT TAPE.... 75000013 BZ C1EXTR NO- 75500013 * 76000013 TM PPISW1+3,X'40' YES-IS IT EXTRACT.... 76500013 BZ C1OPPOS NO- 77000013 * 77500013 OI PPISW1+3,X'10' YES-SET 28 DESCENDING. 78000013 * 78500013 C1LEAVE SR RP,RP PLACE ZERO IN RETURN REGISTER(RP). 79000013 BR RO RETURN. 79500013 * 80000013 C1EXTR TM PPISW1+3,X'40' IS IT EXTRACT.... 80500013 BZ C1LEAVE NO- 81000013 NI PPISW1+3,X'EF' YES-SET 28 ASCENDING(OFF). 81500013 B C1LEAVE 82000013 * 82500013 * 83000013 C1OPPOS XI PPISW1+3,X'10' SET 28 OPPOSITE 27. 83500013 B C1LEAVE 84000013 * 84500013 * 85000013 EJECT 85500013 SMPPI 86000013 EJECT 86500013 SMCPI 87000013 END 87500013 ./ ADD SSI=03011905,SOURCE=1,NAME=IERRC2 TITLE 'IERRC2 - OS/360 SORT/MERGE - 360S-SM023 - 6/8/66' 00200013 * 00400013 * 00600013 *MODULE NAME:*** IERRC2 *** 00800013 SPACE 2 01000013 *STATUS: CHANGE LEVEL 000 01200013 SPACE 2 01400013 *MODULE FUNCTION/OPERATION: 01600013 * THIS MODULE'S PURPOSE IS THE CALCULATION OF THE EXTRACT 01800013 * ROUTINE,THE DISPLACEMENT OF'F'FIELD,AND THE DISPLACEMENT 02000013 * OF THE PACKING BUFFER. THE 3 VALUES ARE STORED IN PPI. 02200013 * IT ALSO CALCULATES THE EXTRACTED PORTION OF THE EXTRACTED 02400013 * CONTROL FIELDS. 02600013 SPACE 2 02800013 *FLOWCHART CROSS REFERENCES - H6 03000013 * 03200013 * 03400013 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT - N/A 03600013 SPACE 2 03800013 *MACROS USED 04000013 SPACE 1 04200013 * SMCPI 04400013 SPACE 2 04600013 *ENTRY POINTS: 04800013 SPACE 1 05000013 * ENTRY IERRC2 ENTRY FROM - IERRCM 05200013 * CALLING SEQUENCE 05400013 * L 12,A%SAVEAREA< 05600013 * L 13,A%PPI< 05800013 * L 15,A%IERRC2< 06000013 * BALR 14,15 06200013 * RETURN 06400013 SPACE 2 06600013 *INPUT: PPI FIELDS REFERENCED- 06800013 SPACE 1 07000013 * CPIPCF01 07200013 * CPINUMCF 07400013 * 07600013 * 07800013 * 08000013 SPACE 2 08200013 *OUTPUT: PPI FIELDS INITIALIZED OR ALTERED- 08400013 SPACE 1 08600013 * CPIFFF 08800013 * CPIPBUFF 09000013 * CPIEXTZ 09200013 * CPILAB07 09400013 * 09600013 SPACE 2 09800013 *EXTERNAL ROUTINES: 10000013 SPACE 1 10200013 * IERRC5 CPI 10400013 * 10600013 * 10800013 SPACE 2 11000013 *EXTERNAL PARAMETERS: 11200013 SPACE 1 11400013 * 11600013 * 11800013 * 12000013 * 12200013 *EXITS: NORMAL 12400013 SPACE 1 12600013 * 12800013 * 13000013 * 13200013 * 13400013 SPACE 2 13600013 *EXITS: ERROR 13800013 SPACE 1 14000013 * 14200013 * 14400013 * 14600013 * 14800013 SPACE 2 15000013 *TABLES/WORK AREAS: 15200013 SPACE 1 15400013 * 15600013 * 15800013 * 16000013 * 16200013 * 16400013 * 16600013 * 16800013 * 17000013 * 17200013 * 17400013 * 17600013 SPACE 2 17800013 *ATTRIBUTES: THIS IS A CLASS A MODULE. 18000013 SPACE 2 18200013 *NOTES: 18400013 SPACE 1 18600013 * 18800013 * 19000013 * 19200013 * 19400013 * 19600013 * 19800013 * 20000013 SPACE 2 20200013 *LIST OF GENERAL REGISTER EQUATE STATEMENTS: 20400013 SPACE 1 20600013 RA EQU 0 CONTENTS IN- N/A 20800013 * 21000013 * USE- GENERAL WORK 21200013 * 21400013 * CONTENTS OUT- N/A 21600013 * 21800013 RB EQU 1 CONTENTS IN- N/A 22000013 * 22200013 * USE- GENERAL PURPOSE 22400013 * 22600013 * CONTENTS OUT- N/A 22800013 * 23000013 RC EQU 2 CONTENTS IN- NA 23200013 * 23400013 * USE- GENERAL PURPOSE 23600013 * 23800013 * CONTENTS OUT- NA 24000013 * 24200013 RD EQU 3 CONTENTS IN- NA 24400013 * 24600013 * USE- GENERAL PURPOSE 24800013 * 25000013 * CONTENTS OUT- NA 25200013 * 25400013 RE EQU 4 CONTENTS IN- NA 25600013 * 25800013 * USE- GENERAL PURPOSE 26000013 * 26200013 * CONTENTS OUT- NA 26400013 * 26600013 RF EQU 5 CONTENTS IN- NA 26800013 * 27000013 * USE- GENERAL PURPOSE 27200013 * 27400013 * CONTENTS OUT- NA 27600013 * 27800013 RG EQU 6 CONTENTS IN- NA 28000013 * 28200013 * USE- GENERAL PURPOSE 28400013 * 28600013 * CONTENTS OUT- NA 28800013 * 29000013 RH EQU 7 CONTENTS IN- NA 29200013 * 29400013 * USE- GENERAL PURPOSE 29600013 * 29800013 * CONTENTS OUT- NA 30000013 * 30200013 RI EQU 8 CONTENTS IN- NA 30400013 * 30600013 * USE- GENERAL PURPOSE 30800013 * 31000013 * CONTENTS OUT- NA 31200013 RJ EQU 9 CONTENTS IN- NA 31400013 * 31600013 * USE- GENERAL PURPOSE 31800013 * 32000013 * CONTENTS OUT- NA 32200013 * 32400013 RK EQU 10 CONTENTS IN- NA 32600013 * 32800013 * USE- GENERAL PURPOSE 33000013 * 33200013 * CONTENTS OUT- NA 33400013 * 33600013 RL EQU 11 CONTENTS IN- NA 33800013 * 34000013 * USE- MODULE BASE REGISTER 34200013 * 34400013 * CONTENTS OUT- NA 34600013 * 34800013 RM EQU 12 CONTENTS IN- CPI SAVE AREA 35000013 * 35200013 * USE- CPI SAVE AREA 35400013 * 35600013 * CONTENTS OUT- CPI SAVE AREA 35800013 * 36000013 RN EQU 13 CONTENTS IN- ADDRESS OF PPI 36200013 * USE- PPI REFERENCE,REGISTER SAVE 36400013 * AREA 36600013 * CONTENTS OUT- ADDRESS OF PPI 36800013 RO EQU 14 CONTENTS IN BRANCH AND LINK REGI 37000013 * ADDRESS OF RETURN 37200013 * USE- ADDRESS OF CALLER 37400013 * 37600013 * CONTENTS OUT- ADDRESS OF WHERE TO GO 37800013 * 38000013 RP EQU 15 CONTENTS IN- IERRCZ ADDRESS 38200013 * 38400013 * USE- GENERAL PURPOSE 38600013 * 38800013 * CONTENTS OUT- IERRCZ ADDRESS 39000013 * 39200013 SPACE 2 39400013 *START OF MODULE CODE PROPER: 39600013 SPACE 2 39800013 * 40000013 * 40200013 IERRC2 CSECT 40400013 USING *,RP ENTERING MODULE VIA R15 40600013 STM RB,RK,0(RM) 40800013 BALR RL,0 41000013 USING *,RL ESTABLISH MODULE BASE R11 41200013 DROP RP FREE R15 41400013 USING IERRC5,RN ESTABLISH CPI BASE REGISTER 41600013 * 41800013 * HOUSE KEEPING 42000013 * 42200013 LH RJ,CPINUMCF NUMBER OF CONTROL FIELDS 42400013 CH RJ,K12 NO. CONTROL FIELDS BRTR THAN 12 42600013 BC 2,JFT002 YES - BRANCH 42800013 SPACE 1 43000013 LA RK,CPIPCF01 FIRST CONTROL FIELD 43200013 JFT001 LA RG,6 INITIALIZE R6 TO 6 FOR USER ADDRESS 43400013 SR RH,RH INITIALIZE FOR STORING MAXIMUM LENGTH 43600013 SR RI,RI INITIALIZE FOR STORING PACKING BUFFER 43800013 * 44000013 * 44200013 * BEGIN CALCULATION ROUTINE 44400013 * 44600013 JFTROUTN LA RF,TBRANCHT LOAD ADDR. BRANCH TABLE R5 44800013 SR RP,RP INITIALIZE R15 FOR ADDR.CALCULATION 45000013 IC RP,5(0,RK) INSERT 1BYTE CHARACTER FROM CONT.FD. 45200013 AR RF,RP ADD TO GET BRANCH TABLE ADDRESS 45400013 BR RF GO TO BRANCH TABLE 45600013 SPACE 2 45800013 JFT002 MVC WRK+1(3),CPIADDCF 46000013 L RK,WRK ACCESS CONTROL FIELD INFORMATION 46200013 B JFT001 46400013 * 46600013 * 46800013 * BRANCH TABLE 47000013 * 47200013 TBRANCHT B JFTCASE1 47400013 B JFTCASE2 47600013 B JFTCASE3 47800013 B JFTCASE3 48000013 B JFTCASE5 48200013 B JFTCASE6 48400013 B JFTCASE7 48600013 B JFTCASE7 48800013 B JFTCASE9 49000013 B JFTCASE9 49200013 B JFTCAS11 49400013 B JFTCAS11 49600013 B JFTCAS13 49800013 B JFTCAS13 50000013 B JFTCAS15 50200013 B JFTCAS16 50400013 B JFTCAS17 50600013 B JFTCAS17 50800013 B JFTCAS17 51000013 B JFTCAS17 51200013 B JFTCAS17 51400013 B JFTCAS17 51600013 B JFTCAS17 51800013 B JFTCAS24 52000013 * END OF BRANCH TABLE 52200013 * 52400013 * VARIOS CASE ROUTINES (CASES 1,5,13, 52600013 * 15,17,24) 52800013 JFTCASE1 LA RG,6(0,RG) ADD SIZE OF SEGMENT = 6 TO R6 53000013 B JFTCLOSE GO TO NEXT CONTROL FIELD IF POSSIBLE 53200013 * 53400013 JFTCASE5 LA RG,10(0,RG) 53600013 B JFTCLOSE 53800013 * 54000013 JFTCAS11 LA RG,38(0,RG) 54200013 B JFTCLOSE 54400013 * 54600013 JFTCAS13 LA RG,40(0,RG) 54800013 B JFTCLOSE 55000013 * 55200013 JFTCAS15 LA RG,22(0,RG) 55400013 B JFTCLOSE 55600013 * 55800013 JFTCAS17 LA RG,32(0,RG) 56000013 B JFTCLOSE 56200013 * 56400013 JFTCAS24 LA RG,44(0,RG) 56600013 B JFTCLOSE 56800013 * 57000013 * 57200013 * VARIOUS CASE ROUTINES FOR CASE 7 ONLY 57400013 * 57600013 JFTCASE7 LA RG,52(0,RG) ADD SEGMENT SIZE = 52 TO R6 57800013 LA RI,9 PUT 9 IN R8 FOR PACKING BUFFER 58000013 CLI 3(RK),X'10' MORE THAN 16 BYTES 58050018 BL *+8 BRANCH IF NO 58100018 LA RG,6(0,RG) SEGMENT SIZE=58 FOR MORE THAN 16 58150018 B JFTMORE GO TO CHECK LENGTH ROUTINE 58200013 * 58400013 * 58600013 * 58800013 * VARIOUS CASE ROUTINES FOR CASES (2,3 59000013 * 4,6,9,16) 59200013 * 59400013 JFTCASE2 LA RG,12(0,RG) 59600013 JFTMORE SR RC,RC LENGTH DETERMINATION ENERGIZED 59800013 IC RC,3(0,RK) GET LENGTH FROM CONTROL FIELD 60000013 LA RC,3(0,RC) ADD 3BYTES TO ADJUST LENGTH FIELD 60200013 CLR RC,RH COMPARE LENGTH TO MAXIMUM LENGTH 60400013 BC 2,JFTOVER BRANCH ON HIGH TO CHANGE MAXIMUM 60600013 B JFTCLOSE GO TO NEXT CONTROL FIELD IF POSSIBLE 60800013 * 61000013 * ROUTINE TO EXCHANGE LENGTHS TO MAXIMN 61200013 * 61400013 JFTOVER LR RH,RC LOAD NEW MAXIMUM LENGTH INTO R7 61600013 B JFTCLOSE GO TO NEXT CONTROL FIELD CALCULATION 61800013 * 62000013 * 62200013 * 62400013 * 62600013 * 62800013 * 63000013 JFTCASE3 LA RG,28(0,RG) 63200013 B JFTMORE 63400013 * 63600013 * 63800013 JFTCASE9 LA RG,46(0,RG) 64000013 B JFTMORE 64200013 * 64400013 JFTCASE6 LA RG,20(0,RG) 64600013 B JFTMORE 64800013 * 65000013 * 65200013 * 65400013 * 65600013 * 65800013 * 66000013 JFTCAS16 LA RG,28(0,RG) 66200013 B JFTMORE 66400013 * 66600013 * 66800013 * 67000013 * 67200013 * DECREMENT COUNT OF CONTROL FIELDS 67400013 * CHECK FOR END OF MODULE 67600013 * 67800013 JFTCLOSE BCT RJ,JFTINCRE DECREMENT AND CHECK FOR LAST FIELD 68000013 * IF LAST FIELD,SAVE R6,R7,R8 IN PPI 68200013 STH RG,CPIFFF SAVE DISPLACEMENT OF CONSTANTS 68400013 AR RG,RH 68600013 STH RG,CPIPBUFF SAVE DISPLACEMENT OF PACKING BUFFERS 68800013 AR RG,RI 69000013 STH RG,CPIEXTSZ SAVE SIZE OF EXTRACT ROUTINE 69200013 * 69400013 * 69600013 * THE PURPOSE OF THIS ROUTINE IS TO CALCULATE THE SIZE OF 69800013 * THE EXTRACTED PORTIONS OF THE EXTRACTED CONTROL FIELDS. 70000013 * 70200013 SR RK,RK CLEAR R10 FOR SIZE OF CONTROL FIELD 70400013 LH RJ,CPINUMCF NUMBER OF CONTROL FIELDS 70600013 CH RJ,K12 MORE THAN 12 CONTROL FIELDS 70800013 BC 2,JFT004 71000013 SPACE 1 71200013 LA RI,CPIPCF01 FIRST CONTROL FIELD 71400013 EXTROUT SR RE,RE CLEAR R4 FOR BYTE PORTION OF LENGTH 71600013 IC RE,3(0,RI) BYTE PORTION OF LENGTH OF C.F. 71800013 CLI 5(RI),X'18' IS C.F. UNPACKED DECIMAL ASCENDING 72000013 BE EXTR1 72200013 CLI 5(RI),X'1C' IS C.F. UNPACKED DECIMAL DESCENDING 72400013 BNE EXTR2 72600013 EXTR1 LA RE,1(0,RE) INCREMENT BY 1 BYTE 72800013 CLI 3(RI),X'10' MORE THAN 16 BYTES 72850018 BL *+8 BRANCH IF NO 72900018 LA RE,1(0,RE) INCREMENT BY ONE BYTE 72950018 SRL RE,1 DIVIDE BY 2 73000013 B EXTSKIP 73200013 EXTR2 CLI 3(RI),X'FF' L(BYTES) = 255 73400013 BNE EXTR21 73600013 CLI 4(RI),X'00' L(BITS) = 0 73800013 BE EXTR21 74000013 SR RE,RE ONLY WANT THE BITS 74200013 EXTR21 SLL RE,3 MULTIPLY BY 8 74400013 SR RD,RD ZERO R3 74600013 IC RD,4(0,RI) 74800013 AR RE,RD TOTAL THE BITS 75000013 IC RD,2(0,RI) BITS PORTION OF DISPL.OF LAST C.F. 75200013 AR RE,RD 75400013 LA RE,7(0,RE) ROUND OFF 75600013 SRL RE,3 DIVIDE BY 8 75800013 EXTSKIP LA RE,1(0,RE) INC.BY 1 BYTE FOR ACTUAL DISPL. 76000013 LA RD,511 CONSTANT X'01FF' 76200013 NR RE,RD KEEP LAST BYTE 76400013 AR RK,RE INC.DISPL.IN EXTRACTED PORTION BY LTH 76600013 LA RI,6(0,RI) GET NEXT CONTROL FIELD 76800013 BCT RJ,EXTROUT LAST CONTROL FIELD 77000013 LR RJ,RK SAVE LENGTH + 4 77200013 LA RP,0 FOR SAFE RETURN 77400013 STH RK,CPILAB07 LENGTH OF EXTRACTED CONTROL FIELDS 77600013 LM RB,RK,0(RM) 77800013 BR RO RETURN TO CALLER 78000013 * 78200013 * 78400013 * ROUTINE TO GET NEXT CONTROL FIELD 78600013 * 78800013 * 79000013 JFTINCRE LA RK,6(0,RK) ADD 6BYTES TO CONTROL FIELD 79200013 B JFTROUTN BRANCH TO START OF ROUTINE 79400013 SPACE 2 79600013 JFT004 L RI,WRK 79800013 B EXTROUT 80000013 * 80200013 WRK DC A(0) 80400013 K12 DC H'12' 80600013 * DUMMY SECTION FOR ADDRESSING PPI 80800013 * 81000013 SMCPI 81200013 END 81400013 ./ ADD SSI=03012332,SOURCE=1,NAME=IERRC3 TITLE ' IERRC3 - OS/360 SORT/MERGE - 360S-SM023 4/18/66' 01000013 *MODULE NAME *** IERRC3 *** 02000013 SPACE 2 03000013 *STATUS:CHANGE LEVEL 000 04000013 SPACE 2 05000013 *MODULE FUNCTION/OPERATION - 06000013 * THIS MODULE CONTAINS ALL THE MESSAGES THAT ARE REQUIRED FOR 07000013 * THE SCAN ROUTINE. 08000013 SPACE 2 09000013 *THIS MODULE IS A DSECT IN- N/A 10000013 SPACE 2 11000013 *MACROS USED - N/A 12000013 * 13000013 * 14000013 *ENTRY POINTS: N/A 15000013 SPACE 2 16000013 *INPUT: N/A 17000013 SPACE 2 18000013 *OUTPUT: N/A 19000013 SPACE 2 20000013 *EXTERNAL ROUTINES: N/A 21000013 SPACE 2 22000013 *EXTERNAL PARAMETERS - N/A 23000013 * 24000013 * 25000013 *EXITS-NORMAL: N/A 26000013 SPACE 2 27000013 *EXITS-ERROR: N/A 28000013 SPACE 2 29000013 *TABLES/WORK AREAS: N/A 30000013 SPACE 2 31000013 *ATTRIBUTES: THIS IS A CLASS -A- MODULE 32000013 SPACE 2 33000013 *NOTES- THIS MODULE IS REFERENCED BY AN EXTERN STATEMENT IN IERRCD. 34000013 SPACE 2 35000013 EJECT 36000013 IERRC3 CSECT 37000013 * 510000 A31866 37500000 SPACE 1 38000013 C5PA01 DC A(C5PM01) 39000013 DC F'26' 40000013 C5PA02 DC A(C5PM02) 41000013 DC F'37' 42000013 C5PA03 DC A(C5PM03) 43000013 DC F'35' 44000013 C5PA04 DC A(C5PM04) 45000013 DC F'24' 46000013 * 47000013 C5PM01 DC C'IER007A - SYNTAX ERR - XXX' 48000013 C5PM02 DC CL25'IER008A - FD OR VALUE GT ' 49000013 DC C'8 CHAR - XXX' 50000013 C5PM03 DC C'IER009I - EXCESS INFO ON' A31866 51000000 DC C' CARD - XXX' 52000013 C5PM04 DC C'IER028A - TOO MANY EXITS' 53000013 * 54000013 END 55000013 ./ ADD SSI=02010173,NAME=IERRC4,SOURCE=0 TITLE ' IERRC4 - OS/360 SORT/MERGE - 360S-SM-023 06/27/65 ' 00100013 *MODULE NAME: *** IERRC4 *** 00200013 SPACE 2 00300013 *STATUS: CHANGE LEVEL 000 00400013 SPACE 2 00500013 *MODULE FUNCTION/OPERATION: THE PURPOSE OF THIS MODULE IS TO GATHER 00600013 * SYSTEM INFORMATION FOR SORT. THE FOLLOWING IS A LIST OF THE ITEMS 00700013 * AND SOURCE OF EACH. 00800013 * 00900013 * 1.THE CHANNEL ADDRESS OF SORTIN (TAPE) - UCB 01000013 * 2.THE CHANNEL ADDRESS OF EACH WORK UNIT OR AREA - UCB 01100013 * 3.THE STARTING AND ENDING ADDRESS' OF EACH AREA - DSCB 01200013 SPACE 2 01300013 *LIST OF MODULES IN WHICH THIS MODULE APPEARS AS A DSECT - N/A 01400013 * 01500013 * 01600013 *MACROS USED - 01700013 * EXTRACT 01800013 * RDJFCB 01900013 * OBTAIN 02000013 * CAMLST 02100013 * DCB 02200013 SPACE 2 02300013 *ENTRY POINT: 02400013 * ENTRY IERRC4 ENTRY FROM: IERRCZ 02500013 * CALLING SEQUENCE- 02600013 * L R15,=V(IERRC4) 02700013 * BALR R14,R15 02800013 SPACE 2 02900013 *INPUT: PPI FIELDS REFERENCED- 03000013 SPACE 1 03100013 * PPISW1 FOR TAPE TEST. 03200013 SPACE 2 03300013 *OUTPUT: PPI FIELDS INITIALIZED OR ALTERED- 03400013 SPACE 1 03500013 * PPIDSKED CONTAINS STARTING AND ENDING DIRECT ACCESS ADDRESSES. 03600013 * PPITPPT CONTAINS TAPE TABLE. 03700013 SPACE 2 03800013 *EXTERNAL ROUTINES: N/A 03900013 SPACE 2 04000013 *EXTERNAL PARAMETERS: N/A 04100013 SPACE 2 04200013 *EXITS: NORMAL 04300013 SPACE 1 04400013 * IERRCZ WITH ZERO IN REG 15. 04500013 SPACE 2 04600013 *EXITS: ERROR 04700013 SPACE 1 04800013 * IERRCZ WITH FOUR IN REG 15. 04900013 SPACE 2 05000013 *TABLES/WORK AREAS: 05100013 SPACE 1 05200013 * C4UTAB1 -ADDRESS TABLE FOR DIRECT ACCESS. 05300013 * C4UTAB2 -ADDRESS TABLE FOR TAPE. 05400013 SPACE 2 05500013 *ATTRIBUTES: THIS IS A CLASS A MODULE. 05600013 SPACE 2 05700013 *NOTES: N/A 05800013 SPACE 2 05900013 *LIST OF GENERAL REGISTER EQUATE STATEMENTS: 06000013 SPACE 1 06100013 R0 EQU 0 CONTENTS IN-SYSTEM REGISTER 06200013 * 06300013 * USE-SYSTEM REGISTER 06400013 * 06500013 * CONTENTS OUT-SYSTEM REGISTER 06600013 * 06700013 R1 EQU 1 CONTENTS IN-SYSTEM REIGSTER 06800013 * 06900013 * USE-SYSTEM REGISTER 07000013 * 07100013 * CONTENTS OUT-SYSTEM REGISTER 07200013 * 07300013 R2 EQU 2 CONTENTS IN-N/A 07400013 * 07500013 * USE-WORK REGISTER 07600013 * 07700013 * CONTENTS OUT-N/A 07800013 * 07900013 R3 EQU 3 CONTENTS IN-N/A 08000013 * 08100013 * USE-WORK REGISTER 08200013 * 08300013 * CONTENTS OUT-N/A 08400013 * 08500013 R4 EQU 4 CONTENTS IN-N/A 08600013 * 08700013 * USE-WORK REGISTER 08800013 * 08900013 * CONTENTS OUT-N/A 09000013 * 09100013 R5 EQU 5 CONTENTS IN-N/A 09200013 * 09300013 * USE-WORK REGISTER 09400013 * 09500013 * CONTENTS OUT-N/A 09600013 * 09700013 R6 EQU 6 CONTENTS IN-N/A 09800013 * 09900013 * USE-WORK REGISTER 10000013 * 10100013 * CONTENTS OUT-N/A 10200013 * 10300013 R7 EQU 7 CONTENTS IN-N/A 10400013 * 10500013 * USE-WORK REGISTER 10600013 * 10700013 * CONTENTS OUT-N/A 10800013 * 10900013 R8 EQU 8 CONTENTS IN-N/A 11000013 * 11100013 * USE-WORK REGISTER 11200013 * 11300013 * CONTENTS OUT-N/A 11400013 * 11500013 R9 EQU 9 CONTENTS IN-N/A 11600013 * 11700013 * USE-WORK REGISTER 11800013 * 11900013 * CONTENTS OUT-N/A 12000013 * 12100013 R10 EQU 10 CONTENTS IN-N/A 12200013 * 12300013 * USE-WORK REGISTER 12400013 * 12500013 * CONTENTS OUT-N/A 12600013 * 12700013 R11 EQU 11 CONTENTS IN-N/A 12800013 * 12900013 * USE-MODULE BASE REGISTER. 13000013 * 13100013 * CONTENTS OUT-N/A 13200013 * 13300013 R12 EQU 12 CONTENTS IN-N/A 13400013 * 13500013 * USE-WORK REGISTER 13600013 * 13700013 * CONTENTS OUT-N/A 13800013 * 13900013 R13 EQU 13 CONTENTS IN-PPI BASE 14000013 * 14100013 * USE-PPI BASE 14200013 * 14300013 * CONTENTS OUT-PPI BASE 14400013 * 14500013 R14 EQU 14 CONTENTS IN-RETURN ADDRESS 14600013 * 14700013 * USE-RETURN ADDRESS 14800013 * 14900013 * CONTENTS OUT-RETURN ADDRESS 15000013 * 15100013 R15 EQU 15 CONTENTS IN-MODULE BASE ADDRESS 15200013 * 15300013 * USE-SYSTEM REGISTER 15400013 * 15500013 * CONTENTS OUT-RETURN CODE 15600013 * 15700013 *LIST OF OTHER EQUATE STATEMENTS: A26452 15730019 CHADRMSK EQU X'0F' MASK FOR CH ADDR OF UCBCHA A26452 15760019 SPACE 2 15800013 *LIST OF EXTRNS: 15900013 SPACE 1 16000013 EXTRN IERRCU ERROR MESSAGE MODULE 16100013 SPACE 2 16200013 *START OF MODULE CODE PROPER: 16300013 EJECT 16400013 IERRC4 CSECT SYSTEM SEARCH AFTER LINKAGE EDIT 16500013 * 203000 - 206000 M0776 16550020 USING *,R11 16600013 USING TIOT,R10 16700013 USING UCB,R9 16800013 USING UTAB,R8 16900013 USING IERRCA,R13 17000013 STM R2,R11,0(R12) SAVE REGISTERS 2 THROUGH 11 17100013 LR R11,R15 SET BASE REGISTER 17200013 ST R12,C4SAVE12 SAVE REGISTER 12 17300013 ST R14,C4SAVE14 SAVE REGISTER 14 17400013 EXTRACT C4TIOT,'S',FIELDS=(TIOT) GET ADDRESS OF TIOT 17500013 L R10,C4TIOT ESTABLISH BASE FOR TIOT DSECT 17600013 LA R10,24(0,R10) UPDATE TIOT TO POINT AT LENGTH 17700013 TM PPISW1+1,X'40' TEST FOR TAPE SORT 17800013 BO C4TAPE IF TRUE TAKE BRANCH 17900013 EJECT 18000013 * 18100013 * THIS SECTION OF CODE GETS THE CHANNEL ADDRESS AND STARTING 18200013 * AND ENDING ADDRESS' (MBBCCHHR) FOR EACH DISK AREA AND PLACES 18300013 * THIS INFORMATION IN PPI AT PPIDSKED. 18400013 * 18500013 C4DISK LH R12,PPINDSKA SET SEARCH VALUE 18600013 LA R8,C4UTAB1-16 GET ADDRESS OF DISK UNIT TABLE 18700013 C4001 LA R8,16(0,R8) UPDATE UTAB ADDRESS 18800013 MVC DDNAME(4),PPIDDSRT SET ID CHAR. IN DDNAME 18900013 CLC TIOTDDNM(8),DDNAME IS PRESENT DDNAME A DISK WORK AREA 19000013 BE C4002 IF TRUE TAKE BRANCH 19100013 BCT R12,C4001 IF NOT END OF SEARCH TAKE BRANCH 19200013 B C4003 NOT A DISK WORK AREA TAKE BRANCH 19300013 * 19400013 C4002 LM R5,R6,CHANNEL GET STORE ADDRESS' FROM UTAB 19500013 MVC C4WORD+1(3),TIOTFSRT GET UCB ADDRESS 19600021 L R9,C4WORD FORM TIOT 19650021 MVC 0(2,R5),UCBCHA GET CHANNEL AND UNIT ADDRESS FOR 19700013 * THIS AREA FROM UCB. 19800013 NI 0(R5),CHADRMSK RESET NON-ADDRESS BITS A26452 19900019 MVC SORTDCB+40(8),DDNAME MOVE DDNAME INTO DCB 20000013 RDJFCB (SORTDCB) GET JFCB FOR THIS AREA 20100013 OBTAIN SORTDSCB GET DSCB FOR THIS AREA 20200013 LTR R15,R15 BRANCH IF RETURNCODE NOT ZERO M0776 20300020 BNZ C4EE01 ON ERROR BRANCH TO ERROR EXIT M0776 20400020 C4004 MVC 0(4,R6),DFLD1 GET STARTING AREA ADDRESS FROM DSCB 20700013 MVC 136(4,R6),DFLD2 GET ENDING AREA ADDRESS FROM DSCB 20800013 C4003 MVC *+9(1),TIOTLNGH GET LENGTH OF THIS TIOT ENTRY 20900013 LA R10,0(0,R10) UPDATE TIOT POINTER BY THIS LENGTH 21000013 CLI TIOTLNGH,X'00' IS THIS END OF TIOT 21100013 BNE C4DISK IF NOT TAKE BRANCH 21200013 MVC PPIDSKED(256),DISKWK01 MOVE DISK TABLE INTO PPI 21300013 MVC PPIDSKED+256(152),DISKWK01+256 21400013 EJECT 21500013 C4RETURN LA R15,0 SET RETURN CODE 21600013 L R12,C4SAVE12 RESTORE REGISTER 12 21700013 L R14,C4SAVE14 RESTORE REGISTER 14 21800013 LM R2,R11,0(R12) RESTORE REGISTER 2 THROUGH 11 21900013 BR R14 RETURN TO CALLER 22000013 * 22100013 EJECT 22200013 * 22300013 * THIS SECTION OF CODE GETS THE CHANNEL ADDRESS FOR SORTIN 22400013 * AND EACH WORK UNIT AND PLACES THIS INFORMATION IN PPI 22500013 * STARTING AT PPIPTTP. 22600013 * 22700013 C4TAPE LA R12,33 SET SEARCH VALUE 22800013 LA R8,C4UTAB2-12 GET ADDRESS OF TAPE UNIT TABLE 22900013 C4005 LA R8,12(0,R8) UPDATE UTAB ADDRESS 23000013 MVC DDNAME(4),PPIDDSRT SET ID CHAR. IN DDNAME 23100013 CLC TIOTDDNM(8),DDNAME IS PRESENT DDNAME A TAPE UNIT 23200013 BE C4006 IF TRUE TAKE BRANCH 23300013 BCT R12,C4005 IF NOT END OF SEARCH TAKE BRANCH 23400013 B C4007 NOT A TAPE UNIT TAKE BRANCH 23500013 * 23600013 C4006 L R5,CHANNEL GET STORE ADDRESS FROM UTAB 23700013 MVC C4WORD+1(3),TIOTFSRT GET UCB ADDRESS 23800021 L R9,C4WORD FROM TIOT 23830021 MVC 0(1,R5),UCBCHA GET CHANNEL ADR FOR THIS UNIT A26452 23860019 NI 0(R5),CHADRMSK RESET NON-ADDRESS BITS A26452 23930019 C4007 MVC *+9(1),TIOTLNGH GET LENGTH OF THIS TIOT ENTRY 24000013 LA R10,0(0,R10) UPDATE TIOT POINTER BY THIS LENGTH 24100013 CLI TIOTLNGH,X'00' IS THIS END OF TIOT 24200013 BNE C4TAPE IF NOT TAKE BRANCH 24300013 TM PPISW1,X'08' TEST FOR BALANCED 24400013 BO C4008 IF TRUE TAKE BRANCH 24500013 MVC TAPEWK18+1(29),TAPEWK18 CLEAR HIGH END OF TAPE TABLE 24600013 C4008 MVC PPITPPT(68),TAPEIN MOVE TAPE TABLE INTO PPI 24700013 B C4RETURN BRANCH TO RETURN 24800013 * 24900013 EJECT 25000013 C4EE01 LA R1,96 SET MESSAGE INDEX 25100013 A R1,C4RCUX RELOCATE MESSAGE INDEX 25200013 LM R0,R1,0(R1) GET ADDRESS AND LENGTH OF MESSAGE 25300013 L R15,C4GAPRTX GET ADDRESS OF PRINT ROUTINE 25400013 BALR R14,R15 BRANCH TO PRINT ROUTINE 25500013 MVI C4RETURN+3,X'04' SET RETURN CODE 25600013 B C4RETURN BRANCH TO EXIT LINKAGE 25700013 * 25800013 C4RCUX DC A(IERRCU) 25900013 C4GAPRTX DC V(IERGAPRT) 26000013 EJECT 26100013 C4SAVE14 DC F'0' 26200013 C4SAVE12 DC F'0' 26300013 C4TIOT DC F'0' 26400013 C4WORD DC F'0' TEMPORARY SAVE AREA 26450021 DDCBX DC X'87' 26500013 DC AL3(JFCB) 26600013 EJECT 26700013 DS 0D 26800013 JFCB DS 0CL176 26900013 JFLD0 DC XL32'0' 27000013 DC XL12'0' 27100013 DC XL32'0' 27200013 DC XL24'0' 27300013 JFLD1 DC XL1'0' 27400013 DC XL1'0' 27500013 JFLD2 DC XL2'0' 27600013 JFLD3 DC XL2'0' 27700013 DC XL12'0' 27800013 JFLD4 DC XL30'0' 27900013 DC XL28'0' 28000013 EJECT 28100013 DS 0D 28200013 DSCB DS 0CL400 28300013 DC XL32'0' 28400013 DC XL31'0' 28500013 DFLD1 DC XL4'0' 28600013 DFLD2 DC XL4'0' 28700013 DC 14XL32'0' 28800013 DC XL9'0' 28900013 EJECT 29000013 SORTDSCB CAMLST SEARCH,JFLD0,JFLD4,DSCB 29100013 EJECT 29200013 SORTDCB DCB DDNAME=SORTWK01,EXLST=DDCBX,DSORG=PS,MACRF=(E) 29300013 EJECT 29400013 C4UTAB1 DS 0D 29500013 DC CL8'SORTWK01' 29600013 DC A(DISKWK01) 29700013 DC A(DISKS01) 29800013 DC CL8'SORTWK02' 29900013 DC A(DISKWK02) 30000013 DC A(DISKS02) 30100013 DC CL8'SORTWK03' 30200013 DC A(DISKWK03) 30300013 DC A(DISKS03) 30400013 DC CL8'SORTWK04' 30500013 DC A(DISKWK04) 30600013 DC A(DISKS04) 30700013 DC CL8'SORTWK05' 30800013 DC A(DISKWK05) 30900013 DC A(DISKS05) 31000013 DC CL8'SORTWK06' 31100013 DC A(DISKWK06) 31200013 DC A(DISKS06) 31300013 DC CL8'SORTWK07' 31400013 DC A(DISKWK07) 31500013 DC A(DISKS07) 31600013 DC CL8'SORTWK08' 31700013 DC A(DISKWK08) 31800013 DC A(DISKS08) 31900013 DC CL8'SORTWK09' 32000013 DC A(DISKWK09) 32100013 DC A(DISKS09) 32200013 DC CL8'SORTWK10' 32300013 DC A(DISKWK10) 32400013 DC A(DISKS10) 32500013 DC CL8'SORTWK11' 32600013 DC A(DISKWK11) 32700013 DC A(DISKS11) 32800013 DC CL8'SORTWK12' 32900013 DC A(DISKWK12) 33000013 DC A(DISKS12) 33100013 DC CL8'SORTWK13' 33200013 DC A(DISKWK13) 33300013 DC A(DISKS13) 33400013 DC CL8'SORTWK14' 33500013 DC A(DISKWK14) 33600013 DC A(DISKS14) 33700013 DC CL8'SORTWK15' 33800013 DC A(DISKWK15) 33900013 DC A(DISKS15) 34000013 DC CL8'SORTWK16' 34100013 DC A(DISKWK16) 34200013 DC A(DISKS16) 34300013 DC CL8'SORTWK17' 34400013 DC A(DISKWK17) 34500013 DC A(DISKS17) 34600013 EJECT 34700013 C4UTAB2 DS 0D 34800013 DC CL8'SORTIN' 34900013 DC A(TAPEIN) 35000013 DC CL8'SORTWK01' 35100013 DC A(TAPEWK01) 35200013 DC CL8'SORTWK02' 35300013 DC A(TAPEWK02) 35400013 DC CL8'SORTWK03' 35500013 DC A(TAPEWK03) 35600013 DC CL8'SORTWK04' 35700013 DC A(TAPEWK04) 35800013 DC CL8'SORTWK05' 35900013 DC A(TAPEWK05) 36000013 DC CL8'SORTWK06' 36100013 DC A(TAPEWK06) 36200013 DC CL8'SORTWK07' 36300013 DC A(TAPEWK07) 36400013 DC CL8'SORTWK08' 36500013 DC A(TAPEWK08) 36600013 DC CL8'SORTWK09' 36700013 DC A(TAPEWK09) 36800013 DC CL8'SORTWK10' 36900013 DC A(TAPEWK10) 37000013 DC CL8'SORTWK11' 37100013 DC A(TAPEWK11) 37200013 DC CL8'SORTWK12' 37300013 DC A(TAPEWK12) 37400013 DC CL8'SORTWK13' 37500013 DC A(TAPEWK13) 37600013 DC CL8'SORTWK14' 37700013 DC A(TAPEWK14) 37800013 DC CL8'SORTWK15' 37900013 DC A(TAPEWK15) 38000013 DC CL8'SORTWK16' 38100013 DC A(TAPEWK16) 38200013 DC CL8'SORTWK17' 38300013 DC A(TAPEWK17) 38400013 DC CL8'SORTWK18' 38500013 DC A(TAPEWK18) 38600013 DC CL8'SORTWK19' 38700013 DC A(TAPEWK19) 38800013 DC CL8'SORTWK20' 38900013 DC A(TAPEWK20) 39000013 DC CL8'SORTWK21' 39100013 DC A(TAPEWK21) 39200013 DC CL8'SORTWK22' 39300013 DC A(TAPEWK22) 39400013 DC CL8'SORTWK23' 39500013 DC A(TAPEWK23) 39600013 DC CL8'SORTWK24' 39700013 DC A(TAPEWK24) 39800013 DC CL8'SORTWK25' 39900013 DC A(TAPEWK25) 40000013 DC CL8'SORTWK26' 40100013 DC A(TAPEWK26) 40200013 DC CL8'SORTWK27' 40300013 DC A(TAPEWK27) 40400013 DC CL8'SORTWK28' 40500013 DC A(TAPEWK28) 40600013 DC CL8'SORTWK29' 40700013 DC A(TAPEWK29) 40800013 DC CL8'SORTWK30' 40900013 DC A(TAPEWK30) 41000013 DC CL8'SORTWK31' 41100013 DC A(TAPEWK31) 41200013 DC CL8'SORTWK32' 41300013 DC A(TAPEWK32) 41400013 EJECT 41500013 DISKWK01 DC XL4'00' 41600013 DISKWK02 DC XL4'00' 41700013 DISKWK03 DC XL4'00' 41800013 DISKWK04 DC XL4'00' 41900013 DISKWK05 DC XL4'00' 42000013 DISKWK06 DC XL4'00' 42100013 DISKWK07 DC XL4'00' 42200013 DISKWK08 DC XL4'00' 42300013 DISKWK09 DC XL4'00' 42400013 DISKWK10 DC XL4'00' 42500013 DISKWK11 DC XL4'00' 42600013 DISKWK12 DC XL4'00' 42700013 DISKWK13 DC XL4'00' 42800013 DISKWK14 DC XL4'00' 42900013 DISKWK15 DC XL4'00' 43000013 DISKWK16 DC XL4'00' 43100013 DISKWK17 DC XL4'00' 43200013 DC 4XL17'00' 43300013 DC XL3'010000' 43400013 DISKS01 DC XL4'00' 43500013 DC X'01' 43600013 DC XL3'020000' 43700013 DISKS02 DC XL4'00' 43800013 DC X'01' 43900013 DC XL3'030000' 44000013 DISKS03 DC XL4'00' 44100013 DC X'01' 44200013 DC XL3'040000' 44300013 DISKS04 DC XL4'00' 44400013 DC X'01' 44500013 DC XL3'050000' 44600013 DISKS05 DC XL4'00' 44700013 DC X'01' 44800013 DC XL3'060000' 44900013 DISKS06 DC XL4'00' 45000013 DC X'01' 45100013 DC XL3'070000' 45200013 DISKS07 DC XL4'00' 45300013 DC X'01' 45400013 DC XL3'080000' 45500013 DISKS08 DC XL4'00' 45600013 DC X'01' 45700013 DC XL3'090000' 45800013 DISKS09 DC XL4'00' 45900013 DC X'01' 46000013 DC XL3'0A0000' 46100013 DISKS10 DC XL4'00' 46200013 DC X'01' 46300013 DC XL3'0B0000' 46400013 DISKS11 DC XL4'00' 46500013 DC X'01' 46600013 DC XL3'0C0000' 46700013 DISKS12 DC XL4'00' 46800013 DC X'01' 46900013 DC XL3'0D0000' 47000013 DISKS13 DC XL4'00' 47100013 DC X'01' 47200013 DC XL3'0E0000' 47300013 DISKS14 DC XL4'00' 47400013 DC X'01' 47500013 DC XL3'0F0000' 47600013 DISKS15 DC XL4'00' 47700013 DC X'01' 47800013 DC XL3'100000' 47900013 DISKS16 DC XL4'00' 48000013 DC X'01' 48100013 DC XL3'110000' 48200013 DISKS17 DC XL4'00' 48300013 DC X'01' 48400013 DC XL3'00' 48500013 DISKE01 DC XL4'00' 48600013 DC X'01' 48700013 DC XL3'00' 48800013 DISKE02 DC XL4'00' 48900013 DC X'01' 49000013 DC XL3'00' 49100013 DISKE03 DC XL4'00' 49200013 DC X'01' 49300013 DC XL3'00' 49400013 DISKE04 DC XL4'00' 49500013 DC X'01' 49600013 DC XL3'00' 49700013 DISKE05 DC XL4'00' 49800013 DC X'01' 49900013 DC XL3'00' 50000013 DISKE06 DC XL4'00' 50100013 DC X'01' 50200013 DC XL3'00' 50300013 DISKE07 DC XL4'00' 50400013 DC X'01' 50500013 DC XL3'00' 50600013 DISKE08 DC XL4'00' 50700013 DC X'01' 50800013 DC XL3'00' 50900013 DISKE09 DC XL4'00' 51000013 DC X'01' 51100013 DC XL3'00' 51200013 DISKE10 DC XL4'00' 51300013 DC X'01' 51400013 DC XL3'00' 51500013 DISKE11 DC XL4'00' 51600013 DC X'01' 51700013 DC XL3'00' 51800013 DISKE12 DC XL4'00' 51900013 DC X'01' 52000013 DC XL3'00' 52100013 DISKE13 DC XL4'00' 52200013 DC X'01' 52300013 DC XL3'00' 52400013 DISKE14 DC XL4'00' 52500013 DC X'01' 52600013 DC XL3'00' 52700013 DISKE15 DC XL4'00' 52800013 DC X'01' 52900013 DC XL3'00' 53000013 DISKE16 DC XL4'00' 53100013 DC X'01' 53200013 DC XL3'00' 53300013 DISKE17 DC XL4'00' 53400013 DC X'01' 53500013 EJECT 53600013 TAPEIN DC X'00' 53700013 DC X'FF' 53800013 DC X'0000' 53900013 TAPEWK01 DC X'00' 54000013 DC X'01' 54100013 TAPEWK02 DC X'00' 54200013 DC X'02' 54300013 TAPEWK03 DC X'00' 54400013 DC X'03' 54500013 TAPEWK04 DC X'00' 54600013 DC X'04' 54700013 TAPEWK05 DC X'00' 54800013 DC X'05' 54900013 TAPEWK06 DC X'00' 55000013 DC X'06' 55100013 TAPEWK07 DC X'00' 55200013 DC X'07' 55300013 TAPEWK08 DC X'00' 55400013 DC X'08' 55500013 TAPEWK09 DC X'00' 55600013 DC X'09' 55700013 TAPEWK10 DC X'00' 55800013 DC X'0A' 55900013 TAPEWK11 DC X'00' 56000013 DC X'0B' 56100013 TAPEWK12 DC X'00' 56200013 DC X'0C' 56300013 TAPEWK13 DC X'00' 56400013 DC X'0D' 56500013 TAPEWK14 DC X'00' 56600013 DC X'0E' 56700013 TAPEWK15 DC X'00' 56800013 DC X'0F' 56900013 TAPEWK16 DC X'00' 57000013 DC X'10' 57100013 TAPEWK17 DC X'00' 57200013 DC X'11' 57300013 TAPEWK18 DC X'00' 57400013 DC X'12' 57500013 TAPEWK19 DC X'00' 57600013 DC X'13' 57700013 TAPEWK20 DC X'00' 57800013 DC X'14' 57900013 TAPEWK21 DC X'00' 58000013 DC X'15' 58100013 TAPEWK22 DC X'00' 58200013 DC X'16' 58300013 TAPEWK23 DC X'00' 58400013 DC X'17' 58500013 TAPEWK24 DC X'00' 58600013 DC X'18' 58700013 TAPEWK25 DC X'00' 58800013 DC X'19' 58900013 TAPEWK26 DC X'00' 59000013 DC X'1A' 59100013 TAPEWK27 DC X'00' 59200013 DC X'1B' 59300013 TAPEWK28 DC X'00' 59400013 DC X'1C' 59500013 TAPEWK29 DC X'00' 59600013 DC X'1D' 59700013 TAPEWK30 DC X'00' 59800013 DC X'1E' 59900013 TAPEWK31 DC X'00' 60000013 DC X'1F' 60100013 TAPEWK32 DC X'00'