TITLE 'ICGDSB07 DSM TABLE CREATE BUILD RSG TABLE *00001000 ' 00002000 ICGDSB07 CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(16) 0001 00007000 DC C'ICGDSB07 76.336' 0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 0001 00010000 BALR @12,0 0001 00011000 @PSTART DS 0H 0001 00012000 USING @PSTART,@12 0001 00013000 L @00,@SIZDATD 0001 00014000 GETMAIN R,LV=(0) 00015000 LR @11,@01 0001 00016000 USING @DATD,@11 0001 00017000 ST @13,@SA00001+4 0001 00018000 LM @00,@01,20(@13) 0001 00019000 ST @11,8(,@13) 0001 00020000 LR @13,@11 0001 00021000 XC @ZTEMPS(@ZLEN),@ZTEMPS 00022000 * 0023 00023000 */********************************************************** @Y30LB14*/ 00024000 */* INITIALIZATION @Y30LB14*/ 00025000 */* THIS ROUTINE SETS UP THE STARTING VIRTUAL DASD ADDRESS @Y30LB12*/ 00026000 */* THE FIRST TRACK TO BE WRITTEN TO DASD AND INITIALIZES @Y30LB12*/ 00027000 */* THE POINTER TO THE DCB FOR SYSUT2 AND THE POINTER TO THE @Y30LB12*/ 00028000 */* THE FIRST BYTE IN THE OUTPUT (SYSUT2) BUFFER. @Y30LB12*/ 00029000 */********************************************************** @Y30LB14*/ 00030000 * 0023 00031000 * OUTCYL(1)=UT2VCYL; /* STARTING CYLINDER NUMBER 0023 00032000 * @Y30LB14*/ 00033000 L @10,BUILDPTR(,R4) 0023 00034000 LH @05,@CH00457 0023 00035000 ALR @05,@10 0023 00036000 MVC OUTCYL(1,@05),UT2VCYL(@10) 0023 00037000 * OUTHEAD(1)=UT2VHEAD; /* STARTING HEAD NUMBER @Y30LB14*/ 00038000 MVC OUTHEAD(1,@05),UT2VHEAD(@10) 0024 00039000 * OUTREC(1)=UT2VREC; /* STARTING RECORD NUMBER 0025 00040000 * @Y30LB14*/ 00041000 MVC OUTREC(1,@05),UT2VREC(@10) 0025 00042000 * B06DCBPT=ADDR(UT2DCB); /* @Y30LB14*/ 00043000 LA @05,UT2DCB(,@10) 0026 00044000 ST @05,B06DCBPT(,@10) 0026 00045000 * B06BUFPT=ADDR(UT2BUFER); /* ADDRESS OF WRITE @Y30LB14 00046000 * BUFFER @Y30LB14*/ 00047000 LR @05,@10 0027 00048000 AL @05,@CF00457 0027 00049000 ST @05,B06BUFPT(,@10) 0027 00050000 * N=1; /* BLOCK POINTER IN OUTBUFFER 0028 00051000 * @Y30LB14*/ 00052000 LA @10,1 0028 00053000 LR N,@10 0028 00054000 * 0029 00055000 */********************************************************** @Y30LB14*/ 00056000 */* THIS IS THE MAINLINE FOR B07. A BLOCK IMAGE IS SET TO @Y30LB14*/ 00057000 */* ZERO AND PLACED IN THE FIRST 8 BLOCKS OF INBUF WHICH IS @Y30LB14*/ 00058000 */* USED TO BUILD THE 11 BLOCK IMAGE THAT MAKES UP THE RSG. @Y30LB14*/ 00059000 */* THE FIRST BYTE OF BLOCKS 10 AND 11 IS SET TO X'04'. VAR- @Y30LB14*/ 00060000 */* IOUS BYTES ARE SET IN THE BLOCK IMAGE AND CALLS ARE MADE @Y30LB14*/ 00061000 */* TO ROUTINES TO SET OTHER BYTES OF THE 9TH BLOCK IMAGE. @Y30LB14*/ 00062000 */* WHEN ALL 11 BLOCKS ARE SET, THEN THEY ARE TRANSFERED TO @Y30LB14*/ 00063000 */* THE OUTPUT BUFFER. WHEN 32 BLOCKS HAVE BEEN TRANSFERED @Y30LB14*/ 00064000 */* THE TRACK IS WRITTEN OUT. WHEN THE 30 SDG GROUPS OF 11 @XD00153*/ 00065000 */* BLOCKS HAVE BEEN PRODUCED, THE LAST 22 BLOCKS OF THE @Y30LB14*/ 00066000 */* TRACK IMAGE ARE ZEROED AND THE FINAL TRACK IS WRITTEN. @Y30LB14*/ 00067000 */********************************************************** @Y30LB14*/ 00068000 * 0029 00069000 * ZEROS=''B; /* ZERO BLOCK IMAGE @Y30LB14*/ 00070000 * 0029 00071000 XC ZEROS(256),ZEROS 0029 00072000 * /*****************************************************************/ 00073000 * /* */ 00074000 * /* *********************************************** @Y30LB12*/ 00075000 * /* ZERO THE FIRST EIGHT BLOCKS FOR EACH SDG. @Y30LB12*/ 00076000 * /* THESE BLOCKS DESCRIBE THE CURRENT USE OF THE @Y30LB12*/ 00077000 * /* REAL PAGES ON THE LOGICAL DEVICE. SINCE ALL @Y30LB12*/ 00078000 * /* VIRTUAL VOLUMES ARE DEMOUNTED AND DESTAGED, @Y30LB12*/ 00079000 * /* THESE RECORDS SHOULD CONTAIN ONLY BINARY @Y30LB12*/ 00080000 * /* ZEROS. NOTE THAT IF THE PAGE IS TO CONTAIN @Y30LB12*/ 00081000 * /* THE MSC TABLES, A BIT SO INDICATING WILL BE @Y30LB12*/ 00082000 * /* IN THE PROCEDURE 'ZERO4BIT' IN THIS MODULE. @Y30LB12*/ 00083000 * /* *********************************************** @Y30LB12*/ 00084000 * /* */ 00085000 * /*****************************************************************/ 00086000 * 0030 00087000 * DO I=1 TO 8; /* PUT ZEROED BLOCK IN 1ST 8 BLKS 00088000 * @Y30LB14*/ 00089000 LR I,@10 0030 00090000 @DL00030 DS 0H 0031 00091000 * INBLOCK(I)=BLOCK; /* @Y30LB14*/ 00092000 LR @10,I 0031 00093000 MH @10,@CH00459 0031 00094000 L @05,BUILDPTR(,R4) 0031 00095000 ALR @05,@10 0031 00096000 AL @05,@CF00473 0031 00097000 MVC INBLOCK(256,@05),BLOCK 0031 00098000 * END; /* @Y30LB14*/ 00099000 * 0032 00100000 AH I,@CH00042 0032 00101000 CH I,@CH00040 0032 00102000 BNH @DL00030 0032 00103000 * /*****************************************************************/ 00104000 * /* */ 00105000 * /* *********************************************** @Y30LB12*/ 00106000 * /* THE TENTH AND ELEVENTH BLOCKS ARE THE @Y30LB12*/ 00107000 * /* VOLUME BLOCK AND THE LRU'ED PAGES BLOCK. @Y30LB12*/ 00108000 * /* THESE BLOCKS ARE ALL ZEROS EXCEPT FOR A X'04' @Y30LB12*/ 00109000 * /* IN THE FIRST BYTE OF EACH BLOCK. @Y30LB12*/ 00110000 * /* *********************************************** @Y30LB12*/ 00111000 * /* */ 00112000 * /*****************************************************************/ 00113000 * 0033 00114000 * BLK(1)='04'X; /* X'04' IN 1ST BYTE OF BLOCK 0033 00115000 * @Y30LB14*/ 00116000 MVI BLK,X'04' 0033 00117000 * INBLOCK(10)=BLOCK; /* PLACE IN 10TH POSITION 0034 00118000 * @Y30LB14*/ 00119000 LH @10,@CH00458 0034 00120000 AL @10,BUILDPTR(,R4) 0034 00121000 MVC INBLOCK+2376(256,@10),BLOCK 0034 00122000 * INBLOCK(11)=BLOCK; /* PLACE IN 11TH POSITION 0035 00123000 * @Y30LB14 00124000 * @Y30LB14*/ 00125000 * 0035 00126000 MVC INBLOCK+2640(256,@10),BLOCK 0035 00127000 * /*****************************************************************/ 00128000 * /* */ 00129000 * /* *********************************************** @Y30LB12*/ 00130000 * /* PICK UP THE VARIABLE INFORMATION FOR THE NINTH @Y30LB12*/ 00131000 * /* BLOCK (THE PAGE AVAILABILITY BLOCK) FOR EACH @Y30LB12*/ 00132000 * /* OF 30 SDGS. @Y30LB12*/ 00133000 * /* *********************************************** @Y30LB12*/ 00134000 * /* */ 00135000 * /*****************************************************************/ 00136000 * 0036 00137000 * DO I=1 TO 30; /* @Y30LB14*/ 00138000 LA I,1 0036 00139000 @DL00036 DS 0H 0037 00140000 * ZEROS=''B; /* ZERO BLOCK IMAGE @Y30LB14*/ 00141000 XC ZEROS(256),ZEROS 0037 00142000 * BYTES(9)='33'X; /* CONSTANT IN 9TH BYTE @Y30LB14*/ 00143000 * 0038 00144000 MVI BYTES+8,X'33' 0038 00145000 * /***************************************************************/ 00146000 * /* */ 00147000 * /* ********************************************* @Y30LB12*/ 00148000 * /* PICK UP THE LOWER AND UPPER DELTAS FOR THE @Y30LB12*/ 00149000 * /* LRU ALGORITHM. THESE VALUES ARE DEVELOPED @Y30LB12*/ 00150000 * /* FROM INPUT DATA (ACTPAGE) SUPPLIED ON THE @XD00153*/ 00151000 * /* SDGXX CONTROL STATEMENT. @Y30LB12*/ 00152000 * /* ********************************************* @Y30LB12*/ 00153000 * /* */ 00154000 * /***************************************************************/ 00155000 * 0039 00156000 * BYTES(10)=RSGUDEL(I); /* UPPER DELTA @Y30LB14*/ 00157000 LR @10,I 0039 00158000 MH @10,@CH00112 0039 00159000 SLR @05,@05 0039 00160000 IC @05,RSGUDEL-9(@10,R4) 0039 00161000 STC @05,BYTES+9 0039 00162000 * BYTES(14)=RSGLDEL(I); /* LOWER DELTA @Y30LB14*/ 00163000 * 0040 00164000 SLR @05,@05 0040 00165000 IC @05,RSGLDEL-9(@10,R4) 0040 00166000 STC @05,BYTES+13 0040 00167000 * /***************************************************************/ 00168000 * /* */ 00169000 * /* ********************************************* @Y30LB12*/ 00170000 * /* OBTAIN THE ONE OR TWO (OR NONE IF THE SDG @Y30LB12*/ 00171000 * /* IS UNUSED) STAGING ADAPTERS TO WHICH THIS @Y30LB12*/ 00172000 * /* SDG ATTACHES. @Y30LB12*/ 00173000 * /* ********************************************* @Y30LB12*/ 00174000 * /* */ 00175000 * /***************************************************************/ 00176000 * 0041 00177000 * CALL BYTE1718; /* SET UP BYTES 17,18 IN BLOCK 9 00178000 * @Y30LB14*/ 00179000 * 0041 00180000 BAL @14,BYTE1718 0041 00181000 * /***************************************************************/ 00182000 * /* */ 00183000 * /* ********************************************* @Y30LB12*/ 00184000 * /* OBTAIN THE LRUGROUP INFORMATION THAT WAS @Y30LB12*/ 00185000 * /* SUPPLIED IN THE SDGXX CONTROL STATEMENT. @Y30LB12*/ 00186000 * /* ********************************************* @Y30LB12*/ 00187000 * /* */ 00188000 * /***************************************************************/ 00189000 * 0042 00190000 * BLOCK(21:24)=RSGSLICE(I); /* @Y30LB14*/ 00191000 * 0042 00192000 LR @10,I 0042 00193000 MH @10,@CH00112 0042 00194000 ALR @10,R4 0042 00195000 MVC BLOCK+20(4),RSGSLICE-9(@10) 0042 00196000 * /***************************************************************/ 00197000 * /* */ 00198000 * /* ********************************************* @Y30LB12*/ 00199000 * /* OBTAIN THE DEVICE INFORMATION FOR EACH OF @Y30LB12*/ 00200000 * /* EIGHT POSSIBLE DEVICES THAT CAN BE PRESENT @Y30LB12*/ 00201000 * /* IN THIS SDG AND MOVE THE DEVICE SECTION @XD00153*/ 00202000 * /* OF THE PAGE AVAILABILITY BLOCK. @XD00153*/ 00203000 * /* ********************************************* @Y30LB12*/ 00204000 * /* */ 00205000 * /***************************************************************/ 00206000 * 0043 00207000 * CALL PABBYTES; /* PAGE AVAILABILITY INFO 0043 00208000 * @Y30LB14*/ 00209000 * 0043 00210000 BAL @14,PABBYTES 0043 00211000 * /***************************************************************/ 00212000 * /* */ 00213000 * /* ********************************************* @Y30LB12*/ 00214000 * /* ZERO THE TOTAL COUNT OF PAGES IN THIS SDG @Y30LB12*/ 00215000 * /* AND CALL PABBYTES TO SET THE APPROPRIATE @XD00153*/ 00216000 * /* BITS IN THE FREE PAGE BIT MAP FOR EACH @Y30LB12*/ 00217000 * /* DEFINED LOGICAL STAGING DEVICE. @Y30LB12*/ 00218000 * /* ********************************************* @Y30LB12*/ 00219000 * /* */ 00220000 * /***************************************************************/ 00221000 * 0044 00222000 * TOTALCNT=0; /* @Y30LB14*/ 00223000 SLR @10,@10 0044 00224000 LR TOTALCNT,@10 0044 00225000 * BOUNDCNT=0; /* @XD00168*/ 00226000 LR BOUNDCNT,@10 0045 00227000 * CALL FREEPAGE; /* SET FREE PAGE BITS @Y30LB14*/ 00228000 * 0046 00229000 BAL @14,FREEPAGE 0046 00230000 * /***************************************************************/ 00231000 * /* */ 00232000 * /* ********************************************* @Y30LB12*/ 00233000 * /* CALCULATE THE LOWER AND UPPER THRESHOLDS FOR @Y30LB12*/ 00234000 * /* ALL PAGES IN THIS SDG BY MULTIPLYING THE @Y30LB12*/ 00235000 * /* DELTA VALUES (WHICH REPRESENT ONE DEVICE) @Y30LB12*/ 00236000 * /* BY THE NUMBER OF DEVICES IN THE SDG. @Y30LB12*/ 00237000 * /* MOVE IN CALCULATED TOTAL PAGES FOR ALL @Y30LB12*/ 00238000 * /* PAGES IN THIS SDG. @Y30LB12*/ 00239000 * /* ********************************************* @Y30LB12*/ 00240000 * /* */ 00241000 * /***************************************************************/ 00242000 * 0047 00243000 * BLOCK(11:12)=VOVCNT*RSGUDEL(I);/* @Y30LB14*/ 00244000 LR @10,I 0047 00245000 MH @10,@CH00112 0047 00246000 SLR @01,@01 0047 00247000 IC @01,RSGUDEL-9(@10,R4) 0047 00248000 MR @00,VOVCNT 0047 00249000 ST @01,@TF00001 0047 00250000 MVC BLOCK+10(2),@TF00001+2 0047 00251000 * BLOCK(15:16)=VOVCNT*RSGLDEL(I);/* @Y30LB14*/ 00252000 SLR @01,@01 0048 00253000 IC @01,RSGLDEL-9(@10,R4) 0048 00254000 MR @00,VOVCNT 0048 00255000 ST @01,@TF00001 0048 00256000 MVC BLOCK+14(2),@TF00001+2 0048 00257000 * BLOCK(1:2)=TOTALCNT; /* @Y30LB14*/ 00258000 ST TOTALCNT,@TF00001 0049 00259000 MVC BLOCK(2),@TF00001+2 0049 00260000 * BLOCK(7:8)=BOUNDCNT; /* @XD00168*/ 00261000 * 0050 00262000 ST BOUNDCNT,@TF00001 0050 00263000 MVC BLOCK+6(2),@TF00001+2 0050 00264000 * /***************************************************************/ 00265000 * /* */ 00266000 * /* ********************************************* @Y30LB12*/ 00267000 * /* MOVE PAB BLOCK TO BUFFER. @Y30LB12*/ 00268000 * /* ********************************************* @Y30LB12*/ 00269000 * /* */ 00270000 * /***************************************************************/ 00271000 * 0051 00272000 * INBLOCK(9)=BLOCK; /* PUT 9TH BLOCK IN RSGTBL 0051 00273000 * @Y30LB14*/ 00274000 * 0051 00275000 LH @10,@CH00458 0051 00276000 AL @10,BUILDPTR(,R4) 0051 00277000 MVC INBLOCK+2112(256,@10),BLOCK 0051 00278000 * /***************************************************************/ 00279000 * /* */ 00280000 * /* ********************************************* @Y30LB12*/ 00281000 * /* FOR SDG0 ONLY, MOVE IN THE UPDATED REAL @Y30LB12*/ 00282000 * /* PAGE USAGE BLOCKS TO INDICATE THE PAGES THAT @Y30LB12*/ 00283000 * /* CONTAIN THE MSC TABLES. @Y30LB12*/ 00284000 * /* ********************************************* @Y30LB12*/ 00285000 * /* */ 00286000 * /***************************************************************/ 00287000 * 0052 00288000 * IF I=1 THEN /* @Y30LB14*/ 00289000 CH I,@CH00042 0052 00290000 BNE @RF00052 0052 00291000 * DO; /* @Y30LB14*/ 00292000 * INBLOCK(1)=BLOCK1; /* @Y30LB14*/ 00293000 MVC INBLOCK(256,@10),BLOCK1 0054 00294000 * INBLOCK(3)=BLOCK1; /* @Y30LB14*/ 00295000 MVC INBLOCK+528(256,@10),BLOCK1 0055 00296000 * INBLOCK(5)=BLOCK1; /* @XD00163*/ 00297000 MVC INBLOCK+1056(256,@10),BLOCK1 0056 00298000 * INBLOCK(7)=BLOCK1; /* @XD00163*/ 00299000 MVC INBLOCK+1584(256,@10),BLOCK1 0057 00300000 * END; /* @Y30LB14*/ 00301000 * CALL MOVEBLOK; /* MOVE THE 11 BLOCKS @Y30LB14*/ 00302000 * 0059 00303000 @RF00052 BAL @14,MOVEBLOK 0059 00304000 * /***************************************************************/ 00305000 * /* */ 00306000 * /* ********************************************* @Y30LB12*/ 00307000 * /* RESET TO ZEROS THE IMAGES OF THE REAL PAGES @Y30LB12*/ 00308000 * /* AFTER UPDATING FOR SDG0. @Y30LB12*/ 00309000 * /* ********************************************* @Y30LB12*/ 00310000 * /* */ 00311000 * /***************************************************************/ 00312000 * 0060 00313000 * IF I=1 THEN /* @Y30LB14*/ 00314000 CH I,@CH00042 0060 00315000 BNE @RF00060 0060 00316000 * DO; /* @Y30LB14*/ 00317000 * ZEROS1=''B; /* @Y30LB14*/ 00318000 XC ZEROS1(256),ZEROS1 0062 00319000 * INBLOCK(1)=BLOCK1; /* @Y30LB14*/ 00320000 LH @10,@CH00458 0063 00321000 AL @10,BUILDPTR(,R4) 0063 00322000 MVC INBLOCK(256,@10),BLOCK1 0063 00323000 * INBLOCK(3)=BLOCK1; /* @Y30LB14*/ 00324000 MVC INBLOCK+528(256,@10),BLOCK1 0064 00325000 * INBLOCK(5)=BLOCK1; /* @XD00163*/ 00326000 MVC INBLOCK+1056(256,@10),BLOCK1 0065 00327000 * INBLOCK(7)=BLOCK1; /* @XD00163*/ 00328000 MVC INBLOCK+1584(256,@10),BLOCK1 0066 00329000 * END; /* @Y30LB14*/ 00330000 * END; /* @Y30LB14*/ 00331000 * 0068 00332000 @RF00060 AH I,@CH00042 0068 00333000 CH I,@CH00111 0068 00334000 BNH @DL00036 0068 00335000 * /*****************************************************************/ 00336000 * /* */ 00337000 * /* *********************************************** @Y30LB12*/ 00338000 * /* ZERO THE FINAL 22 BLOCKS ON THE LAST TRACK OF @Y30LB12*/ 00339000 * /* SDG TABLE AND WRITE OUT THE LAST TRACK. @Y30LB12*/ 00340000 * /* *********************************************** @Y30LB12*/ 00341000 * /* */ 00342000 * /*****************************************************************/ 00343000 * 0069 00344000 * ZEROS=''B; /* @Y30LB14*/ 00345000 XC ZEROS(256),ZEROS 0069 00346000 * DO N=11 TO 32; /* @Y30LB14*/ 00347000 LA N,11 0070 00348000 @DL00070 DS 0H 0071 00349000 * OBLOCK(N)=BLOCK; /* @Y30LB14*/ 00350000 LR @10,N 0071 00351000 MH @10,@CH00467 0071 00352000 L @05,BUILDPTR(,R4) 0071 00353000 ALR @05,@10 0071 00354000 AL @05,@CF00474 0071 00355000 MVC OBLOCK(256,@05),BLOCK 0071 00356000 * END; /* @Y30LB14*/ 00357000 AH N,@CH00042 0072 00358000 CH N,@CH00309 0072 00359000 BNH @DL00070 0072 00360000 * CALL WRITETRK; /* PUT PREFIX INFO IN 32 BLOCKS 00361000 * @Y30LB14*/ 00362000 BAL @14,WRITETRK 0073 00363000 * RETURN; /* RETURN TO BUILD @Y30LB14*/ 00364000 @EL00001 L @13,4(,@13) 0074 00365000 @EF00001 L @00,@SIZDATD 0074 00366000 LR @01,@11 0074 00367000 FREEMAIN R,LV=(0),A=(1) 00368000 @ER00001 LM @14,@12,12(@13) 0074 00369000 BR @14 0074 00370000 * 0075 00371000 */********************************************************** @Y30LB14*/ 00372000 */* PROCEDURE NAME - BYTE1718 @XD00153*/ 00373000 */* @XD00153*/ 00374000 */* FUNCTION - THIS ROUTINE SETS UP BYTES 17 AND 18 OF THE @XD00153*/ 00375000 */* 9TH BLOCK. BIT 3 OF EACH BYTE IS SET ON IF @XD00153*/ 00376000 */* RSGABOX1 IS ON. BYTES 17 AND 18 CONTAIN THE @XD00153*/ 00377000 */* STAGING ADAPTER(S) TO WHICH THIS SDG ATTACHES @XD00153*/ 00378000 */* IF A STAGING ADAPTER IS SPECIFIED, THE VALID @XD00153*/ 00379000 */* BIT (HIGH-ORDER BIT IN THE BYTE IS SET TO 1. @XD00153*/ 00380000 */* IF THE SDG 'ATTACHES' TO LOGICAL A-BOX 1, THE @XD00153*/ 00381000 */* 4TH BIT (...X....) IS ALSO SET TO 1. @XD00153*/ 00382000 */********************************************************** @Y30LB14*/ 00383000 * 0075 00384000 *BYTE1718: 0075 00385000 * PROCEDURE; /* @Y30LB14*/ 00386000 * 0075 00387000 BYTE1718 STM @14,@12,12(@13) 0075 00388000 * /*****************************************************************/ 00389000 * /* */ 00390000 * /* *********************************************** @Y30LB12*/ 00391000 * /* TODS1 IS INITIALIZED TO 'FF'X. IF A STAGING @Y30LB12*/ 00392000 * /* ADAPTER IS SPECIFIED FOR THIS SDG, THE SA @Y30LB12*/ 00393000 * /* NUMBER IS PLACED IN BITS 4-7 (....XXXX), THE @Y30LB12*/ 00394000 * /* LOGICAL A-BOX IS INDICATED IN BIT 3 (...X....) @Y30LB12*/ 00395000 * /* AND THE VALID BIT (X.......) IS SET ON. @Y30LB12*/ 00396000 * /* *********************************************** @Y30LB12*/ 00397000 * /* */ 00398000 * /*****************************************************************/ 00399000 * 0076 00400000 * IF TODS1(I)^='FF'X THEN 0076 00401000 LR @10,I 0076 00402000 MH @10,@CH00112 0076 00403000 ST @10,@TF00001 0076 00404000 ALR @10,R4 0076 00405000 CLI TODS1-9(@10),X'FF' 0076 00406000 BE @RF00076 0076 00407000 * IF RSGABOX1(I)='1'B THEN 0077 00408000 LR @10,R4 0077 00409000 AL @10,@TF00001 0077 00410000 TM RSGABOX1-9(@10),B'00100000' 0077 00411000 BNO @RF00077 0077 00412000 * BYTES(17)=144+TODS1(I); /* @Y30LB14*/ 00413000 LA @10,144 0078 00414000 LR @05,R4 0078 00415000 AL @05,@TF00001 0078 00416000 MVC @ZT00003+3(1),TODS1-9(@05) 0078 00417000 AL @10,@ZT00003 0078 00418000 STC @10,BYTES+16 0078 00419000 * ELSE 0079 00420000 * BYTES(17)=128+TODS1(I); /* @Y30LB14*/ 00421000 B @RC00077 0079 00422000 @RF00077 LR @10,I 0079 00423000 MH @10,@CH00112 0079 00424000 LA @05,128 0079 00425000 ALR @10,R4 0079 00426000 MVC @ZT00003+3(1),TODS1-9(@10) 0079 00427000 AL @05,@ZT00003 0079 00428000 STC @05,BYTES+16 0079 00429000 * ELSE 0080 00430000 * BYTES(17)='00'X; /* @Y30LB14*/ 00431000 * 0080 00432000 B @RC00076 0080 00433000 @RF00076 MVI BYTES+16,X'00' 0080 00434000 * /*****************************************************************/ 00435000 * /* */ 00436000 * /* *********************************************** @Y30LB12*/ 00437000 * /* THE SAME LOGIC USED FOR THE FIRST SA FOR A @Y30LB12*/ 00438000 * /* SDG IS USED ALSO FOR THE SECOND SA TO WHICH @Y30LB12*/ 00439000 * /* SDG ATTACHES. @Y30LB12*/ 00440000 * /* *********************************************** @Y30LB12*/ 00441000 * /* */ 00442000 * /*****************************************************************/ 00443000 * 0081 00444000 * IF TODS2(I)^='FF'X THEN 0081 00445000 @RC00076 LR @10,I 0081 00446000 MH @10,@CH00112 0081 00447000 ST @10,@TF00001 0081 00448000 ALR @10,R4 0081 00449000 CLI TODS2-9(@10),X'FF' 0081 00450000 BE @RF00081 0081 00451000 * IF RSGABOX1(I)='1'B THEN 0082 00452000 LR @10,R4 0082 00453000 AL @10,@TF00001 0082 00454000 TM RSGABOX1-9(@10),B'00100000' 0082 00455000 BNO @RF00082 0082 00456000 * BYTES(18)=144+TODS2(I); /* @Y30LB14*/ 00457000 LA @10,144 0083 00458000 LR @05,R4 0083 00459000 AL @05,@TF00001 0083 00460000 MVC @ZT00003+3(1),TODS2-9(@05) 0083 00461000 AL @10,@ZT00003 0083 00462000 STC @10,BYTES+17 0083 00463000 * ELSE 0084 00464000 * BYTES(18)=128+TODS2(I); /* @Y30LB14*/ 00465000 B @RC00082 0084 00466000 @RF00082 LR @10,I 0084 00467000 MH @10,@CH00112 0084 00468000 LA @05,128 0084 00469000 ALR @10,R4 0084 00470000 MVC @ZT00003+3(1),TODS2-9(@10) 0084 00471000 AL @05,@ZT00003 0084 00472000 STC @05,BYTES+17 0084 00473000 * ELSE 0085 00474000 * BYTES(18)='00'X; /* @Y30LB14*/ 00475000 B @RC00081 0085 00476000 @RF00081 MVI BYTES+17,X'00' 0085 00477000 * RETURN; /* @Y30LB14*/ 00478000 @EL00002 DS 0H 0086 00479000 @EF00002 DS 0H 0086 00480000 @ER00002 LM @14,@12,12(@13) 0086 00481000 BR @14 0086 00482000 * END BYTE1718; /* @Y30LB14*/ 00483000 B @EL00002 0087 00484000 * 0088 00485000 */********************************************************** @Y30LB14*/ 00486000 */* @XD00153*/ 00487000 */* PROCEDURE NAME - PABBYTES @XD00153*/ 00488000 */* @XD00153*/ 00489000 */* FUNCTION - IF THE SPINDLE EXISTS, THEN THE VARIED @XD00153*/ 00490000 */* ON VIRTUAL BIT IS SET ON. THE PABFLAGS ARE @XD00153*/ 00491000 */* THEN PUT IN THE 9TH BLOCK, BYTES 193,197, @XD00153*/ 00492000 */* 201,- - - 221. PABREAL IS PLACED IN BYTES @XD00153*/ 00493000 */* 194,198,202,- - - 222. PABAADDD IS PLACED @XD00153*/ 00494000 */* IN BYTES 196,200,204,- - - 224. @XD00153*/ 00495000 */* @XD00153*/ 00496000 */********************************************************** @Y30LB14*/ 00497000 * 0088 00498000 *PABBYTES: 0088 00499000 * PROCEDURE; /* @Y30LB14*/ 00500000 * 0088 00501000 PABBYTES STM @14,@12,12(@13) 0088 00502000 * /*****************************************************************/ 00503000 * /* */ 00504000 * /* *********************************************** @Y30LB12*/ 00505000 * /* FOR EACH DEVICE THAT HAS BEEN SPECIFIED IN A @Y30LB12*/ 00506000 * /* DASD CONTROL STATEMENT WITH AN SSID, SET ON @Y30LB12*/ 00507000 * /* THE VARIED ON VIRTUAL BIT (PABVOVIR) AND @Y30LB12*/ 00508000 * /* MOVE THE DATA ACCUMULATED IN THE STRUCTURE @Y30LB12*/ 00509000 * /* 'PABTABLE' TO THE APPROPRIATE ENTRY (LOGICAL @Y30LB12*/ 00510000 * /* UNIT ADDRESS) FOR THE SDG. @Y30LB12*/ 00511000 * /* TURN ON BITS FOR 'CONVREAL' DEVICES (BY SA @XD00153*/ 00512000 * /* INTERFACE) - PABREAL. @XD00153*/ 00513000 * /* SET REAL UNIT ADDRESS - PABAADDD @XD00153*/ 00514000 * /* *********************************************** @Y30LB12*/ 00515000 * /* */ 00516000 * /*****************************************************************/ 00517000 * 0089 00518000 * DO J=1 TO 8; /* @Y30LB14*/ 00519000 LA J,1 0089 00520000 @DL00089 DS 0H 0090 00521000 * IF PABEXIST(I,J)='1'B THEN 0090 00522000 LR @10,I 0090 00523000 SLA @10,3 0090 00524000 ALR @10,J 0090 00525000 MH @10,@CH00048 0090 00526000 ST @10,@TF00001 0090 00527000 ALR @10,R4 0090 00528000 TM PABEXIST-27(@10),B'10000000' 0090 00529000 BNO @RF00090 0090 00530000 * PABVOVIR(I,J)='1'B; /* @Y30LB14*/ 00531000 LR @10,R4 0091 00532000 AL @10,@TF00001 0091 00533000 OI PABVOVIR-27(@10),B'01000000' 0091 00534000 * BYTES(189+4*J)=PABFLAGS(I,J); /* @Y30LB14*/ 00535000 @RF00090 LR @10,J 0092 00536000 SLA @10,2 0092 00537000 LR @05,I 0092 00538000 SLA @05,3 0092 00539000 ALR @05,J 0092 00540000 MH @05,@CH00048 0092 00541000 SLR @15,@15 0092 00542000 IC @15,PABFLAGS-27(@05,R4) 0092 00543000 STC @15,BYTES+188(@10) 0092 00544000 * BYTES(190+4*J)=PABREAL(I,J); /* @Y30LB14*/ 00545000 SLR @15,@15 0093 00546000 IC @15,PABREAL-27(@05,R4) 0093 00547000 STC @15,BYTES+189(@10) 0093 00548000 * BYTES(192+4*J)=PABAADDD(I,J); /* @Y30LB14*/ 00549000 SLR @15,@15 0094 00550000 IC @15,PABAADDD-27(@05,R4) 0094 00551000 STC @15,BYTES+191(@10) 0094 00552000 * END; /* @Y30LB14*/ 00553000 AH J,@CH00042 0095 00554000 CH J,@CH00040 0095 00555000 BNH @DL00089 0095 00556000 * RETURN; /* @Y30LB14*/ 00557000 @EL00003 DS 0H 0096 00558000 @EF00003 DS 0H 0096 00559000 @ER00003 LM @14,@12,12(@13) 0096 00560000 BR @14 0096 00561000 * END PABBYTES; /* @Y30LB14*/ 00562000 * 0098 00563000 */********************************************************** @Y30LB14*/ 00564000 */* @XD00153*/ 00565000 */* PROCEDURE NAME - FREEPAGE @XD00153*/ 00566000 */* @XD00153*/ 00567000 */* FUNCTION - IF VARIED ON VIRTUAL IS SET, THEN 8 BYTES @XD00153*/ 00568000 */* WITH BUTS 1 THRU 52 SET ON ARE PLACED ON THE @XD00153*/ 00569000 */* 9TH BLOCK. PAGE 0 IS RESERVED FOR THE EXCLU- @XD00153*/ 00570000 */* SIVE USE OF THE MSC, AND THEREFORE THE FIRST @XD00153*/ 00571000 */* BIT IS ALWAYS ZERO. THE TOTAL COUNT OF BITS @XD00153*/ 00572000 */* SET IS INCREMENTED BY 51. IF THE DEVICE IS @XD00153*/ 00573000 */* AN ICEBERG, THEN THE 52ND BIT IS ZEROED AND @XD00153*/ 00574000 */* THE TOTAL COUNT IS REDUCED BY ONE. THE COUNT @XD00153*/ 00575000 */* FOR THE INDIVIDUAL DEVICE IS ALSO PLACED IN @XD00153*/ 00576000 */* THE BLOCK IN BYTES 33,37,41,- - - 61. FOR @XD00153*/ 00577000 */* SDG 0 AND DEVICE 0 & 2, ZERO4BIT IS CALLED TO @XD00153*/ 00578000 */* SET THE APPROPRIATE 4 BITS OFF IN THE 51 BIT @XD00153*/ 00579000 */* STRING. @XD00153*/ 00580000 */* @XD00153*/ 00581000 */********************************************************** @Y30LB14*/ 00582000 * 0098 00583000 *FREEPAGE: 0098 00584000 * PROCEDURE; /* @Y30LB14*/ 00585000 FREEPAGE STM @14,@04,@SA00004 0098 00586000 STM @08,@12,@SA00004+28 0098 00587000 * VOVCNT=0; /* @Y30LB14*/ 00588000 SLR VOVCNT,VOVCNT 0099 00589000 * DO J=1 TO 8; /* @Y30LB14*/ 00590000 LA J,1 0100 00591000 @DL00100 DS 0H 0101 00592000 * IF PABVOVIR(I,J)='1'B THEN 0101 00593000 LR @10,I 0101 00594000 SLA @10,3 0101 00595000 ALR @10,J 0101 00596000 MH @10,@CH00048 0101 00597000 ST @10,@TF00001 0101 00598000 ALR @10,R4 0101 00599000 TM PABVOVIR-27(@10),B'01000000' 0101 00600000 BNO @RF00101 0101 00601000 * DO; /* @Y30LB14*/ 00602000 * VOVCNT=VOVCNT+1; /* @Y30LB14*/ 00603000 AH VOVCNT,@CH00042 0103 00604000 * BLOCK(57+8*J:64+8*J)=B51; /* @Y30LB14*/ 00605000 LR @10,J 0104 00606000 SLA @10,3 0104 00607000 LA @01,BLOCK+56(@10) 0104 00608000 MVC 0(8,@01),B51 0104 00609000 * BYTES(29+4*J)=51; /* @Y30LB14*/ 00610000 LA @15,51 0105 00611000 LR @14,J 0105 00612000 SLA @14,2 0105 00613000 STC @15,BYTES+28(@14) 0105 00614000 * TOTALCNT=TOTALCNT+51; /* @Y30LB14*/ 00615000 ALR TOTALCNT,@15 0106 00616000 * IF PABBERG2(I,J)='1'B THEN 0107 00617000 LR @01,R4 0107 00618000 AL @01,@TF00001 0107 00619000 TM PABBERG2-27(@01),B'00000001' 0107 00620000 BNO @RF00107 0107 00621000 * DO; /* @Y30LB14*/ 00622000 * BYTES(63+8*J)='E0'X; /* @Y30LB14*/ 00623000 LA @15,224 0109 00624000 STC @15,BYTES+62(@10) 0109 00625000 * BYTES(29+4*J)=50; /* @Y30LB14*/ 00626000 LA @10,50 0110 00627000 STC @10,BYTES+28(@14) 0110 00628000 * TOTALCNT=TOTALCNT-1; /* @Y30LB14*/ 00629000 BCTR TOTALCNT,0 0111 00630000 * END; /* @Y30LB14*/ 00631000 * IF I=1&PABDSMTL(I,J)='1'B /* @XD00163*/ 00632000 * THEN 0113 00633000 @RF00107 CH I,@CH00042 0113 00634000 BNE @RF00113 0113 00635000 LR @10,I 0113 00636000 SLA @10,3 0113 00637000 ALR @10,J 0113 00638000 MH @10,@CH00048 0113 00639000 ALR @10,R4 0113 00640000 TM PABDSMTL-27(@10),B'00001000' 0113 00641000 BNO @RF00113 0113 00642000 * CALL ZERO4BIT; /* ZERO 4 BITS @Y30LB14*/ 00643000 BAL @14,ZERO4BIT 0114 00644000 * END; /* @Y30LB14*/ 00645000 @RF00113 DS 0H 0116 00646000 * END; /* @Y30LB14*/ 00647000 @RF00101 AH J,@CH00042 0116 00648000 CH J,@CH00040 0116 00649000 BNH @DL00100 0116 00650000 * RETURN; /* @Y30LB14*/ 00651000 @EL00004 DS 0H 0117 00652000 @EF00004 DS 0H 0117 00653000 @ER00004 LM @14,@04,@SA00004 0117 00654000 LM @08,@12,@SA00004+28 0117 00655000 BR @14 0117 00656000 * END FREEPAGE; /* @Y30LB14*/ 00657000 * 0119 00658000 */********************************************************** @Y30LB14*/ 00659000 */* @XD00153*/ 00660000 */* PROCEDURE NAME - MOVEBLOK @XD00153*/ 00661000 */* @XD00153*/ 00662000 */* FUNCTION - THIS ROUTINE IS CALLED WHEN ALL 11 BLOCKS OF @XD00153*/ 00663000 */* THE SDG ARE READY TO BE TRANSFERRED TO THE @XD00153*/ 00664000 */* OUTPUT BUFFER WHICH IS THE TRACK IMAGE. WHEN @XD00153*/ 00665000 */* 32 BLOCKS HAVE BEEN TRANSFERRED, THE TRACK IS @XD00153*/ 00666000 */* WRITTEN AND THE BLOCK POINTER IS SET TO 1 @XD00153*/ 00667000 */* @XD00153*/ 00668000 */********************************************************** @Y30LB14*/ 00669000 * 0119 00670000 *MOVEBLOK: 0119 00671000 * PROCEDURE; /* @Y30LB14*/ 00672000 MOVEBLOK STM @14,@02,@SA00005 0119 00673000 STM @04,@12,@SA00005+20 0119 00674000 * DO L=1 TO 11; /* @Y30LB14*/ 00675000 LA L,1 0120 00676000 @DL00120 DS 0H 0121 00677000 * OBLOCK(N)=INBLOCK(L); /* @Y30LB14*/ 00678000 LR @10,N 0121 00679000 MH @10,@CH00467 0121 00680000 L @05,BUILDPTR(,R4) 0121 00681000 ALR @10,@05 0121 00682000 AL @10,@CF00474 0121 00683000 LR @15,L 0121 00684000 MH @15,@CH00459 0121 00685000 ALR @05,@15 0121 00686000 AL @05,@CF00473 0121 00687000 MVC OBLOCK(256,@10),INBLOCK(@05) 0121 00688000 * N=N+1; /* @Y30LB14*/ 00689000 AH N,@CH00042 0122 00690000 * IF N=33 THEN 0123 00691000 CH N,@CH00443 0123 00692000 BNE @RF00123 0123 00693000 * DO; /* @Y30LB14*/ 00694000 * CALL WRITETRK; /* PUT PREFIX INFO IN BLKS 0125 00695000 * @Y30LB14*/ 00696000 BAL @14,WRITETRK 0125 00697000 * N=1; /* @Y30LB14*/ 00698000 LA N,1 0126 00699000 * END; /* @Y30LB14*/ 00700000 * END; /* @Y30LB14*/ 00701000 @RF00123 AH L,@CH00042 0128 00702000 CH L,@CH00246 0128 00703000 BNH @DL00120 0128 00704000 * RETURN; /* @Y30LB14*/ 00705000 @EL00005 DS 0H 0129 00706000 @EF00005 DS 0H 0129 00707000 @ER00005 LM @14,@02,@SA00005 0129 00708000 LM @04,@12,@SA00005+20 0129 00709000 BR @14 0129 00710000 * END MOVEBLOK; /* @Y30LB14*/ 00711000 * 0131 00712000 */********************************************************** @Y30LB14*/ 00713000 */* @XD00153*/ 00714000 */* PROCEDURE NAME - ZERO4BIT @XD00153*/ 00715000 */* @XD00153*/ 00716000 */* FUNCTION - THIS ROUTINE ZEROS 4 BITS IN THE 51 BITS SET @XD00153*/ 00717000 */* BY FREEPAGE. THE APPROPRIATE BIT PATTERN IN @XD00153*/ 00718000 */* TABLE IS 'ANDED' WITH THE APPROPRIATE BYTE @XD00153*/ 00719000 */* IN THE BIT STRING TO SHUT OFF AN INDIVIDUAL @XD00153*/ 00720000 */* BIT. THE FREEPAGE COUNT IS SET TO 47 AND THE @XD00153*/ 00721000 */* TOTAL COUNT IS REDUCED BY 4. @XD00153*/ 00722000 */* @XD00153*/ 00723000 */********************************************************** @Y30LB14*/ 00724000 * 0131 00725000 *ZERO4BIT: 0131 00726000 * PROCEDURE; /* @Y30LB14*/ 00727000 ZERO4BIT STM @14,@04,12(@13) 0131 00728000 ST @06,44(,@13) 0131 00729000 STM @08,@12,52(@13) 0131 00730000 * ZEROS1=''B; /* @Y30LB14*/ 00731000 XC ZEROS1(256),ZEROS1 0132 00732000 * IF VPAGES(1)^=0&VPAGES(2)^=0&VPAGES(3)^=0&VPAGES(4)^=0 THEN 0133 00733000 CLI VPAGES(R4),0 0133 00734000 BE @RF00133 0133 00735000 CLI VPAGES+1(R4),0 0133 00736000 BE @RF00133 0133 00737000 CLI VPAGES+2(R4),0 0133 00738000 BE @RF00133 0133 00739000 CLI VPAGES+3(R4),0 0133 00740000 BE @RF00133 0133 00741000 * DO; /* @Y30LB14*/ 00742000 * TOTALCNT=TOTALCNT-4; /* @Y30LB14*/ 00743000 SH TOTALCNT,@CH00068 0135 00744000 * BYTES(29+4*J)=47; /* @Y30LB14*/ 00745000 LR @10,J 0136 00746000 SLA @10,2 0136 00747000 LA @06,47 0136 00748000 STC @06,BYTES+28(@10) 0136 00749000 * DO K=1 TO 4; /* @Y30LB14*/ 00750000 LA K,1 0137 00751000 @DL00137 DS 0H 0138 00752000 * BYTES(57+8*J+VPAGES(K)/8)=BYTES(57+8*J+VPAGES(K)/8)&TABLE( 00753000 * VPAGES(K)//8+1); /* @Y30LB14*/ 00754000 LR @10,J 0138 00755000 SLA @10,3 0138 00756000 AH @10,@CH00434 0138 00757000 SLR @06,@06 0138 00758000 IC @06,VPAGES-1(K,R4) 0138 00759000 LR @15,@06 0138 00760000 SRL @15,3 0138 00761000 ALR @10,@15 0138 00762000 LR @00,@06 0138 00763000 SRDA @00,32 0138 00764000 D @00,@CF00040 0138 00765000 SLR @01,@01 0138 00766000 IC @01,BYTES-1(@10) 0138 00767000 LR @15,@00 0138 00768000 LA @14,TABLE(@15) 0138 00769000 MVC @ZT00003+3(1),0(@14) 0138 00770000 N @01,@ZT00003 0138 00771000 STC @01,BYTES-1(@10) 0138 00772000 * BLOCK1(VPAGES(K)*4+1)='00000010'B;/* @Y30LB14*/ 00773000 SLA @06,2 0139 00774000 LA @10,BLOCK1(@06) 0139 00775000 MVI 0(@10),B'00000010' 0139 00776000 * BLOCK1(VPAGES(K)*4+2)=K; /* @Y30LB14*/ 00777000 STC K,BLOCK1+1(@06) 0140 00778000 * END; /* @Y30LB14*/ 00779000 * 0141 00780000 AH K,@CH00042 0141 00781000 CH K,@CH00068 0141 00782000 BNH @DL00137 0141 00783000 * /*************************************************************/ 00784000 * /* */ 00785000 * /* ********************************************* @XD00168*/ 00786000 * /* ADD 4 TO THE BOUND COUNT FOR THIS DEVICE @XD00168*/ 00787000 * /* AND 4 TO THE BOUND COUNT FOR THIS STAGING @XD00168*/ 00788000 * /* DRIVE GROUP @XD00168*/ 00789000 * /* ********************************************* @XD00168*/ 00790000 * /* */ 00791000 * /*************************************************************/ 00792000 * 0142 00793000 * BYTES(32+4*J)=4; /* @XD00168*/ 00794000 LA @10,4 0142 00795000 LR @06,J 0142 00796000 SLA @06,2 0142 00797000 STC @10,BYTES+31(@06) 0142 00798000 * BOUNDCNT=BOUNDCNT+4; /* @XD00168*/ 00799000 ALR BOUNDCNT,@10 0143 00800000 * END; /* @Y30LB14*/ 00801000 * END ZERO4BIT; /* @Y30LB14*/ 00802000 @EL00006 DS 0H 0145 00803000 @EF00006 DS 0H 0145 00804000 @ER00006 LM @14,@04,12(@13) 0145 00805000 L @06,44(,@13) 0145 00806000 LM @08,@12,52(@13) 0145 00807000 BR @14 0145 00808000 * 0146 00809000 */********************************************************** @Y30LB14*/ 00810000 */* @XD00153*/ 00811000 */* PROCEDURE NAME - WRITETRK @XD00153*/ 00812000 */* @XD00153*/ 00813000 */* FUNCTION - THIS ROUTINE PUTS ON THE PREFIX INFORMATION @XD00153*/ 00814000 */* FOR A TRACK (32 BLOCKS WORTH) AND CALLS @XD00153*/ 00815000 */* ICGDSB06 TO WRITE OUT THE TRACK. @XD00153*/ 00816000 */* @XD00153*/ 00817000 */********************************************************** @Y30LB14*/ 00818000 * 0146 00819000 *WRITETRK: 0146 00820000 * PROCEDURE; /* @Y30LB14*/ 00821000 WRITETRK STM @14,@12,@SA00007 0146 00822000 * DO K=1 TO 32; /* @Y30LB14*/ 00823000 LA K,1 0147 00824000 @DL00147 DS 0H 0148 00825000 * OUTREC(K)=K; /* SET THE PREFIX RECORD NUM 0148 00826000 * @Y30LB14*/ 00827000 LR @10,K 0148 00828000 MH @10,@CH00467 0148 00829000 LH @05,@CH00457 0148 00830000 AL @05,BUILDPTR(,R4) 0148 00831000 LA @03,0(@10,@05) 0148 00832000 AL @03,@CF00476 0148 00833000 STC K,OUTREC-11(,@03) 0148 00834000 * OUTHEAD(K)=OUTHEAD(1); /* SET THE HEAD NUMBER @Y30LB14*/ 00835000 SLR @03,@03 0149 00836000 IC @03,OUTHEAD(,@05) 0149 00837000 LA @01,0(@10,@05) 0149 00838000 AL @01,@CF00477 0149 00839000 STC @03,OUTHEAD-10(,@01) 0149 00840000 * OUTCYL(K)=OUTCYL(1); /* SET THE CYL NUMBER @Y30LB14*/ 00841000 SLR @03,@03 0150 00842000 IC @03,OUTCYL(,@05) 0150 00843000 LA @01,0(@10,@05) 0150 00844000 AL @01,@CF00478 0150 00845000 STC @03,OUTCYL-9(,@01) 0150 00846000 * OUTABLID(K)='10'X; /* TABLE ID IN PREFIX @Y30LB14*/ 00847000 ST @10,@TF00001 0151 00848000 ALR @10,@05 0151 00849000 AL @10,@CF00479 0151 00850000 MVI OUTABLID-8(@10),X'10' 0151 00851000 * OUTFLR(K)=''B; /* SET FILLER TO ZERO @Y30LB14*/ 00852000 AL @05,@TF00001 0152 00853000 AL @05,@CF00480 0152 00854000 XC OUTFLR-12(4,@05),OUTFLR-12(@05) 0152 00855000 * END; /* @Y30LB14*/ 00856000 AH K,@CH00042 0153 00857000 CH K,@CH00309 0153 00858000 BNH @DL00147 0153 00859000 * CALL WRITE; /* WRITE OUT THE TRACK @Y30LB14 00860000 * @Y30LB14*/ 00861000 BAL @14,WRITE 0154 00862000 * RETURN; /* RETURN TO CALLER @Y30LB14 00863000 * @Y30LB14*/ 00864000 @EL00007 DS 0H 0155 00865000 @EF00007 DS 0H 0155 00866000 @ER00007 LM @14,@12,@SA00007 0155 00867000 BR @14 0155 00868000 * END WRITETRK; /* @Y30LB14*/ 00869000 * 0157 00870000 */********************************************************** @Y30LB14*/ 00871000 */* @XD00153*/ 00872000 */* PROCEDURE NAME - WRITE @XD00153*/ 00873000 */* @XD00153*/ 00874000 */* FUNCTION - THIS ROUTINE WRITES OUT THE TRACK AND UPDATES @XD00153*/ 00875000 */* THE CYLINDER, TRACK AND RECORD FOR THE NEXT @XD00153*/ 00876000 */* AVAILABLE. @XD00153*/ 00877000 */* @XD00153*/ 00878000 */********************************************************** @Y30LB14*/ 00879000 * 0157 00880000 *WRITE: 0157 00881000 * PROCEDURE; /* @Y30LB14*/ 00882000 WRITE STM @14,@12,@SA00008 0157 00883000 * B06ADDR=OUTADDR; /* SET OUTPUT ADDRESS FOR B06 0158 00884000 * @XD00153*/ 00885000 L @10,BUILDPTR(,R4) 0158 00886000 MVC B06ADDR(3,@10),OUTADDR(@10) 0158 00887000 * GEN(LINK EP=ICGDSB06); /* WRITE OUT TRACK @Y30LB14*/ 00888000 LINK EP=ICGDSB06 00889000 * UT2VHEAD=UT2VHEAD+1; /* INCR TO NEXT TRACK @Y30LB14*/ 00890000 L @10,BUILDPTR(,R4) 0160 00891000 LA @05,1 0160 00892000 SLR @15,@15 0160 00893000 IC @15,UT2VHEAD(,@10) 0160 00894000 ALR @15,@05 0160 00895000 STC @15,UT2VHEAD(,@10) 0160 00896000 * IF UT2VHEAD>18 /* @Y30LB14*/ 00897000 * THEN /* @Y30LB14*/ 00898000 CLI UT2VHEAD(@10),18 0161 00899000 BNH @RF00161 0161 00900000 * DO; /* @Y30LB14*/ 00901000 * UT2VHEAD=0; /* SET TRACK TO ZERO @Y30LB14*/ 00902000 MVI UT2VHEAD(@10),X'00' 0163 00903000 * UT2VCYL=UT2VCYL+1; /* INCR TO NEXT CYL @Y30LB14*/ 00904000 MVC @ZT00003+3(1),UT2VCYL(@10) 0164 00905000 AL @05,@ZT00003 0164 00906000 STC @05,UT2VCYL(,@10) 0164 00907000 * END; /* @Y30LB14*/ 00908000 * OUTCYL(1)=UT2VCYL; /* SET FOR NEXT AVAIL CYL 0166 00909000 * @Y30LB14*/ 00910000 @RF00161 L @10,BUILDPTR(,R4) 0166 00911000 LH @05,@CH00457 0166 00912000 ALR @05,@10 0166 00913000 MVC OUTCYL(1,@05),UT2VCYL(@10) 0166 00914000 * OUTHEAD(1)=UT2VHEAD; /* SET FOR NEXT AVAIL HEAD 0167 00915000 * @Y30LB14*/ 00916000 MVC OUTHEAD(1,@05),UT2VHEAD(@10) 0167 00917000 * RETURN; /* RETURN TO CALLER @Y30LB14*/ 00918000 @EL00008 DS 0H 0168 00919000 @EF00008 DS 0H 0168 00920000 @ER00008 LM @14,@12,@SA00008 0168 00921000 BR @14 0168 00922000 * END WRITE; /* @Y30LB14*/ 00923000 * 0170 00924000 */********************************************************* @XD00153*/ 00925000 */* P A T C H A R E A @XD00153*/ 00926000 */********************************************************* @XD00153*/ 00927000 * 0170 00928000 * GENERATE; 0170 00929000 * /*@XD00153*/ 00930000 PATCHB07 DC 32C'PATCHB07' /*@XD00153*/ 00931000 * END ICGDSB07 /* @Y30LB14*/ 00932000 * 0171 00933000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00934000 */*%INCLUDE SYSLIB (ICGDSMAC) */ 00935000 */*%INCLUDE SYSLIB (ICGDSMA5) */ 00936000 * 0171 00937000 * ; 0171 00938000 B @EL00001 0171 00939000 @DATA DS 0H 00940000 @CH00042 DC H'1' 00941000 @CH00048 DC H'3' 00942000 @CH00068 DC H'4' 00943000 @CH00112 DC H'9' 00944000 @CH00246 DC H'11' 00945000 @CH00111 DC H'30' 00946000 @CH00309 DC H'32' 00947000 @CH00443 DC H'33' 00948000 @CH00434 DC H'57' 00949000 @CH00459 DC H'264' 00950000 @CH00467 DC H'272' 00951000 @CH00458 DC H'5084' 00952000 @DATD DSECT 00953000 DS 0F 00954000 @SA00001 DS 18F 00955000 @SA00004 DS 12F 00956000 @SA00005 DS 14F 00957000 @SA00007 DS 15F 00958000 @SA00008 DS 15F 00959000 @TF00001 DS F 00960000 @ZTEMPS DS 0F 00961000 @ZT00003 DC F'0' 00962000 @ZTEMPND EQU * 00963000 @ZLEN EQU @ZTEMPND-@ZTEMPS 00964000 ICGDSB07 CSECT 00965000 DS 0F 00966000 @CF00040 DC F'8' 00967000 @CH00040 EQU @CF00040+2 00968000 @CF00473 DC F'4820' 00969000 @CF00474 DC F'13260' 00970000 @CF00457 DC F'13532' 00971000 @CH00457 EQU @CF00457+2 00972000 @CF00479 DC F'-264' 00973000 @CF00478 DC F'-263' 00974000 @CF00477 DC F'-262' 00975000 @CF00476 DC F'-261' 00976000 @CF00480 DC F'-260' 00977000 @DATD DSECT 00978000 DS 0D 00979000 BLOCK DS CL256 00980000 ORG BLOCK 00981000 ZEROS DS BL256 00982000 ORG BLOCK+256 00983000 BLOCK1 DS CL256 00984000 ORG BLOCK1 00985000 ZEROS1 DS BL256 00986000 ORG BLOCK1+256 00987000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00988000 @ENDDATD EQU * 00989000 ICGDSB07 CSECT 00990000 DS 0F 00991000 @SIZDATD DC AL1(0) 00992000 DC AL3(@ENDDATD-@DATD) 00993000 DS 0D 00994000 B51 DC X'7FFFFFFFFFFFF000' 00995000 TABLE DC X'7F' 00996000 DC X'BF' 00997000 DC X'DF' 00998000 DC X'EF' 00999000 DC X'F7' 01000000 DC X'FB' 01001000 DC X'FD' 01002000 DC X'FE' 01003000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 01004000 @01 EQU 01 01005000 @02 EQU 02 01006000 @03 EQU 03 01007000 @04 EQU 04 01008000 @05 EQU 05 01009000 @06 EQU 06 01010000 @07 EQU 07 01011000 @08 EQU 08 01012000 @09 EQU 09 01013000 @10 EQU 10 01014000 @11 EQU 11 01015000 @12 EQU 12 01016000 @13 EQU 13 01017000 @14 EQU 14 01018000 @15 EQU 15 01019000 VOVCNT EQU @06 01020000 BOUNDCNT EQU @07 01021000 TOTALCNT EQU @05 01022000 N EQU @03 01023000 L EQU @02 01024000 K EQU @02 01025000 J EQU @03 01026000 I EQU @02 01027000 R4 EQU @04 01028000 COMTAB EQU 0 01029000 READER EQU COMTAB+256 01030000 READFLAG EQU READER+96 01031000 PCHBF EQU READER+99 01032000 STARTCOL EQU READER+180 01033000 NEXTCOL EQU READER+184 01034000 PRINTER EQU COMTAB+464 01035000 MESSAGES EQU COMTAB+810 01036000 SPECLMSG EQU MESSAGES+18 01037000 GENIO EQU COMTAB+832 01038000 DCBPTR EQU GENIO+4 01039000 COMPTR2 EQU GENIO+16 01040000 BUILDPTR EQU GENIO+20 01041000 INVOKED EQU COMTAB+856 01042000 SAVEDDS EQU INVOKED+4 01043000 BUILDRSG EQU COMTAB+900 01044000 RSGS EQU BUILDRSG 01045000 RSG EQU RSGS 01046000 RSGABOX EQU RSG 01047000 RSGABOX1 EQU RSGABOX 01048000 RSGLDEL EQU RSG+1 01049000 RSGUDEL EQU RSG+2 01050000 RSGSLICE EQU RSG+3 01051000 RSGTODS EQU RSG+7 01052000 TODS1 EQU RSGTODS 01053000 TODS2 EQU RSGTODS+1 01054000 LIBRARY EQU COMTAB+1170 01055000 LIBS EQU LIBRARY 01056000 LIB EQU LIBS 01057000 LIBBITS EQU LIB 01058000 PABTABLE EQU COMTAB+1218 01059000 PABDEV EQU PABTABLE 01060000 PABFLAGS EQU PABDEV 01061000 PABEXIST EQU PABFLAGS 01062000 PABVOVIR EQU PABFLAGS 01063000 PABDSMTL EQU PABFLAGS 01064000 PABBERG2 EQU PABFLAGS 01065000 PABREAL EQU PABDEV+1 01066000 PABAADDD EQU PABDEV+2 01067000 DSPAIRS EQU COMTAB+1938 01068000 PHYSTYPE EQU COMTAB+2002 01069000 PHYSFLGS EQU PHYSTYPE 01070000 MERLICEB EQU PHYSFLGS 01071000 CPUASSOC EQU COMTAB+3026 01072000 CPUS EQU CPUASSOC+2 01073000 CPU EQU CPUS 01074000 CPUFLAG1 EQU CPU+6 01075000 OPSYSTYP EQU CPUFLAG1 01076000 CPUFLAG2 EQU CPU+7 01077000 LOWERCON EQU COMTAB+3156 01078000 LOWDSS EQU LOWERCON 01079000 LOWFLGS EQU LOWDSS 01080000 LIBCTL EQU COMTAB+3284 01081000 LIBCTLS EQU LIBCTL 01082000 CREATE EQU COMTAB+3288 01083000 @NM00017 EQU CREATE 01084000 VPAGES EQU CREATE+1 01085000 COMTAB2 EQU 0 01086000 DSTORSG EQU COMTAB2 01087000 DSENTRY EQU DSTORSG 01088000 CONFGCON EQU COMTAB2+32 01089000 RSGUCB EQU CONFGCON 01090000 RSGFLAGS EQU RSGUCB 01091000 CONFGUCB EQU COMTAB2+464 01092000 CONFGDEV EQU CONFGUCB 01093000 USEFLAGS EQU CONFGDEV 01094000 ALTPATH1 EQU CONFGDEV+2 01095000 ALTPATH2 EQU CONFGDEV+5 01096000 ALTPATH3 EQU CONFGDEV+8 01097000 BUILDTAB EQU 0 01098000 COMB06 EQU BUILDTAB 01099000 B06DCBPT EQU COMB06 01100000 B06BUFPT EQU COMB06+4 01101000 B06ADDR EQU COMB06+9 01102000 COMB05 EQU BUILDTAB+12 01103000 B05ADDR EQU COMB05+9 01104000 BUILDGEN EQU BUILDTAB+24 01105000 UT2VCHR EQU BUILDGEN+8 01106000 OUTADDR EQU UT2VCHR+1 01107000 UT2VCYL EQU OUTADDR 01108000 UT2VHEAD EQU OUTADDR+1 01109000 UT2VREC EQU OUTADDR+2 01110000 UT1VCHR EQU BUILDGEN+12 01111000 INADDR EQU UT1VCHR+1 01112000 UT1STUFF EQU BUILDTAB+40 01113000 UT1FLAG EQU UT1STUFF+96 01114000 UT2STUFF EQU BUILDTAB+664 01115000 UT2DCB EQU UT2STUFF 01116000 UT2FLAG EQU UT2STUFF+96 01117000 UT3STUFF EQU BUILDTAB+1288 01118000 UT3FLAG EQU UT3STUFF+96 01119000 UT1BUFER EQU BUILDTAB+5084 01120000 UT2BUFER EQU BUILDTAB+13532 01121000 INBUFFER EQU 0 01122000 INBUFF EQU INBUFFER 01123000 INBLOCK EQU INBUFF+8 01124000 OUTBUFFR EQU 0 01125000 OUTBLOCK EQU OUTBUFFR 01126000 OBLKPRFX EQU OUTBLOCK+8 01127000 OUTABLID EQU OBLKPRFX 01128000 OUTCYL EQU OBLKPRFX+1 01129000 OUTHEAD EQU OBLKPRFX+2 01130000 OUTREC EQU OBLKPRFX+3 01131000 OUTFLR EQU OBLKPRFX+4 01132000 OBLOCK EQU OUTBLOCK+16 01133000 SCANBUF EQU 0 01134000 SCANDATA EQU 0 01135000 BLK EQU BLOCK 01136000 BYTES EQU BLK 01137000 AGO .@UNREFD START UNREFERENCED COMPONENTS 01138000 @NM00025 EQU OUTBLOCK 01139000 INBLK EQU INBLOCK 01140000 @NM00024 EQU INBUFF 01141000 TEMPEND EQU BUILDTAB+22396 01142000 LTRTRANI EQU BUILDTAB+22316 01143000 LTRTRANO EQU BUILDTAB+22236 01144000 NVERIFY EQU BUILDTAB+3500 01145000 CVERIFY EQU BUILDTAB+1916 01146000 @NM00023 EQU UT3STUFF+624 01147000 UT3DDN EQU UT3STUFF+616 01148000 UT3CCWS EQU UT3STUFF+320 01149000 UT3IOB EQU UT3STUFF+280 01150000 UT3ECB EQU UT3STUFF+276 01151000 UT3JFCB EQU UT3STUFF+100 01152000 @NM00022 EQU UT3FLAG 01153000 UT3VWERR EQU UT3FLAG 01154000 UT3VOERR EQU UT3FLAG 01155000 UT3VUPDT EQU UT3FLAG 01156000 UT3DCB EQU UT3STUFF 01157000 UT2DDN EQU UT2STUFF+616 01158000 UT2CCWS EQU UT2STUFF+320 01159000 UT2IOB EQU UT2STUFF+280 01160000 UT2ECB EQU UT2STUFF+276 01161000 UT2JFCB EQU UT2STUFF+100 01162000 @NM00021 EQU UT2FLAG 01163000 UT2VCERR EQU UT2FLAG 01164000 UT2VWERR EQU UT2FLAG 01165000 UT2VOERR EQU UT2FLAG 01166000 UT2VUPDT EQU UT2FLAG 01167000 UT1DDN EQU UT1STUFF+616 01168000 UT1CCWS EQU UT1STUFF+320 01169000 UT1IOB EQU UT1STUFF+280 01170000 UT1ECB EQU UT1STUFF+276 01171000 UT1JFCB EQU UT1STUFF+100 01172000 @NM00020 EQU UT1FLAG 01173000 UT1VWERR EQU UT1FLAG 01174000 UT1VOERR EQU UT1FLAG 01175000 UT1VUPDT EQU UT1FLAG 01176000 UT1DCB EQU UT1STUFF 01177000 UT1VREC EQU INADDR+2 01178000 UT1VHEAD EQU INADDR+1 01179000 UT1VCYL EQU INADDR 01180000 UT1TABID EQU UT1VCHR 01181000 UT2TABID EQU UT2VCHR 01182000 ADDRBUF2 EQU BUILDGEN+4 01183000 ADDRBUF1 EQU BUILDGEN 01184000 B05REC EQU B05ADDR+2 01185000 B05HEAD EQU B05ADDR+1 01186000 B05CYL EQU B05ADDR 01187000 B05TBLID EQU COMB05+8 01188000 B05BUFPT EQU COMB05+4 01189000 B05DCBPT EQU COMB05 01190000 B06REC EQU B06ADDR+2 01191000 B06HEAD EQU B06ADDR+1 01192000 B06CYL EQU B06ADDR 01193000 B06TBLID EQU COMB06+8 01194000 ALTCH3 EQU ALTPATH3+2 01195000 ALTCI3 EQU ALTPATH3+1 01196000 ALTDS3 EQU ALTPATH3 01197000 ALTCH2 EQU ALTPATH2+2 01198000 ALTCI2 EQU ALTPATH2+1 01199000 ALTDS2 EQU ALTPATH2 01200000 ALTCH1 EQU ALTPATH1+2 01201000 ALTCI1 EQU ALTPATH1+1 01202000 ALTDS1 EQU ALTPATH1 01203000 INDEXRSG EQU CONFGDEV+1 01204000 ICEBERG EQU USEFLAGS 01205000 ITISALTP EQU USEFLAGS 01206000 USECONVR EQU USEFLAGS 01207000 SUPPUNCH EQU USEFLAGS 01208000 USEREAL EQU USEFLAGS 01209000 USEVS EQU USEFLAGS 01210000 USEV EQU USEFLAGS 01211000 USESPEC EQU USEFLAGS 01212000 RSGCUA EQU RSGUCB+8 01213000 RSGCHAN EQU RSGUCB+7 01214000 CPUREFNO EQU RSGUCB+6 01215000 RSGCPUID EQU RSGUCB+1 01216000 @NM00019 EQU RSGFLAGS 01217000 CISPEC EQU RSGFLAGS 01218000 TORSG2 EQU DSENTRY+1 01219000 TORSG1 EQU DSENTRY 01220000 COM2BASE EQU COMTAB+3304 01221000 LRUCLOCK EQU CREATE+11 01222000 VOLSER EQU CREATE+5 01223000 @NM00018 EQU @NM00017 01224000 PRNTONLY EQU @NM00017 01225000 UPDCREAT EQU @NM00017 01226000 NEWCREAT EQU @NM00017 01227000 CMDCREAT EQU @NM00017 01228000 RW67RGHT EQU LIBCTLS 01229000 RW67LEFT EQU LIBCTLS 01230000 RW45RGHT EQU LIBCTLS 01231000 RW45LEFT EQU LIBCTLS 01232000 RW23RGHT EQU LIBCTLS 01233000 RW23LEFT EQU LIBCTLS 01234000 RW01RGHT EQU LIBCTLS 01235000 RW01LEFT EQU LIBCTLS 01236000 LOWLIB EQU LOWDSS+1 01237000 @NM00016 EQU LOWFLGS 01238000 LOWRGHT EQU LOWFLGS 01239000 LOWLEFT EQU LOWFLGS 01240000 LOWRW67 EQU LOWFLGS 01241000 LOWRW45 EQU LOWFLGS 01242000 LOWRW23 EQU LOWFLGS 01243000 LOWRW01 EQU LOWFLGS 01244000 LOWSPEC EQU LOWFLGS 01245000 ALTMSCIN EQU CPUFLAG2 01246000 @NM00015 EQU CPUFLAG2 01247000 ALTMSGBF EQU CPUFLAG2 01248000 @NM00014 EQU CPUFLAG2 01249000 CPUSPEC EQU CPUFLAG2 01250000 CPUMSCIN EQU CPUFLAG1 01251000 OPJES3 EQU OPSYSTYP 01252000 OPVS2 EQU OPSYSTYP 01253000 OPVS1 EQU OPSYSTYP 01254000 CPUALTFL EQU CPUFLAG1 01255000 CPUTIGHT EQU CPUFLAG1 01256000 @NM00013 EQU CPUFLAG1 01257000 TOMPCPU EQU CPU+5 01258000 CPUID EQU CPU 01259000 CPUNUM EQU CPUASSOC 01260000 SPNRSGNO EQU PHYSTYPE+1 01261000 LGDEVICE EQU PHYSFLGS 01262000 LOGABOX1 EQU PHYSFLGS 01263000 PHYSSSID EQU PHYSFLGS 01264000 PHYSREAL EQU PHYSFLGS 01265000 PHYSICEB EQU MERLICEB 01266000 PHYSMERL EQU MERLICEB 01267000 PHYSDS2 EQU DSPAIRS 01268000 PABDDD EQU PABAADDD 01269000 PABAA EQU PABAADDD 01270000 PABZEROS EQU PABAADDD 01271000 PAB2D EQU PABREAL 01272000 PAB2C EQU PABREAL 01273000 PAB2B EQU PABREAL 01274000 @NM00012 EQU PABREAL 01275000 PAB1D EQU PABREAL 01276000 PAB1C EQU PABREAL 01277000 PAB1B EQU PABREAL 01278000 PABIMPLR EQU PABREAL 01279000 @NM00011 EQU PABFLAGS 01280000 PABIBERG EQU PABFLAGS 01281000 @NM00010 EQU PABFLAGS 01282000 MAPEXIT EQU LIB+4 01283000 LIBMAP EQU LIB+3 01284000 LIBDSMID EQU LIB+2 01285000 LIBSIZE EQU LIB+1 01286000 @NM00009 EQU LIBBITS 01287000 LIBSPEC EQU LIBBITS 01288000 @NM00008 EQU RSG 01289000 RSGABOX0 EQU RSGABOX 01290000 RSGSPEC EQU RSG 01291000 SVSYSUT3 EQU SAVEDDS+32 01292000 SVSYSUT2 EQU SAVEDDS+24 01293000 SVSYSUT1 EQU SAVEDDS+16 01294000 SVSYSPCH EQU SAVEDDS+8 01295000 SVSYSIN EQU SAVEDDS 01296000 PARMPTR EQU INVOKED 01297000 SAVE14 EQU GENIO+12 01298000 EXLST EQU GENIO+8 01299000 @NM00007 EQU DCBPTR+1 01300000 DCBFLAG EQU DCBPTR 01301000 OPENLIST EQU GENIO 01302000 @NM00006 EQU MESSAGES+19 01303000 PRNTBUF2 EQU SPECLMSG 01304000 NEEDEOJ EQU SPECLMSG 01305000 ENDPHASE EQU SPECLMSG 01306000 @NM00005 EQU SPECLMSG 01307000 PRNTCARD EQU SPECLMSG 01308000 @NM00004 EQU SPECLMSG 01309000 NEED102 EQU SPECLMSG 01310000 NEED101 EQU SPECLMSG 01311000 PRINTRC EQU MESSAGES+16 01312000 TERM EQU MESSAGES+12 01313000 WARN EQU MESSAGES+8 01314000 TERMINAT EQU MESSAGES+6 01315000 WARNING EQU MESSAGES+4 01316000 MSGNO EQU MESSAGES+2 01317000 RETCODE EQU MESSAGES 01318000 OUTBUF2 EQU PRINTER+225 01319000 OUTBUF EQU PRINTER+104 01320000 LINECT EQU PRINTER+102 01321000 LINECTR EQU PRINTER+100 01322000 PAGENO EQU PRINTER+96 01323000 DCBPRINT EQU PRINTER 01324000 @NM00003 EQU READER+206 01325000 SCANLEN EQU READER+204 01326000 SVEODAD EQU READER+200 01327000 SVSYNAD2 EQU READER+196 01328000 SAVENCOL EQU READER+192 01329000 SAVESCOL EQU READER+188 01330000 INBUF EQU READER+100 01331000 SSELECT EQU PCHBF 01332000 @NM00002 EQU READER+97 01333000 @NM00001 EQU READFLAG 01334000 LASTPARM EQU READFLAG 01335000 ENDSCAN EQU READFLAG 01336000 PARMBIT EQU READFLAG 01337000 KEYBIT EQU READFLAG 01338000 READTERM EQU READFLAG 01339000 READDCB EQU READER 01340000 PATCH EQU COMTAB 01341000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01342000 @RC00077 EQU @RC00076 01343000 @RC00081 EQU @EL00002 01344000 @RF00133 EQU @EL00006 01345000 @RC00082 EQU @RC00081 01346000 @ENDDATA EQU * 01347000 END ICGDSB07,(C'PLS1310',0603,76336) 01348000