TITLE ' /* IRBMFRCR - CPU ACTIVITY REPORT *00001000 ' 00002000 IRBMFRCR CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(16) 0001 00007000 DC C'IRBMFRCR 74.087' 0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 0001 00010000 BALR @10,0 0001 00011000 @PSTART DS 0H 0001 00012000 USING @PSTART,@10 0001 00013000 L @00,@SIZDATD 0001 00014000 GETMAIN R,LV=(0) 00015000 LR @09,@01 0001 00016000 USING @DATD,@09 0001 00017000 ST @13,@SA00001+4 0001 00018000 LM @00,@01,20(@13) 0001 00019000 ST @09,8(,@13) 0001 00020000 LR @13,@09 0001 00021000 XC @ZTEMPS(@ZLEN),@ZTEMPS 00022000 MVC @PC00001(8),0(@01) 0001 00023000 * 0011 00024000 * /*****************************************************************/ 00025000 * /* */ 00026000 * /* GENERAL INITIALIZATION */ 00027000 * /* */ 00028000 * /*****************************************************************/ 00029000 * 0011 00030000 * RCPAGE=1; /* 1ST PAGE OF REPORT */ 00031000 MVC RCPAGE(4),@CF00071 0011 00032000 * CALL MFRCHEAD; /* SET UP PAGE HEADER */ 00033000 * 0012 00034000 BAL @14,MFRCHEAD 0012 00035000 * /*****************************************************************/ 00036000 * /* */ 00037000 * /* INSERT HEADINGS FOR CPU REPORT */ 00038000 * /* */ 00039000 * /*****************************************************************/ 00040000 * 0013 00041000 *MFRCHEAD: 0013 00042000 * PROCEDURE; 0013 00043000 * 0013 00044000 B @PB00002 0013 00045000 MFRCHEAD STM @14,@12,@SA00002 0013 00046000 * /*****************************************************************/ 00047000 * /* */ 00048000 * /* INSERT CPU ACTIVITY HEADER */ 00049000 * /* */ 00050000 * /*****************************************************************/ 00051000 * 0014 00052000 * CALL MFHDRISR(RCDATPTR, /* PTR TO SMF RECORD */ 00053000 * IRBMFLCV(LCPART1)->RCTEXT, /* TEXT */ 00054000 * IRBMFLCV(LCPART1)->RCLENGTH,/* LENGTH */ 00055000 * RCPAGE); /* PAGE NUMBER */ 00056000 * 0014 00057000 L @08,@PC00001 0014 00058000 ST @08,@AL00001 0014 00059000 L @08,@CA00125 0014 00060000 L @08,IRBMFLCV-IRBMFLCV(,@08) 0014 00061000 LA @15,RCTEXT(,@08) 0014 00062000 ST @15,@AL00001+4 0014 00063000 ST @08,@AL00001+8 0014 00064000 LA @08,RCPAGE 0014 00065000 ST @08,@AL00001+12 0014 00066000 L @08,@PC00001+4 0014 00067000 L @15,RCVECTAB+4(,@08) 0014 00068000 LA @01,@AL00001 0014 00069000 BALR @14,@15 0014 00070000 * /*****************************************************************/ 00071000 * /* */ 00072000 * /* INSERT COLUMN HEADINGS */ 00073000 * /* */ 00074000 * /*****************************************************************/ 00075000 * 0015 00076000 * RCLINE=RCCON9CL; /* BEGIN COLUMN HEADINGS */ 00077000 * 0015 00078000 MVC RCLINE(4),@CF00107 0015 00079000 */* CPU HEADING */ 00080000 * 0016 00081000 * /*****************************************************************/ 00082000 * /* */ 00083000 * /* MACDATE Y-2 73018 */ 00084000 * /* */ 00085000 * /*****************************************************************/ 00086000 * 0016 00087000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00088000 * IRBMFLCV(LCPART2)->RCTEXT, /* TEXT */ 00089000 * IRBMFLCV(LCPART2)->RCLENGTH,/* LENGTH */ 00090000 * RCLINE, /* START LINE */ 00091000 * RCCOLA /* START COLUMN */ 00092000 * ); 0016 00093000 * 0016 00094000 L @08,@CA00125 0016 00095000 L @08,IRBMFLCV-IRBMFLCV+4(,@08) 0016 00096000 LA @15,RCTEXT(,@08) 0016 00097000 ST @15,@AL00001 0016 00098000 ST @08,@AL00001+4 0016 00099000 LA @08,RCLINE 0016 00100000 ST @08,@AL00001+8 0016 00101000 LA @08,@CF00071 0016 00102000 ST @08,@AL00001+12 0016 00103000 L @08,@PC00001+4 0016 00104000 L @15,RCVECTAB+8(,@08) 0016 00105000 LA @01,@AL00001 0016 00106000 BALR @14,@15 0016 00107000 */* WAIT TIME HEADING */ 00108000 * 0017 00109000 * /*****************************************************************/ 00110000 * /* */ 00111000 * /* MACDATE Y-2 73018 */ 00112000 * /* */ 00113000 * /*****************************************************************/ 00114000 * 0017 00115000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00116000 * IRBMFLCV(LCPART4)->RCTEXT, /* TEXT */ 00117000 * IRBMFLCV(LCPART4)->RCLENGTH,/* LENGTH */ 00118000 * RCLINE, /* START LINE */ 00119000 * RCCOLB /* START COLUMN */ 00120000 * ); 0017 00121000 * 0017 00122000 L @08,@CA00125 0017 00123000 L @08,IRBMFLCV-IRBMFLCV+12(,@08) 0017 00124000 LA @15,RCTEXT(,@08) 0017 00125000 ST @15,@AL00001 0017 00126000 ST @08,@AL00001+4 0017 00127000 LA @08,RCLINE 0017 00128000 ST @08,@AL00001+8 0017 00129000 LA @08,@CF00133 0017 00130000 ST @08,@AL00001+12 0017 00131000 L @08,@PC00001+4 0017 00132000 L @15,RCVECTAB+8(,@08) 0017 00133000 LA @01,@AL00001 0017 00134000 BALR @14,@15 0017 00135000 */* WAIT TIME (PERCENTAGE) HEADING */ 00136000 * 0018 00137000 * /*****************************************************************/ 00138000 * /* */ 00139000 * /* MACDATE Y-2 73018 */ 00140000 * /* */ 00141000 * /*****************************************************************/ 00142000 * 0018 00143000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00144000 * IRBMFLCV(LCPART4)->RCTEXT, /* TEXT */ 00145000 * IRBMFLCV(LCPART4)->RCLENGTH,/* LENGTH */ 00146000 * RCLINE, /* START LINE */ 00147000 * RCCOLC /* START COLUMN */ 00148000 * ); 0018 00149000 * 0018 00150000 L @08,@CA00125 0018 00151000 L @08,IRBMFLCV-IRBMFLCV+12(,@08) 0018 00152000 LA @15,RCTEXT(,@08) 0018 00153000 ST @15,@AL00001 0018 00154000 ST @08,@AL00001+4 0018 00155000 LA @08,RCLINE 0018 00156000 ST @08,@AL00001+8 0018 00157000 LA @08,@CF00135 0018 00158000 ST @08,@AL00001+12 0018 00159000 L @08,@PC00001+4 0018 00160000 L @15,RCVECTAB+8(,@08) 0018 00161000 LA @01,@AL00001 0018 00162000 BALR @14,@15 0018 00163000 */* CPU SERIAL HEADING */ 00164000 * 0019 00165000 * /*****************************************************************/ 00166000 * /* */ 00167000 * /* MACDATE Y-2 73018 */ 00168000 * /* */ 00169000 * /*****************************************************************/ 00170000 * 0019 00171000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00172000 * IRBMFLCV(LCPART5)->RCTEXT, /* TEXT */ 00173000 * IRBMFLCV(LCPART5)->RCLENGTH,/* LENGTH */ 00174000 * RCLINE, /* START LINE */ 00175000 * RCCOLD /* START COLUMN */ 00176000 * ); 0019 00177000 L @08,@CA00125 0019 00178000 L @08,IRBMFLCV-IRBMFLCV+16(,@08) 0019 00179000 LA @15,RCTEXT(,@08) 0019 00180000 ST @15,@AL00001 0019 00181000 ST @08,@AL00001+4 0019 00182000 LA @08,RCLINE 0019 00183000 ST @08,@AL00001+8 0019 00184000 LA @08,@CF00083 0019 00185000 ST @08,@AL00001+12 0019 00186000 L @08,@PC00001+4 0019 00187000 L @15,RCVECTAB+8(,@08) 0019 00188000 LA @01,@AL00001 0019 00189000 BALR @14,@15 0019 00190000 * RCLINE=RCLINE+1; /* GO TO NEXT LINE */ 00191000 * 0020 00192000 LA @08,1 0020 00193000 A @08,RCLINE 0020 00194000 ST @08,RCLINE 0020 00195000 */* NUMBER (CPU) HEADING */ 00196000 * 0021 00197000 * /*****************************************************************/ 00198000 * /* */ 00199000 * /* MACDATE Y-2 73018 */ 00200000 * /* */ 00201000 * /*****************************************************************/ 00202000 * 0021 00203000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00204000 * IRBMFLCV(LCPART3)->RCTEXT, /* TEXT */ 00205000 * IRBMFLCV(LCPART3)->RCLENGTH,/* LENGTH */ 00206000 * RCLINE, /* START LINE */ 00207000 * RCCOLA /* START COLUMN */ 00208000 * ); 0021 00209000 * 0021 00210000 L @08,@CA00125 0021 00211000 L @08,IRBMFLCV-IRBMFLCV+8(,@08) 0021 00212000 LA @15,RCTEXT(,@08) 0021 00213000 ST @15,@AL00001 0021 00214000 ST @08,@AL00001+4 0021 00215000 LA @08,RCLINE 0021 00216000 ST @08,@AL00001+8 0021 00217000 LA @08,@CF00071 0021 00218000 ST @08,@AL00001+12 0021 00219000 L @08,@PC00001+4 0021 00220000 L @15,RCVECTAB+8(,@08) 0021 00221000 LA @01,@AL00001 0021 00222000 BALR @14,@15 0021 00223000 */* HH.MM.SS.TTT HEADING */ 00224000 * 0022 00225000 * /*****************************************************************/ 00226000 * /* */ 00227000 * /* MACDATE Y-2 73018 */ 00228000 * /* */ 00229000 * /*****************************************************************/ 00230000 * 0022 00231000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00232000 * IRBMFLCV(LCPART8)->RCTEXT, /* TEXT */ 00233000 * IRBMFLCV(LCPART8)->RCLENGTH,/* LENGTH */ 00234000 * RCLINE, /* START LINE */ 00235000 * RCCOLB /* START COLUMN */ 00236000 * ); 0022 00237000 * 0022 00238000 L @08,@CA00125 0022 00239000 L @08,IRBMFLCV-IRBMFLCV+28(,@08) 0022 00240000 LA @15,RCTEXT(,@08) 0022 00241000 ST @15,@AL00001 0022 00242000 ST @08,@AL00001+4 0022 00243000 LA @08,RCLINE 0022 00244000 ST @08,@AL00001+8 0022 00245000 LA @08,@CF00133 0022 00246000 ST @08,@AL00001+12 0022 00247000 L @08,@PC00001+4 0022 00248000 L @15,RCVECTAB+8(,@08) 0022 00249000 LA @01,@AL00001 0022 00250000 BALR @14,@15 0022 00251000 */* PERCENTAGE (WAIT TIME) HEADING */ 00252000 * 0023 00253000 * /*****************************************************************/ 00254000 * /* */ 00255000 * /* MACDATE Y-2 73018 */ 00256000 * /* */ 00257000 * /*****************************************************************/ 00258000 * 0023 00259000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00260000 * IRBMFLCV(LCPART6)->RCTEXT, /* TEXT */ 00261000 * IRBMFLCV(LCPART6)->RCLENGTH,/* LENGTH */ 00262000 * RCLINE, /* START LINE */ 00263000 * RCCOLC /* START COLUMN */ 00264000 * ); 0023 00265000 * 0023 00266000 L @08,@CA00125 0023 00267000 L @08,IRBMFLCV-IRBMFLCV+20(,@08) 0023 00268000 LA @15,RCTEXT(,@08) 0023 00269000 ST @15,@AL00001 0023 00270000 ST @08,@AL00001+4 0023 00271000 LA @08,RCLINE 0023 00272000 ST @08,@AL00001+8 0023 00273000 LA @08,@CF00135 0023 00274000 ST @08,@AL00001+12 0023 00275000 L @08,@PC00001+4 0023 00276000 L @15,RCVECTAB+8(,@08) 0023 00277000 LA @01,@AL00001 0023 00278000 BALR @14,@15 0023 00279000 */* NUMBER (CPU SERIAL) HEADING */ 00280000 * 0024 00281000 * /*****************************************************************/ 00282000 * /* */ 00283000 * /* MACDATE Y-2 73018 */ 00284000 * /* */ 00285000 * /*****************************************************************/ 00286000 * 0024 00287000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00288000 * IRBMFLCV(LCPART3)->RCTEXT, /* TEXT */ 00289000 * IRBMFLCV(LCPART3)->RCLENGTH,/* LENGTH */ 00290000 * RCLINE, /* START LINE */ 00291000 * RCCOLD /* START COLUMN */ 00292000 * ); 0024 00293000 L @08,@CA00125 0024 00294000 L @08,IRBMFLCV-IRBMFLCV+8(,@08) 0024 00295000 LA @15,RCTEXT(,@08) 0024 00296000 ST @15,@AL00001 0024 00297000 ST @08,@AL00001+4 0024 00298000 LA @08,RCLINE 0024 00299000 ST @08,@AL00001+8 0024 00300000 LA @08,@CF00083 0024 00301000 ST @08,@AL00001+12 0024 00302000 L @08,@PC00001+4 0024 00303000 L @15,RCVECTAB+8(,@08) 0024 00304000 LA @01,@AL00001 0024 00305000 BALR @14,@15 0024 00306000 * RETURN; /* RETRUN TO MAIN LINE OF PROGRAM*/ 00307000 @EL00002 DS 0H 0025 00308000 @EF00002 DS 0H 0025 00309000 @ER00002 LM @14,@12,@SA00002 0025 00310000 BR @14 0025 00311000 * END MFRCHEAD; 0026 00312000 @PB00002 DS 0H 0027 00313000 * 0027 00314000 * /*****************************************************************/ 00315000 * /* */ 00316000 * /* RETRIVE DATA FOR EVERY CPU AND INSERT INTO PAGE */ 00317000 * /* */ 00318000 * /*****************************************************************/ 00319000 * 0027 00320000 * RCWTPTOT=0; /* TOTAL WAIT PERCENT INIT. */ 00321000 SR @08,@08 0027 00322000 ST @08,RCWTPTOT 0027 00323000 * RCCPUTOT=0; /* TOTAL ONLINE CPUS */ 00324000 LR RCCPUTOT,@08 0028 00325000 * DO RCCPUIDX=1 TO SMF70CPU; 0029 00326000 LA RCCPUIDX,1 0029 00327000 B @DE00029 0029 00328000 @DL00029 DS 0H 0030 00329000 * RCLINE=RCLINE+RCCON3DT; /* SKIP THREE LINES */ 00330000 LA @08,3 0030 00331000 A @08,RCLINE 0030 00332000 ST @08,RCLINE 0030 00333000 * IF RCLINE>RGMAXLN THEN /* END OF PAGE? */ 00334000 CH @08,@CH00083 0031 00335000 BNH @RF00031 0031 00336000 * DO; /* SET UP PAGE HEADINGS */ 00337000 * CALL MFWRTPAG; /* WRITE OUT PAGE */ 00338000 L @08,@PC00001+4 0033 00339000 L @15,RCVECTAB+12(,@08) 0033 00340000 BALR @14,@15 0033 00341000 * RCPAGE=RCPAGE+1; /* NEXT PAGE */ 00342000 LA @08,1 0034 00343000 A @08,RCPAGE 0034 00344000 ST @08,RCPAGE 0034 00345000 * CALL MFRCHEAD; /* INSERT HEADINGS */ 00346000 BAL @14,MFRCHEAD 0035 00347000 * RCLINE=RCLINE+RCCON3DT; /* NEXT DATA LINE */ 00348000 LA @08,3 0036 00349000 A @08,RCLINE 0036 00350000 ST @08,RCLINE 0036 00351000 * END; 0037 00352000 * 0037 00353000 * /***************************************************************/ 00354000 * /* */ 00355000 * /* PROCESS CPU ID NUMBER */ 00356000 * /* */ 00357000 * /***************************************************************/ 00358000 * 0038 00359000 */* MACDATE Y-2 73018 */ 00360000 * 0038 00361000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 00362000 * EVAL(SMF70CID(RCCPUIDX)), /* INPUT VALUE */ 00363000 * RCDATSCF, /* INPUT SCALE */ 00364000 * RCCPUID, /* OUTPUT STRING */ 00365000 * RCDATLEN, /* OUTPUT LENGTH */ 00366000 * RCDATRDP, /* PLACES RIGHT OF DEC PT */ 00367000 * RCNOCOMA, /* COMMAS FLAG */ 00368000 * RCNOFLOT /* MAX PRECISION FLAG */ 00369000 * ); 0038 00370000 * 0038 00371000 @RF00031 MVC @AL00001+4(24),@AL00038 0038 00372000 LR @08,RCCPUIDX 0038 00373000 SLA @08,4 0038 00374000 L @15,@PC00001 0038 00375000 L @15,SMF70PTR(,@15) 0038 00376000 LA @14,SMF70SIZ(,@15) 0038 00377000 AH @14,SMF70SIZ(,@15) 0038 00378000 LH @15,SMF70SCC(,@14) 0038 00379000 AR @15,@14 0038 00380000 AL @15,@CF00223 0038 00381000 LH @08,SMF70CID-8(@08,@15) 0038 00382000 ST @08,@AFTEMPS 0038 00383000 LA @08,@AFTEMPS 0038 00384000 ST @08,@AL00001 0038 00385000 LA @08,RCCPUID 0038 00386000 ST @08,@AL00001+8 0038 00387000 L @08,@PC00001+4 0038 00388000 L @15,RCVECTAB(,@08) 0038 00389000 LA @01,@AL00001 0038 00390000 BALR @14,@15 0038 00391000 * /***************************************************************/ 00392000 * /* */ 00393000 * /* MACDATE Y-2 73018 */ 00394000 * /* */ 00395000 * /***************************************************************/ 00396000 * 0039 00397000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00398000 * RCCPUID, /* TEXT */ 00399000 * RCDATLEN, /* LENGTH */ 00400000 * RCLINE, /* START LINE */ 00401000 * RCCOLA /* START COLUMN */ 00402000 * ); 0039 00403000 * 0039 00404000 LA @08,RCCPUID 0039 00405000 ST @08,@AL00001 0039 00406000 LA @08,@CF00054 0039 00407000 ST @08,@AL00001+4 0039 00408000 LA @08,RCLINE 0039 00409000 ST @08,@AL00001+8 0039 00410000 LA @08,@CF00071 0039 00411000 ST @08,@AL00001+12 0039 00412000 L @08,@PC00001+4 0039 00413000 L @15,RCVECTAB+8(,@08) 0039 00414000 LA @01,@AL00001 0039 00415000 BALR @14,@15 0039 00416000 * /***************************************************************/ 00417000 * /* */ 00418000 * /* CHECK VARY ACTIVITY AND ONLINE STATUS */ 00419000 * /* */ 00420000 * /***************************************************************/ 00421000 * 0040 00422000 * IF SMF70VAC(RCCPUIDX)=RCNOACTY&SMF70STA(RCCPUIDX)=RCONLINE THEN 00423000 LR @08,RCCPUIDX 0040 00424000 SLA @08,4 0040 00425000 L @15,@PC00001 0040 00426000 L @15,SMF70PTR(,@15) 0040 00427000 LA @14,SMF70SIZ(,@15) 0040 00428000 AH @14,SMF70SIZ(,@15) 0040 00429000 LH @15,SMF70SCC(,@14) 0040 00430000 AR @15,@14 0040 00431000 ST @08,@TF00001 0040 00432000 ALR @08,@15 0040 00433000 AL @08,@CF00224 0040 00434000 TM SMF70STA-11(@08),B'00000001' 0040 00435000 BNO @RF00040 0040 00436000 TM SMF70VAC-11(@08),B'00000010' 0040 00437000 BNZ @RF00040 0040 00438000 * DO; 0041 00439000 * 0041 00440000 * /***********************************************************/ 00441000 * /* */ 00442000 * /* PROCESS WAIT TIME. MACDATE Y-2 73018 */ 00443000 * /* */ 00444000 * /***********************************************************/ 00445000 * 0042 00446000 * RESPECIFY 0042 00447000 * (GPR00P, 0042 00448000 * GPR01P, 0042 00449000 * GPR14P, 0042 00450000 * GPR15P)RESTRICTED; 0042 00451000 * GPR00P=SMF70WAT(RCCPUIDX,1:4); 0043 00452000 ST @15,@TF00002 0043 00453000 L @08,@TF00002 0043 00454000 AL @08,@TF00001 0043 00455000 AL @08,@CF00225 0043 00456000 MVC @TF00003(4),SMF70WAT(@08) 0043 00457000 L GPR00P,@TF00003 0043 00458000 * GPR01P=SMF70WAT(RCCPUIDX,5:8);/* BIT 51 = 1 MICROSECOND */ 00459000 L @08,@TF00002 0044 00460000 AL @08,@TF00001 0044 00461000 AL @08,@CF00226 0044 00462000 MVC @TF00001(4),SMF70WAT(@08) 0044 00463000 L GPR01P,@TF00001 0044 00464000 * GEN; 0045 00465000 SRDL GPR00P,12 PUT MICROSEC IN BIT 63 00466000 D GPR00P,RCMILLI 00467000 * GEN DATA; 0046 00468000 * RCTEMP=GPR01P/3600000*10000000/* HOURS HH0000000 */ 00469000 * +GPR01P//3600000/60000*100000/* MINUTES 00MM00000 */ 00470000 * +GPR01P//60000; /* THOUSANDTHS SECONDS 0000TTTTT */ 00471000 L @08,@CF00200 0047 00472000 LR @05,GPR01P 0047 00473000 SR @04,@04 0047 00474000 DR @04,@08 0047 00475000 M @04,@CF00201 0047 00476000 L @04,@CF00202 0047 00477000 LR @06,GPR01P 0047 00478000 SRDA @06,32 0047 00479000 DR @06,@08 0047 00480000 SRDA @06,32 0047 00481000 DR @06,@04 0047 00482000 M @06,@CF00203 0047 00483000 AR @05,@07 0047 00484000 LR @06,GPR01P 0047 00485000 SRDA @06,32 0047 00486000 DR @06,@04 0047 00487000 AR @05,@06 0047 00488000 ST @05,RCTEMP 0047 00489000 * RCSAVWAT=GPR01P; /* SAVE RESULTS FOR PERCENTAGE 0048 00490000 * CALCULATIONS */ 00491000 * 0048 00492000 ST GPR01P,RCSAVWAT 0048 00493000 * /***********************************************************/ 00494000 * /* */ 00495000 * /* MACDATE Y-2 73018 */ 00496000 * /* */ 00497000 * /***********************************************************/ 00498000 * 0049 00499000 * RESPECIFY 0049 00500000 * (GPR00P, 0049 00501000 * GPR01P, 0049 00502000 * GPR14P, 0049 00503000 * GPR15P)UNRESTRICTED; 0049 00504000 * 0049 00505000 * /***********************************************************/ 00506000 * /* */ 00507000 * /* CONVERT TO CHARACTER FORMAT HHMMSS.TTT */ 00508000 * /* */ 00509000 * /***********************************************************/ 00510000 * 0050 00511000 */* MACDATE Y-2 73018 */ 00512000 * 0050 00513000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 00514000 * RCTEMP, /* INPUT VALUE */ 00515000 * RCCCHSCF, /* INPUT SCALE */ 00516000 * RCWATIME, /* OUTPUT STRING */ 00517000 * RCCCHLEN, /* OUTPUT LENGTH */ 00518000 * RCCCHRDP, /* PLACES RIGHT OF DEC PT */ 00519000 * RCNOCOMA, /* COMMAS FLAG */ 00520000 * RCNOFLOT /* MAX PRECISION FLAG */ 00521000 * ); 0050 00522000 * 0050 00523000 MVC @AL00001+4(24),@AL00050 0050 00524000 LA @08,RCTEMP 0050 00525000 ST @08,@AL00001 0050 00526000 LA @08,RCWATIME 0050 00527000 ST @08,@AL00001+8 0050 00528000 L @08,@PC00001+4 0050 00529000 L @15,RCVECTAB(,@08) 0050 00530000 LA @01,@AL00001 0050 00531000 BALR @14,@15 0050 00532000 * /***********************************************************/ 00533000 * /* */ 00534000 * /* MAKE LEADING BLANKS INTO ZEROS */ 00535000 * /* */ 00536000 * /***********************************************************/ 00537000 * 0051 00538000 * DO I=1 TO 10 WHILE(RCWATIME(I:I)=' '); 0051 00539000 LA I,1 0051 00540000 @DL00051 LA @08,RCWATIME-1(I) 0051 00541000 CLI 0(@08),C' ' 0051 00542000 BNE @DC00051 0051 00543000 * RCWATIME(I:I)='0'; 0052 00544000 LA @08,RCWATIME-1(I) 0052 00545000 MVI 0(@08),C'0' 0052 00546000 * END; 0053 00547000 * 0053 00548000 AH I,@CH00071 0053 00549000 CH I,@CH00109 0053 00550000 BNH @DL00051 0053 00551000 @DC00051 DS 0H 0054 00552000 */* INSERT PERIODS FIRST */ 00553000 * 0054 00554000 * /***********************************************************/ 00555000 * /* */ 00556000 * /* MACDATE Y-2 73018 */ 00557000 * /* */ 00558000 * /***********************************************************/ 00559000 * 0054 00560000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00561000 * IRBMFLCV(LCPART9)->RCTEXT,/* TEXT */ 00562000 * IRBMFLCV(LCPART9)->RCLENGTH,/* LENGTH */ 00563000 * RCLINE, /* START LINE */ 00564000 * RCCOLB+2 /* START COLUMN */ 00565000 * ); 0054 00566000 * 0054 00567000 L @08,@CA00125 0054 00568000 L @08,IRBMFLCV-IRBMFLCV+32(,@08) 0054 00569000 LA @15,RCTEXT(,@08) 0054 00570000 ST @15,@AL00001 0054 00571000 ST @08,@AL00001+4 0054 00572000 LA @08,RCLINE 0054 00573000 ST @08,@AL00001+8 0054 00574000 LA @08,@CF00211 0054 00575000 ST @08,@AL00001+12 0054 00576000 L @08,@PC00001+4 0054 00577000 L @15,RCVECTAB+8(,@08) 0054 00578000 LA @01,@AL00001 0054 00579000 BALR @14,@15 0054 00580000 * /***********************************************************/ 00581000 * /* */ 00582000 * /* HOURS (HH) MACDATE Y-2 73018 */ 00583000 * /* */ 00584000 * /***********************************************************/ 00585000 * 0055 00586000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00587000 * RCWATIME, /* TEXT */ 00588000 * RCTXTHRS, /* LENGTH */ 00589000 * RCLINE, /* START LINE */ 00590000 * RCCOLB /* START COLUMN */ 00591000 * ); 0055 00592000 * 0055 00593000 LA @08,RCWATIME 0055 00594000 ST @08,@AL00001 0055 00595000 LA @08,@CF00054 0055 00596000 ST @08,@AL00001+4 0055 00597000 LA @08,RCLINE 0055 00598000 ST @08,@AL00001+8 0055 00599000 LA @08,@CF00133 0055 00600000 ST @08,@AL00001+12 0055 00601000 L @08,@PC00001+4 0055 00602000 L @15,RCVECTAB+8(,@08) 0055 00603000 LA @01,@AL00001 0055 00604000 BALR @14,@15 0055 00605000 * /***********************************************************/ 00606000 * /* */ 00607000 * /* MINUTES (MM) MACDATE Y-2 73018 */ 00608000 * /* */ 00609000 * /***********************************************************/ 00610000 * 0056 00611000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00612000 * (ADDR(RCWATIME)+2)->RCDUMTXT,/* TEXT */ 00613000 * RCTXTMIN, /* LENGTH */ 00614000 * RCLINE, /* START LINE */ 00615000 * RCCOLB+RCTXTHRS+1 /* START COLUMN */ 00616000 * ); 0056 00617000 * 0056 00618000 LA @08,RCWATIME 0056 00619000 LA @08,RCDUMTXT+2(,@08) 0056 00620000 ST @08,@AL00001 0056 00621000 LA @08,@CF00054 0056 00622000 ST @08,@AL00001+4 0056 00623000 LA @08,RCLINE 0056 00624000 ST @08,@AL00001+8 0056 00625000 LA @08,@CF00212 0056 00626000 ST @08,@AL00001+12 0056 00627000 L @08,@PC00001+4 0056 00628000 L @15,RCVECTAB+8(,@08) 0056 00629000 LA @01,@AL00001 0056 00630000 BALR @14,@15 0056 00631000 * /***********************************************************/ 00632000 * /* */ 00633000 * /* SECONDS (SS.TTT) MACDATE Y-2 73018 */ 00634000 * /* */ 00635000 * /***********************************************************/ 00636000 * 0057 00637000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00638000 * (ADDR(RCWATIME)+4)->RCDUMTXT,/* TEXT */ 00639000 * RCTXTSEC, /* LENGTH */ 00640000 * RCLINE, /* START LINE */ 00641000 * RCCOLB+RCTXTHRS+RCTXTMIN+2/* START COLUMN */ 00642000 * ); 0057 00643000 * 0057 00644000 LA @08,RCWATIME 0057 00645000 LA @08,RCDUMTXT+4(,@08) 0057 00646000 ST @08,@AL00001 0057 00647000 LA @08,@CF00074 0057 00648000 ST @08,@AL00001+4 0057 00649000 LA @08,RCLINE 0057 00650000 ST @08,@AL00001+8 0057 00651000 LA @08,@CF00214 0057 00652000 ST @08,@AL00001+12 0057 00653000 L @08,@PC00001+4 0057 00654000 L @15,RCVECTAB+8(,@08) 0057 00655000 LA @01,@AL00001 0057 00656000 BALR @14,@15 0057 00657000 * /***********************************************************/ 00658000 * /* */ 00659000 * /* PROCESS WAIT TIME PERCENTAGE. FIRST CALCULATE INTERVAL */ 00660000 * /* TIME. */ 00661000 * /* */ 00662000 * /***********************************************************/ 00663000 * 0058 00664000 * CVB(RCTEMP,SMF70INT); /* GET BINARY MMTTTTT FROM PACKED 00665000 * FORM MMSSTTTF */ 00666000 L @08,@PC00001 0058 00667000 L @08,SMF70PTR(,@08) 0058 00668000 XC @TS00001(8),@TS00001 0058 00669000 MVC @TS00001+4(4),SMF70INT(@08) 0058 00670000 CVB @08,@TS00001 0058 00671000 ST @08,RCTEMP 0058 00672000 * RCTEMP=((RCTEMP/100000) /* THOUSAND THIS SEC=MINUTES (MM)*/ 00673000 * *60*1000) /* CONVERTED TO THOUSANDTHS SEC, */ 00674000 * +(RCTEMP//100000); /* PLUS THOUSANDTHS (TTTTT). */ 00675000 * 0059 00676000 L @08,RCTEMP 0059 00677000 L @15,@CF00203 0059 00678000 LR @00,@08 0059 00679000 SRDA @00,32 0059 00680000 DR @00,@15 0059 00681000 M @00,@CF00202 0059 00682000 LR @04,@08 0059 00683000 SRDA @04,32 0059 00684000 DR @04,@15 0059 00685000 AR @01,@04 0059 00686000 ST @01,RCTEMP 0059 00687000 * /***********************************************************/ 00688000 * /* */ 00689000 * /* NOW, CALCULATE WAIT TIME PERCENTAGE */ 00690000 * /* */ 00691000 * /***********************************************************/ 00692000 * 0060 00693000 * IF RCTEMP^=0 THEN /* CAN DIVISION BE DONE? */ 00694000 LTR @01,@01 0060 00695000 BZ @RF00060 0060 00696000 * DO; 0061 00697000 * RCWTPRCT=10000*RCSAVWAT/RCTEMP; 0062 00698000 L @05,RCSAVWAT 0062 00699000 M @04,@CF00207 0062 00700000 DR @04,@01 0062 00701000 ST @05,RCWTPRCT 0062 00702000 * RCWTPTOT=RCWTPTOT+RCWTPRCT;/* ACCUMULATE ALL WAIT TIME 00703000 * % */ 00704000 A @05,RCWTPTOT 0063 00705000 ST @05,RCWTPTOT 0063 00706000 * END; 0064 00707000 * ELSE 0065 00708000 * RCWTPRCT=0; /* WAIT TIME PERCENTAGE IS 0 */ 00709000 * 0065 00710000 B @RC00060 0065 00711000 @RF00060 SR @08,@08 0065 00712000 ST @08,RCWTPRCT 0065 00713000 * /***********************************************************/ 00714000 * /* */ 00715000 * /* MACDATE Y-2 73018 */ 00716000 * /* */ 00717000 * /***********************************************************/ 00718000 * 0066 00719000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 00720000 * RCWTPRCT, /* INPUT VALUE */ 00721000 * RCRATSCF, /* INPUT SCALE */ 00722000 * RCOUTCHR, /* OUTPUT STRING */ 00723000 * RCRATLEN, /* OUTPUT LENGTH */ 00724000 * RCRATRDP, /* PLACES RIGHT OF DEC PT */ 00725000 * RCNOCOMA, /* COMMAS FLAG */ 00726000 * RCNOFLOT /* MAX PRECISION FLAG */ 00727000 * ); 0066 00728000 * 0066 00729000 @RC00060 MVC @AL00001+4(24),@AL00066 0066 00730000 LA @08,RCWTPRCT 0066 00731000 ST @08,@AL00001 0066 00732000 LA @08,RCOUTCHR 0066 00733000 ST @08,@AL00001+8 0066 00734000 L @08,@PC00001+4 0066 00735000 L @15,RCVECTAB(,@08) 0066 00736000 LA @01,@AL00001 0066 00737000 BALR @14,@15 0066 00738000 * /***********************************************************/ 00739000 * /* */ 00740000 * /* MACDATE Y-2 73018 */ 00741000 * /* */ 00742000 * /***********************************************************/ 00743000 * 0067 00744000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00745000 * RCOUTCHR, /* TEXT */ 00746000 * RCRATLEN, /* LENGTH */ 00747000 * RCLINE, /* START LINE */ 00748000 * RCCOLC /* START COLUMN */ 00749000 * ); 0067 00750000 * 0067 00751000 LA @08,RCOUTCHR 0067 00752000 ST @08,@AL00001 0067 00753000 LA @08,@CF00101 0067 00754000 ST @08,@AL00001+4 0067 00755000 LA @08,RCLINE 0067 00756000 ST @08,@AL00001+8 0067 00757000 LA @08,@CF00135 0067 00758000 ST @08,@AL00001+12 0067 00759000 L @08,@PC00001+4 0067 00760000 L @15,RCVECTAB+8(,@08) 0067 00761000 LA @01,@AL00001 0067 00762000 BALR @14,@15 0067 00763000 * /***********************************************************/ 00764000 * /* */ 00765000 * /* GET CPU SERIAL NUMBER,CONVERT AND INSERT INTO PAGE */ 00766000 * /* */ 00767000 * /***********************************************************/ 00768000 * 0068 00769000 * RCCPUSER=SMF70SER(RCCPUIDX);/* FORM HHHHHH40 */ 00770000 MVI RCCPUSER+3,C' ' 0068 00771000 LR @08,RCCPUIDX 0068 00772000 SLA @08,4 0068 00773000 L @15,@PC00001 0068 00774000 L @15,SMF70PTR(,@15) 0068 00775000 LA @14,SMF70SIZ(,@15) 0068 00776000 AH @14,SMF70SIZ(,@15) 0068 00777000 LH @15,SMF70SCC(,@14) 0068 00778000 AR @15,@14 0068 00779000 ALR @15,@08 0068 00780000 AL @15,@CF00182 0068 00781000 MVC RCCPUSER(3),SMF70SER-13(@15) 0068 00782000 * UNPK(RCWRKSTR(1:7),RCCPUSER);/* FORM FHFHFHFHFHFH04 */ 00783000 UNPK RCWRKSTR(7),RCCPUSER(4) 0069 00784000 * TR(RCWRKSTR(1:6),RCTRTAB);/* TRANSLATE CHARACTERS INTO 0070 00785000 * EBCDIC */ 00786000 * 0070 00787000 LA @08,RCDTRTAB 0070 00788000 SH @08,@CH00150 0070 00789000 TR RCWRKSTR(6),RCTRTAB(@08) 0070 00790000 * /***********************************************************/ 00791000 * /* */ 00792000 * /* MACDATE Y-2 73018 */ 00793000 * /* */ 00794000 * /***********************************************************/ 00795000 * 0071 00796000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00797000 * RCWRKSTR, /* TEXT */ 00798000 * RCTXTCPU, /* LENGTH */ 00799000 * RCLINE, /* START LINE */ 00800000 * RCCOLD /* START COLUMN */ 00801000 * ); 0071 00802000 LA @08,RCWRKSTR 0071 00803000 ST @08,@AL00001 0071 00804000 LA @08,@CF00074 0071 00805000 ST @08,@AL00001+4 0071 00806000 LA @08,RCLINE 0071 00807000 ST @08,@AL00001+8 0071 00808000 LA @08,@CF00083 0071 00809000 ST @08,@AL00001+12 0071 00810000 L @08,@PC00001+4 0071 00811000 L @15,RCVECTAB+8(,@08) 0071 00812000 LA @01,@AL00001 0071 00813000 BALR @14,@15 0071 00814000 * RCCPUTOT=RCCPUTOT+1; /* INCREMENT ONLINE CPU COUNT */ 00815000 AH RCCPUTOT,@CH00071 0072 00816000 * END; 0073 00817000 * ELSE 0074 00818000 * DO; 0074 00819000 * 0074 00820000 B @RC00040 0074 00821000 @RF00040 DS 0H 0075 00822000 * /***********************************************************/ 00823000 * /* */ 00824000 * /* CHECK FOR NO VARY ACTIVITY AND OFFLINE */ 00825000 * /* */ 00826000 * /***********************************************************/ 00827000 * 0075 00828000 * IF SMF70VAC(RCCPUIDX)=RCNOACTY&SMF70STA(RCCPUIDX)=RCOFFLIN 00829000 * THEN 0075 00830000 * 0075 00831000 LR @08,RCCPUIDX 0075 00832000 SLA @08,4 0075 00833000 L @15,@PC00001 0075 00834000 L @15,SMF70PTR(,@15) 0075 00835000 LA @14,SMF70SIZ(,@15) 0075 00836000 AH @14,SMF70SIZ(,@15) 0075 00837000 LH @15,SMF70SCC(,@14) 0075 00838000 AR @15,@14 0075 00839000 ALR @15,@08 0075 00840000 AL @15,@CF00224 0075 00841000 TM SMF70VAC-11(@15),B'00000011' 0075 00842000 BNZ @RF00075 0075 00843000 * /*********************************************************/ 00844000 * /* */ 00845000 * /* MACDATE Y-2 73018 */ 00846000 * /* */ 00847000 * /*********************************************************/ 00848000 * 0076 00849000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00850000 * IRBMFLCV(LCPART10)->RCTEXT,/* TEXT */ 00851000 * IRBMFLCV(LCPART10)->RCLENGTH,/* LENGTH */ 00852000 * RCLINE, /* START LINE */ 00853000 * RCCOLB+5 /* START COLUMN */ 00854000 * ); /* INDICATE OFFLINE */ 00855000 * 0076 00856000 L @08,@CA00125 0076 00857000 L @08,IRBMFLCV-IRBMFLCV+36(,@08) 0076 00858000 LA @15,RCTEXT(,@08) 0076 00859000 ST @15,@AL00001 0076 00860000 ST @08,@AL00001+4 0076 00861000 LA @08,RCLINE 0076 00862000 ST @08,@AL00001+8 0076 00863000 LA @08,@CF00216 0076 00864000 ST @08,@AL00001+12 0076 00865000 L @08,@PC00001+4 0076 00866000 L @15,RCVECTAB+8(,@08) 0076 00867000 LA @01,@AL00001 0076 00868000 BALR @14,@15 0076 00869000 * /***********************************************************/ 00870000 * /* */ 00871000 * /* CHECK FOR VARY ACTIVITY AND OFFLINE */ 00872000 * /* */ 00873000 * /***********************************************************/ 00874000 * 0077 00875000 * IF SMF70VAC(RCCPUIDX)=RCACTVTY&SMF70STA(RCCPUIDX)=RCOFFLIN 00876000 * THEN 0077 00877000 * 0077 00878000 @RF00075 LR @08,RCCPUIDX 0077 00879000 SLA @08,4 0077 00880000 L @15,@PC00001 0077 00881000 L @15,SMF70PTR(,@15) 0077 00882000 LA @14,SMF70SIZ(,@15) 0077 00883000 AH @14,SMF70SIZ(,@15) 0077 00884000 LH @15,SMF70SCC(,@14) 0077 00885000 AR @15,@14 0077 00886000 ALR @15,@08 0077 00887000 AL @15,@CF00224 0077 00888000 TM SMF70VAC-11(@15),B'00000010' 0077 00889000 BNO @RF00077 0077 00890000 TM SMF70STA-11(@15),B'00000001' 0077 00891000 BNZ @RF00077 0077 00892000 * /*********************************************************/ 00893000 * /* */ 00894000 * /* MACDATE Y-2 73018 */ 00895000 * /* */ 00896000 * /*********************************************************/ 00897000 * 0078 00898000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00899000 * IRBMFLCV(LCPART11)->RCTEXT,/* TEXT */ 00900000 * IRBMFLCV(LCPART11)->RCLENGTH,/* LENGTH */ 00901000 * RCLINE, /* START LINE */ 00902000 * RCCOLB+1 /* START COLUMN */ 00903000 * ); /* INDICATE NOW OFFLINE */ 00904000 * 0078 00905000 L @08,@CA00125 0078 00906000 L @08,IRBMFLCV-IRBMFLCV+40(,@08) 0078 00907000 LA @15,RCTEXT(,@08) 0078 00908000 ST @15,@AL00001 0078 00909000 ST @08,@AL00001+4 0078 00910000 LA @08,RCLINE 0078 00911000 ST @08,@AL00001+8 0078 00912000 LA @08,@CF00217 0078 00913000 ST @08,@AL00001+12 0078 00914000 L @08,@PC00001+4 0078 00915000 L @15,RCVECTAB+8(,@08) 0078 00916000 LA @01,@AL00001 0078 00917000 BALR @14,@15 0078 00918000 * /***********************************************************/ 00919000 * /* */ 00920000 * /* CHECK FOR VARY ACTIVITY AND ONLINE */ 00921000 * /* */ 00922000 * /***********************************************************/ 00923000 * 0079 00924000 * IF SMF70VAC(RCCPUIDX)=RCACTVTY&SMF70STA(RCCPUIDX)=RCONLINE 00925000 * THEN 0079 00926000 * 0079 00927000 @RF00077 LR @08,RCCPUIDX 0079 00928000 SLA @08,4 0079 00929000 L @15,@PC00001 0079 00930000 L @15,SMF70PTR(,@15) 0079 00931000 LA @14,SMF70SIZ(,@15) 0079 00932000 AH @14,SMF70SIZ(,@15) 0079 00933000 LH @15,SMF70SCC(,@14) 0079 00934000 AR @15,@14 0079 00935000 ALR @15,@08 0079 00936000 AL @15,@CF00224 0079 00937000 TM SMF70VAC-11(@15),B'00000011' 0079 00938000 BNO @RF00079 0079 00939000 * /*********************************************************/ 00940000 * /* */ 00941000 * /* MACDATE Y-2 73018 */ 00942000 * /* */ 00943000 * /*********************************************************/ 00944000 * 0080 00945000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 00946000 * IRBMFLCV(LCPART12)->RCTEXT,/* TEXT */ 00947000 * IRBMFLCV(LCPART12)->RCLENGTH,/* LENGTH */ 00948000 * RCLINE, /* START LINE */ 00949000 * RCCOLB+2 /* START COLUMN */ 00950000 * ); 0080 00951000 L @08,@CA00125 0080 00952000 L @08,IRBMFLCV-IRBMFLCV+44(,@08) 0080 00953000 LA @15,RCTEXT(,@08) 0080 00954000 ST @15,@AL00001 0080 00955000 ST @08,@AL00001+4 0080 00956000 LA @08,RCLINE 0080 00957000 ST @08,@AL00001+8 0080 00958000 LA @08,@CF00211 0080 00959000 ST @08,@AL00001+12 0080 00960000 L @08,@PC00001+4 0080 00961000 L @15,RCVECTAB+8(,@08) 0080 00962000 LA @01,@AL00001 0080 00963000 BALR @14,@15 0080 00964000 * END; 0081 00965000 @RF00079 DS 0H 0082 00966000 * END; 0082 00967000 @RC00040 AH RCCPUIDX,@CH00071 0082 00968000 @DE00029 L @08,@PC00001 0082 00969000 L @08,SMF70PTR(,@08) 0082 00970000 LA @08,SMF70SIZ(,@08) 0082 00971000 L @15,@PC00001 0082 00972000 L @01,SMF70PTR(,@15) 0082 00973000 AH @08,SMF70SIZ(,@01) 0082 00974000 CH RCCPUIDX,SMF70CPU(,@08) 0082 00975000 BNH @DL00029 0082 00976000 * 0083 00977000 * /*****************************************************************/ 00978000 * /* */ 00979000 * /* CALCULATE AVERAGE WAIT TIME PERCENTAGE AND INSERT RESULTS INTO*/ 00980000 * /* PAGE */ 00981000 * /* */ 00982000 * /*****************************************************************/ 00983000 * 0083 00984000 * IF RCCPUTOT=0 /* IF UPCOMING DIVISOR IS ZERO, */ 00985000 * THEN /* WRITE OUT REPORT WITHOUT 0083 00986000 * AVERAGE WAIT TIME. */ 00987000 LTR RCCPUTOT,RCCPUTOT 0083 00988000 BNZ @RF00083 0083 00989000 * DO; 0084 00990000 * CALL MFWRTPAG; /* WRITE OUT REPORT PAGE. */ 00991000 L @08,@PC00001+4 0085 00992000 L @15,RCVECTAB+12(,@08) 0085 00993000 BALR @14,@15 0085 00994000 * RETURN; /* TO REPORT GENERATOR MAINLINE. */ 00995000 @EL00001 L @13,4(,@13) 0086 00996000 @EF00001 L @00,@SIZDATD 0086 00997000 LR @01,@09 0086 00998000 FREEMAIN R,LV=(0),A=(1) 00999000 @ER00001 LM @14,@12,12(@13) 0086 01000000 BR @14 0086 01001000 * END; 0087 01002000 * RCAVRAGE=RCWTPTOT/RCCPUTOT; /* CALCULATE AVERAGE */ 01003000 * 0088 01004000 @RF00083 L @00,RCWTPTOT 0088 01005000 SRDA @00,32 0088 01006000 DR @00,RCCPUTOT 0088 01007000 ST @01,RCAVRAGE 0088 01008000 * /*****************************************************************/ 01009000 * /* */ 01010000 * /* MACDATE Y-2 73018 */ 01011000 * /* */ 01012000 * /*****************************************************************/ 01013000 * 0089 01014000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 01015000 * RCAVRAGE, /* INPUT VALUE */ 01016000 * RCRATSCF, /* INPUT SCALE */ 01017000 * RCOUTCHR, /* OUTPUT STRING */ 01018000 * RCRATLEN, /* OUTPUT LENGTH */ 01019000 * RCRATRDP, /* PLACES RIGHT OF DEC PT */ 01020000 * RCNOCOMA, /* COMMAS FLAG */ 01021000 * RCNOFLOT /* MAX PRECISION FLAG */ 01022000 * ); 0089 01023000 MVC @AL00001+4(24),@AL00089 0089 01024000 LA @08,RCAVRAGE 0089 01025000 ST @08,@AL00001 0089 01026000 LA @08,RCOUTCHR 0089 01027000 ST @08,@AL00001+8 0089 01028000 L @08,@PC00001+4 0089 01029000 L @15,RCVECTAB(,@08) 0089 01030000 LA @01,@AL00001 0089 01031000 BALR @14,@15 0089 01032000 * RCLINE=RCLINE+3; /* SKIP 3 LINES */ 01033000 LA @08,3 0090 01034000 A @08,RCLINE 0090 01035000 ST @08,RCLINE 0090 01036000 * IF RCLINE=RGMAXLN THEN /* ROOM FOR TOTAL? */ 01037000 CH @08,@CH00083 0091 01038000 BNE @RF00091 0091 01039000 * DO; 0092 01040000 * CALL MFWRTPAG; /* WRITE OUT PREVIOUS PAGE */ 01041000 L @08,@PC00001+4 0093 01042000 L @15,RCVECTAB+12(,@08) 0093 01043000 BALR @14,@15 0093 01044000 * RCPAGE=RCPAGE+1; /* NEXT PAGE */ 01045000 LA @08,1 0094 01046000 A @08,RCPAGE 0094 01047000 ST @08,RCPAGE 0094 01048000 * CALL MFRCHEAD; /* INSERT HEADING */ 01049000 BAL @14,MFRCHEAD 0095 01050000 * RCLINE=RCLINE+RCCON3DT; /* 1ST DATA LINE */ 01051000 LA @08,3 0096 01052000 A @08,RCLINE 0096 01053000 ST @08,RCLINE 0096 01054000 * END; 0097 01055000 * 0097 01056000 * /*****************************************************************/ 01057000 * /* */ 01058000 * /* REPORT LABEL FOR AVERAGE TIME. MACDATE Y-2 73018 */ 01059000 * /* */ 01060000 * /*****************************************************************/ 01061000 * 0098 01062000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 01063000 * IRBMFLCV(LCPART7)->RCTEXT, /* TEXT */ 01064000 * IRBMFLCV(LCPART7)->RCLENGTH,/* LENGTH */ 01065000 * RCLINE, /* START LINE */ 01066000 * RCCOLA /* START COLUMN */ 01067000 * ); 0098 01068000 * 0098 01069000 @RF00091 L @08,@CA00125 0098 01070000 L @08,IRBMFLCV-IRBMFLCV+24(,@08) 0098 01071000 LA @15,RCTEXT(,@08) 0098 01072000 ST @15,@AL00001 0098 01073000 ST @08,@AL00001+4 0098 01074000 LA @08,RCLINE 0098 01075000 ST @08,@AL00001+8 0098 01076000 LA @08,@CF00071 0098 01077000 ST @08,@AL00001+12 0098 01078000 L @08,@PC00001+4 0098 01079000 L @15,RCVECTAB+8(,@08) 0098 01080000 LA @01,@AL00001 0098 01081000 BALR @14,@15 0098 01082000 * /*****************************************************************/ 01083000 * /* */ 01084000 * /* THE TIME ITSELF. MACDATE Y-2 73018 */ 01085000 * /* */ 01086000 * /*****************************************************************/ 01087000 * 0099 01088000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 01089000 * RCOUTCHR, /* TEXT */ 01090000 * RCRATLEN, /* LENGTH */ 01091000 * RCLINE, /* START LINE */ 01092000 * RCCOLC /* START COLUMN */ 01093000 * ); 0099 01094000 LA @08,RCOUTCHR 0099 01095000 ST @08,@AL00001 0099 01096000 LA @08,@CF00101 0099 01097000 ST @08,@AL00001+4 0099 01098000 LA @08,RCLINE 0099 01099000 ST @08,@AL00001+8 0099 01100000 LA @08,@CF00135 0099 01101000 ST @08,@AL00001+12 0099 01102000 L @08,@PC00001+4 0099 01103000 L @15,RCVECTAB+8(,@08) 0099 01104000 LA @01,@AL00001 0099 01105000 BALR @14,@15 0099 01106000 * CALL MFWRTPAG; /* WRITE OUT ENTIRE REPORT */ 01107000 L @08,@PC00001+4 0100 01108000 L @15,RCVECTAB+12(,@08) 0100 01109000 BALR @14,@15 0100 01110000 * END IRBMFRCR 0101 01111000 * 0101 01112000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 01113000 */*%INCLUDE SYSLIB (IFASMFR ) */ 01114000 */*%INCLUDE SYSLIB (IRBRGCON) */ 01115000 */*%INCLUDE SYSLIB (IRBMFLCM) */ 01116000 * 0101 01117000 * ; 0101 01118000 B @EL00001 0101 01119000 @DATA DS 0H 01120000 @CH00150 DC XL1'0' 01121000 DC C'0' 01122000 DS 0F 01123000 @AL00038 DC A(@CF00185) LIST WITH 6 ARGUMENT(S) 01124000 DS F 01125000 DC A(@CF00054) 01126000 DC A(@CF00185) 01127000 DC A(@CB00139) 01128000 DC A(@CB00139) 01129000 @AL00050 DC A(@CF00182) LIST WITH 6 ARGUMENT(S) 01130000 DS F 01131000 DC A(@CF00109) 01132000 DC A(@CF00079) 01133000 DC A(@CB00139) 01134000 DC A(@CB00139) 01135000 @AL00066 EQU * LIST WITH 6 ARGUMENT(S) 01136000 @AL00089 DC A(@CF00190) LIST WITH 6 ARGUMENT(S) 01137000 DS F 01138000 DC A(@CF00101) 01139000 DC A(@CF00054) 01140000 DC A(@CB00139) 01141000 DC A(@CB00139) 01142000 @DATD DSECT 01143000 DS 0F 01144000 @SA00001 DS 18F 01145000 @PC00001 DS 2F 01146000 @SA00002 DS 15F 01147000 @AL00001 DS 7A 01148000 @TF00001 DS F 01149000 @TF00002 DS F 01150000 @TF00003 DS F 01151000 @AFTEMPS DS 1F 01152000 @ZTEMPS DS C 01153000 @ZTEMPND EQU * 01154000 @ZLEN EQU @ZTEMPND-@ZTEMPS 01155000 IRBMFRCR CSECT 01156000 DS 0F 01157000 @CF00225 DC F'-16' 01158000 @CF00226 DC F'-12' 01159000 @CF00223 DC F'-8' 01160000 @CF00224 DC F'-5' 01161000 @CF00182 DC F'-3' 01162000 @CF00190 DC F'-2' 01163000 @CF00185 DC F'0' 01164000 @CF00071 DC F'1' 01165000 @CH00071 EQU @CF00071+2 01166000 @CF00054 DC F'2' 01167000 @CF00079 DC F'3' 01168000 @CF00101 DC F'5' 01169000 @CF00074 DC F'6' 01170000 @CF00107 DC F'9' 01171000 @CF00109 DC F'10' 01172000 @CH00109 EQU @CF00109+2 01173000 @CF00133 DC F'20' 01174000 @CF00217 DC F'21' 01175000 @CF00211 DC F'22' 01176000 @CF00212 DC F'23' 01177000 @CF00216 DC F'25' 01178000 @CF00214 DC F'26' 01179000 @CF00135 DC F'40' 01180000 @CF00083 DC F'60' 01181000 @CH00083 EQU @CF00083+2 01182000 @CF00207 DC F'10000' 01183000 @CF00202 DC F'60000' 01184000 @CF00203 DC F'100000' 01185000 @CF00200 DC F'3600000' 01186000 @CF00201 DC F'10000000' 01187000 @DATD DSECT 01188000 DS 0D 01189000 RCPAGE DS F 01190000 RCLINE DS F 01191000 RCTEMP DS F 01192000 RCWTPTOT DS F 01193000 RCWTPRCT DS F 01194000 RCAVRAGE DS F 01195000 RCSAVWAT DS F 01196000 DS 0D 01197000 @TS00001 DS CL8 01198000 RCCPUID DS CL2 01199000 RCWATIME DS CL10 01200000 RCCPUSER DS CL4 01201000 RCWRKSTR DS CL7 01202000 RCOUTCHR DS CL5 01203000 IRBMFRCR CSECT 01204000 DS 0F 01205000 @SIZDATD DC AL1(0) 01206000 DC AL3(@ENDDATD-@DATD) 01207000 @CA00125 DC A(IRBMFLCV) 01208000 DS 0D 01209000 @CB00139 DC B'00000000' 01210000 RCDTRTAB DC CL16'0123456789ABCDEF' 01211000 RCPATCH DS CL100 01212000 @DATD DSECT 01213000 IRBMFRCR CSECT 01214000 RCMILLI DC F'1000' THOUSANDTH OF A SECOND 01215000 @DATD DSECT 01216000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 01217000 @ENDDATD EQU * 01218000 IRBMFRCR CSECT 01219000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 01220000 @01 EQU 01 01221000 @02 EQU 02 01222000 @03 EQU 03 01223000 @04 EQU 04 01224000 @05 EQU 05 01225000 @06 EQU 06 01226000 @07 EQU 07 01227000 @08 EQU 08 01228000 @09 EQU 09 01229000 @10 EQU 10 01230000 @11 EQU 11 01231000 @12 EQU 12 01232000 @13 EQU 13 01233000 @14 EQU 14 01234000 @15 EQU 15 01235000 RCCPUTOT EQU @03 01236000 RCCPUIDX EQU @02 01237000 I EQU @04 01238000 GPR11 EQU @11 01239000 GPR12 EQU @12 01240000 GPR00P EQU @00 01241000 GPR01P EQU @01 01242000 GPR14P EQU @14 01243000 GPR15P EQU @15 01244000 GPR00F EQU @00 01245000 GPR01F EQU @01 01246000 GPR14F EQU @14 01247000 GPR15F EQU @15 01248000 EXTRN IRBMFLCV 01249000 SMFRCD70 EQU 0 01250000 SMF70SIZ EQU SMFRCD70+18 01251000 SMF70INT EQU SMFRCD70+28 01252000 SMF70A EQU 0 01253000 SMF70SCC EQU SMF70A 01254000 SMF70CPU EQU SMF70A+2 01255000 SMF70B EQU 0 01256000 SMF70WAT EQU SMF70B 01257000 SMF70CID EQU SMF70B+8 01258000 SMF70CNF EQU SMF70B+11 01259000 SMF70VAC EQU SMF70CNF 01260000 SMF70STA EQU SMF70CNF 01261000 SMF70SER EQU SMF70B+13 01262000 IRBMFCNV EQU 0 01263000 MFHDRISR EQU 0 01264000 MFISRTXT EQU 0 01265000 MFWRTPAG EQU 0 01266000 RCLANGPT EQU 0 01267000 RCLENGTH EQU RCLANGPT 01268000 RCTEXT EQU RCLANGPT+4 01269000 RCTRTAB EQU 0 01270000 RCDUMTXT EQU 0 01271000 IKEBC EQU 0 01272000 IKEBF15 EQU 0 01273000 IKEBF31 EQU 0 01274000 IKEBP15 EQU 0 01275000 IKEBP31 EQU 0 01276000 IKEBP8 EQU 0 01277000 RCDATPTR EQU 0 01278000 RCVECTAB EQU 0 01279000 SMF70PTR EQU RCDATPTR 01280000 AGO .@UNREFD START UNREFERENCED COMPONENTS 01281000 SMF70RV4 EQU SMF70B+12 01282000 @NM00001 EQU SMF70CNF 01283000 SMF70RV3 EQU SMF70B+10 01284000 SMF70RV2 EQU SMF70A+6 01285000 SMF70SCD EQU SMF70A+4 01286000 SMF70RLS EQU SMFRCD70+44 01287000 SMF70RV1 EQU SMFRCD70+42 01288000 SMF70MFV EQU SMFRCD70+40 01289000 SMF70SAM EQU SMFRCD70+36 01290000 SMF70SUB EQU SMFRCD70+34 01291000 SMF70CYC EQU SMFRCD70+32 01292000 SMF70DAT EQU SMFRCD70+24 01293000 SMF70IST EQU SMFRCD70+20 01294000 SMF70SID EQU SMFRCD70+14 01295000 SMF70DTE EQU SMFRCD70+10 01296000 SMF70TME EQU SMFRCD70+6 01297000 SMF70RTY EQU SMFRCD70+5 01298000 SMF70FLG EQU SMFRCD70+4 01299000 SMF70SEG EQU SMFRCD70+2 01300000 SMF70LEN EQU SMFRCD70 01301000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01302000 @ENDDATA EQU * 01303000 END IRBMFRCR,(C'PL/S-II',0502,74087) 01304000