TITLE 'ICGDSA01 MSC TABLE CREATE, ANALYZE CPU ASSOCIATIONS *00001000 ' 00002000 ICGDSA01 CSECT , 0001 00003000 @PROLOG STM @14,@12,12(@13) 0001 00004000 BALR @12,0 0001 00005000 @PSTART DS 0H 0001 00006000 USING @PSTART,@12 0001 00007000 L @00,@SIZDATD 0001 00008000 GETMAIN R,LV=(0) 00009000 LR @11,@01 0001 00010000 USING @DATD,@11 0001 00011000 ST @13,@SA00001+4 0001 00012000 LM @00,@01,20(@13) 0001 00013000 ST @11,8(,@13) 0001 00014000 LR @13,@11 0001 00015000 XC @ZTEMPS(@ZLEN),@ZTEMPS 00016000 * 0026 00017000 */********************************************************** @Y30LB12*/ 00018000 */* @Y30LB12*/ 00019000 */* INITIALIZE FLAG FIELDS, THEN ROUTE CONTROL @YD00113*/ 00020000 */* TO SUBROUTINES. ON RETURN FROM FINAL SUB- @YD00113*/ 00021000 */* ROUTINE, RETURN TO ICGDSANL. @YD00113*/ 00022000 */* @Y30LB12*/ 00023000 */********************************************************** @Y30LB12*/ 00024000 * 0026 00025000 * MSCFLAGS=CLEARFLG; /* @YD00113*/ 00026000 MVI MSCFLAGS,B'00000000' 0026 00027000 * FLAGS=CLEARFLG; /* @YD00113*/ 00028000 * 0027 00029000 MVI FLAGS,B'00000000' 0027 00030000 * /*****************************************************************/ 00031000 * /* */ 00032000 * /* ****************************************** @YD00113*/ 00033000 * /* CALL A01PROC1 TO CHECK MULTIPROCESSING @YD00113*/ 00034000 * /* ENVIRONMENT. @YD00113*/ 00035000 * /* ****************************************** @YD00113*/ 00036000 * /* */ 00037000 * /*****************************************************************/ 00038000 * 0028 00039000 * CALL A01PROC1; /* @Y30LB12*/ 00040000 * 0028 00041000 BAL @14,A01PROC1 0028 00042000 * /*****************************************************************/ 00043000 * /* */ 00044000 * /* ****************************************** @YD00113*/ 00045000 * /* CALL A01PROC2 TO VERIFY CPUID SPECIFICATION @YD00113*/ 00046000 * /* ****************************************** @YD00113*/ 00047000 * /* */ 00048000 * /*****************************************************************/ 00049000 * 0029 00050000 * CALL A01PROC2; /* @Y30LB12*/ 00051000 * 0029 00052000 BAL @14,A01PROC2 0029 00053000 * /*****************************************************************/ 00054000 * /* */ 00055000 * /* ****************************************** @YD00113*/ 00056000 * /* CALL A01PROC3 TO VERIFY CPUID ENTRIES IN @YD00113*/ 00057000 * /* AN 'UPPERCON' STATEMENT AND 'CPUASSOC' TABLE @YD00113*/ 00058000 * /* ****************************************** @YD00113*/ 00059000 * /* */ 00060000 * /*****************************************************************/ 00061000 * 0030 00062000 * CALL A01PROC3; /* @Y30LB12*/ 00063000 BAL @14,A01PROC3 0030 00064000 * RETURN; /* @Y30LB12*/ 00065000 @EL00001 L @13,4(,@13) 0031 00066000 @EF00001 L @00,@SIZDATD 0031 00067000 LR @01,@11 0031 00068000 FREEMAIN R,LV=(0),A=(1) 00069000 @ER00001 LM @14,@12,12(@13) 0031 00070000 BR @14 0031 00071000 * 0032 00072000 */********************************************************** @Y30LB12*/ 00073000 */* @Y30LB12*/ 00074000 */* PROCEDURE NAME - A01PROC1 @Y30LB12*/ 00075000 */* @Y30LB12*/ 00076000 */* FUNCTION - LOOP THRU ALL CPUID'S PRESENT IN THE TABLE @YD00113*/ 00077000 */* TESTING FIRST THAT EACH CPU USES A UNIQUE @YD00113*/ 00078000 */* INTERFACE INTO THE MSC. IF NOT, SET AN ERROR @YD00113*/ 00079000 */* FLAG WHICH WILL CAUSE ERROR MESSAGE ICG304I @YD00113*/ 00080000 */* TO BE PRINTED. @YD00113*/ 00081000 */* AFTER SUCCESSFUL INTERFACE TEST, TEST FOR @YD00113*/ 00082000 */* MULTIPROCESSOR. IF IT IS, CALL 'CHECKMP' TO @YD00113*/ 00083000 */* CROSS CHECK CPUID'S @YD00113*/ 00084000 */* @Y30LB12*/ 00085000 */********************************************************** @Y30LB12*/ 00086000 * 0032 00087000 *A01PROC1: 0032 00088000 * PROCEDURE; /* @Y30LB12*/ 00089000 A01PROC1 STM @14,@12,@SA00002 0032 00090000 * DO INDEX=1 TO CPUNUM; /* COUNT OF CPUS @Y30LB12*/ 00091000 LA INDEX,1 0033 00092000 B @DE00033 0033 00093000 @DL00033 DS 0H 0034 00094000 * IF CPUSPEC(INDEX)='1'B /* IF CPU SPECIFIED @Y30LB12*/ 00095000 * THEN /* @Y30LB12*/ 00096000 LR @10,INDEX 0034 00097000 SLA @10,3 0034 00098000 ST @10,@TF00001 0034 00099000 ALR @10,R4 0034 00100000 TM CPUSPEC-8(@10),B'10000000' 0034 00101000 BNO @RF00034 0034 00102000 * DO; /* @Y30LB12*/ 00103000 * ERROR='0'B; /* ERROR INTERFACE @Y30LB12*/ 00104000 NI ERROR,B'11011111' 0036 00105000 * IF CPUMSCIN(INDEX)=AINT /* 'A' INTERFACE @YD00113*/ 00106000 * THEN /* @Y30LB12*/ 00107000 LR @10,R4 0037 00108000 AL @10,@TF00001 0037 00109000 TM CPUMSCIN-8(@10),B'00000011' 0037 00110000 BNZ @RF00037 0037 00111000 * IF INTA='0'B /* IF NOT USED @Y30LB12*/ 00112000 * THEN /* @Y30LB12*/ 00113000 TM INTA,B'10000000' 0038 00114000 BNZ @RF00038 0038 00115000 * INTA='1'B; /* MARK AS USED @Y30LB12*/ 00116000 OI INTA,B'10000000' 0039 00117000 * ELSE /* @Y30LB12*/ 00118000 * ERROR='1'B; /* SET ERROR FLAG @Y30LB12*/ 00119000 B @RC00038 0040 00120000 @RF00038 OI ERROR,B'00100000' 0040 00121000 * ELSE 0041 00122000 * ; /* @Y30LB12*/ 00123000 @RF00037 DS 0H 0042 00124000 * IF CPUMSCIN(INDEX)=BINT /* 'B' INTERFACE @YD00113*/ 00125000 * THEN /* @Y30LB12*/ 00126000 @RC00037 LR @10,INDEX 0042 00127000 SLA @10,3 0042 00128000 ALR @10,R4 0042 00129000 TM CPUMSCIN-8(@10),B'00000001' 0042 00130000 BNO @RF00042 0042 00131000 TM CPUMSCIN-8(@10),B'00000010' 0042 00132000 BNZ @RF00042 0042 00133000 * IF INTB='0'B /* IF NOT USED @Y30LB12*/ 00134000 * THEN /* @Y30LB12*/ 00135000 TM INTB,B'01000000' 0043 00136000 BNZ @RF00043 0043 00137000 * INTB='1'B; /* MARK AS USED @Y30LB12*/ 00138000 OI INTB,B'01000000' 0044 00139000 * ELSE /* @Y30LB12*/ 00140000 * ERROR='1'B; /* SET ERROR FLAG @Y30LB12*/ 00141000 B @RC00043 0045 00142000 @RF00043 OI ERROR,B'00100000' 0045 00143000 * ELSE 0046 00144000 * ; /* @Y30LB12*/ 00145000 @RF00042 DS 0H 0047 00146000 * IF CPUMSCIN(INDEX)=CINT /* 'C' INTERFACE @YD00113*/ 00147000 * THEN /* @Y30LB12*/ 00148000 @RC00042 LR @10,INDEX 0047 00149000 SLA @10,3 0047 00150000 ALR @10,R4 0047 00151000 TM CPUMSCIN-8(@10),B'00000010' 0047 00152000 BNO @RF00047 0047 00153000 TM CPUMSCIN-8(@10),B'00000001' 0047 00154000 BNZ @RF00047 0047 00155000 * IF INTC='0'B /* IF NOT USED @Y30LB12*/ 00156000 * THEN /* @Y30LB12*/ 00157000 TM INTC,B'00100000' 0048 00158000 BNZ @RF00048 0048 00159000 * INTC='1'B; /* MARK AS USED @Y30LB12*/ 00160000 OI INTC,B'00100000' 0049 00161000 * ELSE /* @Y30LB12*/ 00162000 * ERROR='1'B; /* SET ERROR FLAG @Y30LB12*/ 00163000 B @RC00048 0050 00164000 @RF00048 OI ERROR,B'00100000' 0050 00165000 * ELSE 0051 00166000 * ; /* @Y30LB12*/ 00167000 @RF00047 DS 0H 0052 00168000 * IF CPUMSCIN(INDEX)=DINT /* 'D' INTERFACE @YD00113*/ 00169000 * THEN /* @Y30LB12*/ 00170000 @RC00047 LR @10,INDEX 0052 00171000 SLA @10,3 0052 00172000 ALR @10,R4 0052 00173000 TM CPUMSCIN-8(@10),B'00000011' 0052 00174000 BNO @RF00052 0052 00175000 * IF INTD='0'B /* IF NOT USED @Y30LB12*/ 00176000 * THEN /* @Y30LB12*/ 00177000 TM INTD,B'00010000' 0053 00178000 BNZ @RF00053 0053 00179000 * INTD='1'B; /* MARK AS USED @Y30LB12*/ 00180000 OI INTD,B'00010000' 0054 00181000 * ELSE /* @Y30LB12*/ 00182000 * ERROR='1'B; /* SET ERROR FLAG @Y30LB12*/ 00183000 B @RC00053 0055 00184000 @RF00053 OI ERROR,B'00100000' 0055 00185000 * ELSE 0056 00186000 * ; /* @Y30LB12*/ 00187000 * 0056 00188000 @RF00052 DS 0H 0057 00189000 * /***********************************************************/ 00190000 * /* */ 00191000 * /* *********************************************** @YD00142*/ 00192000 * /* PERFORM SAME CHECKS FOR ALTERNATE MSC @YD00142*/ 00193000 * /* INTERFACE, IF SPECIFIED. @YD00142*/ 00194000 * /* *********************************************** @YD00142*/ 00195000 * /* */ 00196000 * /***********************************************************/ 00197000 * 0057 00198000 * IF CPUALTFL(INDEX)='1'B /* @YD00142*/ 00199000 * THEN /* @YD00142*/ 00200000 @RC00052 LR @10,INDEX 0057 00201000 SLA @10,3 0057 00202000 ST @10,@TF00001 0057 00203000 ALR @10,R4 0057 00204000 TM CPUALTFL-8(@10),B'00100000' 0057 00205000 BNO @RF00057 0057 00206000 * DO; /* @YD00142*/ 00207000 * IF ALTMSCIN(INDEX)=AINT/* @YD00142*/ 00208000 * THEN /* @YD00142*/ 00209000 LR @10,R4 0059 00210000 AL @10,@TF00001 0059 00211000 TM ALTMSCIN-8(@10),B'00000011' 0059 00212000 BNZ @RF00059 0059 00213000 * IF INTA='0'B /* @YD00142*/ 00214000 * THEN /* @YD00142*/ 00215000 TM INTA,B'10000000' 0060 00216000 BNZ @RF00060 0060 00217000 * INTA='1'B; /* @YD00142*/ 00218000 OI INTA,B'10000000' 0061 00219000 * ELSE /* @YD00142*/ 00220000 * ERROR='1'B; /* @YD00142*/ 00221000 B @RC00060 0062 00222000 @RF00060 OI ERROR,B'00100000' 0062 00223000 * IF ALTMSCIN(INDEX)=BINT/* @YD00142*/ 00224000 * THEN /* @YD00142*/ 00225000 @RC00060 DS 0H 0063 00226000 @RF00059 LR @10,INDEX 0063 00227000 SLA @10,3 0063 00228000 ALR @10,R4 0063 00229000 TM ALTMSCIN-8(@10),B'00000001' 0063 00230000 BNO @RF00063 0063 00231000 TM ALTMSCIN-8(@10),B'00000010' 0063 00232000 BNZ @RF00063 0063 00233000 * IF INTB='0'B /* @YD00142*/ 00234000 * THEN /* @YD00142*/ 00235000 TM INTB,B'01000000' 0064 00236000 BNZ @RF00064 0064 00237000 * INTB='1'B; /* @YD00142*/ 00238000 OI INTB,B'01000000' 0065 00239000 * ELSE /* @YD00142*/ 00240000 * ERROR='1'B; /* @YD00142*/ 00241000 B @RC00064 0066 00242000 @RF00064 OI ERROR,B'00100000' 0066 00243000 * IF ALTMSCIN(INDEX)=CINT/* @YD00142*/ 00244000 * THEN /* @YD00142*/ 00245000 @RC00064 DS 0H 0067 00246000 @RF00063 LR @10,INDEX 0067 00247000 SLA @10,3 0067 00248000 ALR @10,R4 0067 00249000 TM ALTMSCIN-8(@10),B'00000010' 0067 00250000 BNO @RF00067 0067 00251000 TM ALTMSCIN-8(@10),B'00000001' 0067 00252000 BNZ @RF00067 0067 00253000 * IF INTC='0'B /* @YD00142*/ 00254000 * THEN /* @YD00142*/ 00255000 TM INTC,B'00100000' 0068 00256000 BNZ @RF00068 0068 00257000 * INTC='1'B; /* @YD00142*/ 00258000 OI INTC,B'00100000' 0069 00259000 * ELSE /* @YD00142*/ 00260000 * ERROR='1'B; /* @YD00142*/ 00261000 B @RC00068 0070 00262000 @RF00068 OI ERROR,B'00100000' 0070 00263000 * IF ALTMSCIN(INDEX)=DINT/* @YD00142*/ 00264000 * THEN /* @YD00142*/ 00265000 @RC00068 DS 0H 0071 00266000 @RF00067 LR @10,INDEX 0071 00267000 SLA @10,3 0071 00268000 ALR @10,R4 0071 00269000 TM ALTMSCIN-8(@10),B'00000011' 0071 00270000 BNO @RF00071 0071 00271000 * IF INTD='0'B /* @YD00142*/ 00272000 * THEN /* @YD00142*/ 00273000 TM INTD,B'00010000' 0072 00274000 BNZ @RF00072 0072 00275000 * INTD='1'B; /* @YD00142*/ 00276000 OI INTD,B'00010000' 0073 00277000 * ELSE /* @YD00142*/ 00278000 * ERROR='1'B; /* @YD00142*/ 00279000 B @RC00072 0074 00280000 @RF00072 OI ERROR,B'00100000' 0074 00281000 * END; 0075 00282000 @RC00072 DS 0H 0075 00283000 @RF00071 DS 0H 0076 00284000 * IF ERROR='1'B /* IF ERROR FLAG SET @Y30LB12*/ 00285000 * THEN /* @Y30LB12*/ 00286000 @RF00057 TM ERROR,B'00100000' 0076 00287000 BNO @RF00076 0076 00288000 * DO; /* @Y30LB12*/ 00289000 * 0077 00290000 * /*******************************************************/ 00291000 * /* */ 00292000 * /* ***************************************** @Y30LB12*/ 00293000 * /* ICG304I CPU XXXXXXXXXX USING PREVIOUSLY @Y30LB12*/ 00294000 * /* SPECIFIED MSC INTERFACE @Y30LB12*/ 00295000 * /* ***************************************** @Y30LB12*/ 00296000 * /* */ 00297000 * /*******************************************************/ 00298000 * 0078 00299000 * OUTBUF2(1:64)=ICGDS304;/* @Y30LB12*/ 00300000 MVC OUTBUF2(64,R4),ICGDS304 0078 00301000 * PACKED(1:5)=CPUID(INDEX);/* @Y30LB12*/ 00302000 LR @10,INDEX 0079 00303000 SLA @10,3 0079 00304000 ALR @10,R4 0079 00305000 MVC PACKED(5),CPUID-8(@10) 0079 00306000 * PACKED(6)='0F'X; /* @Y30LB12*/ 00307000 MVI PACKED+5,X'0F' 0080 00308000 * GEN(UNPK UNPACKED(11),PACKED(6));/* @Y30LB12*/ 00309000 UNPK UNPACKED(11),PACKED(6) 00310000 * OUTBUF2(14:23)=UNPACKED(1:10);/* @Y30LB12*/ 00311000 MVC OUTBUF2+13(10,R4),UNPACKED 0082 00312000 * CALL PUTIT1; /* TO MESSAGE WRITER @Y30LB12*/ 00313000 BAL @14,PUTIT1 0083 00314000 * END; /* @Y30LB12*/ 00315000 * ELSE 0085 00316000 * ; /* @Y30LB12*/ 00317000 @RF00076 DS 0H 0086 00318000 * END; /* END OF MSC CHECK @Y30LB12*/ 00319000 * IF CPUTIGHT(INDEX)='1'B /* IF MP CPU @Y30LB12*/ 00320000 * THEN /* @Y30LB12*/ 00321000 @RF00034 LR @10,INDEX 0087 00322000 SLA @10,3 0087 00323000 ALR @10,R4 0087 00324000 TM CPUTIGHT-8(@10),B'01000000' 0087 00325000 BNO @RF00087 0087 00326000 * CALL CHECKMP; /* TO CROSS-CHECK MP @Y30LB12*/ 00327000 BAL @14,CHECKMP 0088 00328000 * ELSE 0089 00329000 * ; /* @Y30LB12*/ 00330000 @RF00087 DS 0H 0090 00331000 * END; /* OF CPU COUNT @Y30LB12*/ 00332000 AH INDEX,@CH00042 0090 00333000 @DE00033 CH INDEX,CPUNUM(,R4) 0090 00334000 BNH @DL00033 0090 00335000 * END A01PROC1; /* RET. TO MAINLINE @Y30LB12*/ 00336000 @EL00002 DS 0H 0091 00337000 @EF00002 DS 0H 0091 00338000 @ER00002 LM @14,@12,@SA00002 0091 00339000 BR @14 0091 00340000 * 0092 00341000 */********************************************************** @Y30LB12*/ 00342000 */* @Y30LB12*/ 00343000 */* PROCEDURE NAME - A01PROC2 @Y30LB12*/ 00344000 */* @Y30LB12*/ 00345000 */* FUNCTION - CHECK TO BE SURE THAT EVERY CPUID THAT @Y30LB12*/ 00346000 */* APPEARS IN THE TABLE WAS ACTUALLY @Y30LB12*/ 00347000 */* SPECIFIED AS CPUID. @Y30LB12*/ 00348000 */* @Y30LB12*/ 00349000 */********************************************************** @Y30LB12*/ 00350000 * 0092 00351000 *A01PROC2: 0092 00352000 * PROCEDURE; /* @Y30LB12*/ 00353000 A01PROC2 STM @14,@12,@SA00003 0092 00354000 * DO INDEX=1 TO CPUNUM; /* COUNT OF CPUS @Y30LB12*/ 00355000 LA INDEX,1 0093 00356000 B @DE00093 0093 00357000 @DL00093 DS 0H 0094 00358000 * IF CPUSPEC(INDEX)='0'B /* CPU NOT SPECIFIED @Y30LB12*/ 00359000 * THEN /* @Y30LB12*/ 00360000 LR @10,INDEX 0094 00361000 SLA @10,3 0094 00362000 ST @10,@TF00001 0094 00363000 ALR @10,R4 0094 00364000 TM CPUSPEC-8(@10),B'10000000' 0094 00365000 BNZ @RF00094 0094 00366000 * DO; /* @Y30LB12*/ 00367000 * 0095 00368000 * /***********************************************************/ 00369000 * /* */ 00370000 * /* ***************************************** @Y30LB12*/ 00371000 * /* ICG303I CPU XXXXXXXXXX IS REFERENCED BY @Y30LB12*/ 00372000 * /* ANOTHER CPU BUT NOT SPECIFIED AS CPUID @Y30LB12*/ 00373000 * /* ***************************************** @Y30LB12*/ 00374000 * /* */ 00375000 * /***********************************************************/ 00376000 * 0096 00377000 * OUTBUF2(1:79)=ICGDS303; /* @Y30LB12*/ 00378000 MVC OUTBUF2(79,R4),ICGDS303 0096 00379000 * PACKED(1:5)=CPUID(INDEX); /* @Y30LB12*/ 00380000 LR @10,R4 0097 00381000 AL @10,@TF00001 0097 00382000 MVC PACKED(5),CPUID-8(@10) 0097 00383000 * PACKED(6)='0F'X; /* @Y30LB12*/ 00384000 MVI PACKED+5,X'0F' 0098 00385000 * GEN(UNPK UNPACKED(11),PACKED(6));/* @Y30LB12*/ 00386000 UNPK UNPACKED(11),PACKED(6) 00387000 * OUTBUF2(14:23)=UNPACKED(1:10);/* @Y30LB12*/ 00388000 MVC OUTBUF2+13(10,R4),UNPACKED 0100 00389000 * CALL PUTIT1; /* TO MESSAGE WRITER @Y30LB12*/ 00390000 BAL @14,PUTIT1 0101 00391000 * END; /* @Y30LB12*/ 00392000 * ELSE 0103 00393000 * ; /* @Y30LB12*/ 00394000 @RF00094 DS 0H 0104 00395000 * END; /* END OF DO LOOP @Y30LB12*/ 00396000 AH INDEX,@CH00042 0104 00397000 @DE00093 CH INDEX,CPUNUM(,R4) 0104 00398000 BNH @DL00093 0104 00399000 * END A01PROC2; /* RET. TO MAINLINE @Y30LB12*/ 00400000 @EL00003 DS 0H 0105 00401000 @EF00003 DS 0H 0105 00402000 @ER00003 LM @14,@12,@SA00003 0105 00403000 BR @14 0105 00404000 * 0106 00405000 */********************************************************** @Y30LB12*/ 00406000 */* @Y30LB12*/ 00407000 */* PROCEDURE NAME - A01PROC3 @Y30LB12*/ 00408000 */* @Y30LB12*/ 00409000 */* FUNCTION - FOR EACH CPUID SPECIFIED IN AN UPPERCON @Y30LB12*/ 00410000 */* STATEMENT, FIND THE COMPARABLE ENTRY IN @Y30LB12*/ 00411000 */* CPUASSOC, AND PUT THE LOGICAL CPUID @Y30LB12*/ 00412000 */* BACK INTO THE CONFGCON ENTRY. IF NO @Y30LB12*/ 00413000 */* CORRESPONDING ENTRY CAN BE FOUND, WRITE @Y30LB12*/ 00414000 */* AN ERROR MESSAGE. @Y30LB12*/ 00415000 */* @Y30LB12*/ 00416000 */********************************************************** @Y30LB12*/ 00417000 * 0106 00418000 *A01PROC3: 0106 00419000 * PROCEDURE; /* @Y30LB12*/ 00420000 A01PROC3 STM @14,@12,@SA00004 0106 00421000 * DO I=1 TO MAXSACI; /* 48 INTERFACES @YD00113*/ 00422000 LA I,1 0107 00423000 @DL00107 DS 0H 0108 00424000 * HAVEHIT='0'B; /* MATCH FLAG @Y30LB12*/ 00425000 NI HAVEHIT,B'01111111' 0108 00426000 * IF CISPEC(I)='1'B /* CHANNEL INTERFACE @Y30LB12*/ 00427000 * THEN /* @Y30LB12*/ 00428000 LR @10,I 0109 00429000 MH @10,@CH00112 0109 00430000 L @05,COMPTR2(,R4) 0109 00431000 ALR @05,@10 0109 00432000 TM CISPEC-9(@05),B'10000000' 0109 00433000 BNO @RF00109 0109 00434000 * DO; /* @Y30LB12*/ 00435000 * DO J=1 TO CPUNUM; /* LOOK FOR MATCH @Y30LB12*/ 00436000 LA J,1 0111 00437000 B @DE00111 0111 00438000 @DL00111 DS 0H 0112 00439000 * IF CPUID(J)=RSGCPUID(I) /* IF MATCH @Y30LB12*/ 00440000 * THEN /* @Y30LB12*/ 00441000 LR @10,J 0112 00442000 SLA @10,3 0112 00443000 LR @05,I 0112 00444000 MH @05,@CH00112 0112 00445000 L @15,COMPTR2(,R4) 0112 00446000 ALR @10,R4 0112 00447000 ST @05,@TF00001 0112 00448000 ALR @05,@15 0112 00449000 CLC CPUID-8(5,@10),RSGCPUID-9(@05) 0112 00450000 BNE @RF00112 0112 00451000 * DO; /* @Y30LB12*/ 00452000 * CPUREFNO(I)=J-1; /* SAVE REFNO @Y30LB12*/ 00453000 LR @10,J 0114 00454000 BCTR @10,0 0114 00455000 L @05,@TF00001 0114 00456000 STC @10,CPUREFNO-9(@05,@15) 0114 00457000 * HAVEHIT='1'B; /* SET MATCH @Y30LB12*/ 00458000 OI HAVEHIT,B'10000000' 0115 00459000 * END; /* @Y30LB12*/ 00460000 * ELSE 0117 00461000 * ; /* @Y30LB12*/ 00462000 @RF00112 DS 0H 0118 00463000 * END; /* DID ALL CPUASSOC @Y30LB12*/ 00464000 AH J,@CH00042 0118 00465000 @DE00111 CH J,CPUNUM(,R4) 0118 00466000 BNH @DL00111 0118 00467000 * IF HAVEHIT^='1'B /* IF NO MATCH @Y30LB12*/ 00468000 * THEN /* @Y30LB12*/ 00469000 TM HAVEHIT,B'10000000' 0119 00470000 BO @RF00119 0119 00471000 * DO; /* @Y30LB12*/ 00472000 * 0120 00473000 * /*******************************************************/ 00474000 * /* */ 00475000 * /* *********************************** @Y30LB12*/ 00476000 * /* ICG301I NO CPUCONFG MATCH FOR @Y30LB12*/ 00477000 * /* UPPERCON CPU XXXXXXXXXX @Y30LB12*/ 00478000 * /* *********************************** @Y30LB12*/ 00479000 * /* */ 00480000 * /*******************************************************/ 00481000 * 0121 00482000 * OUTBUF2(1:44)=ICGDS301;/* @Y30LB12*/ 00483000 MVC OUTBUF2(44,R4),ICGDS301 0121 00484000 * PACKED(1:5)=RSGCPUID(I);/* @Y30LB12*/ 00485000 LR @10,I 0122 00486000 MH @10,@CH00112 0122 00487000 L @05,COMPTR2(,R4) 0122 00488000 ALR @05,@10 0122 00489000 MVC PACKED(5),RSGCPUID-9(@05) 0122 00490000 * PACKED(6)='0F'X; /* @Y30LB12*/ 00491000 MVI PACKED+5,X'0F' 0123 00492000 * GEN(UNPK UNPACKED(11),PACKED(6));/* @Y30LB12*/ 00493000 UNPK UNPACKED(11),PACKED(6) 00494000 * OUTBUF2(45:54)=UNPACKED(1:10);/* @Y30LB12*/ 00495000 MVC OUTBUF2+44(10,R4),UNPACKED 0125 00496000 * CALL PUTIT1; /* TO MESSAGE WRITER @Y30LB12*/ 00497000 BAL @14,PUTIT1 0126 00498000 * END; /* @Y30LB12*/ 00499000 * ELSE 0128 00500000 * ; /* @Y30LB12*/ 00501000 @RF00119 DS 0H 0129 00502000 * END; /* @Y30LB12*/ 00503000 * ELSE 0130 00504000 * ; /* @Y30LB12*/ 00505000 @RF00109 DS 0H 0131 00506000 * END; /* END OF DO I @Y30LB12*/ 00507000 AH I,@CH00042 0131 00508000 CH I,@CH00235 0131 00509000 BNH @DL00107 0131 00510000 * END A01PROC3; /* RET. TO MAINLINE @Y30LB12*/ 00511000 @EL00004 DS 0H 0132 00512000 @EF00004 DS 0H 0132 00513000 @ER00004 LM @14,@12,@SA00004 0132 00514000 BR @14 0132 00515000 * 0133 00516000 */********************************************************** @Y30LB12*/ 00517000 */* @Y30LB12*/ 00518000 */* PROCEDURE NAME - CHECKMP @Y30LB12*/ 00519000 */* @Y30LB12*/ 00520000 */* FUNCTION - THIS ROUTINE IS CALLED WHEN AN ENTRY IN THE @Y30LB12*/ 00521000 */* CPUASSOC TABLE HAS THE 'CPUTIGHT' BIT ON. @Y30LB12*/ 00522000 */* TRANSLATE THE 'TOMPCPU' BITS IN THAT ENTRY @Y30LB12*/ 00523000 */* INTO THE LOGICAL CPUID REFERENCE NUMBER OF @Y30LB12*/ 00524000 */* THE CPU TO WHICH IT POINTS, AND CHECK TO @Y30LB12*/ 00525000 */* SEE THAT THAT CPU ALSO IN MP (VIA CHECKMP2). @Y30LB12*/ 00526000 */* @Y30LB12*/ 00527000 */********************************************************** @Y30LB12*/ 00528000 * 0133 00529000 *CHECKMP: 0133 00530000 * PROCEDURE; /* @Y30LB12*/ 00531000 CHECKMP STM @14,@12,@SA00005 0133 00532000 * HAVEHIT='0'B; /* RESET MATCH FLAG @Y30LB12*/ 00533000 NI HAVEHIT,B'01111111' 0134 00534000 * REFINDEX=TOMPCPU(INDEX)+1; /* @Y30LB12*/ 00535000 LR @10,INDEX 0135 00536000 SLA @10,3 0135 00537000 LA REFINDEX,1 0135 00538000 ALR @10,R4 0135 00539000 MVC @ZT00003+3(1),TOMPCPU-8(@10) 0135 00540000 AL REFINDEX,@ZT00003 0135 00541000 * CALL CHECKMP2; /* @Y30LB12*/ 00542000 BAL @14,CHECKMP2 0136 00543000 * END CHECKMP; /* RET. TO A01PROC1 @Y30LB12*/ 00544000 @EL00005 DS 0H 0137 00545000 @EF00005 DS 0H 0137 00546000 @ER00005 LM @14,@12,@SA00005 0137 00547000 BR @14 0137 00548000 * 0138 00549000 */***********************************************************@YD00113*/ 00550000 */* @YD00113*/ 00551000 */* PROCEDURE NAME - CHECKMP2 @YD00113*/ 00552000 */* @YD00113*/ 00553000 */* FUNCTION - TEST TO ASSURE THE MULTIPROCESSING CPU HAS @YD00113*/ 00554000 */* CROSS REFERENCE TO THE OTHER MULTIPROCESSING @YD00113*/ 00555000 */* CPU. IF NOT, ISSUE APPROPRIATE ERROR MESSAGE @YD00113*/ 00556000 */* @YD00113*/ 00557000 */***********************************************************@YD00113*/ 00558000 * 0138 00559000 *CHECKMP2: 0138 00560000 * PROCEDURE; /* @Y30LB12*/ 00561000 * 0138 00562000 CHECKMP2 STM @14,@12,@SA00006 0138 00563000 * /*****************************************************************/ 00564000 * /* */ 00565000 * /* *********************************************** @YD00113*/ 00566000 * /* THE LOGICAL CPUID OF THE CPU BEING EXAMINED @YD00113*/ 00567000 * /* IS 'INDEX'. THE POINTER TO THE OTHER CPU OF @YD00113*/ 00568000 * /* THE MP PAIR IS 'REFINDEX'. IF THE VALUES ARE @YD00113*/ 00569000 * /* EQUAL, THE CPUCONFG STATEMENT INDICATED THE @XD00153*/ 00570000 * /* SAME 10-CHARACTER CPU IDENTIFICATION IN BOTH @XD00153*/ 00571000 * /* 'CPUID=' AND 'MPCPU=' @YD00113*/ 00572000 * /* *********************************************** @YD00113*/ 00573000 * /* */ 00574000 * /*****************************************************************/ 00575000 * 0139 00576000 * IF INDEX=REFINDEX /* @Y30LB12*/ 00577000 * THEN /* @Y30LB12*/ 00578000 CR INDEX,REFINDEX 0139 00579000 BNE @RF00139 0139 00580000 * DO; /* @Y30LB12*/ 00581000 * 0140 00582000 * /*************************************************************/ 00583000 * /* */ 00584000 * /* ***************************************** @Y30LB12*/ 00585000 * /* ICG305I CPU XXXXXXXXXX REFERENCES @Y30LB12*/ 00586000 * /* ITSELF @Y30LB12*/ 00587000 * /* ***************************************** @Y30LB12*/ 00588000 * /* */ 00589000 * /*************************************************************/ 00590000 * 0141 00591000 * OUTBUF2(1:41)=ICGDS305; /* @Y30LB12*/ 00592000 MVC OUTBUF2(41,R4),ICGDS305 0141 00593000 * PACKED(1:5)=CPUID(INDEX); /* @Y30LB12*/ 00594000 LR @10,INDEX 0142 00595000 SLA @10,3 0142 00596000 ALR @10,R4 0142 00597000 MVC PACKED(5),CPUID-8(@10) 0142 00598000 * PACKED(6)='0F'X; /* @Y30LB12*/ 00599000 MVI PACKED+5,X'0F' 0143 00600000 * GEN(UNPK UNPACKED(11),PACKED(6));/* @Y30LB12*/ 00601000 UNPK UNPACKED(11),PACKED(6) 00602000 * OUTBUF2(14:23)=UNPACKED(1:10);/* @Y30LB12*/ 00603000 MVC OUTBUF2+13(10,R4),UNPACKED 0145 00604000 * CALL PUTIT1; /* TO MESSAGE WRITER @Y30LB12*/ 00605000 BAL @14,PUTIT1 0146 00606000 * RETURN; /* RETURN TO CHECKMP @Y30LB12*/ 00607000 @EL00006 DS 0H 0147 00608000 @EF00006 DS 0H 0147 00609000 @ER00006 LM @14,@12,@SA00006 0147 00610000 BR @14 0147 00611000 * END; /* @Y30LB12*/ 00612000 * ELSE 0149 00613000 * ; /* @Y30LB12*/ 00614000 * 0149 00615000 @RF00139 DS 0H 0150 00616000 * /*****************************************************************/ 00617000 * /* */ 00618000 * /* *********************************************** @YD00113*/ 00619000 * /* IF THE CPU FLAG INICATING THAT THE SECOND CPU @YD00113*/ 00620000 * /* IS A CPU IN A MP PAIR IS NOT SET TO ONE, @YD00113*/ 00621000 * /* THERE IS AN ERROR IN THE CPUCONFG STATEMENTS. @YD00113*/ 00622000 * /* THE CURRENT CPU BEING EXAMINED POINTS AT A @XD00153*/ 00623000 * /* SECOND CPU, BUT THE SECOND CPU WAS NOT @YD00113*/ 00624000 * /* SPECIFIED IN ITS OWN CPUCONFG STATEMENT AS A @XD00153*/ 00625000 * /* CPU IN A MP PAIR. @YD00113*/ 00626000 * /* THE SECOND CPU MAY NOT HAVE BEEN SPECIFIED AT @YD00113*/ 00627000 * /* AT ALL, IN WHICH CASE ICG303I IS ALSO PRINTED. @YD00113*/ 00628000 * /* *********************************************** @YD00113*/ 00629000 * /* */ 00630000 * /*****************************************************************/ 00631000 * 0150 00632000 * IF CPUTIGHT(REFINDEX)^='1'B /* @Y30LB12*/ 00633000 * THEN /* @Y30LB12*/ 00634000 LR @10,REFINDEX 0150 00635000 SLA @10,3 0150 00636000 ALR @10,R4 0150 00637000 TM CPUTIGHT-8(@10),B'01000000' 0150 00638000 BO @RF00150 0150 00639000 * DO; /* @Y30LB12*/ 00640000 * 0151 00641000 * /*************************************************************/ 00642000 * /* */ 00643000 * /* ************************************* @Y30LB12*/ 00644000 * /* ICG302I CPU XXXXXXXXXX MP @Y30LB12*/ 00645000 * /* CONNECTION TO CPU XXXXXXXXXX INVALID @Y30LB12*/ 00646000 * /* ************************************* @Y30LB12*/ 00647000 * /* */ 00648000 * /*************************************************************/ 00649000 * 0152 00650000 * OUTBUF2(1:66)=ICGDS302; /* @Y30LB12*/ 00651000 MVC OUTBUF2(66,R4),ICGDS302 0152 00652000 * PACKED(1:5)=CPUID(INDEX); /* @Y30LB12*/ 00653000 LR @10,INDEX 0153 00654000 SLA @10,3 0153 00655000 ALR @10,R4 0153 00656000 MVC PACKED(5),CPUID-8(@10) 0153 00657000 * PACKED(6)='0F'X; /* @Y30LB12*/ 00658000 MVI PACKED+5,X'0F' 0154 00659000 * GEN(UNPK UNPACKED(11),PACKED(6));/* @Y30LB12*/ 00660000 UNPK UNPACKED(11),PACKED(6) 00661000 * OUTBUF2(14:23)=UNPACKED(1:10);/* @Y30LB12*/ 00662000 MVC OUTBUF2+13(10,R4),UNPACKED 0156 00663000 * PACKED(1:5)=CPUID(REFINDEX);/* @Y30LB12*/ 00664000 LR @10,REFINDEX 0157 00665000 SLA @10,3 0157 00666000 ALR @10,R4 0157 00667000 MVC PACKED(5),CPUID-8(@10) 0157 00668000 * PACKED(6)='0F'X; /* @Y30LB12*/ 00669000 MVI PACKED+5,X'0F' 0158 00670000 * GEN(UNPK UNPACKED(11),PACKED(6));/* @Y30LB12*/ 00671000 UNPK UNPACKED(11),PACKED(6) 00672000 * OUTBUF2(46:55)=UNPACKED(1:10);/* @Y30LB12*/ 00673000 MVC OUTBUF2+45(10,R4),UNPACKED 0160 00674000 * CALL PUTIT1; /* TO MESSAGE WRITER @Y30LB12*/ 00675000 BAL @14,PUTIT1 0161 00676000 * RETURN; /* RETURN TO CHECKMP @Y30LB12*/ 00677000 B @EL00006 0162 00678000 * END; /* @Y30LB12*/ 00679000 * ELSE 0164 00680000 * ; /* @Y30LB12*/ 00681000 * 0164 00682000 @RF00150 DS 0H 0165 00683000 * /*****************************************************************/ 00684000 * /* */ 00685000 * /* *********************************************** @YD00113*/ 00686000 * /* DEVELOP THE MP POINTER FROM THE SECOND CPU @YD00113*/ 00687000 * /* BACK TO THE FIRST CPU AND MAKE SURE THAT THEY @YD00113*/ 00688000 * /* CROSS-CHECK BACK, THAT IS 'A' POINTS AT 'B' @YD00113*/ 00689000 * /* AND 'B' POINTS BACK AT 'A'. IF 'B' POINTS AT @YD00113*/ 00690000 * /* 'C', WRITE ERROR MESSAGE. @YD00113*/ 00691000 * /* *********************************************** @YD00113*/ 00692000 * /* */ 00693000 * /*****************************************************************/ 00694000 * 0165 00695000 * J=TOMPCPU(REFINDEX)+1; /* @Y30LB12*/ 00696000 LR @10,REFINDEX 0165 00697000 SLA @10,3 0165 00698000 LA J,1 0165 00699000 ALR @10,R4 0165 00700000 MVC @ZT00003+3(1),TOMPCPU-8(@10) 0165 00701000 AL J,@ZT00003 0165 00702000 * IF J^=INDEX /* @Y30LB12*/ 00703000 * THEN /* @Y30LB12*/ 00704000 CR J,INDEX 0166 00705000 BE @RF00166 0166 00706000 * DO; /* @Y30LB12*/ 00707000 * 0167 00708000 * /*************************************************************/ 00709000 * /* */ 00710000 * /* ***************************************** @Y30LB12*/ 00711000 * /* ICG306I CPU XXXXXXXXXX REFERENCES @Y30LB12*/ 00712000 * /* CPU XXXXXXXXXX BUT CPU XXXXXXXXXX @Y30LB12*/ 00713000 * /* DOES NOT REFERENCE CPU XXXXXXXXXX @Y30LB12*/ 00714000 * /* ***************************************** @Y30LB12*/ 00715000 * /* */ 00716000 * /*************************************************************/ 00717000 * 0168 00718000 * OUTBUF2(1:102)=ICGDS306; /* @Y30LB12*/ 00719000 MVC OUTBUF2(102,R4),ICGDS306 0168 00720000 * PACKED(1:5)=CPUID(INDEX); /* @Y30LB12*/ 00721000 LR @10,INDEX 0169 00722000 SLA @10,3 0169 00723000 ALR @10,R4 0169 00724000 MVC PACKED(5),CPUID-8(@10) 0169 00725000 * PACKED(6)='0F'X; /* @Y30LB12*/ 00726000 MVI PACKED+5,X'0F' 0170 00727000 * GEN(UNPK UNPACKED(11),PACKED(6));/* @Y30LB12*/ 00728000 UNPK UNPACKED(11),PACKED(6) 00729000 * OUTBUF2(14:23)=UNPACKED(1:10);/* @Y30LB12*/ 00730000 MVC OUTBUF2+13(10,R4),UNPACKED 0172 00731000 * OUTBUF2(93:102)=UNPACKED(1:10);/* @Y30LB12*/ 00732000 MVC OUTBUF2+92(10,R4),UNPACKED 0173 00733000 * PACKED(1:5)=CPUID(REFINDEX);/* @Y30LB12*/ 00734000 LR @10,REFINDEX 0174 00735000 SLA @10,3 0174 00736000 ALR @10,R4 0174 00737000 MVC PACKED(5),CPUID-8(@10) 0174 00738000 * PACKED(6)='0F'X; /* @Y30LB12*/ 00739000 MVI PACKED+5,X'0F' 0175 00740000 * GEN(UNPK UNPACKED(11),PACKED(6));/* @Y30LB12*/ 00741000 UNPK UNPACKED(11),PACKED(6) 00742000 * OUTBUF2(40:49)=UNPACKED(1:10);/* @Y30LB12*/ 00743000 MVC OUTBUF2+39(10,R4),UNPACKED 0177 00744000 * OUTBUF2(59:68)=UNPACKED(1:10);/* @Y30LB12*/ 00745000 MVC OUTBUF2+58(10,R4),UNPACKED 0178 00746000 * CALL PUTIT1; /* TO MESSAGE WRITER @Y30LB12*/ 00747000 BAL @14,PUTIT1 0179 00748000 * END; /* @Y30LB12*/ 00749000 * ELSE 0181 00750000 * ; /* @Y30LB12*/ 00751000 @RF00166 DS 0H 0182 00752000 * END CHECKMP2; /* RETURN TO CHECKMP @Y30LB12*/ 00753000 B @EL00006 0182 00754000 * 0183 00755000 */***********************************************************@Y30LB12*/ 00756000 */* @Y30LB12*/ 00757000 */* PROCEDURE NAME - PUTIT1 @Y30LB12*/ 00758000 */* @Y30LB12*/ 00759000 */* FUNCTION - CALL ICGDSMSG, MESSAGE PRINT SUBROUTINE, TO @Y30LB12*/ 00760000 */* PUT TERMINATING MESSAGE FOR WHICH TEXT IS NOT @Y30LB12*/ 00761000 */* IN ICGDSMSG BUT ALREADY BUILT IN 'OUTBUF2' @Y30LB12*/ 00762000 */* @Y30LB12*/ 00763000 */***********************************************************@Y30LB12*/ 00764000 * 0183 00765000 *PUTIT1: 0183 00766000 * PROCEDURE; /* @Y30LB12*/ 00767000 PUTIT1 STM @14,@12,@SA00007 0183 00768000 * STOPSCAN='1'B; /* @Y30LB12*/ 00769000 OI STOPSCAN,B'01000000' 0184 00770000 * PRNTBUF2='1'B; /* @Y30LB12*/ 00771000 OI PRNTBUF2(R4),B'00000001' 0185 00772000 * TERMINAT=TERMINAT+1; /* @Y30LB12*/ 00773000 LA @10,1 0186 00774000 AH @10,TERMINAT(,R4) 0186 00775000 STH @10,TERMINAT(,R4) 0186 00776000 * GEN(LINK EP=ICGDSMSG); /* @Y30LB12*/ 00777000 LINK EP=ICGDSMSG 00778000 * PRNTBUF2='0'B; /* @Y30LB12*/ 00779000 NI PRNTBUF2(R4),B'11111110' 0188 00780000 * END PUTIT1; /* @Y30LB12*/ 00781000 @EL00007 DS 0H 0189 00782000 @EF00007 DS 0H 0189 00783000 @ER00007 LM @14,@12,@SA00007 0189 00784000 BR @14 0189 00785000 * 0190 00786000 */********************************************************** @Y30LB12*/ 00787000 */* P A T C H A R E A @Y30LB12*/ 00788000 */********************************************************** @Y30LB12*/ 00789000 * 0190 00790000 * GENERATE; 0190 00791000 * /*@Y30LB12*/ 00792000 PATCHA01 DC 32C'PATCHA01' /*@Y30LB12*/ 00793000 * END ICGDSA01 /* @Y30LB12*/ 00794000 * 0191 00795000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00796000 */*%INCLUDE SYSLIB (ICGDSMAC) */ 00797000 */*%INCLUDE SYSLIB (ICGDSMA2) */ 00798000 * 0191 00799000 * ; 0191 00800000 B @EL00001 0191 00801000 @DATA DS 0H 00802000 @CH00042 DC H'1' 00803000 @CH00112 DC H'9' 00804000 @CH00235 DC H'48' 00805000 @DATD DSECT 00806000 DS 0F 00807000 @SA00001 DS 18F 00808000 @SA00002 DS 15F 00809000 @SA00003 DS 15F 00810000 @SA00004 DS 15F 00811000 @SA00007 DS 15F 00812000 @SA00005 DS 15F 00813000 @SA00006 DS 15F 00814000 @TF00001 DS F 00815000 @ZTEMPS DS 0F 00816000 @ZT00003 DC F'0' 00817000 @ZTEMPND EQU * 00818000 @ZLEN EQU @ZTEMPND-@ZTEMPS 00819000 ICGDSA01 CSECT 00820000 DS 0F 00821000 @DATD DSECT 00822000 DS 0D 00823000 A01WORK DS CL2 00824000 ORG A01WORK 00825000 MSCFLAGS DS BL1 00826000 ORG MSCFLAGS 00827000 INTA DS BL1 00828000 INTB EQU MSCFLAGS+0 00829000 INTC EQU MSCFLAGS+0 00830000 INTD EQU MSCFLAGS+0 00831000 @NM00020 EQU MSCFLAGS+0 00832000 ORG A01WORK+1 00833000 FLAGS DS BL1 00834000 ORG FLAGS 00835000 HAVEHIT DS BL1 00836000 STOPSCAN EQU FLAGS+0 00837000 ERROR EQU FLAGS+0 00838000 @NM00021 EQU FLAGS+0 00839000 ORG A01WORK+2 00840000 UNPACKED DS CL11 00841000 PACKED DS CL6 00842000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00843000 @ENDDATD EQU * 00844000 ICGDSA01 CSECT 00845000 DS 0F 00846000 @SIZDATD DC AL1(0) 00847000 DC AL3(@ENDDATD-@DATD) 00848000 DS 0D 00849000 ICGDS301 DC CL44' ICG301I NO CPUCONFG MATCH FOR UPPERCON CPU ' 00850000 ICGDS302 DC CL66' ICG302I CPU XXXXXXXXXX MP CONNECTION TO CPU XXXXXXC00851000 XXXX IS INVALID' 00852000 ICGDS303 DC CL79' ICG303I CPU XXXXXXXXXX IS REFERENCED BY ANOTHER CPC00853000 U BUT NOT SPECIFIED AS CPUID' 00854000 ICGDS304 DC CL64' ICG304I CPU XXXXXXXXXX USING PREVIOUSLY SPECIFIED C00855000 MSC INTERFACE' 00856000 ICGDS305 DC CL41' ICG305I CPU XXXXXXXXXX REFERENCES ITSELF' 00857000 ICGDS306 DC CL102' ICG306I CPU XXXXXXXXXX REFERENCES CPU XXXXXXXXXX C00858000 BUT CPU XXXXXXXXXX DOES NOT REFERENCE CPU XXXXXXXXXX' 00859000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00860000 @01 EQU 01 00861000 @02 EQU 02 00862000 @03 EQU 03 00863000 @04 EQU 04 00864000 @05 EQU 05 00865000 @06 EQU 06 00866000 @07 EQU 07 00867000 @08 EQU 08 00868000 @09 EQU 09 00869000 @10 EQU 10 00870000 @11 EQU 11 00871000 @12 EQU 12 00872000 @13 EQU 13 00873000 @14 EQU 14 00874000 @15 EQU 15 00875000 REFINDEX EQU @05 00876000 J EQU @03 00877000 I EQU @02 00878000 INDEX EQU @02 00879000 R4 EQU @04 00880000 COMTAB EQU 0 00881000 READER EQU COMTAB+256 00882000 READFLAG EQU READER+96 00883000 PCHBF EQU READER+99 00884000 STARTCOL EQU READER+180 00885000 NEXTCOL EQU READER+184 00886000 PRINTER EQU COMTAB+464 00887000 OUTBUF2 EQU PRINTER+225 00888000 MESSAGES EQU COMTAB+810 00889000 TERMINAT EQU MESSAGES+6 00890000 SPECLMSG EQU MESSAGES+18 00891000 PRNTBUF2 EQU SPECLMSG 00892000 GENIO EQU COMTAB+832 00893000 DCBPTR EQU GENIO+4 00894000 COMPTR2 EQU GENIO+16 00895000 INVOKED EQU COMTAB+856 00896000 SAVEDDS EQU INVOKED+4 00897000 BUILDRSG EQU COMTAB+900 00898000 RSGS EQU BUILDRSG 00899000 RSG EQU RSGS 00900000 RSGABOX EQU RSG 00901000 RSGTODS EQU RSG+7 00902000 LIBRARY EQU COMTAB+1170 00903000 LIBS EQU LIBRARY 00904000 LIB EQU LIBS 00905000 LIBBITS EQU LIB 00906000 PABTABLE EQU COMTAB+1218 00907000 PABDEV EQU PABTABLE 00908000 PABFLAGS EQU PABDEV 00909000 PABREAL EQU PABDEV+1 00910000 PABAADDD EQU PABDEV+2 00911000 DSPAIRS EQU COMTAB+1938 00912000 PHYSTYPE EQU COMTAB+2002 00913000 PHYSFLGS EQU PHYSTYPE 00914000 MERLICEB EQU PHYSFLGS 00915000 CPUASSOC EQU COMTAB+3026 00916000 CPUNUM EQU CPUASSOC 00917000 CPUS EQU CPUASSOC+2 00918000 CPU EQU CPUS 00919000 CPUID EQU CPU 00920000 TOMPCPU EQU CPU+5 00921000 CPUFLAG1 EQU CPU+6 00922000 CPUTIGHT EQU CPUFLAG1 00923000 CPUALTFL EQU CPUFLAG1 00924000 OPSYSTYP EQU CPUFLAG1 00925000 CPUMSCIN EQU CPUFLAG1 00926000 CPUFLAG2 EQU CPU+7 00927000 CPUSPEC EQU CPUFLAG2 00928000 ALTMSCIN EQU CPUFLAG2 00929000 LOWERCON EQU COMTAB+3156 00930000 LOWDSS EQU LOWERCON 00931000 LOWFLGS EQU LOWDSS 00932000 LIBCTL EQU COMTAB+3284 00933000 LIBCTLS EQU LIBCTL 00934000 CREATE EQU COMTAB+3288 00935000 @NM00017 EQU CREATE 00936000 COMTAB2 EQU 0 00937000 DSTORSG EQU COMTAB2 00938000 DSENTRY EQU DSTORSG 00939000 CONFGCON EQU COMTAB2+32 00940000 RSGUCB EQU CONFGCON 00941000 RSGFLAGS EQU RSGUCB 00942000 CISPEC EQU RSGFLAGS 00943000 RSGCPUID EQU RSGUCB+1 00944000 CPUREFNO EQU RSGUCB+6 00945000 CONFGUCB EQU COMTAB2+464 00946000 CONFGDEV EQU CONFGUCB 00947000 USEFLAGS EQU CONFGDEV 00948000 ALTPATH1 EQU CONFGDEV+2 00949000 ALTPATH2 EQU CONFGDEV+5 00950000 ALTPATH3 EQU CONFGDEV+8 00951000 SCANBUF EQU 0 00952000 SCANDATA EQU 0 00953000 AGO .@UNREFD START UNREFERENCED COMPONENTS 00954000 ALTCH3 EQU ALTPATH3+2 00955000 ALTCI3 EQU ALTPATH3+1 00956000 ALTDS3 EQU ALTPATH3 00957000 ALTCH2 EQU ALTPATH2+2 00958000 ALTCI2 EQU ALTPATH2+1 00959000 ALTDS2 EQU ALTPATH2 00960000 ALTCH1 EQU ALTPATH1+2 00961000 ALTCI1 EQU ALTPATH1+1 00962000 ALTDS1 EQU ALTPATH1 00963000 INDEXRSG EQU CONFGDEV+1 00964000 ICEBERG EQU USEFLAGS 00965000 ITISALTP EQU USEFLAGS 00966000 USECONVR EQU USEFLAGS 00967000 SUPPUNCH EQU USEFLAGS 00968000 USEREAL EQU USEFLAGS 00969000 USEVS EQU USEFLAGS 00970000 USEV EQU USEFLAGS 00971000 USESPEC EQU USEFLAGS 00972000 RSGCUA EQU RSGUCB+8 00973000 RSGCHAN EQU RSGUCB+7 00974000 @NM00019 EQU RSGFLAGS 00975000 TORSG2 EQU DSENTRY+1 00976000 TORSG1 EQU DSENTRY 00977000 COM2BASE EQU COMTAB+3304 00978000 LRUCLOCK EQU CREATE+11 00979000 VOLSER EQU CREATE+5 00980000 VPAGES EQU CREATE+1 00981000 @NM00018 EQU @NM00017 00982000 PRNTONLY EQU @NM00017 00983000 UPDCREAT EQU @NM00017 00984000 NEWCREAT EQU @NM00017 00985000 CMDCREAT EQU @NM00017 00986000 RW67RGHT EQU LIBCTLS 00987000 RW67LEFT EQU LIBCTLS 00988000 RW45RGHT EQU LIBCTLS 00989000 RW45LEFT EQU LIBCTLS 00990000 RW23RGHT EQU LIBCTLS 00991000 RW23LEFT EQU LIBCTLS 00992000 RW01RGHT EQU LIBCTLS 00993000 RW01LEFT EQU LIBCTLS 00994000 LOWLIB EQU LOWDSS+1 00995000 @NM00016 EQU LOWFLGS 00996000 LOWRGHT EQU LOWFLGS 00997000 LOWLEFT EQU LOWFLGS 00998000 LOWRW67 EQU LOWFLGS 00999000 LOWRW45 EQU LOWFLGS 01000000 LOWRW23 EQU LOWFLGS 01001000 LOWRW01 EQU LOWFLGS 01002000 LOWSPEC EQU LOWFLGS 01003000 @NM00015 EQU CPUFLAG2 01004000 ALTMSGBF EQU CPUFLAG2 01005000 @NM00014 EQU CPUFLAG2 01006000 OPJES3 EQU OPSYSTYP 01007000 OPVS2 EQU OPSYSTYP 01008000 OPVS1 EQU OPSYSTYP 01009000 @NM00013 EQU CPUFLAG1 01010000 SPNRSGNO EQU PHYSTYPE+1 01011000 LGDEVICE EQU PHYSFLGS 01012000 LOGABOX1 EQU PHYSFLGS 01013000 PHYSSSID EQU PHYSFLGS 01014000 PHYSREAL EQU PHYSFLGS 01015000 PHYSICEB EQU MERLICEB 01016000 PHYSMERL EQU MERLICEB 01017000 PHYSDS2 EQU DSPAIRS 01018000 PABDDD EQU PABAADDD 01019000 PABAA EQU PABAADDD 01020000 PABZEROS EQU PABAADDD 01021000 PAB2D EQU PABREAL 01022000 PAB2C EQU PABREAL 01023000 PAB2B EQU PABREAL 01024000 @NM00012 EQU PABREAL 01025000 PAB1D EQU PABREAL 01026000 PAB1C EQU PABREAL 01027000 PAB1B EQU PABREAL 01028000 PABIMPLR EQU PABREAL 01029000 PABBERG2 EQU PABFLAGS 01030000 @NM00011 EQU PABFLAGS 01031000 PABDSMTL EQU PABFLAGS 01032000 PABIBERG EQU PABFLAGS 01033000 @NM00010 EQU PABFLAGS 01034000 PABVOVIR EQU PABFLAGS 01035000 PABEXIST EQU PABFLAGS 01036000 MAPEXIT EQU LIB+4 01037000 LIBMAP EQU LIB+3 01038000 LIBDSMID EQU LIB+2 01039000 LIBSIZE EQU LIB+1 01040000 @NM00009 EQU LIBBITS 01041000 LIBSPEC EQU LIBBITS 01042000 TODS2 EQU RSGTODS+1 01043000 TODS1 EQU RSGTODS 01044000 RSGSLICE EQU RSG+3 01045000 RSGUDEL EQU RSG+2 01046000 RSGLDEL EQU RSG+1 01047000 @NM00008 EQU RSG 01048000 RSGABOX1 EQU RSGABOX 01049000 RSGABOX0 EQU RSGABOX 01050000 RSGSPEC EQU RSG 01051000 SVSYSUT3 EQU SAVEDDS+32 01052000 SVSYSUT2 EQU SAVEDDS+24 01053000 SVSYSUT1 EQU SAVEDDS+16 01054000 SVSYSPCH EQU SAVEDDS+8 01055000 SVSYSIN EQU SAVEDDS 01056000 PARMPTR EQU INVOKED 01057000 BUILDPTR EQU GENIO+20 01058000 SAVE14 EQU GENIO+12 01059000 EXLST EQU GENIO+8 01060000 @NM00007 EQU DCBPTR+1 01061000 DCBFLAG EQU DCBPTR 01062000 OPENLIST EQU GENIO 01063000 @NM00006 EQU MESSAGES+19 01064000 NEEDEOJ EQU SPECLMSG 01065000 ENDPHASE EQU SPECLMSG 01066000 @NM00005 EQU SPECLMSG 01067000 PRNTCARD EQU SPECLMSG 01068000 @NM00004 EQU SPECLMSG 01069000 NEED102 EQU SPECLMSG 01070000 NEED101 EQU SPECLMSG 01071000 PRINTRC EQU MESSAGES+16 01072000 TERM EQU MESSAGES+12 01073000 WARN EQU MESSAGES+8 01074000 WARNING EQU MESSAGES+4 01075000 MSGNO EQU MESSAGES+2 01076000 RETCODE EQU MESSAGES 01077000 OUTBUF EQU PRINTER+104 01078000 LINECT EQU PRINTER+102 01079000 LINECTR EQU PRINTER+100 01080000 PAGENO EQU PRINTER+96 01081000 DCBPRINT EQU PRINTER 01082000 @NM00003 EQU READER+206 01083000 SCANLEN EQU READER+204 01084000 SVEODAD EQU READER+200 01085000 SVSYNAD2 EQU READER+196 01086000 SAVENCOL EQU READER+192 01087000 SAVESCOL EQU READER+188 01088000 INBUF EQU READER+100 01089000 SSELECT EQU PCHBF 01090000 @NM00002 EQU READER+97 01091000 @NM00001 EQU READFLAG 01092000 LASTPARM EQU READFLAG 01093000 ENDSCAN EQU READFLAG 01094000 PARMBIT EQU READFLAG 01095000 KEYBIT EQU READFLAG 01096000 READTERM EQU READFLAG 01097000 READDCB EQU READER 01098000 PATCH EQU COMTAB 01099000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01100000 @RC00038 EQU @RC00037 01101000 @RC00043 EQU @RC00042 01102000 @RC00048 EQU @RC00047 01103000 @RC00053 EQU @RC00052 01104000 @ENDDATA EQU * 01105000 END ICGDSA01,(C'PLS1845',0603,76335) 01106000