TITLE 'ISDADCS0 - DATA CARTRIDGE STATISTICS ACCUMULATION *00001000 ' 00002000 ISDADCS0 CSECT , 01S0001 00003000 @MAINENT DS 0H 01S0001 00004000 USING *,@15 01S0001 00005000 B @PROLOG 01S0001 00006000 DC AL1(8) 01S0001 00007000 DC C'ISDADCS0' 01S0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 01S0001 00010000 BALR @12,0 01S0001 00011000 @PSTART DS 0H 01S0001 00012000 USING @PSTART,@12 01S0001 00013000 L @00,@SIZDATD 01S0001 00014000 ISDAGSPC R,LV=(0) 00015000 LR @11,@01 01S0001 00016000 USING @DATD,@11 01S0001 00017000 ST @13,@SA00001+4 01S0001 00018000 LM @00,@01,20(@13) 01S0001 00019000 ST @11,8(,@13) 01S0001 00020000 LR @13,@11 01S0001 00021000 MVC @PC00001(4),0(@01) 01S0001 00022000 * @Y30LB55*/ 00023000 * 01S0017 00024000 */* %GET0HDRL='LENGTH(ISDAGHDR)' @Y30LB55*/ 00025000 */* DCL DATA AREA AS STRUCTURE BASED(STARTPTR) @Y30LB55*/ 00026000 * CVTPTR=WORKPTR; /* SAVE POINTER TO CVT @Y30LB56*/ 00027000 L @06,@PC00001 01S0018 00028000 L CVTPTR,WORKPTR(,@06) 01S0018 00029000 * RETCODE=0; /* INITIALIZE RETURN CODE@Y30LB56*/ 00030000 SLR @15,@15 01S0019 00031000 LR RETCODE,@15 01S0019 00032000 * 02S0020 00033000 * /*****************************************************************/ 00034000 * /* */ 00035000 * /* CHECK FOR VALID AND USEABLE SENSE DATA */ 00036000 * /* */ 00037000 * /*****************************************************************/ 00038000 * 02S0020 00039000 * LOGPTR=DATAPTR; /* COPY DATA PTR FROM SDACVT 00040000 * @Y30LB56*/ 00041000 MVC LOGPTR(4),DATAPTR(CVTPTR) 02S0020 00042000 * SENSEPTR=SDATAPTR; /* COPY SENSE PTR FROM SDACVT 00043000 * @Y30LB56*/ 00044000 L SENSEPTR,SDATAPTR(,CVTPTR) 02S0021 00045000 * LPARMPTR=PARMPTR; /* COPY PARM PTR FROM SDACVT 00046000 * @Y30LB56*/ 00047000 L LPARMPTR,PARMPTR(,CVTPTR) 02S0022 00048000 * GET0PTR=0; /*@Y30LB56*/ 00049000 LR GET0PTR,@15 02S0023 00050000 * GET0INDX=0; /*@Y30LB56*/ 00051000 LR GET0INDX,@15 02S0024 00052000 * RETCODE=8; /* SET RETURN CODE @Y30LB56*/ 00053000 LA RETCODE,8 02S0025 00054000 * IF SASENSE(1:8)^=ZERO(1:8) THEN /* CTRS NOT ALL 0 @Y30LB56*/ 00055000 CLC SASENSE(8,SENSEPTR),ZERO 02S0026 00056000 BE @RF00026 02S0026 00057000 * IF SASENSE(10:20)^=ZERO(1:11) THEN/* CSN NOT 0 @ZM30998*/ 00058000 CLC SASENSE+9(11,SENSEPTR),ZERO 02S0027 00059000 BE @RF00027 02S0027 00060000 * DO; /*@Y30LB56*/ 00061000 * RETCODE=0; /* RESET RETURN CODE @Y30LB56*/ 00062000 * 02S0029 00063000 LR RETCODE,@15 02S0029 00064000 * /***********************************************************/ 00065000 * /* */ 00066000 * /* IF CSN= CONTROL STATEMENT WAS SPECIFIED, SEE IF CSN= */ 00067000 * /* FACTOR MATCHES CSN IN SENSE DATA */ 00068000 * /* */ 00069000 * /***********************************************************/ 00070000 * 02S0030 00071000 * WORKX1=10; /* START CSN IN SENSE @ZM30998*/ 00072000 LA WORKX1,10 02S0030 00073000 * DO I=1 TO 12; /* LOOP THROUGH CSN @ZM30998*/ 00074000 LA @15,1 02S0031 00075000 ST @15,I 02S0031 00076000 @DL00031 DS 0H 02S0032 00077000 * IF CSERIAL(I)^=SASENSE(WORKX1) THEN/* SER^=SENSE @ZM30998*/ 00078000 ALR @15,LPARMPTR 02S0032 00079000 LR @14,SENSEPTR 02S0032 00080000 ALR @14,WORKX1 02S0032 00081000 CLC CSERIAL-1(1,@15),SASENSE-1(@14) 02S0032 00082000 BE @RF00032 02S0032 00083000 * IF CSERIAL(I)=' ' THEN/* END OF OPTION @Y30LB56*/ 00084000 L @15,I 02S0033 00085000 ALR @15,LPARMPTR 02S0033 00086000 CLI CSERIAL-1(@15),C' ' 02S0033 00087000 BNE @RF00033 02S0033 00088000 * IF I=4 THEN /* NOW AT CHAR 4 @ZM30998*/ 00089000 L @15,I 02S0034 00090000 CH @15,@CH00051 02S0034 00091000 BNE @RF00034 02S0034 00092000 * WORKX1=WORKX1-1; /* YES, NO BLANK IN SENSE@ZM30998*/ 00093000 BCTR WORKX1,0 02S0035 00094000 * ELSE /* NOT CHAR 4 @ZM30998*/ 00095000 * I=12; /* GET OUT OF LOOP @ZM30998*/ 00096000 B @RC00034 02S0036 00097000 @RF00034 MVC I(4),@CF00081 02S0036 00098000 * ELSE /* FACTOR OUT RECORD FOR THIS CSN 00099000 * @Y30LB56*/ 00100000 * I=128; /* FORCE LOOP EXIT @Y30LB56*/ 00101000 B @RC00033 02S0037 00102000 @RF00033 MVC I(4),@CF00317 02S0037 00103000 * ELSE 02S0038 00104000 * ; /* CSN= MATCHES SENSE CSN@Y30LB56*/ 00105000 @RF00032 DS 0H 02S0039 00106000 * WORKX1=WORKX1+1; /* ADD 1 TO WORKX1 @ZM30998*/ 00107000 @RC00032 AH WORKX1,@CH00047 02S0039 00108000 * END; /*@Y30LB56*/ 00109000 LA @15,1 02S0040 00110000 AL @15,I 02S0040 00111000 ST @15,I 02S0040 00112000 CH @15,@CH00081 02S0040 00113000 BNH @DL00031 02S0040 00114000 * IF I<128 THEN /* EITHER CSN= MATCHED SENSE OR 00115000 * CSN= WAS NOT SPECIFIED@Y30LB56*/ 00116000 L @06,I 02S0041 00117000 CH @06,@CH00317 02S0041 00118000 BNL @RF00041 02S0041 00119000 * DO; /*@Y30LB56*/ 00120000 * IF DCS00PTR=0 THEN /* FIRST TIME MODULE CALLED 02S0043 00121000 * @Y30LB56*/ 00122000 ICM @06,15,DCS00PTR(CVTPTR) 02S0043 00123000 BNZ @RF00043 02S0043 00124000 * 03S0044 00125000 * /*****************************************************************/ 00126000 * /* */ 00127000 * /* ALLOCATE THE FIRST WORKAREA FOR THIS REPORT AND COMPLETE ITS */ 00128000 * /* HEADER. */ 00129000 * /* */ 00130000 * /*****************************************************************/ 00131000 * 03S0044 00132000 * DO; /*@Y30LB56*/ 00133000 * SPNOLEN=GETWORK; /* PUT SUBPOOL AND LENGTH IN CVT 00134000 * @Y30LB56*/ 00135000 MVC SPNOLEN(4,CVTPTR),GETWORK 03S0045 00136000 * RFY 03S0046 00137000 * R1 RSTD; /*@Y30LB56*/ 00138000 * R1=ADDR(WORKCALL); /* PTR TO PTR TO PTR TO CVT 03S0047 00139000 * @Y30LB56*/ 00140000 LA R1,WORKCALL(,CVTPTR) 03S0047 00141000 * CALL ISDAGET0; /* GET A WORKAREA @Y30LB56*/ 00142000 L @15,@CV00236 03S0048 00143000 BALR @14,@15 03S0048 00144000 * RFY 03S0049 00145000 * R1 UNRSTD; /*@Y30LB56*/ 00146000 * RFY 03S0050 00147000 * R15 RSTD; /* PROTECT RETURN CODE REGISTER 00148000 * @Y30LB56*/ 00149000 * IF R15=0 THEN /* WORKAREA WAS ALLOCATED@Y30LB56*/ 00150000 SLR @14,@14 03S0051 00151000 CR R15,@14 03S0051 00152000 BNE @RF00051 03S0051 00153000 * DO; /*@Y30LB56*/ 00154000 * GET0PTR=COREADDR; /* SAVE LOCAL POINTER TO WORK 00155000 * AREA @Y30LB56*/ 00156000 L GET0PTR,COREADDR(,CVTPTR) 03S0053 00157000 * DCS00PTR=GET0PTR; /*@Y30LB56*/ 00158000 * 03S0054 00159000 ST GET0PTR,DCS00PTR(,CVTPTR) 03S0054 00160000 * /***********************************************************/ 00161000 * /* */ 00162000 * /* INITIALIZE WORK AREA HEADER */ 00163000 * /* */ 00164000 * /***********************************************************/ 00165000 * 03S0055 00166000 * BLOCKID='DCS '; /*@Y30LB56*/ 00167000 MVC BLOCKID(4,GET0PTR),@CC00319 03S0055 00168000 * RATIO=CRATIO; /* COPY RATIO @Y30LB56*/ 00169000 L @06,DCS00PTR(,CVTPTR) 03S0056 00170000 MVC RATIO(2,@06),CRATIO(LPARMPTR) 03S0056 00171000 * SUM=CSUMMARY; /* COPY SUMMARY=Y|N @Y30LB56*/ 00172000 MVC SUM(1,@06),CSUMMARY(LPARMPTR) 03S0057 00173000 * RETCDSV=0; /* SET RETURN CODE TO 0 @Y30LB56*/ 00174000 STH @14,RETCDSV(,@06) 03S0058 00175000 * SER=CSERIAL; /* COPY CSN FACTOR @Y30LB56*/ 00176000 MVC SER(12,@06),CSERIAL(LPARMPTR) 03S0059 00177000 * GET0INDX=STARTPTR+LENGTH(GET0HDR1);/* SET WORK AREA INDEX 00178000 * @Y30LB56*/ 00179000 LA GET0INDX,28 03S0060 00180000 AL GET0INDX,STARTPTR(,GET0PTR) 03S0060 00181000 * STARTPTR=GET0INDX; /* SET POINTER TO OLDEST ENTRY 00182000 * @Y30LB56*/ 00183000 ST GET0INDX,STARTPTR(,GET0PTR) 03S0061 00184000 * END; /*@Y30LB56*/ 00185000 * ELSE /* NO WORKAREA COULD BE ALLOCATED 00186000 * @Y30LB56*/ 00187000 * DO; /*@Y30LB56*/ 00188000 B @RC00051 03S0063 00189000 @RF00051 DS 0H 03S0064 00190000 * RETCODE=4; /* INDICATE NO WORKAREA AVAILABLE 00191000 * @Y30LB56*/ 00192000 LA RETCODE,4 03S0064 00193000 * CDCS='00'X; /* SUPRESS REPORT @Y30LB56*/ 00194000 MVI CDCS(LPARMPTR),X'00' 03S0065 00195000 * END; /*@Y30LB56*/ 00196000 * RFY 03S0067 00197000 * R15 UNRSTD; /*@Y30LB56*/ 00198000 @RC00051 DS 0H 03S0068 00199000 * END; /*@Y30LB56*/ 00200000 * ELSE /* MODULE HAS A WORKSPACE@Y30LB56*/ 00201000 * DO; /*@Y30LB56*/ 00202000 B @RC00043 02S0069 00203000 @RF00043 DS 0H 02S0070 00204000 * GET0PTR=GET0PSV; /* GET CURRENT WORKAREA PTR FROM 00205000 * SAVE AREA @Y30LB56*/ 00206000 L @06,DCS00PTR(,CVTPTR) 02S0070 00207000 L GET0PTR,GET0PSV(,@06) 02S0070 00208000 * GET0INDX=GET0XSV; /* GET CURRENT WORKAREA INDEX 00209000 * FROM SAVE AREA @Y30LB56*/ 00210000 L GET0INDX,GET0XSV(,@06) 02S0071 00211000 * END; /*@Y30LB56*/ 00212000 * IF RETCODE=0 THEN /* A WORKAREA IS AVAILABLE 02S0073 00213000 * @Y30LB56*/ 00214000 @RC00043 LTR RETCODE,RETCODE 02S0073 00215000 BNZ @RF00073 02S0073 00216000 * DO; /*@Y30LB56*/ 00217000 * IF GET0LEN<((GET0INDX+LENGTH(DCSENTRY))-GET0PTR) THEN 00218000 LA @06,44 02S0075 00219000 ALR @06,GET0INDX 02S0075 00220000 SLR @06,GET0PTR 02S0075 00221000 SLR @15,@15 02S0075 00222000 ICM @15,7,GET0LEN(GET0PTR) 02S0075 00223000 CR @06,@15 02S0075 00224000 BNH @RF00075 02S0075 00225000 * DO; /*@Y30LB56*/ 00226000 * 03S0077 00227000 * /*****************************************************************/ 00228000 * /* */ 00229000 * /* GET ADDITIONAL WORKAREA. GETWORK IS A FULL WORD CONTAINING A */ 00230000 * /* ONE BYTE SUBPOOL NUMBER, AND A THREE BYTE VALUE INDICATING THE*/ 00231000 * /* NUMBER OF BYTES TO ALLOCATE */ 00232000 * /* */ 00233000 * /*****************************************************************/ 00234000 * 03S0077 00235000 * DO; /*@Y30LB56*/ 00236000 * SPNOLEN=GETWORK; /* SETUP SUBPOOL AND LENGTH IN 00237000 * CVT @Y30LB56*/ 00238000 MVC SPNOLEN(4,CVTPTR),GETWORK 03S0078 00239000 * RFY 03S0079 00240000 * R1 RSTD; /*@Y30LB56*/ 00241000 * R1=ADDR(WORKCALL); /* PTR TO PTR TO PTR TO CVT 03S0080 00242000 * @Y30LB56*/ 00243000 LA R1,WORKCALL(,CVTPTR) 03S0080 00244000 * CALL ISDAGET0; /* GET A WORK AREA @Y30LB56*/ 00245000 L @15,@CV00236 03S0081 00246000 BALR @14,@15 03S0081 00247000 * RFY 03S0082 00248000 * R1 UNRSTD; /*@Y30LB56*/ 00249000 * RFY 03S0083 00250000 * R15 RSTD; /* PROTECT RETURN CODE REG 03S0083 00251000 * @Y30LB56*/ 00252000 * IF R15=0 THEN /* WORKAREA WAS ALLOCATED@Y30LB56*/ 00253000 SLR @14,@14 03S0084 00254000 CR R15,@14 03S0084 00255000 BNE @RF00084 03S0084 00256000 * DO; /*@Y30LB56*/ 00257000 * RETCODE=0; /* SET RETURN CODE TO 0 @Y30LB56*/ 00258000 LR RETCODE,@14 03S0086 00259000 * NEXTPTR=COREADDR; /* CHAIN OLD WORKAREA TO NEW 00260000 * @Y30LB56*/ 00261000 L @14,COREADDR(,CVTPTR) 03S0087 00262000 ST @14,NEXTPTR(,GET0PTR) 03S0087 00263000 * WORKVAR=BLOCKCNT; /* GET PREVIOUS BLOCK COUNT 03S0088 00264000 * @Y30LB56*/ 00265000 LH WORKVAR,BLOCKCNT(,GET0PTR) 03S0088 00266000 * WORKX1=GET0PTR; /* SAVE POINTER TO LAST BLOCK 00267000 * @Y30LB56*/ 00268000 LR WORKX1,GET0PTR 03S0089 00269000 * GET0PTR=NEXTPTR; /* GET POINTER TO NEW WORK AREA 00270000 * @Y30LB56*/ 00271000 LR GET0PTR,@14 03S0090 00272000 * LASTPTR=WORKX1; /* SAVE POINTER TO LAST BLOCK 00273000 * @Y30LB56*/ 00274000 ST WORKX1,LASTPTR(,GET0PTR) 03S0091 00275000 * BLOCKCNT=WORKVAR+1; /* SAVE BLOCK COUNTER @Y30LB56*/ 00276000 LA @14,1 03S0092 00277000 ALR @14,WORKVAR 03S0092 00278000 STH @14,BLOCKCNT(,GET0PTR) 03S0092 00279000 * GET0INDX=STARTPTR; /* POINT TO NEXT AVAIL ENTRY 00280000 * @Y30LB56*/ 00281000 L GET0INDX,STARTPTR(,GET0PTR) 03S0093 00282000 * END; /*@Y30LB56*/ 00283000 * ELSE /* WORKAREA COULD NOT BE @Y30LB56 00284000 * ALLOCATED @Y30LB56*/ 00285000 * DO; /*@Y30LB56*/ 00286000 B @RC00084 03S0095 00287000 @RF00084 DS 0H 03S0096 00288000 * RETCODE=4; /* SET RETURN CODE TO 4 @Y30LB56*/ 00289000 LA RETCODE,4 03S0096 00290000 * CDCS='00'X; /* SUPRESS DCS REPORT @Y30LB56*/ 00291000 MVI CDCS(LPARMPTR),X'00' 03S0097 00292000 * /***********************************************************/ 00293000 * /* */ 00294000 * /* FREE ALLOCATED WORKAREAS IF NO MORE AREAS AVAILABLE. */ 00295000 * /* */ 00296000 * /***********************************************************/ 00297000 * GET0PTR=DCS00PTR; /* POINT TO FIRST WORKA @Y30LB56*/ 00298000 L GET0PTR,DCS00PTR(,CVTPTR) 03S0098 00299000 * DCS00PTR=0; /*@Y30LB56*/ 00300000 SLR @14,@14 03S0099 00301000 ST @14,DCS00PTR(,CVTPTR) 03S0099 00302000 * SPNOLEN=GETWORK; /* PUT SUBPOOL NO AND LEN IN CVT 00303000 * @Y30LB56*/ 00304000 MVC SPNOLEN(4,CVTPTR),GETWORK 03S0100 00305000 * DO WHILE(GET0PTR^=0); /*@Y30LB56*/ 00306000 B @DE00101 03S0101 00307000 @DL00101 DS 0H 03S0102 00308000 * WORKX1=NEXTPTR; /* SAVE PTR TO NEXT AREA @Y30LB56*/ 00309000 L WORKX1,NEXTPTR(,GET0PTR) 03S0102 00310000 * COREADDR=GET0PTR; /* PUT AREA PTR INTO CVT @Y30LB56*/ 00311000 ST GET0PTR,COREADDR(,CVTPTR) 03S0103 00312000 * RFY 03S0104 00313000 * R1 RSTD; /*@Y30LB56*/ 00314000 * R1=ADDR(WORKCALL); /* PTR TO PTR TO CVT @Y30LB56*/ 00315000 LA R1,WORKCALL(,CVTPTR) 03S0105 00316000 * CALL ISDAFREE; /* FREE WORKAREA @Y30LB56*/ 00317000 L @15,@CV00235 03S0106 00318000 BALR @14,@15 03S0106 00319000 * RFY 03S0107 00320000 * R1 UNRSTD; /*@Y30LB56*/ 00321000 * GET0PTR=WORKX1; /* POINT TO NEXT AREA @Y30LB56*/ 00322000 LR GET0PTR,WORKX1 03S0108 00323000 * END; /*@Y30LB56*/ 00324000 @DE00101 LTR GET0PTR,GET0PTR 03S0109 00325000 BNZ @DL00101 03S0109 00326000 * END; /*@Y30LB56*/ 00327000 * RFY 03S0111 00328000 * R15 UNRSTD; /*@Y30LB56*/ 00329000 @RC00084 DS 0H 03S0112 00330000 * END; /*@Y30LB56*/ 00331000 * IF RETCODE=0 THEN/* MORE WORKAREA AVAILABLE 00332000 * @Y30LB56*/ 00333000 LTR RETCODE,RETCODE 02S0113 00334000 BNZ @RF00113 02S0113 00335000 * BLOCKID='DCS ';/* SET WORKAREA ID @Y30LB56*/ 00336000 MVC BLOCKID(4,GET0PTR),@CC00319 02S0114 00337000 * ELSE 02S0115 00338000 * ; /* NO MORE WORKAREA AVAILABLE 00339000 * @Y30LB56*/ 00340000 @RF00113 DS 0H 02S0116 00341000 * END; /*@Y30LB56*/ 00342000 * ELSE 02S0117 00343000 * ; /* ANOTHER WORKAREA IS NOT YET 00344000 * NEEDED @Y30LB56*/ 00345000 @RF00075 DS 0H 02S0118 00346000 * IF RETCODE=0 THEN /* WORKAREA IS AVAILABLE @Y30LB56*/ 00347000 SLR @10,@10 02S0118 00348000 CR RETCODE,@10 02S0118 00349000 BNE @RF00118 02S0118 00350000 * 03S0119 00351000 * DO; /*@Y30LB56*/ 00352000 * 03S0119 00353000 * /***********************************************/ 00354000 * /* */ 00355000 * /* COPY DATA FROM LOGREC RECORD INTO WORK AREA */ 00356000 * /* */ 00357000 * /***********************************************/ 00358000 * 03S0120 00359000 * CHAINPTR=0; /* SET ENTRY CHAIN POINTER TO 0 00360000 * @Y30LB56*/ 00361000 ST @10,CHAINPTR(,GET0INDX) 03S0120 00362000 * DATIME=DATETIME;/* SAVE LOGREC RCD DATE/TIME 00363000 * @Y30LB56*/ 00364000 L @10,LOGPTR 03S0121 00365000 MVC DATIME(8,GET0INDX),DATETIME(@10) 03S0121 00366000 * SNS1A2=SUBSYSID;/* SAVE DRD SUBSYSTEM ID 03S0122 00367000 * @Y30LB56*/ 00368000 MVC SNS1A2(2,GET0INDX),SUBSYSID(SENSEPTR) 03S0122 00369000 * SNS9A10=SUBSENSE(6:7);/* SAVE MSC LOWER INTFC 00370000 * ADDR @Y30LB56*/ 00371000 MVC SNS9A10(2,GET0INDX),SUBSENSE+5(SENSEPTR) 03S0123 00372000 * SNS12T31(1:9)=SASENSE(1:9);/* STATS @ZM30998*/ 00373000 MVC SNS12T31(9,GET0INDX),SASENSE(SENSEPTR) 03S0124 00374000 * SNSCSN(1:3)=SASENSE(10:12);/* CSN 1-3 @ZM30998*/ 00375000 MVC SNSCSN(3,GET0INDX),SASENSE+9(SENSEPTR) 03S0125 00376000 * SNSCSN(4)=' '; /* BLANK 4 @ZM30998*/ 00377000 MVI SNSCSN+3(GET0INDX),C' ' 03S0126 00378000 * SNSCSN(5:12)=SASENSE(13:20);/* CSN 5-12@ZM30998*/ 00379000 * 03S0127 00380000 MVC SNSCSN+4(8,GET0INDX),SASENSE+12(SENSEPTR) 03S0127 00381000 * /***********************************************/ 00382000 * /* */ 00383000 * /* CALCULATE ERROR/USAGE=RATIOS FOR THIS DCS */ 00384000 * /* ENTRY */ 00385000 * /* */ 00386000 * /***********************************************/ 00387000 * 03S0128 00388000 * SNSBYT20=SNSBYT14; /* MOVE FLAG BITS @ZM31073*/ 00389000 MVC SNSBYT20(1,GET0INDX),SNSBYT14(GET0INDX) 03S0128 00390000 * SNSBYT20=SNSBYT20&'C0'X;/* BITS 0,1 @ZM31073*/ 00391000 NI SNSBYT20(GET0INDX),X'C0' 03S0129 00392000 * SNSRDCK=SNSRDCK&'3FFF'X;/* RESET UNUSED BITS 00393000 * @Y30LB56*/ 00394000 LH @10,@CH00323 03S0130 00395000 SLR @06,@06 03S0130 00396000 ICM @06,3,SNSRDCK(GET0INDX) 03S0130 00397000 NR @10,@06 03S0130 00398000 STH @10,SNSRDCK(,GET0INDX) 03S0130 00399000 * IF SNSRDUC .99 @Y30LB56*/ 00400000 CLC SNSRDUC(2,GET0INDX),SNSRDCK(GET0INDX) 03S0131 00401000 BNL @RF00131 03S0131 00402000 * SNSRDRAT='FF'X; /*@Y30LB56*/ 00403000 MVI SNSRDRAT(GET0INDX),X'FF' 03S0132 00404000 * ELSE 03S0133 00405000 * DO; /*@Y30LB56*/ 00406000 B @RC00131 03S0133 00407000 @RF00131 DS 0H 03S0134 00408000 * IF SNSRDUC=0 THEN/* NO RATIO @Y30LB56*/ 00409000 ICM @10,3,SNSRDUC(GET0INDX) 03S0134 00410000 BNZ @RF00134 03S0134 00411000 * SNSRDRAT=0; /*@Y30LB56*/ 00412000 MVI SNSRDRAT(GET0INDX),X'00' 03S0135 00413000 * ELSE /* CALCULATE RATIO @Y30LB56*/ 00414000 * SNSRDRAT=(SNSRDCK*100)/SNSRDUC;/* READ 00415000 * RATIO @Y30LB56*/ 00416000 B @RC00134 03S0136 00417000 @RF00134 SLR @10,@10 03S0136 00418000 ICM @10,3,SNSRDCK(GET0INDX) 03S0136 00419000 MH @10,@CH00325 03S0136 00420000 LR @00,@10 03S0136 00421000 SRDA @00,32 03S0136 00422000 SLR @10,@10 03S0136 00423000 ICM @10,3,SNSRDUC(GET0INDX) 03S0136 00424000 DR @00,@10 03S0136 00425000 STC @01,SNSRDRAT(,GET0INDX) 03S0136 00426000 * END; /*@Y30LB56*/ 00427000 @RC00134 DS 0H 03S0138 00428000 * SNSWRCK=SNSWRCK&'3FFF'X;/* RESET UNUSED BITS 00429000 * @Y30LB56*/ 00430000 @RC00131 LH @10,@CH00323 03S0138 00431000 SLR @06,@06 03S0138 00432000 ICM @06,3,SNSWRCK(GET0INDX) 03S0138 00433000 NR @10,@06 03S0138 00434000 STH @10,SNSWRCK(,GET0INDX) 03S0138 00435000 * IF SNSWRUC .99 @Y30LB56*/ 00436000 CLC SNSWRUC(2,GET0INDX),SNSWRCK(GET0INDX) 03S0139 00437000 BNL @RF00139 03S0139 00438000 * SNSWRAT='FF'X; /*@Y30LB56*/ 00439000 MVI SNSWRAT(GET0INDX),X'FF' 03S0140 00440000 * ELSE 03S0141 00441000 * DO; /*@Y30LB56*/ 00442000 B @RC00139 03S0141 00443000 @RF00139 DS 0H 03S0142 00444000 * IF SNSWRUC=0 THEN/* NO RATIO @Y30LB56*/ 00445000 ICM @10,3,SNSWRUC(GET0INDX) 03S0142 00446000 BNZ @RF00142 03S0142 00447000 * SNSWRAT=0; /*@Y30LB56*/ 00448000 MVI SNSWRAT(GET0INDX),X'00' 03S0143 00449000 * ELSE /* CALCULATE RATIO @Y30LB56*/ 00450000 * SNSWRAT=(SNSWRCK*100)/SNSWRUC;/* WRITE 00451000 * RATIO @Y30LB56*/ 00452000 B @RC00142 03S0144 00453000 @RF00142 SLR @10,@10 03S0144 00454000 ICM @10,3,SNSWRCK(GET0INDX) 03S0144 00455000 MH @10,@CH00325 03S0144 00456000 LR @00,@10 03S0144 00457000 SRDA @00,32 03S0144 00458000 SLR @10,@10 03S0144 00459000 ICM @10,3,SNSWRUC(GET0INDX) 03S0144 00460000 DR @00,@10 03S0144 00461000 STC @01,SNSWRAT(,GET0INDX) 03S0144 00462000 * END; /*@Y30LB56*/ 00463000 * 03S0145 00464000 @RC00142 DS 0H 03S0146 00465000 * /***********************************************/ 00466000 * /* */ 00467000 * /* SORT CHAINPTR BYTE DATE/TIME */ 00468000 * /* */ 00469000 * /***********************************************/ 00470000 * 03S0146 00471000 * WORKX1=DCS00PTR;/* FIRST WORK AREA PTR @Y30LB56*/ 00472000 @RC00139 L WORKX1,DCS00PTR(,CVTPTR) 03S0146 00473000 * 04S0147 00474000 */* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **/ 00475000 */* */ 00476000 */* SORT CHAINPTR IN ASCENDING CHRONOLOGICAL ORDER OF LOGREC */ 00477000 */* ENTRIES. */ 00478000 */* WORKX1 - MUST POINT TO THE FIRST USER WORK AREA */ 00479000 */* WORKX2 - XXXXXXXX */ 00480000 */* STARTPTR - MUST POINT TO THE OLDEST ENTRY IN REPORTS WORK */ 00481000 */* AREA(S). */ 00482000 */* GET0INDX - MUST POINT TO THE ENTRY JUST COPIED INTO THE */ 00483000 */* WORK AREA. */ 00484000 */* WORKX1, WORKX2 AND STARTPTR MAY BE MODIFIED BY SORT. */ 00485000 */* */ 00486000 */* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **/ 00487000 * WORKX2=WORKX1->STARTPTR; /* POINT TO OLDEST RECORD IN WORK 00488000 * AREA(S) @Y30LB56*/ 00489000 L WORKX2,STARTPTR(,WORKX1) 04S0147 00490000 * IF WORKX2=GET0INDX THEN 04S0148 00491000 CR WORKX2,GET0INDX 04S0148 00492000 BE @RT00148 04S0148 00493000 * ; /* THIS IS THE VERY FIRST RCD 00494000 * @Y30LB56*/ 00495000 * ELSE /* SORT THIS ENTRY INTO @Y30LB56 00496000 * CHRONOLOGICAL ORDER @Y30LB56*/ 00497000 * DO; /*@Y30LB56*/ 00498000 * DO WHILE((WORKX2->CHAINPTR^=0)&(DATIME>WORKX2->DATIME)); 00499000 B @DE00151 04S0151 00500000 @DL00151 DS 0H 04S0152 00501000 * WORKX1=WORKX2; /* SAVE THE POINTER TO THIS ENTRY 00502000 * @Y30LB56*/ 00503000 LR WORKX1,WORKX2 04S0152 00504000 * WORKX2=WORKX1->CHAINPTR; /* POINT TO NEXT RCD IN CHAIN 00505000 * @Y30LB56*/ 00506000 L WORKX2,CHAINPTR(,WORKX1) 04S0153 00507000 * END; /*@Y30LB56*/ 00508000 @DE00151 ICM @10,15,CHAINPTR(WORKX2) 04S0154 00509000 BZ @DC00151 04S0154 00510000 CLC DATIME(8,GET0INDX),DATIME(WORKX2) 04S0154 00511000 BH @DL00151 04S0154 00512000 @DC00151 DS 0H 04S0155 00513000 * IF DATIME>WORKX2->DATIME THEN/* RCDS IN PHYSICAL ORDER 04S0155 00514000 * @Y30LB56*/ 00515000 CLC DATIME(8,GET0INDX),DATIME(WORKX2) 04S0155 00516000 BNH @RF00155 04S0155 00517000 * WORKX2->CHAINPTR=GET0INDX;/* CHAIN TO NEW RCD @Y30LB56*/ 00518000 ST GET0INDX,CHAINPTR(,WORKX2) 04S0156 00519000 * ELSE /* RCDS NOT IN PHYSICAL ORDER 00520000 * @Y30LB56*/ 00521000 * DO; /*@Y30LB56*/ 00522000 B @RC00155 04S0157 00523000 @RF00155 DS 0H 04S0158 00524000 * CHAINPTR=WORKX2; /* CHAIN NEW RCD TO OLDER ONE 00525000 * @Y30LB56*/ 00526000 ST WORKX2,CHAINPTR(,GET0INDX) 04S0158 00527000 * WORKX1->CHAINPTR=GET0INDX;/* CHAIN TO NEW RCD @Y30LB56*/ 00528000 ST GET0INDX,CHAINPTR(,WORKX1) 04S0159 00529000 * END; /*@Y30LB56*/ 00530000 * END; /*@Y30LB56*/ 00531000 @RC00155 DS 0H 04S0162 00532000 * GET0INDX=GET0INDX+LENGTH(DCSENTRY); /*@Y30LB56*/ 00533000 @RT00148 AH GET0INDX,@CH00326 03S0162 00534000 * END; /*@Y30LB56*/ 00535000 * ELSE 02S0164 00536000 * ; /* MORE WORKAREA NOT AVAILABLE 00537000 * @Y30LB56*/ 00538000 @RF00118 DS 0H 02S0165 00539000 * END; /*@Y30LB56*/ 00540000 * ELSE 02S0166 00541000 * ; /* NO WORKAREAS ARE AVAILABLE 00542000 * @Y30LB56*/ 00543000 @RF00073 DS 0H 02S0167 00544000 * END; /*@Y30LB56*/ 00545000 * ELSE 02S0168 00546000 * ; /* SER DID NOT MATCH CSN IN SENSE 00547000 * @Y30LB56*/ 00548000 @RF00041 DS 0H 02S0169 00549000 * END; /*@Y30LB56*/ 00550000 * ELSE 02S0170 00551000 * ; /* SENSE CARTRIDGE SERIAL NUMBER 00552000 * = BINARY ZEROS @Y30LB56*/ 00553000 @RF00027 DS 0H 02S0171 00554000 * ELSE 02S0171 00555000 * ; /* SENSE ERROR/USAGE COUNTERS = 00556000 * BINARY ZEROS 02S0171 00557000 * @Y30LB56*/ 00558000 @RF00026 DS 0H 02S0172 00559000 * IF DCS00PTR=0 THEN 01S0172 00560000 ICM @10,15,DCS00PTR(CVTPTR) 01S0172 00561000 BZ @RT00172 01S0172 00562000 * ; /* NO WORKAREAS AVAILABLE@Y30LB56*/ 00563000 * ELSE /* WORKAREA IS AVAILABLE @Y30LB56*/ 00564000 * DO; /*@Y30LB56*/ 00565000 * RETCDSV=RETCODE; /* SAVE RETURN CODE @Y30LB56*/ 00566000 L @10,DCS00PTR(,CVTPTR) 01S0175 00567000 STH RETCODE,RETCDSV(,@10) 01S0175 00568000 * IF GET0PTR^=0 THEN /* INPUT SAVED @Y30LB56*/ 00569000 LTR GET0PTR,GET0PTR 01S0176 00570000 BZ @RF00176 01S0176 00571000 * DO; /*@Y30LB56*/ 00572000 * GET0PSV=GET0PTR; /* SAVE CURRENT WORKAREA PTR 00573000 * @Y30LB56*/ 00574000 ST GET0PTR,GET0PSV(,@10) 01S0178 00575000 * GET0XSV=GET0INDX; /* SAVE CURRENT WORKAREA INDEX 00576000 * @Y30LB56*/ 00577000 ST GET0INDX,GET0XSV(,@10) 01S0179 00578000 * END; /*@Y30LB56*/ 00579000 * ELSE 01S0181 00580000 * ; /* INPUT REJECTED @Y30LB56*/ 00581000 @RF00176 DS 0H 01S0182 00582000 * END; /*@Y30LB56*/ 00583000 * RETURN CODE(RETCODE); /* RETURN TO CALLER* * * * * * * 00584000 * @Y30LB56*/ 00585000 @RT00172 L @13,4(,@13) 01S0183 00586000 L @00,@SIZDATD 01S0183 00587000 LR @01,@11 01S0183 00588000 ISDAFSPC R,LV=(0),A=(1) 00589000 LR @15,@07 01S0183 00590000 L @14,12(,@13) 01S0183 00591000 LM @00,@12,20(@13) 01S0183 00592000 BR @14 01S0183 00593000 * END ISDADCS0 /*@Y30LB56*/ 00594000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. * 00595000 */*%INCLUDE SYSLIB (ISDASOBR) * 00596000 */*%INCLUDE SYSLIB (ISDAMSCS) * 00597000 */*%INCLUDE SYSLIB (ISDAMSC4) * 00598000 */*%INCLUDE SYSLIB (ISDACVT ) * 00599000 */*%INCLUDE SYSLIB (ISDAPRMS) * 00600000 */*%INCLUDE SYSLIB (ISDADCS5) * 00601000 */*%INCLUDE SYSUT5 (DCS0DCLS) * 00602000 */*%INCLUDE SYSLIB (ISDAGHDR) * 00603000 */*%INCLUDE SYSUT5 (DCSBUILD) * 00604000 */*%INCLUDE SYSUT5 (DCSGET1 ) * 00605000 */*%INCLUDE SYSUT5 (GETMORE ) * 00606000 */*%INCLUDE SYSUT5 (COPYSORT) * 00607000 */*%INCLUDE SYSUT5 (SORT ) * 00608000 *; 01S0184 00609000 @DATA DS 0H 00610000 @CH00047 DC H'1' 00611000 @CH00051 DC H'4' 00612000 @CH00326 DC H'44' 00613000 @CH00325 DC H'100' 00614000 @CH00323 DC XL2'3FFF' 00615000 @DATD DSECT 00616000 DS 0F 00617000 @SA00001 DS 18F 00618000 @PC00001 DS 1F 00619000 ISDADCS0 CSECT 00620000 DS 0F 00621000 @CF00081 DC F'12' 00622000 @CH00081 EQU @CF00081+2 00623000 @CF00317 DC F'128' 00624000 @CH00317 EQU @CF00317+2 00625000 @DATD DSECT 00626000 DS 0D 00627000 LOGPTR DS A 00628000 I DS F 00629000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00630000 @ENDDATD EQU * 00631000 ISDADCS0 CSECT 00632000 NOPR ((@ENDDATD-@DATD)/161*16) 00633000 DS 0F 00634000 @SIZDATD DC AL1(0) 00635000 DC AL3(@ENDDATD-@DATD) 00636000 @CV00235 DC V(ISDAFREE) 00637000 @CV00236 DC V(ISDAGET0) 00638000 DS 0D 00639000 GETWORK DS FL4 00640000 ORG GETWORK 00641000 @NM00015 DC AL1(1) 00642000 @NM00016 DC AL3(2048) 00643000 ORG GETWORK+4 00644000 @CC00319 DC C'DCS ' 00645000 PATCH DS CL50 00646000 ORG PATCH 00647000 @NM00008 DC 50X'00' 00648000 ORG PATCH+50 00649000 ZERO DS CL16 00650000 ORG ZERO 00651000 @NM00017 DC 16X'00' 00652000 ORG ZERO+16 00653000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00654000 @01 EQU 01 00655000 @02 EQU 02 00656000 @03 EQU 03 00657000 @04 EQU 04 00658000 @05 EQU 05 00659000 @06 EQU 06 00660000 @07 EQU 07 00661000 @08 EQU 08 00662000 @09 EQU 09 00663000 @10 EQU 10 00664000 @11 EQU 11 00665000 @12 EQU 12 00666000 @13 EQU 13 00667000 @14 EQU 14 00668000 @15 EQU 15 00669000 WORKX2 EQU @05 00670000 WORKX1 EQU @06 00671000 WORKVAR EQU @02 00672000 RETCODE EQU @07 00673000 GET0INDX EQU @02 00674000 GET0PTR EQU @04 00675000 LPARMPTR EQU @10 00676000 CVTPTR EQU @03 00677000 SENSEPTR EQU @05 00678000 R1 EQU @01 00679000 R15 EQU @15 00680000 OBRMDR EQU 0 00681000 SCW EQU OBRMDR 00682000 SWITCHES EQU OBRMDR+6 00683000 DATETIME EQU OBRMDR+12 00684000 DATE EQU DATETIME 00685000 TIME EQU DATETIME+4 00686000 CPUSERID EQU OBRMDR+21 00687000 ISDAMSCS EQU 0 00688000 SUBSYSID EQU ISDAMSCS+1 00689000 SSID EQU SUBSYSID 00690000 SUBSENSE EQU ISDAMSCS+4 00691000 SUBFMTMG EQU SUBSENSE+7 00692000 ISDAMSC4 EQU 4 00693000 FMTMSG4 EQU ISDAMSC4+7 00694000 SASENSE EQU ISDAMSC4+8 00695000 ISDACVT EQU 0 00696000 CVTPTRS0 EQU ISDACVT 00697000 DATAPTR EQU CVTPTRS0 00698000 SDATAPTR EQU CVTPTRS0+4 00699000 PARMPTR EQU CVTPTRS0+8 00700000 DCS00PTR EQU CVTPTRS0+40 00701000 WORKCALL EQU CVTPTRS0+96 00702000 GET0CALL EQU ISDACVT+100 00703000 SPNOLEN EQU GET0CALL 00704000 COREADDR EQU GET0CALL+4 00705000 HEXPCALL EQU ISDACVT+108 00706000 PRT0CALL EQU ISDACVT+120 00707000 OUTLINE EQU PRT0CALL 00708000 SDADATD EQU ISDACVT+256 00709000 PRTDATD EQU ISDACVT+416 00710000 ISDAPRMS EQU 0 00711000 CINPUT EQU ISDAPRMS 00712000 CSTART EQU ISDAPRMS+2 00713000 CEND EQU ISDAPRMS+6 00714000 CSUMMARY EQU ISDAPRMS+10 00715000 CFSCONLY EQU ISDAPRMS+13 00716000 CSSIDF EQU ISDAPRMS+17 00717000 CRATIO EQU ISDAPRMS+19 00718000 CSERIAL EQU ISDAPRMS+21 00719000 CREPORTS EQU ISDAPRMS+33 00720000 CDCS EQU CREPORTS 00721000 GET0HDR1 EQU 28 00722000 RATIO EQU GET0HDR1 00723000 SUM EQU GET0HDR1+2 00724000 SER EQU GET0HDR1+4 00725000 RETCDSV EQU GET0HDR1+16 00726000 GET0PSV EQU GET0HDR1+20 00727000 GET0XSV EQU GET0HDR1+24 00728000 DCSENTRY EQU 0 00729000 CHAINPTR EQU DCSENTRY 00730000 DATIME EQU DCSENTRY+4 00731000 SNS4D EQU DCSENTRY+12 00732000 SNS1A2 EQU SNS4D 00733000 SNS9A10 EQU SNS4D+2 00734000 SNS12T31 EQU SNS4D+4 00735000 SNSRDUC EQU SNS12T31 00736000 SNSRDCK EQU SNS12T31+2 00737000 SNSBYT14 EQU SNSRDCK 00738000 SNSWRUC EQU SNS12T31+4 00739000 SNSWRCK EQU SNS12T31+6 00740000 SNSBYT20 EQU SNS12T31+8 00741000 SNSCSN EQU SNS12T31+9 00742000 SNSRDRAT EQU DCSENTRY+40 00743000 SNSWRAT EQU DCSENTRY+41 00744000 ISDAGHDR EQU 0 00745000 STARTPTR EQU ISDAGHDR 00746000 GET0SPLN EQU ISDAGHDR+8 00747000 GET0LEN EQU GET0SPLN+1 00748000 NEXTPTR EQU ISDAGHDR+12 00749000 LASTPTR EQU ISDAGHDR+16 00750000 BLOCKID EQU ISDAGHDR+20 00751000 BLOCKCNT EQU ISDAGHDR+24 00752000 WORKPTR EQU 0 00753000 * START UNREFERENCED COMPONENTS 00754000 @NM00018 EQU ISDAGHDR+26 00755000 GET0SPNO EQU GET0SPLN 00756000 ENDPTR EQU ISDAGHDR+4 00757000 @NM00014 EQU DCSENTRY+42 00758000 @NM00013 EQU SNS4D+25 00759000 SNSAVAL4 EQU SNSBYT20 00760000 SNSLDCHK EQU SNSBYT20 00761000 SNSFORCE EQU SNSBYT20 00762000 OFLOWRCK EQU SNSWRCK 00763000 @NM00012 EQU SNSWRCK 00764000 OFLOWRUC EQU SNSWRUC 00765000 OFLORDCK EQU SNSBYT14 00766000 @NM00011 EQU SNSBYT14 00767000 OFLORDUC EQU SNSRDUC 00768000 SNSADDR EQU SNS9A10 00769000 SNSBYT9 EQU SNS9A10 00770000 SNSSID EQU SNS1A2 00771000 SNSBYT1 EQU SNS1A2 00772000 ATIME EQU DATIME+4 00773000 ADATE EQU DATIME 00774000 @NM00010 EQU GET0HDR1+18 00775000 @NM00009 EQU GET0HDR1+3 00776000 CTRACE EQU ISDAPRMS+48 00777000 CGEN EQU ISDAPRMS+47 00778000 CDETAIL EQU ISDAPRMS+46 00779000 CPERIOD EQU ISDAPRMS+45 00780000 CPWR EQU CREPORTS+11 00781000 CAPRSUU EQU CREPORTS+10 00782000 CDRC EQU CREPORTS+9 00783000 CDAT EQU CREPORTS+8 00784000 CCSBCSF EQU CREPORTS+7 00785000 CDCKTLX EQU CREPORTS+6 00786000 CEQC EQU CREPORTS+5 00787000 CFSC EQU CREPORTS+4 00788000 CDHEDHU EQU CREPORTS+3 00789000 CSUM EQU CREPORTS+2 00790000 CPAD EQU CREPORTS+1 00791000 CSERNO EQU CSERIAL+4 00792000 @NM00007 EQU CSERIAL+3 00793000 CIBM EQU CSERIAL 00794000 CSSID EQU CSSIDF 00795000 @NM00006 EQU CSSIDF 00796000 CFSC34 EQU CFSCONLY+2 00797000 CFSC12 EQU CFSCONLY 00798000 CTYPE EQU ISDAPRMS+11 00799000 CENDDAY EQU CEND+2 00800000 CENDYEAR EQU CEND 00801000 CSTDAY EQU CSTART+2 00802000 CSTYEAR EQU CSTART 00803000 CHISTIN EQU CINPUT+1 00804000 CLOGIN EQU CINPUT 00805000 PRTSA001 EQU PRTDATD 00806000 SDATEMPS EQU SDADATD+136 00807000 SDASA002 EQU SDADATD+76 00808000 SDAPC001 EQU SDADATD+72 00809000 SDASA001 EQU SDADATD 00810000 SDARPTID EQU PRT0CALL+133 00811000 LINE EQU OUTLINE+1 00812000 ANSI EQU OUTLINE 00813000 DUMPIDNO EQU HEXPCALL+8 00814000 DUMPLEN EQU HEXPCALL+4 00815000 DUMPADDR EQU HEXPCALL 00816000 CORELEN EQU SPNOLEN+1 00817000 SPNO EQU SPNOLEN 00818000 GEN00PTR EQU CVTPTRS0+92 00819000 CNFG0PTR EQU CVTPTRS0+88 00820000 PWR00PTR EQU CVTPTRS0+84 00821000 APR00PTR EQU CVTPTRS0+80 00822000 DRC00PTR EQU CVTPTRS0+76 00823000 DAT00PTR EQU CVTPTRS0+72 00824000 CSB00PTR EQU CVTPTRS0+68 00825000 DCK00PTR EQU CVTPTRS0+64 00826000 EQC00PTR EQU CVTPTRS0+60 00827000 FSC00PTR EQU CVTPTRS0+56 00828000 DHE00PTR EQU CVTPTRS0+52 00829000 SUM00PTR EQU CVTPTRS0+48 00830000 PAD00PTR EQU CVTPTRS0+44 00831000 LOG00PTR EQU CVTPTRS0+36 00832000 HIST0PTR EQU CVTPTRS0+32 00833000 PRT00PTR EQU CVTPTRS0+28 00834000 GET00PTR EQU CVTPTRS0+24 00835000 TYPE0PTR EQU CVTPTRS0+20 00836000 PARM0PTR EQU CVTPTRS0+16 00837000 SDA00PTR EQU CVTPTRS0+12 00838000 BYTE27F4 EQU SASENSE+19 00839000 BYTE26F4 EQU SASENSE+18 00840000 BYTE25F4 EQU SASENSE+17 00841000 BYTE24F4 EQU SASENSE+16 00842000 FSCFMT4 EQU SASENSE+14 00843000 BYTE21F4 EQU SASENSE+13 00844000 BYTE20F4 EQU SASENSE+12 00845000 BYTE19F4 EQU SASENSE+11 00846000 BYTE18F4 EQU SASENSE+10 00847000 BYTE17F4 EQU SASENSE+9 00848000 BYTE16F4 EQU SASENSE+8 00849000 BYTE15F4 EQU SASENSE+7 00850000 BYTE14F4 EQU SASENSE+6 00851000 BYTE13F4 EQU SASENSE+5 00852000 BYTE12F4 EQU SASENSE+4 00853000 BYTE11F4 EQU SASENSE+3 00854000 BYTE10F4 EQU SASENSE+2 00855000 BYTE9F4 EQU SASENSE+1 00856000 BYTE8F4 EQU SASENSE 00857000 MSGCODE4 EQU FMTMSG4 00858000 SUBFMTN4 EQU FMTMSG4 00859000 LOWADDF4 EQU ISDAMSC4+6 00860000 RETRYF4 EQU ISDAMSC4+5 00861000 @NM00005 EQU ISDAMSC4+4 00862000 CMDERRF4 EQU ISDAMSC4+3 00863000 CHADDRF4 EQU ISDAMSC4+2 00864000 STATUS24 EQU ISDAMSC4+1 00865000 STATUS14 EQU ISDAMSC4 00866000 SANOMSCD EQU SUBSENSE+27 00867000 RCYLMSCD EQU SUBSENSE+25 00868000 RUAMSCD EQU SUBSENSE+24 00869000 MSCFSC EQU SUBSENSE+22 00870000 @NM00004 EQU SUBSENSE+21 00871000 RUADASD EQU SUBSENSE+20 00872000 DASDFSC EQU SUBSENSE+18 00873000 @NM00003 EQU SUBSENSE+8 00874000 MSGCODEN EQU SUBFMTMG 00875000 SUBFMTNO EQU SUBFMTMG 00876000 SALOWAD2 EQU SUBSENSE+6 00877000 SARETRY EQU SUBSENSE+5 00878000 @NM00002 EQU SUBSENSE+4 00879000 DASDFMTN EQU SUBSENSE+3 00880000 SALOWADD EQU SUBSENSE+2 00881000 SUBSTAT5 EQU SUBSENSE+1 00882000 SUBSTAT4 EQU SUBSENSE 00883000 FORMATNO EQU ISDAMSCS+3 00884000 SSIDDEVT EQU SSID+1 00885000 SSIDLIBN EQU SSID+1 00886000 SSIDTYPE EQU SSID 00887000 SSIDFLAG EQU SUBSYSID 00888000 STATUS EQU ISDAMSCS 00889000 CPUID EQU CPUSERID+3 00890000 CPUSER EQU CPUSERID 00891000 VERNO EQU OBRMDR+20 00892000 TENSHUND EQU TIME+3 00893000 SECOND EQU TIME+2 00894000 MINUTE EQU TIME+1 00895000 HOUR EQU TIME 00896000 DAY EQU DATE+2 00897000 YEAR EQU DATE 00898000 RECENTRY EQU OBRMDR+11 00899000 RCDCNT EQU OBRMDR+10 00900000 SWITCH3 EQU SWITCHES+3 00901000 SWITCH2 EQU SWITCHES+2 00902000 SWITCH1 EQU SWITCHES+1 00903000 SWITCH0 EQU SWITCHES 00904000 SYSREL EQU OBRMDR+5 00905000 CLASRC EQU OBRMDR+4 00906000 @NM00001 EQU SCW+3 00907000 SCODE EQU SCW+2 00908000 SLENGTH EQU SCW 00909000 * END UNREFERENCED COMPONENTS 00910000 @RC00033 EQU @RC00032 00911000 @RC00034 EQU @RC00033 00912000 @ENDDATA EQU * 00913000 END ISDADCS0,(C'PLS0105',0603,75313) 00914000