LCCV TITLE 'BLSSLCCV--FIND LCCA VECTOR TABLE (LCCAVT) *00001000 ' 00002000 */* CHANGE ACTIVITY -------------------------------------------------*/ 00003000 */* THIS MODULE WAS WRITTEN FOR @G57LPRW */ 00004000 */*------------------------------------------------------------------*/ 00005000 BLSSLCCV CSECT , 01S0002 00006000 @MAINENT DS 0H 01S0002 00007000 USING *,@15 01S0002 00008000 B @PROLOG 01S0002 00009000 DC AL1(16) 01S0002 00010000 DC C'BLSSLCCV 78.059' 01S0002 00011000 DROP @15 00012000 @PROLOG STM @14,@12,12(@13) 01S0002 00013000 BALR @12,0 01S0002 00014000 @PSTART DS 0H 01S0002 00015000 USING @PSTART,@12 01S0002 00016000 L @00,@SIZDATD 01S0002 00017000 BLSUALLS R,LV=(0) 00018000 LR @11,@01 01S0002 00019000 USING @DATD,@11 01S0002 00020000 ST @13,@SA00001+4 01S0002 00021000 LM @00,@01,20(@13) 01S0002 00022000 ST @11,8(,@13) 01S0002 00023000 LR @13,@11 01S0002 00024000 MVC @PC00001(8),0(@01) 01S0002 00025000 * ESAUSYM=DTCVTD; /* SYMBOL */ 00026000 MVC ESAUSYM(31),DTCVTD 01S0148 00027000 * ESAUDT=DTCVT; /* DATA TYPE */ 00028000 MVC ESAUDT(34),DTCVT 01S0149 00029000 * CALL BLSRESGU(ZZ2,ESAU); /* FIND THE CVT */ 00030000 ST R9,@AL00001 01S0150 00031000 LA @14,ESAU 01S0150 00032000 ST @14,@AL00001+4 01S0150 00033000 L @10,ZZ2RVTP(,R9) 01S0150 00034000 L @15,RVTESGUP(,@10) 01S0150 00035000 LA @01,@AL00001 01S0150 00036000 BALR @14,@15 01S0150 00037000 * RETC=RF; /* RETURN CODE */ 00038000 LR RETC,RF 01S0151 00039000 * IF RETC>ZZZFLAGE THEN /* CVT NOT FOUND */ 00040000 CH RETC,@CH00054 01S0152 00041000 BH @RT00152 01S0152 00042000 * GO TO EXIT; /* COMMON EXIT PATH */ 00043000 * ESAUSYM='CVTLCCAT'; /* SYMBOL */ 00044000 MVI ESAUSYM+8,C' ' 01S0154 00045000 MVC ESAUSYM+9(22),ESAUSYM+8 01S0154 00046000 MVC ESAUSYM(8),@CC01895 01S0154 00047000 * ESAUD=DATC; /* STORAGE ATTRIBUTES */ 00048000 MVC ESAUD(60),DATC 01S0155 00049000 * ESBAPTR=ADDR(ESPA); /* ->ESBA (ALIAS FOR ESPA) */ 00050000 L ESBAPTR,@PC00001+4 01S0156 00051000 * CALL BLSRACC(ZZ2,ESAU,ESBALAD); /* RETRIEVE LCCAVT ADDRESS */ 00052000 ST R9,@AL00001 01S0157 00053000 LA @14,ESAU 01S0157 00054000 ST @14,@AL00001+4 01S0157 00055000 LA @14,ESBALAD(,ESBAPTR) 01S0157 00056000 ST @14,@AL00001+8 01S0157 00057000 L @10,ZZ2RVTP(,R9) 01S0157 00058000 L @15,RVTRACCP(,@10) 01S0157 00059000 LA @01,@AL00001 01S0157 00060000 BALR @14,@15 01S0157 00061000 * IF RF=ZZZFLAGI THEN /* CVT.CVTLCCAT RETRIEVED */ 00062000 * 01S0158 00063000 LTR RF,RF 01S0158 00064000 BNZ @RF00158 01S0158 00065000 * /***************************************************************/ 00066000 * /* */ 00067000 * /* CVT.CVTLCCAT RETRIEVED */ 00068000 * /* */ 00069000 * /***************************************************************/ 00070000 * 01S0159 00071000 * DO; /* CVT.CVTLCCAT RETRIEVED */ 00072000 * ESBAAS=DATS; /* MASTER ADDRESS SPACE */ 00073000 MVC ESBAAS(16,ESBAPTR),DATS 01S0160 00074000 * ESBAAS1=ZZ6DQA1; /* PREFERRED CPU ADDRESS */ 00075000 L @14,ZZ2AZZ6P(,R9) 01S0161 00076000 MVC ESBAAS1(4,ESBAPTR),ZZ6DQA1(@14) 01S0161 00077000 * CALL BLSRSAGU(ZZ2,SAAU,ESBA);/* SCAN LCCAVT */ 00078000 ST R9,@AL00001 01S0162 00079000 LA @14,SAAU 01S0162 00080000 ST @14,@AL00001+4 01S0162 00081000 ST ESBAPTR,@AL00001+8 01S0162 00082000 L @10,ZZ2RVTP(,R9) 01S0162 00083000 L @15,RVTSAGUP(,@10) 01S0162 00084000 LA @01,@AL00001 01S0162 00085000 BALR @14,@15 01S0162 00086000 * RETC=MAX(RETC,SAAUSRC); /* RETURN CODE */ 00087000 SLR @14,@14 01S0163 00088000 IC @14,SAAUSRC 01S0163 00089000 CR RETC,@14 01S0163 00090000 BNL *+6 00091000 LR RETC,@14 01S0163 00092000 * IF RETC