TITLE 'EP=BLSCALOC -- DATA ACCESS SERVICES ALLOCATION TOP LEVE*00001000 EL ' 00002000 * /* CHANGE ACTIVITY 00003000 * THIS MODULE IS WRITTEN FOR @G57LPSR 00004000 BLSCALOC CSECT , 0002 00005000 @MAINENT DS 0H 0002 00006000 USING *,@15 0002 00007000 B @PROLOG 0002 00008000 DC AL1(16) 0002 00009000 DC C'BLSCALOC 78.066' 0002 00010000 DROP @15 00011000 @PROLOG STM @14,@12,12(@13) 0002 00012000 BALR @12,0 0002 00013000 @PSTART DS 0H 0002 00014000 USING @PSTART,@12 0002 00015000 L @00,@SIZDATD 0002 00016000 BLSUALLS R,LV=(0) 00017000 LR @11,@01 0002 00018000 USING @DATD,@11 0002 00019000 ST @13,@SA00001+4 0002 00020000 LM @00,@01,20(@13) 0002 00021000 ST @11,8(,@13) 0002 00022000 LR @13,@11 0002 00023000 EJECT 00024000 * 0122 00025000 * /*****************************************************************/ 00026000 * /* */ 00027000 * /* HANDLE CONDITIONAL ALLOCATE REQUEST */ 00028000 * /* */ 00029000 * /*****************************************************************/ 00030000 * 0122 00031000 * MODNAME=LMODNMC; /* INIT THE MODULE NAME */ 00032000 MVC MODNAME(8),@CC00977 0122 00033000 * RETCODE=F0C; /* INIT THE MODULE RETURN CODE */ 00034000 SLR @10,@10 0123 00035000 ST @10,RETCODE 0123 00036000 * SUBCODE=F0C; /* INIT THE SUBROUTINE RETURN 0124 00037000 * CODE */ 00038000 ST @10,SUBCODE 0124 00039000 * RESPECIFY 0125 00040000 * GPR13P RESTRICTED; 0125 00041000 * PLISTPTR=CSAVR1; /* BASE THE REQST PARAMETER LIST */ 00042000 L @15,MSAVHSA(,GPR13P) 0126 00043000 L PLISTPTR,CSAVR1(,@15) 0126 00044000 * RESPECIFY 0127 00045000 * GPR13P UNRESTRICTED; 0127 00046000 * IF OPNP->I008P=DMCBCONA& /* TEST FOR CONDITIONAL ALLOCATE */ 00047000 * DMCBP^=ZZZNULL& /* AND DMCB POINTER NOT NULL */ 00048000 * DMCBP^=F0C THEN /* AND DMCB POINTER NOT ZERO */ 00049000 L @06,OPNP(,PLISTPTR) 0128 00050000 CLI I008P(@06),3 0128 00051000 BNE @RF00128 0128 00052000 L @06,DMCBPP(,PLISTPTR) 0128 00053000 L @06,DMCBP(,@06) 0128 00054000 CL @06,@CF00059 0128 00055000 BE @RF00128 0128 00056000 CR @06,@10 0128 00057000 BE @RF00128 0128 00058000 * DO; /* DAS WORK AREA MAY BE ALLOCATED*/ 00059000 ST @06,@TF00001 0129 00060000 * DMCBPTR=DMCBP; /* BASE THE DMCB CANDIDATE */ 00061000 L DMCBPTR,@TF00001 0130 00062000 * IF DMCBID^=LDMCBC THEN /* TEST FOR VALID DMCB */ 00063000 CLC DMCBID(4,DMCBPTR),@CC00979 0131 00064000 BE @RF00131 0131 00065000 * DO; /* INVALID DMCB */ 00066000 * RETCODE=INVDMCB; /* RETURN TO CALLER */ 00067000 LA @14,16 0133 00068000 ST @14,RETCODE 0133 00069000 * RESPECIFY 0134 00070000 * GPR13P RESTRICTED; 0134 00071000 * CSAVR0=F0C; /* ZERO THE MESSAGE CHAIN POINTER*/ 00072000 ST @10,CSAVR0(,@15) 0135 00073000 * RESPECIFY 0136 00074000 * GPR13P UNRESTRICTED; 0136 00075000 * RETURN CODE(RETCODE); /* RETURN TO CALLER */ 00076000 LR @10,@14 0137 00077000 L @13,4(,@13) 0137 00078000 L @00,@SIZDATD 0137 00079000 LR @01,@11 0137 00080000 BLSUFRES R,LV=(0),A=(1) 00081000 LR @15,@10 0137 00082000 L @14,12(,@13) 0137 00083000 LM @00,@12,20(@13) 0137 00084000 BR @14 0137 00085000 * END; /* INVALID DMCB */ 00086000 * ELSE 0139 00087000 * DO; /* VALID DMCB */ 00088000 @RF00131 DS 0H 0140 00089000 * CALL BLSCADST(DMCB,PLIST);/* TEST THAT REQUESTED DATA SET 00090000 * MATCHES DMCB ADDR */ 00091000 ST DMCBPTR,@AL00001 0140 00092000 ST PLISTPTR,@AL00001+4 0140 00093000 L @15,@CV00939 0140 00094000 LA @01,@AL00001 0140 00095000 BALR @14,@15 0140 00096000 * RETCODE=SUBCODE; 0141 00097000 L @10,SUBCODE 0141 00098000 ST @10,RETCODE 0141 00099000 * END; /* VALID DMCB */ 00100000 * RESPECIFY 0143 00101000 * GPR13P RESTRICTED; 0143 00102000 * CSAVR0=F0C; /* ZERO THE MESSAGE CHAIN POINTER*/ 00103000 L @01,MSAVHSA(,GPR13P) 0144 00104000 SLR @00,@00 0144 00105000 ST @00,CSAVR0(,@01) 0144 00106000 * RESPECIFY 0145 00107000 * GPR13P UNRESTRICTED; 0145 00108000 * RETURN CODE(RETCODE); /* RETURN TO CALLER */ 00109000 L @13,4(,@13) 0146 00110000 L @00,@SIZDATD 0146 00111000 LR @01,@11 0146 00112000 BLSUFRES R,LV=(0),A=(1) 00113000 LR @15,@10 0146 00114000 L @14,12(,@13) 0146 00115000 LM @00,@12,20(@13) 0146 00116000 BR @14 0146 00117000 * END; /* DAS WORK AREA MAY BE ALLOCATED*/ 00118000 EJECT 00119000 * 0148 00120000 * /*****************************************************************/ 00121000 * /* */ 00122000 * /* ALLOCATE THE DAS WORKAREA */ 00123000 * /* */ 00124000 * /*****************************************************************/ 00125000 * 0148 00126000 * DO; /* GETMAIN (RC) LV(DASWALEN) 0148 00127000 * SP(ZZZSPSHR) RTCD(SUBCODE) */ 00128000 @RF00128 DS 0H 0149 00129000 * RESPECIFY 0149 00130000 * (GPR01F, 0149 00131000 * GPR15F, 0149 00132000 * GPR00F) RESTRICTED; 0149 00133000 * GPR01F=0; /* REG 1 MUST BE ZERO */ 00134000 SLR GPR01F,GPR01F 0150 00135000 * GPR15F=0; /* RC-TYPE GETMAIN */ 00136000 SLR GPR15F,GPR15F 0151 00137000 * GPR00F=DASWALEN; /* LENGTH REQUESTED */ 00138000 L GPR00F,DASWALEN 0152 00139000 * GPR15F=GPR15F|((ZZZSPSHR)*256);/* SP IN BYTE 2 */ 00140000 O GPR15F,@CF01026 0153 00141000 * SVC(120); /* RC/RU-FORM OF GETMAIN */ 00142000 SVC 120 0154 00143000 * SUBCODE=GPR15F; /* SET RETURN CODE */ 00144000 ST GPR15F,SUBCODE 0155 00145000 * RESPECIFY 0156 00146000 * (GPR01F, 0156 00147000 * GPR15F, 0156 00148000 * GPR00F) UNRESTRICTED; 0156 00149000 * END; /* GETMAIN (RC) LV(DASWALEN) 0157 00150000 * SP(ZZZSPSHR) RTCD(SUBCODE) DAS 00151000 * WORK AREA */ 00152000 * RESPECIFY 0158 00153000 * GPR01P RESTRICTED; 0158 00154000 * DMCBPTR=GPR01P; /* SET THE DAS CONTROL BLOCK BASE 00155000 * POINTER */ 00156000 LR DMCBPTR,GPR01P 0159 00157000 * RESPECIFY 0160 00158000 * GPR01P UNRESTRICTED; 0160 00159000 * IF SUBCODE^=F0C THEN /* TEST FOR GETMAIN ERROR */ 00160000 L @10,SUBCODE 0161 00161000 SLR @15,@15 0161 00162000 CR @10,@15 0161 00163000 BE @RF00161 0161 00164000 * DO; /* GETMAIN ERROR */ 00165000 * RETCODE=NOSPACE; /* GETMAIN FAILED */ 00166000 LA @10,12 0163 00167000 ST @10,RETCODE 0163 00168000 * RESPECIFY 0164 00169000 * GPR13P RESTRICTED; 0164 00170000 * CSAVR0=F0C; /* ZERO MESSAGE CHAIN POINTER */ 00171000 L @01,MSAVHSA(,GPR13P) 0165 00172000 ST @15,CSAVR0(,@01) 0165 00173000 * RESPECIFY 0166 00174000 * GPR13P UNRESTRICTED; 0166 00175000 * RETURN CODE(RETCODE); /* RETURN TO CALLER */ 00176000 L @13,4(,@13) 0167 00177000 L @00,@SIZDATD 0167 00178000 LR @01,@11 0167 00179000 BLSUFRES R,LV=(0),A=(1) 00180000 LR @15,@10 0167 00181000 L @14,12(,@13) 0167 00182000 LM @00,@12,20(@13) 0167 00183000 BR @14 0167 00184000 * END; /* GETMAIN ERROR */ 00185000 * ELSE 0169 00186000 * DO; /* GETMAIN SUCCESSFUL */ 00187000 * 0169 00188000 @RF00161 DS 0H 0170 00189000 * /*************************************************************/ 00190000 * /* */ 00191000 * /* ZERO THE WORKAREA */ 00192000 * /* */ 00193000 * /*************************************************************/ 00194000 * 0170 00195000 * RESPECIFY 0170 00196000 * (GPR00P, 0170 00197000 * GPR01F, 0170 00198000 * GPR14P, 0170 00199000 * GPR15F) RESTRICTED; 0170 00200000 * GPR14P=DMCBPTR; /* WORKAREA POINTER */ 00201000 LR GPR14P,DMCBPTR 0171 00202000 * GPR15F=DASWALEN; /* WORKAREA LENGTH */ 00203000 L GPR15F,DASWALEN 0172 00204000 * GPR00P=F0C; /* NULL FROM POINTER */ 00205000 SLR GPR00P,GPR00P 0173 00206000 * GPR01F=F0C; /* FROM LENGTH AND PAD IS ZERO */ 00207000 SLR GPR01F,GPR01F 0174 00208000 * MVCL(GPR14P,GPR00P); /* ZERO THE WORK AREA */ 00209000 MVCL GPR14P,GPR00P 0175 00210000 * RESPECIFY 0176 00211000 * (GPR00P, 0176 00212000 * GPR01F, 0176 00213000 * GPR14P, 0176 00214000 * GPR15F) UNRESTRICTED; 0176 00215000 * 0176 00216000 * /*************************************************************/ 00217000 * /* */ 00218000 * /* SUBALLOCATE THE DMCB INCLUDING THE DMAL */ 00219000 * /* */ 00220000 * /*************************************************************/ 00221000 * 0177 00222000 * DMCBP=DMCBPTR; /* INIT USER'S DMCB POINTER */ 00223000 L @10,DMCBPP(,PLISTPTR) 0177 00224000 ST DMCBPTR,DMCBP(,@10) 0177 00225000 * DMCBEOB=DMCBPTR+DASWALEN; /* INIT END OF WORK AREA */ 00226000 L @10,DASWALEN 0178 00227000 LR @15,DMCBPTR 0178 00228000 ALR @15,@10 0178 00229000 ST @15,DMCBEOB(,DMCBPTR) 0178 00230000 * DMCBFRE=DMCBPTR+(F7C+LENGTH(DMCB)+LENGTH(DMAL)&XDWBDYC);/* 0179 00231000 * INCREMENT FREE AREA ADDRESS */ 00232000 LA @14,1848 0179 00233000 ALR @14,DMCBPTR 0179 00234000 ST @14,DMCBFRE(,DMCBPTR) 0179 00235000 * IF DMCBFRE>=DMCBEOB THEN /* TEST IF WORKAREA TOO SMALL */ 00236000 CR @14,@15 0180 00237000 BL @RF00180 0180 00238000 * DO; /* WORKAREA TOO SMALL */ 00239000 * RETCODE=NOSPACE; /* MARK ERROR */ 00240000 MVC RETCODE(4),@CF00048 0182 00241000 * DO; /* FREEMAIN(R) LV(DASWALEN)SP(ZZZ 00242000 * SPSHR)A(DMCB) */ 00243000 * RESPECIFY 0184 00244000 * (GPR01F, 0184 00245000 * GPR00F) RESTRICTED; 0184 00246000 * GPR00F=DASWALEN; /* LENGTH REQUESTED */ 00247000 LR GPR00F,@10 0185 00248000 * GPR01F=ZZZSPSHR; /* SP IN REG 1 */ 00249000 LA GPR01F,77 0186 00250000 * GEN(SLL GPR01F,24) 0187 00251000 * NODEFS NOREFS NOSETS NOEXIT NOFLOWS SEQFLOW; 0187 00252000 SLL GPR01F,24 00253000 * GPR00F=GPR00F|GPR01F; /* SP IN HI BYTE */ 00254000 OR GPR00F,GPR01F 0188 00255000 * GPR01F=ADDR(DMCB); /* SET REGISTER ONE */ 00256000 LR GPR01F,DMCBPTR 0189 00257000 * SVC(10); /* R-FORM OF GETMAIN */ 00258000 SVC 10 0190 00259000 * RESPECIFY 0191 00260000 * (GPR01F, 0191 00261000 * GPR00F) UNRESTRICTED; 0191 00262000 * END; /* FREEMAIN(R) LV(DASWALEN)SP(ZZZ 00263000 * SPSHR)A(DMCB) DAS WORK AREA */ 00264000 * RESPECIFY 0193 00265000 * GPR13P RESTRICTED; 0193 00266000 * CSAVR0=F0C; /* ZERO MESSAGE CHAIN POINTER */ 00267000 L @10,MSAVHSA(,GPR13P) 0194 00268000 SLR @15,@15 0194 00269000 ST @15,CSAVR0(,@10) 0194 00270000 * RESPECIFY 0195 00271000 * GPR13P UNRESTRICTED; 0195 00272000 * RETURN CODE(RETCODE); 0196 00273000 L @10,RETCODE 0196 00274000 L @13,4(,@13) 0196 00275000 L @00,@SIZDATD 0196 00276000 LR @01,@11 0196 00277000 BLSUFRES R,LV=(0),A=(1) 00278000 LR @15,@10 0196 00279000 L @14,12(,@13) 0196 00280000 LM @00,@12,20(@13) 0196 00281000 BR @14 0196 00282000 * END; /* WORKAREA TOO SMALL */ 00283000 * END; /* GETMAIN SUCCESSFUL */ 00284000 @RF00180 DS 0H 0199 00285000 EJECT 00286000 * 0199 00287000 * /*****************************************************************/ 00288000 * /* */ 00289000 * /* INITIALIZE FOR DATA SET ALLOCATION */ 00290000 * /* */ 00291000 * /*****************************************************************/ 00292000 * 0199 00293000 * RESPECIFY 0199 00294000 * GPR13P RESTRICTED; 0199 00295000 * DMCBALC=CSAVR14; /* REMEMBER WHERE CALLED FROM */ 00296000 L @10,MSAVHSA(,GPR13P) 0200 00297000 L @10,CSAVR14(,@10) 0200 00298000 ST @10,DMCBALC(,DMCBPTR) 0200 00299000 * RESPECIFY 0201 00300000 * GPR13P UNRESTRICTED; 0201 00301000 * DMALMODA=MODELP; /* INITIALIZE THE ALLOCATION 0202 00302000 * MODEL NAME ADDRESS */ 00303000 L @10,MODELP(,PLISTPTR) 0202 00304000 ST @10,DMALMODA(,DMCBPTR) 0202 00305000 * DMCBACCM=ACMODP->I008P; /* MAXIMUM ACCESS MODE */ 00306000 L @10,ACMODP(,PLISTPTR) 0203 00307000 IC @15,I008P(,@10) 0203 00308000 STC @15,DMCBACCM(,DMCBPTR) 0203 00309000 * DMCBRQST=OPNP->I008P; /* FUNCTION REQUESTED */ 00310000 L @10,OPNP(,PLISTPTR) 0204 00311000 IC @15,I008P(,@10) 0204 00312000 STC @15,DMCBRQST(,DMCBPTR) 0204 00313000 * IF OPNPVL=ON THEN /* TEST FOR END OF LIST--NO MODEL 00314000 * OVERRIDES */ 00315000 TM OPNPVL(PLISTPTR),B'10000000' 0205 00316000 BNO @RF00205 0205 00317000 * DMALPRMP=F0C; /* MARK THERE ARE NO OVERRIDES */ 00318000 SLR @10,@10 0206 00319000 ST @10,DMALPRMP(,DMCBPTR) 0206 00320000 * ELSE 0207 00321000 * DMALPRMP=ADDR(ALPARMS); /* ALLOCATION OVERRIDE PARMS ADDR*/ 00322000 B @RC00205 0207 00323000 @RF00205 LA @10,ALPARMS(,PLISTPTR) 0207 00324000 ST @10,DMALPRMP(,DMCBPTR) 0207 00325000 * DMCBNEXT=ZZZNULL; /* INIT THE DMCB CHAIN NEXT PTR */ 00326000 @RC00205 MVC DMCBNEXT(4,DMCBPTR),@CF00059 0208 00327000 * DMCBTVP=ZZ2P; /* BLSUZZ2 POINTER */ 00328000 L @10,ZZ2P(,PLISTPTR) 0209 00329000 ST @10,DMCBTVP(,DMCBPTR) 0209 00330000 * DMCBZZ1P=ZZ2ZZ1P; /* BLSUZZ1 ADDRESS */ 00331000 L @15,ZZ2ZZ1P(,@10) 0210 00332000 ST @15,DMCBZZ1P(,DMCBPTR) 0210 00333000 * DMCBSPID=ZZZSPSHR; /* DAS GLOBAL SUB-POOL ID */ 00334000 MVI DMCBSPID(DMCBPTR),X'4D' 0211 00335000 * DMCBMSG0=ZZ2MSG0P; /* PM/DM MSG BUILD AND ROUTE EP */ 00336000 L @15,ZZ2MSG0P(,@10) 0212 00337000 ST @15,DMCBMSG0(,DMCBPTR) 0212 00338000 * DMCBMSGS=ZZ2MSGSP; /* PM/DM MESSAGE TEXT CSECT ADDR */ 00339000 L @10,ZZ2MSGSP(,@10) 0213 00340000 ST @10,DMCBMSGS(,DMCBPTR) 0213 00341000 * RESPECIFY 0214 00342000 * (GPR01P, 0214 00343000 * GPR15F) RESTRICTED; 0214 00344000 * GPR01P=DMCBPTR; /* PASS DMCB ADDRESS */ 00345000 LR GPR01P,DMCBPTR 0215 00346000 * CALL BLSCAINT; /* PERFORM DATA SET ALLOCATION 0216 00347000 * INITIALIZATION */ 00348000 L @15,@CV00935 0216 00349000 BALR @14,@15 0216 00350000 * SUBCODE=GPR15F; /* SAVE SUBROUTINE RETURN CODE */ 00351000 ST GPR15F,SUBCODE 0217 00352000 * RESPECIFY 0218 00353000 * (GPR01P, 0218 00354000 * GPR15F) UNRESTRICTED; 0218 00355000 * IF SUBCODE^=F0C THEN /* TEST FOR SUBROUTINE ERROR */ 00356000 L @10,SUBCODE 0219 00357000 LTR @10,@10 0219 00358000 BZ @RF00219 0219 00359000 * DO; /* DATA SET ALLOCATION 0220 00360000 * INITIALIZATION FAILED */ 00361000 * RETCODE=ERROR; 0221 00362000 MVC RETCODE(4),@CF00046 0221 00363000 * END; /* DATA SET ALLOCATION 0222 00364000 * INITIALIZATION FAILED */ 00365000 EJECT 00366000 * 0223 00367000 * /*****************************************************************/ 00368000 * /* */ 00369000 * /* BUILD DYNALLOC TEXT UNITS FROM ALLOCATION OVERRIDE PARMS */ 00370000 * /* */ 00371000 * /*****************************************************************/ 00372000 * 0223 00373000 * IF RETCODE=F0C THEN /* TEST WHETHER TO CONTINUE */ 00374000 @RF00219 L @10,RETCODE 0223 00375000 LTR @10,@10 0223 00376000 BNZ @RF00223 0223 00377000 * DO; /* BUILD DYNALLOC TEXT UNITS FROM 00378000 * ALLOCATION OVERRIDE PARMS */ 00379000 * RESPECIFY 0225 00380000 * (GPR01P, 0225 00381000 * GPR15F) RESTRICTED; 0225 00382000 * GPR01P=DMCBPTR; /* PASS DMCB ADDRESS */ 00383000 LR GPR01P,DMCBPTR 0226 00384000 * CALL BLSCABLD; /* BUILD DYNALLOC TEXT UNITS FROM 00385000 * ALLOC OVRIDE PARMS */ 00386000 L @15,@CV00936 0227 00387000 BALR @14,@15 0227 00388000 * SUBCODE=GPR15F; /* SAVE SUBROUTINE RETURN CODE */ 00389000 ST GPR15F,SUBCODE 0228 00390000 * RESPECIFY 0229 00391000 * (GPR01P, 0229 00392000 * GPR15F) UNRESTRICTED; 0229 00393000 * IF SUBCODE^=F0C THEN /* TEST FOR SUBROUTINE ERROR */ 00394000 L @10,SUBCODE 0230 00395000 LTR @10,@10 0230 00396000 BZ @RF00230 0230 00397000 * DO; /* DYNALLOC PARMLIST BUILD FAILED*/ 00398000 * RETCODE=ERROR; 0232 00399000 MVC RETCODE(4),@CF00046 0232 00400000 * END; /* DYNALLOC PARMLIST BUILD FAILED*/ 00401000 * END; /* BUILD DYNALLOC TEXT UNITS FROM 00402000 * ALLOCATION OVERRIDE PARMS */ 00403000 @RF00230 DS 0H 0235 00404000 EJECT 00405000 * 0235 00406000 * /*****************************************************************/ 00407000 * /* */ 00408000 * /* MERGE ALLOCATION OVERRIDE PARAMETERS WITH MODEL */ 00409000 * /* */ 00410000 * /*****************************************************************/ 00411000 * 0235 00412000 * IF RETCODE=F0C THEN /* TEST WHETHER TO CONTINUE */ 00413000 @RF00223 L @10,RETCODE 0235 00414000 LTR @10,@10 0235 00415000 BNZ @RF00235 0235 00416000 * DO; /* MERGE ALLOCATION OVERRIDE 0236 00417000 * PARAMETERS WITH MODEL */ 00418000 * RESPECIFY 0237 00419000 * (GPR01P, 0237 00420000 * GPR15F) RESTRICTED; 0237 00421000 * GPR01P=DMCBPTR; /* PASS DMCB ADDRESS */ 00422000 LR GPR01P,DMCBPTR 0238 00423000 * CALL BLSCAMER; /* DO PARMLIST MERGE WITH MODEL */ 00424000 L @15,@CV00937 0239 00425000 BALR @14,@15 0239 00426000 * SUBCODE=GPR15F; /* SAVE SUBROUTINE RETURN CODE */ 00427000 ST GPR15F,SUBCODE 0240 00428000 * RESPECIFY 0241 00429000 * (GPR01P, 0241 00430000 * GPR15F) UNRESTRICTED; 0241 00431000 * IF SUBCODE^=F0C THEN /* TEST FOR SUBROUTINE ERROR */ 00432000 L @10,SUBCODE 0242 00433000 LTR @10,@10 0242 00434000 BZ @RF00242 0242 00435000 * DO; /* PARM LIST MERGE WITH MODEL 0243 00436000 * FAILED */ 00437000 * RETCODE=ERROR; 0244 00438000 MVC RETCODE(4),@CF00046 0244 00439000 * END; /* PARM LIST MERGE WITH MODEL 0245 00440000 * FAILED */ 00441000 * END; /* MERGE ALLOCATION OVERRIDE 0246 00442000 * PARAMETERS WITH MODEL */ 00443000 @RF00242 DS 0H 0247 00444000 EJECT 00445000 * 0247 00446000 * /*****************************************************************/ 00447000 * /* */ 00448000 * /* OBTAIN VSAM DASD SPACE USING ACCESS METHOD SERVICES */ 00449000 * /* */ 00450000 * /*****************************************************************/ 00451000 * 0247 00452000 * IF RETCODE=F0C& /* TEST WHETHER TO GET VSAM SPACE*/ 00453000 * DMCBSTAT=STATNEW& /* DATA SET STATUS = NEW */ 00454000 * DMCBVSF=ON THEN /* VSAM ACCESS METHOD */ 00455000 @RF00235 L @10,RETCODE 0247 00456000 LTR @10,@10 0247 00457000 BNZ @RF00247 0247 00458000 CLI DMCBSTAT(DMCBPTR),4 0247 00459000 BNE @RF00247 0247 00460000 TM DMCBVSF(DMCBPTR),B'00000001' 0247 00461000 BNO @RF00247 0247 00462000 * DO; /* OBTAIN VSAM DASD SPACE USING 00463000 * ACCESS METHOD SERVICES */ 00464000 * RESPECIFY 0249 00465000 * (GPR01P, 0249 00466000 * GPR15F) RESTRICTED; 0249 00467000 * GPR01P=DMCBPTR; /* PASS DMCB ADDRESS */ 00468000 LR GPR01P,DMCBPTR 0250 00469000 * CALL BLSCAAMS; /* PERFORM GET VSAM DASD SPACE */ 00470000 L @15,@CV00938 0251 00471000 BALR @14,@15 0251 00472000 * SUBCODE=GPR15F; /* SAVE SUBROUTINE RETURN CODE */ 00473000 ST GPR15F,SUBCODE 0252 00474000 * RESPECIFY 0253 00475000 * (GPR01P, 0253 00476000 * GPR15F) UNRESTRICTED; 0253 00477000 * IF SUBCODE^=F0C THEN /* TEST FOR SUBROUTINE ERROR */ 00478000 L @10,SUBCODE 0254 00479000 LTR @10,@10 0254 00480000 BZ @RF00254 0254 00481000 * DO; /* GET VSAM DASD SPACE FAILED */ 00482000 * RETCODE=ERROR; 0256 00483000 MVC RETCODE(4),@CF00046 0256 00484000 * END; /* GET VSAM DASD SPACE FAILED */ 00485000 * END; /* OBTAIN VSAM DASD SPACE USING 00486000 * ACCESS METHOD SERVICES */ 00487000 @RF00254 DS 0H 0259 00488000 EJECT 00489000 * 0259 00490000 * /*****************************************************************/ 00491000 * /* */ 00492000 * /* PERFORM DYNAMIC ALLOCATION FUNCTION */ 00493000 * /* */ 00494000 * /*****************************************************************/ 00495000 * 0259 00496000 * IF RETCODE=F0C THEN /* TEST WHETHER TO CONTINUE */ 00497000 @RF00247 L @10,RETCODE 0259 00498000 LTR @10,@10 0259 00499000 BNZ @RF00259 0259 00500000 * DO; /* PERFORM DYNAMIC ALLOCATION 0260 00501000 * FUNCTION */ 00502000 * RESPECIFY 0261 00503000 * (GPR01P, 0261 00504000 * GPR15F) RESTRICTED; 0261 00505000 * GPR01P=DMCBPTR; /* PASS DMCB ADDRESS */ 00506000 LR GPR01P,DMCBPTR 0262 00507000 * CALL BLSCADYN; /* DO DYNAMIC ALLOCATION FUNCTION*/ 00508000 L @15,@CV00940 0263 00509000 BALR @14,@15 0263 00510000 * SUBCODE=GPR15F; /* SAVE SUBROUTINE RETURN CODE */ 00511000 ST GPR15F,SUBCODE 0264 00512000 * RESPECIFY 0265 00513000 * (GPR01P, 0265 00514000 * GPR15F) UNRESTRICTED; 0265 00515000 * IF SUBCODE^=F0C THEN /* TEST FOR SUBROUTINE ERROR */ 00516000 L @10,SUBCODE 0266 00517000 LTR @10,@10 0266 00518000 BZ @RF00266 0266 00519000 * DO; /* DYNAMIC ALLOCATION FUNCTION 0267 00520000 * FAILED */ 00521000 * RETCODE=ERROR; 0268 00522000 MVC RETCODE(4),@CF00046 0268 00523000 * END; /* DYNAMIC ALLOCATION FUNCTION 0269 00524000 * FAILED */ 00525000 * END; /* PERFORM DYNAMIC ALLOCATION 0270 00526000 * FUNCTION */ 00527000 @RF00266 DS 0H 0271 00528000 EJECT 00529000 * 0271 00530000 * /*****************************************************************/ 00531000 * /* */ 00532000 * /* SET UP TO RETURN TO CALLER */ 00533000 * /* */ 00534000 * /*****************************************************************/ 00535000 * 0271 00536000 * RESPECIFY 0271 00537000 * GPR13P RESTRICTED; 0271 00538000 @RF00259 DS 0H 0272 00539000 * CSAVR0=DMCBMSG; /* PASS MESSAGE CHAIN TO CALLER */ 00540000 L @10,MSAVHSA(,GPR13P) 0272 00541000 L @15,DMCBMSG(,DMCBPTR) 0272 00542000 ST @15,CSAVR0(,@10) 0272 00543000 * RESPECIFY 0273 00544000 * GPR13P UNRESTRICTED; 0273 00545000 SPACE 2 00546000 * IF RETCODEI256C) */ 00586000 * RESPECIFY 0282 00587000 * (GPR01F, 0282 00588000 * GPR00F) RESTRICTED; 0282 00589000 * GPR00F=DMCBEOB-ENDPTR;/* LENGTH REQUESTED */ 00590000 SLR @10,ENDPTR 0283 00591000 LR GPR00F,@10 0283 00592000 * GPR01F=ZZZSPSHR; /* SP IN REG 1 */ 00593000 LA GPR01F,77 0284 00594000 * GEN(SLL GPR01F,24) 0285 00595000 * NODEFS NOREFS NOSETS NOEXIT NOFLOWS SEQFLOW; 0285 00596000 SLL GPR01F,24 00597000 * GPR00F=GPR00F|GPR01F; /* SP IN HI BYTE */ 00598000 OR GPR00F,GPR01F 0286 00599000 * GPR01F=ADDR(ENDPTR->I256C);/* SET REGISTER ONE */ 00600000 LR GPR01F,ENDPTR 0287 00601000 * SVC(10); /* R-FORM OF GETMAIN */ 00602000 SVC 10 0288 00603000 * RESPECIFY 0289 00604000 * (GPR01F, 0289 00605000 * GPR00F) UNRESTRICTED; 0289 00606000 * END; /* FREEMAIN(R) LV(DMCBEOB-ENDPTR) 00607000 * SP(ZZZSPSHR)A(ENDPTR->I256C) 00608000 * DAS EXCESS WORK AREA */ 00609000 * DMCBEOB=ENDPTR; /* MARK DMCB SIZE REDUCED */ 00610000 ST ENDPTR,DMCBEOB(,DMCBPTR) 0291 00611000 * END; /* DMCB SIZE CAN BE REDUCED */ 00612000 * 0292 00613000 * /*************************************************************/ 00614000 * /* */ 00615000 * /* HOOK DMCB TO DMCB CHAIN ANCHORED AT ZZ1DMCBP */ 00616000 * /* */ 00617000 * /*************************************************************/ 00618000 * 0293 00619000 * WORKPTR=ZZ1DMCBP; /* INIT WORK PTR TO CHAIN ANCHOR 00620000 * ADDR */ 00621000 @RF00279 L @10,ZZ2P(,PLISTPTR) 0293 00622000 L @10,ZZ2ZZ1P(,@10) 0293 00623000 L @15,ZZ1DMCBP(,@10) 0293 00624000 LR WORKPTR,@15 0293 00625000 * IF ZZ1DMCBP=ZZZNULL THEN /* TEST FOR EMPTY CHAIN */ 00626000 CL @15,@CF00059 0294 00627000 BNE @RF00294 0294 00628000 * ZZ1DMCBP=DMCBPTR; /* PUT FIRST DMCB ON CHAIN */ 00629000 ST DMCBPTR,ZZ1DMCBP(,@10) 0295 00630000 * ELSE 0296 00631000 * DO; /* NOT FIRST DMCB ON CHAIN */ 00632000 B @RC00294 0296 00633000 @RF00294 DS 0H 0297 00634000 * DO WHILE WORKPTR->DMCBNEXT^=ZZZNULL;/* FIND END OF CHAIN */ 00635000 B @DE00297 0297 00636000 @DL00297 DS 0H 0298 00637000 * CALL TSTDMCB; /* TEST FOR INVALID DMCB OR DMCB 00638000 * POINTER */ 00639000 BAL @14,TSTDMCB 0298 00640000 * WORKPTR=WORKPTR->DMCBNEXT;/* BUMP TO NEXT DMCB */ 00641000 L WORKPTR,DMCBNEXT(,WORKPTR) 0299 00642000 * END; /* FIND END OF CHAIN */ 00643000 @DE00297 CLC DMCBNEXT(4,WORKPTR),@CF00059 0300 00644000 BNE @DL00297 0300 00645000 * CALL TSTDMCB; /* TEST FOR INVALID DMCB OR DMCB 00646000 * POINTER */ 00647000 BAL @14,TSTDMCB 0301 00648000 * WORKPTR->DMCBNEXT=DMCBPTR;/* HOOK DMCB TO END OF CHAIN */ 00649000 ST DMCBPTR,DMCBNEXT(,WORKPTR) 0302 00650000 * END; /* NOT FIRST DMCB ON CHAIN */ 00651000 * END; /* SUCCESS RETURN TO CALLER */ 00652000 * ELSE 0305 00653000 * DO; /* ERROR RETURN TO CALLER */ 00654000 * 0305 00655000 B @RC00274 0305 00656000 @RF00274 DS 0H 0306 00657000 * /*************************************************************/ 00658000 * /* */ 00659000 * /* ALLOCATION ERROR, FREEMAIN THE DMCB */ 00660000 * /* */ 00661000 * /*************************************************************/ 00662000 * 0306 00663000 * DMCBP=ZZZNULL; /* NULL CALLER'S DMCB POINTER */ 00664000 L @10,DMCBPP(,PLISTPTR) 0306 00665000 MVC DMCBP(4,@10),@CF00059 0306 00666000 * DMCBID=LBCMDC; /* INVALIDATE THE DMCB */ 00667000 MVC DMCBID(4,DMCBPTR),@CC00981 0307 00668000 * DO; /* FREEMAIN(R) LV(DMCBEOB-ADDR(DM 00669000 * CB))SP(ZZZSPSHR)A(DMCB) */ 00670000 * RESPECIFY 0309 00671000 * (GPR01F, 0309 00672000 * GPR00F) RESTRICTED; 0309 00673000 * GPR00F=DMCBEOB-ADDR(DMCB);/* LENGTH REQUESTED */ 00674000 L GPR00F,DMCBEOB(,DMCBPTR) 0310 00675000 SLR GPR00F,DMCBPTR 0310 00676000 * GPR01F=ZZZSPSHR; /* SP IN REG 1 */ 00677000 LA GPR01F,77 0311 00678000 * GEN(SLL GPR01F,24) 0312 00679000 * NODEFS NOREFS NOSETS NOEXIT NOFLOWS SEQFLOW; 0312 00680000 SLL GPR01F,24 00681000 * GPR00F=GPR00F|GPR01F; /* SP IN HI BYTE */ 00682000 OR GPR00F,GPR01F 0313 00683000 * GPR01F=ADDR(DMCB); /* SET REGISTER ONE */ 00684000 LR GPR01F,DMCBPTR 0314 00685000 * SVC(10); /* R-FORM OF GETMAIN */ 00686000 SVC 10 0315 00687000 * RESPECIFY 0316 00688000 * (GPR01F, 0316 00689000 * GPR00F) UNRESTRICTED; 0316 00690000 * END; /* FREEMAIN(R) LV(DMCBEOB-ADDR(DM 00691000 * CB))SP(ZZZSPSHR)A(DMCB) */ 00692000 */* DAS WORK AREA 0318 00693000 * */ 00694000 * 0318 00695000 * END; /* ERROR RETURN TO CALLER */ 00696000 * RETURN CODE(RETCODE); /* RETURN TO CALLER */ 00697000 @RC00274 L @10,RETCODE 0319 00698000 L @13,4(,@13) 0319 00699000 L @00,@SIZDATD 0319 00700000 LR @01,@11 0319 00701000 BLSUFRES R,LV=(0),A=(1) 00702000 LR @15,@10 0319 00703000 L @14,12(,@13) 0319 00704000 LM @00,@12,20(@13) 0319 00705000 BR @14 0319 00706000 EJECT 00707000 * 0320 00708000 * /*****************************************************************/ 00709000 * /* */ 00710000 * /* TEST FOR INVALID DMCB OR DMCB POINTER */ 00711000 * /* */ 00712000 * /*****************************************************************/ 00713000 * 0320 00714000 *TSTDMCB: 0320 00715000 * PROCEDURE; /* TEST FOR INVALID DMCB OR DMCB 00716000 * POINTER */ 00717000 TSTDMCB STM @14,@12,@SA00002 0320 00718000 * IF WORKPTR->DMCBID^=LDMCBC THEN /* TEST FOR INVALID DMCB */ 00719000 CLC DMCBID(4,WORKPTR),@CC00979 0321 00720000 BE @RF00321 0321 00721000 * DO; /* INVALID DMCB OR DMCB POINTER */ 00722000 * CHSTR847=WORKPTR; /* DMCB POINTER */ 00723000 STCM WORKPTR,15,CHSTR847 0323 00724000 * CHSTR88=LHEX0FC; /* TRANSLATE IT TO PRINTABLE HEX */ 00725000 MVI CHSTR88,X'0F' 0324 00726000 * UNPK(CTEMP,CHSTR8); 0325 00727000 UNPK CTEMP(9),CHSTR8(8) 0325 00728000 * TR(CTEMP,HEXTBL); 0326 00729000 TR CTEMP(9),HEXTBL 0326 00730000 * DO; /* BLSDMSG 0327 00731000 * (ZZ2,INVCB,DMCBMSG,BLSDMSGS) 00732000 * INSERT(LDMCBC,LDMCBC,CTEMP18) */ 00733000 * IOPTLIST(1)=ADDR(IOPTLIST(4));/* CHAIN TO NEXT INSERT */ 00734000 LA @10,IOPTLIST+12 0328 00735000 ST @10,IOPTLIST 0328 00736000 * IOPTLIST(2)=ADDR(LDMCBC); /* INSERT NAME POINTER */ 00737000 LA @10,@CC00979 0329 00738000 ST @10,IOPTLIST+4 0329 00739000 * IOPTLIST(3)=0; /* ZERO RESERVED FIELD */ 00740000 SLR @03,@03 0330 00741000 ST @03,IOPTLIST+8 0330 00742000 * RFY 0331 00743000 * I015F BASED(ADDR(IOPTLIST(3)));/* ACCESS BYTES 1-2 */ 00744000 * I015F=LENGTH(LDMCBC); /* INSERT LENGTH */ 00745000 LA @15,4 0332 00746000 LA @14,IOPTLIST+8 0332 00747000 STH @15,I015F(,@14) 0332 00748000 * IOPTLIST(4)=ADDR(IOPTLIST(7));/* CHAIN TO NEXT INSERT */ 00749000 LA @14,IOPTLIST+24 0333 00750000 ST @14,IOPTLIST+12 0333 00751000 * IOPTLIST(5)=ADDR(LDMCBC); /* INSERT NAME POINTER */ 00752000 ST @10,IOPTLIST+16 0334 00753000 * IOPTLIST(6)=0; /* ZERO RESERVED FIELD */ 00754000 ST @03,IOPTLIST+20 0335 00755000 * RFY 0336 00756000 * I015F BASED(ADDR(IOPTLIST(6)));/* ACCESS BYTES 1-2 */ 00757000 * I015F=LENGTH(LDMCBC); /* INSERT LENGTH */ 00758000 LA @10,IOPTLIST+20 0337 00759000 STH @15,I015F(,@10) 0337 00760000 * IOPTLIST(7)=0; /* LAST INSERT */ 00761000 ST @03,IOPTLIST+24 0338 00762000 * IOPTLIST(8)=ADDR(CTEMP18);/* INSERT NAME POINTER */ 00763000 LA @10,CTEMP18 0339 00764000 ST @10,IOPTLIST+28 0339 00765000 * IOPTLIST(9)=0; /* ZERO RESERVED FIELD */ 00766000 ST @03,IOPTLIST+32 0340 00767000 * RFY 0341 00768000 * I015F BASED(ADDR(IOPTLIST(9)));/* ACCESS BYTES 1-2 */ 00769000 * I015F=LENGTH(CTEMP18); /* INSERT LENGTH */ 00770000 LA @10,IOPTLIST+32 0342 00771000 MVC I015F(2,@10),@CH00046 0342 00772000 * CALL BLSDMSG0(ZZ2,INVCB,DMCBMSG,BLSDMSGS,'00000000'B,ADDR( 00773000 * IOPTLIST)); /* BUILD MESSAGE */ 00774000 L @10,ZZ2P(,PLISTPTR) 0343 00775000 ST @10,@AL00001 0343 00776000 LA @03,@CF00971 0343 00777000 ST @03,@AL00001+4 0343 00778000 LA @03,DMCBMSG(,DMCBPTR) 0343 00779000 ST @03,@AL00001+8 0343 00780000 L @03,ZZ2MSGSP(,@10) 0343 00781000 ST @03,@AL00001+12 0343 00782000 LA @03,@CB01017 0343 00783000 ST @03,@AL00001+16 0343 00784000 LA @03,IOPTLIST 0343 00785000 ST @03,@AFTEMPS 0343 00786000 LA @03,@AFTEMPS 0343 00787000 ST @03,@AL00001+20 0343 00788000 L @15,ZZ2MSG0P(,@10) 0343 00789000 LA @01,@AL00001 0343 00790000 BALR @14,@15 0343 00791000 * END; /* BLSDMSG 0344 00792000 * (ZZ2,INVCB,DMCBMSG,BLSDMSGS) 00793000 * INSERT(LDMCBC,LDMCBC,CTEMP18) */ 00794000 * DO; /* BLSDMSG 0345 00795000 * (ZZ2,HDRMSG,DMCBMSG,BLSDMSGS) 00796000 * LIFO 0345 00797000 * ROUTE(TERM)INSERT(MODNAME) */ 00798000 * IOPTLIST(1)=0; /* LAST INSERT */ 00799000 SLR @10,@10 0346 00800000 ST @10,IOPTLIST 0346 00801000 * IOPTLIST(2)=ADDR(MODNAME);/* INSERT NAME POINTER */ 00802000 LA @03,MODNAME 0347 00803000 ST @03,IOPTLIST+4 0347 00804000 * IOPTLIST(3)=0; /* ZERO RESERVED FIELD */ 00805000 ST @10,IOPTLIST+8 0348 00806000 * RFY 0349 00807000 * I015F BASED(ADDR(IOPTLIST(3)));/* ACCESS BYTES 1-2 */ 00808000 * I015F=LENGTH(MODNAME); /* INSERT LENGTH */ 00809000 LA @10,IOPTLIST+8 0350 00810000 MVC I015F(2,@10),@CH00046 0350 00811000 * CALL BLSDMSG0(ZZ2,HDRMSG,DMCBMSG,BLSDMSGS,'10010000'B,ADDR( 00812000 * IOPTLIST)); /* BUILD MESSAGE */ 00813000 L @10,ZZ2P(,PLISTPTR) 0351 00814000 ST @10,@AL00001 0351 00815000 LA @03,@CF00969 0351 00816000 ST @03,@AL00001+4 0351 00817000 LA @03,DMCBMSG(,DMCBPTR) 0351 00818000 ST @03,@AL00001+8 0351 00819000 L @03,ZZ2MSGSP(,@10) 0351 00820000 ST @03,@AL00001+12 0351 00821000 LA @03,@CB01020 0351 00822000 ST @03,@AL00001+16 0351 00823000 LA @03,IOPTLIST 0351 00824000 ST @03,@AFTEMPS 0351 00825000 LA @03,@AFTEMPS 0351 00826000 ST @03,@AL00001+20 0351 00827000 L @15,ZZ2MSG0P(,@10) 0351 00828000 LA @01,@AL00001 0351 00829000 BALR @14,@15 0351 00830000 * END; /* BLSDMSG 0352 00831000 * (ZZ2,HDRMSG,DMCBMSG,BLSDMSGS) 00832000 * LIFO 0352 00833000 * ROUTE(TERM)INSERT(MODNAME) */ 00834000 * DO; /* ABEND(F145C) DUMP USER */ 00835000 * RESPECIFY 0354 00836000 * (GPR01F) RESTRICTED; 0354 00837000 * GPR01F=(F145C)&'00000FFF'X;/* COMP CODE IN BITS 20-31 */ 00838000 LA GPR01F,145 0355 00839000 * GPR01F=GPR01F|'80000000'X;/* DUMP/STEP/DUMPOPTS FLAG */ 00840000 O GPR01F,@CF00059 0356 00841000 * SVC(13); /* ISSUE ABEND SVC */ 00842000 SVC 13 0357 00843000 * RESPECIFY 0358 00844000 * (GPR01F) UNRESTRICTED; 0358 00845000 * END; /* ABEND(F145C) DUMP USER INVALID 00846000 * DMCB POINTER OR DMCB */ 00847000 * END; /* INVALID DMCB OR DMCB POINTER */ 00848000 * END TSTDMCB; /* TEST FOR INVALID DMCB OR DMCB 00849000 * POINTER */ 00850000 @EL00002 DS 0H 0361 00851000 @EF00002 DS 0H 0361 00852000 @ER00002 LM @14,@12,@SA00002 0361 00853000 BR @14 0361 00854000 EJECT 00855000 * 0362 00856000 * /*****************************************************************/ 00857000 * /* */ 00858000 * /* END OF EXECUTABLE PROCEDURE STATEMENTS */ 00859000 * /* */ 00860000 * /*****************************************************************/ 00861000 * 0362 00862000 */*BLSUPEND--MVS IPCS MODULE */ 00863000 * 0362 00864000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 00865000 * GPR00F FIXED(31) REG(0), 0362 00866000 * GPR01F FIXED(31) REG(1), 0362 00867000 * GPR15F FIXED(31) REG(15), 0362 00868000 * GPR00P PTR(31) REG(0), 0362 00869000 * GPR01P PTR(31) REG(1), 0362 00870000 * GPR13P PTR(31) REG(13), 0362 00871000 * GPR14P PTR(31) REG(14); 0362 00872000 * DECLARE /* COMMON VARIABLES */ 00873000 * I256C CHAR(256) BASED, 0363 00874000 * I031F FIXED(31) BASED, 0363 00875000 * I031P PTR(31) BASED, 0363 00876000 * I015F FIXED(15) BASED, 0363 00877000 * I015P PTR(15) BASED, 0363 00878000 * I008P PTR(8) BASED, 0363 00879000 * I001C CHAR(1) BASED; 0363 00880000 * DECLARE 0364 00881000 * IOPTLIST(9) PTR(31) BDY(WORD);/* OPTION LIST ARRAY */ 00882000 * GENERATE NODEFS NOREFS DATA; 0365 00883000 * END /* BLRPEND END OF PROCESSING */ 00884000 * 0366 00885000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00886000 */*%INCLUDE SYSLIB (BLSUZZZ ) */ 00887000 */*%INCLUDE SYSLIB (BLRFULL ) */ 00888000 */*%INCLUDE SYSLIB (IKJCPPL ) */ 00889000 */*%INCLUDE SYSLIB (IKJPSCB ) */ 00890000 */*%INCLUDE SYSLIB (IKJECT ) */ 00891000 */*%INCLUDE SYSLIB (IKJUPT ) */ 00892000 */*%INCLUDE SYSLIB (BLSUSERV) */ 00893000 */*%INCLUDE SYSLIB (BLRSERV ) */ 00894000 */*%INCLUDE SYSLIB (BLRSERVD) */ 00895000 */*%INCLUDE SYSLIB (BLSDSERV) */ 00896000 * 0366 00897000 * ; 0366 00898000 @EL00001 L @13,4(,@13) 0366 00899000 @EF00001 L @00,@SIZDATD 0366 00900000 LR @01,@11 0366 00901000 BLSUFRES R,LV=(0),A=(1) 00902000 @ER00001 LM @14,@12,12(@13) 0366 00903000 BR @14 0366 00904000 @DATA DS 0H 00905000 @DATD DSECT 00906000 DS 0F 00907000 @SA00001 DS 18F 00908000 @SA00002 DS 15F 00909000 @AL00001 DS 6A 00910000 @TF00001 DS F 00911000 @AFTEMPS DS 1F 00912000 BLSCALOC CSECT 00913000 DS 0F 00914000 @CF00415 DC F'7' 00915000 @CF00046 DC F'8' 00916000 @CH00046 EQU @CF00046+2 00917000 @CF00048 DC F'12' 00918000 @CF00969 DC F'4071' 00919000 @CF00971 DC F'4072' 00920000 @CF01026 DC F'19712' 00921000 @CF00059 DC XL4'80000000' 00922000 @CF00975 DC XL4'FFFFFFF8' 00923000 @DATD DSECT 00924000 DS 0D 00925000 MODSTAT DS CL16 00926000 ORG MODSTAT 00927000 MODNAME DS CL8 00928000 RETCODE DS FL4 00929000 SUBCODE DS FL4 00930000 ORG MODSTAT+16 00931000 CHSTR8 DS CL8 00932000 ORG CHSTR8 00933000 @NM00069 DS CL3 00934000 CHSTR847 DS CL4 00935000 ORG CHSTR847 00936000 CHSTR846 DS CL3 00937000 CHSTR87 DS CL1 00938000 ORG CHSTR8+7 00939000 CHSTR88 DS CL1 00940000 ORG CHSTR8+8 00941000 CTEMP DS CL9 00942000 ORG CTEMP 00943000 CTEMP18 DS CL8 00944000 ORG CTEMP18 00945000 CTEMP14 DS CL4 00946000 CTEMP58 DS CL4 00947000 ORG CTEMP58 00948000 CTEMP56 DS CL2 00949000 CTEMP78 DS CL2 00950000 ORG CTEMP+9 00951000 DS CL3 00952000 IOPTLIST DS 9A 00953000 BLSCALOC CSECT 00954000 DS 0F 00955000 @SIZDATD DC AL1(0) 00956000 DC AL3(@ENDDATD-@DATD) 00957000 @CV00935 DC V(BLSCAINT) 00958000 @CV00936 DC V(BLSCABLD) 00959000 @CV00937 DC V(BLSCAMER) 00960000 @CV00938 DC V(BLSCAAMS) 00961000 @CV00939 DC V(BLSCADST) 00962000 @CV00940 DC V(BLSCADYN) 00963000 DS 0D 00964000 DASWALEN DC F'4096' 00965000 DASSIZE DC F'4096' 00966000 @CC00977 DC C'BLSCALOC' 00967000 @CC00979 DC C'DMCB' 00968000 @CC00981 DC C'BCMD' 00969000 @CB01017 DC B'00000000' 00970000 @CB01020 DC B'10010000' 00971000 @DATD DSECT 00972000 SPACE 2 00973000 *********************************************************************** 00974000 * THE FOLLOWING AREA, BLRPATCH, IS RESERVED FOR PATCH APPLICATION * 00975000 * TO OBTAIN PATCH ROOM IN THE @DATD AUTOMATIC STORAGE AREA, MODIFY * 00976000 * CONSTANT @SIZDATD TO REFLECT THE DESIRED @DATD SIZE * 00977000 *********************************************************************** 00978000 SPACE 00979000 BLSCALOC CSECT 00980000 ORG 00981000 DS 0D 00982000 BLRPATCH DC CL8'ZAPAREA',(((*-BLSCALOC+19)/20+7)/8)CL8'BLSCALOC' 00983000 BLSCALOC CSECT 00984000 * /* 00985000 HEXTBL EQU *-240 00986000 DC CL16'0123456789ABCDEF' 00987000 @DATD DSECT 00988000 SPACE 2 00989000 *********************************************************************** 00990000 * ALIGN END OF DATA ON A DOUBLEWORD BOUNDARY * 00991000 *********************************************************************** 00992000 SPACE 00993000 DS 0D 00994000 @DATD DSECT 00995000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 00996000 @ENDDATD EQU * 00997000 BLSCALOC CSECT 00998000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00999000 @01 EQU 01 01000000 @02 EQU 02 01001000 @03 EQU 03 01002000 @04 EQU 04 01003000 @05 EQU 05 01004000 @06 EQU 06 01005000 @07 EQU 07 01006000 @08 EQU 08 01007000 @09 EQU 09 01008000 @10 EQU 10 01009000 @11 EQU 11 01010000 @12 EQU 12 01011000 @13 EQU 13 01012000 @14 EQU 14 01013000 @15 EQU 15 01014000 WORKPTR EQU @02 01015000 ENDPTR EQU @02 01016000 PLISTPTR EQU @07 01017000 DMCBPTR EQU @06 01018000 R0 EQU @00 01019000 R1 EQU @01 01020000 R2 EQU @02 01021000 R3 EQU @03 01022000 R4 EQU @04 01023000 R5 EQU @05 01024000 R9 EQU @09 01025000 RB EQU @11 01026000 RD EQU @13 01027000 RE EQU @14 01028000 RF EQU @15 01029000 GPR13P EQU @13 01030000 GPR01F EQU @01 01031000 GPR15F EQU @15 01032000 GPR00F EQU @00 01033000 GPR01P EQU @01 01034000 GPR00P EQU @00 01035000 GPR14P EQU @14 01036000 RA EQU @10 01037000 RC EQU @12 01038000 R6 EQU @06 01039000 R7 EQU @07 01040000 R8 EQU @08 01041000 ZZ1 EQU 0 01042000 ZZ1DMCBP EQU ZZ1+48 01043000 ZZ1ATTN EQU ZZ1+360 01044000 ZZ1EVE EQU ZZ1ATTN+4 01045000 ZZ1F EQU ZZ1+368 01046000 ZZ1N EQU ZZ1+1116 01047000 ZZ2 EQU 0 01048000 ZZ2AMD EQU ZZ2 01049000 @NM00013 EQU ZZ2AMD+7 01050000 ZZ2PRT EQU ZZ2+138 01051000 ZZ2PRTT EQU ZZ2PRT+4 01052000 ZZ2PRTT1 EQU ZZ2PRTT+1 01053000 ZZ2A EQU ZZ2+272 01054000 ZZ2AF EQU ZZ2A+16 01055000 ZZ2APID EQU ZZ2A+64 01056000 ZZ2AD EQU ZZ2A+74 01057000 ZZ2ADD EQU ZZ2AD 01058000 ZZ2ADDT EQU ZZ2ADD+2 01059000 ZZ2ADM EQU ZZ2AD+46 01060000 ZZ2ADMT EQU ZZ2ADM+2 01061000 ZZ2ADP EQU ZZ2AD+56 01062000 ZZ2ADPT EQU ZZ2ADP+2 01063000 ZZ2AQAS EQU ZZ2A+144 01064000 ZZ2AQD EQU ZZ2A+160 01065000 ZZ2AQDT EQU ZZ2AQD+10 01066000 ZZ2AQDF EQU ZZ2AQD+52 01067000 ZZ2STG EQU ZZ2+960 01068000 ZZ2ALLOP EQU ZZ2+992 01069000 ZZ2FREEP EQU ZZ2+996 01070000 ZZ2FF19P EQU ZZ2+1000 01071000 ZZ2FRE1P EQU ZZ2+1004 01072000 ZZ2FF18P EQU ZZ2+1008 01073000 ZZ2DYNAP EQU ZZ2+1012 01074000 ZZ2ZZ2CP EQU ZZ2+1016 01075000 ZZ2ZZ2DP EQU ZZ2+1020 01076000 ZZ2STAIP EQU ZZ2+1024 01077000 ZZ2FF02P EQU ZZ2+1028 01078000 ZZ2GETLP EQU ZZ2+1032 01079000 ZZ2PARSP EQU ZZ2+1036 01080000 ZZ2PTGTP EQU ZZ2+1040 01081000 ZZ2PUTLP EQU ZZ2+1044 01082000 ZZ2SCANP EQU ZZ2+1048 01083000 ZZ2STCKP EQU ZZ2+1052 01084000 ZZ2MSGSP EQU ZZ2+1060 01085000 ZZ2TRMOP EQU ZZ2+1064 01086000 ZZ2TRMVP EQU ZZ2+1068 01087000 ZZ2MSG0P EQU ZZ2+1076 01088000 ZZ2PUTNP EQU ZZ2+1084 01089000 ZZ2TRMNP EQU ZZ2+1088 01090000 ZZ2ENQ0P EQU ZZ2+1092 01091000 ZZ2ADSDP EQU ZZ2+1096 01092000 ZZ2APDRP EQU ZZ2+1100 01093000 ZZ2FDSDP EQU ZZ2+1104 01094000 ZZ2FPDRP EQU ZZ2+1108 01095000 ZZ2ZZ1P EQU ZZ2+1264 01096000 ZZ2DVTP EQU ZZ2+1276 01097000 ZZ2BVTP EQU ZZ2+1280 01098000 ZZ2CPPL EQU ZZ2+1292 01099000 ZZ2CPPLC EQU ZZ2CPPL 01100000 ZZ2ITR EQU ZZ2+2840 01101000 ZZ2ITRE EQU ZZ2ITR+16 01102000 ZZ2ITSE EQU ZZ2+2864 01103000 ZZ2ES EQU ZZ2+2872 01104000 ZZ2AMDX EQU ZZ2+7160 01105000 ZZ2AXO EQU ZZ2+7934 01106000 ZZ2AXOT EQU ZZ2AXO+2 01107000 CMD EQU 0 01108000 CMDT EQU CMD+4 01109000 PSCB EQU 0 01110000 PSCBATR1 EQU PSCB+16 01111000 ECT EQU 0 01112000 ECTSWS EQU ECT+28 01113000 ECTSWS2 EQU ECT+40 01114000 ECTSWS21 EQU ECTSWS2 01115000 UPT EQU 0 01116000 UPTSWS EQU UPT+12 01117000 SA EQU 0 01118000 SA1 EQU SA 01119000 SAR EQU SA+12 01120000 SAR1 EQU SAR+12 01121000 BVT EQU 0 01122000 BVTPUTLP EQU BVT+4 01123000 BVTPUTOP EQU BVT+12 01124000 BVTPUTTP EQU BVT+16 01125000 BVTPUTVP EQU BVT+20 01126000 BVTPUTAP EQU BVT+24 01127000 BVTPRTTP EQU BVT+28 01128000 BVTPRTAP EQU BVT+32 01129000 BVTPUTDP EQU BVT+36 01130000 BVTMONP EQU BVT+40 01131000 BVTMON2P EQU BVT+44 01132000 BVTVSARP EQU BVT+48 01133000 BVTVSENP EQU BVT+64 01134000 BVTVSERP EQU BVT+68 01135000 BVTVSGEP EQU BVT+72 01136000 BVTVSGUP EQU BVT+76 01137000 BVTVSPOP EQU BVT+80 01138000 BVTVSPUP EQU BVT+84 01139000 BVTMPKNP EQU BVT+104 01140000 BVTMONLP EQU BVT+108 01141000 BVTPUTCP EQU BVT+132 01142000 BVTMPK1P EQU BVT+136 01143000 BVTZZ2RP EQU BVT+140 01144000 BVTPGMRP EQU BVT+144 01145000 BVTMONAP EQU BVT+148 01146000 BVTBLDDP EQU BVT+152 01147000 BVTBLDLP EQU BVT+156 01148000 BVTPGMCP EQU BVT+160 01149000 BVTPGMDP EQU BVT+164 01150000 BVTPGMLP EQU BVT+168 01151000 BVTMONCP EQU BVT+180 01152000 BVTMONDP EQU BVT+184 01153000 BVTMONTP EQU BVT+188 01154000 BVTPARIP EQU BVT+192 01155000 BVTPARUP EQU BVT+196 01156000 BVTPRTNP EQU BVT+204 01157000 BVTVSCRP EQU BVT+208 01158000 BVTVSMRP EQU BVT+212 01159000 BVTMONXP EQU BVT+216 01160000 BVTTRMAP EQU BVT+228 01161000 BLSDMSGS EQU 0 01162000 BLSDMSG0 EQU 0 01163000 DVT EQU 0 01164000 DVTDEQPP EQU DVT+8 01165000 DVTENQPP EQU DVT+12 01166000 DVTAUTHP EQU DVT+20 01167000 DVTLPCLP EQU DVT+24 01168000 DVTBP00P EQU DVT+28 01169000 DVTCN00P EQU DVT+32 01170000 DVTDF00P EQU DVT+36 01171000 DVTDS00P EQU DVT+44 01172000 DVTFL00P EQU DVT+48 01173000 DVTFP00P EQU DVT+52 01174000 DVTGD00P EQU DVT+56 01175000 DVTGG00P EQU DVT+60 01176000 DVTGP00P EQU DVT+64 01177000 DVTND00P EQU DVT+68 01178000 DVTND01P EQU DVT+72 01179000 DVTOD00P EQU DVT+76 01180000 DVTPS00P EQU DVT+80 01181000 DVTSD00P EQU DVT+84 01182000 DVTSL00P EQU DVT+88 01183000 DVTTL00P EQU DVT+92 01184000 DVTUD00P EQU DVT+96 01185000 DVTUP00P EQU DVT+100 01186000 DVTLP00P EQU DVT+104 01187000 DVTLALLP EQU DVT+108 01188000 DVTLPFMP EQU DVT+112 01189000 DVTCLOSP EQU DVT+116 01190000 DVTOPENP EQU DVT+120 01191000 DVTPERAP EQU DVT+124 01192000 DVTDALLP EQU DVT+128 01193000 DMCB EQU 0 01194000 DMCBID EQU DMCB 01195000 DMCBNEXT EQU DMCB+4 01196000 DMCBTVP EQU DMCB+8 01197000 DMCBRTC EQU DMCB+12 01198000 DMCBFTY EQU DMCB+20 01199000 DMCBVSF EQU DMCBFTY 01200000 DMCBOPN EQU DMCB+21 01201000 DMCBRQST EQU DMCB+22 01202000 DMCBRMOD EQU DMCB+23 01203000 DMCBOUT EQU DMCBRMOD 01204000 DMCBOPTS EQU DMCB+24 01205000 DMCBGKY EQU DMCBOPTS 01206000 DMCBMFLG EQU DMCB+28 01207000 DMCBACCM EQU DMCB+30 01208000 DMCBBUFP EQU DMCB+32 01209000 DMCBKEYP EQU DMCB+44 01210000 DMCBMSG EQU DMCB+52 01211000 DMCBRI EQU DMCB+64 01212000 DMCBMSG0 EQU DMCB+68 01213000 DMCBMSGS EQU DMCB+72 01214000 DMCBZZ1P EQU DMCB+76 01215000 DMCBSPID EQU DMCB+84 01216000 DMCBFRE EQU DMCB+88 01217000 DMCBEOB EQU DMCB+92 01218000 DMCBACBE EQU DMCB+124 01219000 DMCBSTAT EQU DMCB+366 01220000 DMCBSPEC EQU DMCB+380 01221000 DMCBAMS EQU DMCB+416 01222000 DMCBAUDT EQU DMCB+568 01223000 DMCBALC EQU DMCBAUDT 01224000 DMCBLSCP EQU DMCBAUDT+16 01225000 DMCBWRK EQU DMCB+648 01226000 MSA EQU 0 01227000 MSAVHSA EQU MSA+4 01228000 CSAV EQU 0 01229000 CSAVR14 EQU CSAV+12 01230000 CSAVR0 EQU CSAV+20 01231000 CSAVR1 EQU CSAV+24 01232000 PLIST EQU 0 01233000 ZZ2P EQU PLIST 01234000 DMCBPP EQU PLIST+4 01235000 MODELP EQU PLIST+8 01236000 ACMODP EQU PLIST+12 01237000 OPNP EQU PLIST+16 01238000 OPNPVL EQU OPNP 01239000 ALPARMS EQU PLIST+20 01240000 DMCBP EQU 0 01241000 I008P EQU 0 01242000 I256C EQU 0 01243000 I015F EQU 0 01244000 BLSDADSD EQU 0 01245000 BLSDAPDR EQU 0 01246000 BLSDDEQP EQU 0 01247000 BLSDENQP EQU 0 01248000 BLSDENQ0 EQU 0 01249000 BLSDFDSD EQU 0 01250000 BLSDFPDR EQU 0 01251000 BLSEAUTH EQU 0 01252000 BLSELPCL EQU 0 01253000 BLSELPFM EQU 0 01254000 BLSFBP00 EQU 0 01255000 BLSFCLOS EQU 0 01256000 BLSFCN00 EQU 0 01257000 BLSFDALL EQU 0 01258000 BLSFDF00 EQU 0 01259000 BLSFDS00 EQU 0 01260000 BLSFFL00 EQU 0 01261000 BLSFFP00 EQU 0 01262000 BLSFGD00 EQU 0 01263000 BLSFGG00 EQU 0 01264000 BLSFGP00 EQU 0 01265000 BLSFLALL EQU 0 01266000 BLSFLP00 EQU 0 01267000 BLSFND00 EQU 0 01268000 BLSFND01 EQU 0 01269000 BLSFOD00 EQU 0 01270000 BLSFOPEN EQU 0 01271000 BLSFPERA EQU 0 01272000 BLSFPS00 EQU 0 01273000 BLSFSD00 EQU 0 01274000 BLSFSL00 EQU 0 01275000 BLSFTL00 EQU 0 01276000 BLSFUD00 EQU 0 01277000 BLSFUP00 EQU 0 01278000 BLSUALLO EQU 0 01279000 BLSUBLDD EQU 0 01280000 BLSUBLDL EQU 0 01281000 BLSUDYNA EQU 0 01282000 BLSUFREE EQU 0 01283000 BLSUFRE1 EQU 0 01284000 BLSUMON EQU 0 01285000 BLSUMONA EQU 0 01286000 BLSUMONC EQU 0 01287000 BLSUMOND EQU 0 01288000 BLSUMONL EQU 0 01289000 BLSUMONT EQU 0 01290000 BLSUMONX EQU 0 01291000 BLSUMON2 EQU 0 01292000 BLSUMPKN EQU 0 01293000 BLSUMPK1 EQU 0 01294000 BLSUPARI EQU 0 01295000 BLSUPARU EQU 0 01296000 BLSUPGMC EQU 0 01297000 BLSUPGMD EQU 0 01298000 BLSUPGML EQU 0 01299000 BLSUPGMR EQU 0 01300000 BLSUPRTA EQU 0 01301000 BLSUPRTN EQU 0 01302000 BLSUPRTT EQU 0 01303000 BLSUPUTA EQU 0 01304000 BLSUPUTC EQU 0 01305000 BLSUPUTD EQU 0 01306000 BLSUPUTL EQU 0 01307000 BLSUPUTN EQU 0 01308000 BLSUPUTO EQU 0 01309000 BLSUPUTT EQU 0 01310000 BLSUPUTV EQU 0 01311000 BLSUSTAI EQU 0 01312000 BLSUTRMA EQU 0 01313000 BLSUTRMN EQU 0 01314000 BLSUTRMO EQU 0 01315000 BLSUTRMV EQU 0 01316000 BLSUVSAR EQU 0 01317000 BLSUVSCR EQU 0 01318000 BLSUVSEN EQU 0 01319000 BLSUVSER EQU 0 01320000 BLSUVSGE EQU 0 01321000 BLSUVSGU EQU 0 01322000 BLSUVSMR EQU 0 01323000 BLSUVSPO EQU 0 01324000 BLSUVSPU EQU 0 01325000 BLSUZZ2C EQU 0 01326000 BLSUZZ2D EQU 0 01327000 BLSUZZ2R EQU 0 01328000 DMCBDMGR EQU 0 01329000 DMCBRQC EQU 0 01330000 IKJEFF02 EQU 0 01331000 IKJEFF18 EQU 0 01332000 IKJEFF19 EQU 0 01333000 IKJGETL EQU 0 01334000 IKJPARS EQU 0 01335000 IKJPTGT EQU 0 01336000 IKJPUTL EQU 0 01337000 IKJSCAN EQU 0 01338000 IKJSTCK EQU 0 01339000 I001C EQU 0 01340000 I015P EQU 0 01341000 I031F EQU 0 01342000 I031P EQU 0 01343000 MODELNAM EQU 0 01344000 CPPL EQU ZZ2CPPL 01345000 CPPLUPT EQU CPPL+4 01346000 CPPLPSCB EQU CPPL+8 01347000 CPPLECT EQU CPPL+12 01348000 DMCBVSM EQU DMCBAMS 01349000 DMCBQSM EQU DMCBAMS 01350000 DMAL EQU DMCBWRK 01351000 DMALMODA EQU DMAL+4 01352000 DMALPRMP EQU DMAL+8 01353000 AGO .@UNREFD START UNREFERENCED COMPONENTS 01354000 DMALEND EQU DMAL+1196 01355000 DMALTUS EQU DMAL+172 01356000 DMALTUPL EQU DMAL+44 01357000 DMALTUBS EQU DMAL+40 01358000 DMALTUPM EQU DMAL+36 01359000 DMALDYRB EQU DMAL+16 01360000 DMALMODP EQU DMAL+12 01361000 DMALID EQU DMAL 01362000 DMCBRES7 EQU DMCBQSM+96 01363000 DMCBDCB EQU DMCBQSM 01364000 DMCBACB EQU DMCBVSM+76 01365000 DMCBRPL EQU DMCBVSM 01366000 CPPLCBUF EQU CPPL 01367000 CSAVR15 EQU CSAV+16 01368000 CSAVRES EQU CSAV 01369000 MSAVWD1 EQU MSA 01370000 DMCBRES8 EQU DMCB+640 01371000 DMCBMODN EQU DMCB+632 01372000 DMCBCARY EQU DMCBAUDT+20 01373000 DMCBCLC EQU DMCBAUDT+12 01374000 DMCBOPC EQU DMCBAUDT+8 01375000 DMCBFRC EQU DMCBAUDT+4 01376000 DMCBFR EQU DMCB+412 01377000 DMCBRES6 EQU DMCB+410 01378000 DMCBIRSC EQU DMCB+408 01379000 DMCBSUBC EQU DMCB+404 01380000 DMCBDRBP EQU DMCB+400 01381000 DMCBRSZM EQU DMCB+398 01382000 DMCBRSZA EQU DMCB+396 01383000 DMCBCISZ EQU DMCB+394 01384000 DMCBDCBL EQU DMCB+392 01385000 DMCBDCLR EQU DMCB+390 01386000 DMCBDCFM EQU DMCB+389 01387000 DMCBRES5 EQU DMCB+388 01388000 DMCBLBRT EQU DMCB+386 01389000 DMCBLBSQ EQU DMCB+384 01390000 DMCBLBPS EQU DMCB+383 01391000 DMCBLBTY EQU DMCB+382 01392000 DMCBRES4 EQU DMCB+381 01393000 DMCBSPRS EQU DMCBSPEC 01394000 DMCBSPRN EQU DMCBSPEC 01395000 DMCBSPCT EQU DMCBSPEC 01396000 DMCBSPRL EQU DMCBSPEC 01397000 DMCBSPSE EQU DMCB+376 01398000 DMCBSPPR EQU DMCB+372 01399000 DMCBSPTY EQU DMCB+369 01400000 DMCBODIS EQU DMCB+368 01401000 DMCBDISP EQU DMCB+367 01402000 DMCBRES3 EQU DMCB+364 01403000 DMCBMEMB EQU DMCB+356 01404000 DMCBMODL EQU DMCB+348 01405000 DMCBRES9 EQU DMCB+340 01406000 DMCBPID EQU DMCB+332 01407000 DMCBTYPE EQU DMCB+328 01408000 DMCBDSN EQU DMCB+284 01409000 DMCBUNIT EQU DMCB+276 01410000 DMCBDSOR EQU DMCB+274 01411000 DMCBVOL EQU DMCB+268 01412000 DMCBDDNM EQU DMCB+260 01413000 DMCBSYNM EQU DMCB+132 01414000 DMCBRPLF EQU DMCB+128 01415000 DMCBDCBE EQU DMCBACBE 01416000 DMCBARC EQU DMCB+120 01417000 DMCBCPC EQU DMCB+116 01418000 DMCBRET EQU DMCB+112 01419000 DMCBSTL EQU DMCB+96 01420000 DMCBRES2 EQU DMCB+85 01421000 DMCBRESC EQU DMCB+80 01422000 DMCBRRL EQU DMCB+60 01423000 DMCBRBA EQU DMCB+56 01424000 DMCBKEYL EQU DMCB+48 01425000 DMCBKPC EQU DMCBKEYP 01426000 DMCBORL EQU DMCB+40 01427000 DMCBBLEN EQU DMCB+36 01428000 DMCBBFPC EQU DMCBBUFP 01429000 DMCBRES1 EQU DMCB+31 01430000 DMCBREJ EQU DMCB+29 01431000 DMCBRESB EQU DMCBMFLG 01432000 DMCBFMOD EQU DMCBMFLG 01433000 DMCBLOPT EQU DMCB+27 01434000 DMCBLRM EQU DMCB+26 01435000 DMCBLRQ EQU DMCB+25 01436000 DMCBOPRS EQU DMCBOPTS 01437000 DMCBLRD EQU DMCBOPTS 01438000 DMCBBWD EQU DMCBOPTS 01439000 DMCBUPD EQU DMCBOPTS 01440000 DMCBAPX EQU DMCBOPTS 01441000 DMCBRNO EQU DMCBGKY 01442000 DMCBKYD EQU DMCBOPTS 01443000 DMCBRMRS EQU DMCBRMOD 01444000 DMCBRM5 EQU DMCBRMOD 01445000 DMCBRM6 EQU DMCBRMOD 01446000 DMCBTMP EQU DMCBOUT 01447000 DMCBRESA EQU DMCBOPN 01448000 DMCBSOUT EQU DMCBOPN 01449000 DMCBSIN EQU DMCBOPN 01450000 DMCBKSF EQU DMCBFTY 01451000 DMCBFTRS EQU DMCBFTY 01452000 DMCBSHF EQU DMCBFTY 01453000 DMCBIRL EQU DMCB+16 01454000 DVT99999 EQU DVT+256 01455000 DVT0064P EQU DVT+252 01456000 DVT0063P EQU DVT+248 01457000 DVT0062P EQU DVT+244 01458000 DVT0061P EQU DVT+240 01459000 DVT0060P EQU DVT+236 01460000 DVT0059P EQU DVT+232 01461000 DVT0058P EQU DVT+228 01462000 DVT0057P EQU DVT+224 01463000 DVT0056P EQU DVT+220 01464000 DVT0055P EQU DVT+216 01465000 DVT0054P EQU DVT+212 01466000 DVT0053P EQU DVT+208 01467000 DVT0052P EQU DVT+204 01468000 DVT0051P EQU DVT+200 01469000 DVT0050P EQU DVT+196 01470000 DVT0049P EQU DVT+192 01471000 DVT0048P EQU DVT+188 01472000 DVT0047P EQU DVT+184 01473000 DVT0046P EQU DVT+180 01474000 DVT0045P EQU DVT+176 01475000 DVT0044P EQU DVT+172 01476000 DVT0043P EQU DVT+168 01477000 DVT0042P EQU DVT+164 01478000 DVT0041P EQU DVT+160 01479000 DVT0040P EQU DVT+156 01480000 DVT0039P EQU DVT+152 01481000 DVT0038P EQU DVT+148 01482000 DVT0037P EQU DVT+144 01483000 DVT0036P EQU DVT+140 01484000 DVT0035P EQU DVT+136 01485000 DVT0034P EQU DVT+132 01486000 DVT0011P EQU DVT+40 01487000 DVT0005P EQU DVT+16 01488000 DVT0002P EQU DVT+4 01489000 DVT0001P EQU DVT 01490000 BVT99999 EQU BVT+256 01491000 BVT0064P EQU BVT+252 01492000 BVT0063P EQU BVT+248 01493000 BVT0062P EQU BVT+244 01494000 BVT0061P EQU BVT+240 01495000 BVT0060P EQU BVT+236 01496000 BVT0059P EQU BVT+232 01497000 BVT0057P EQU BVT+224 01498000 BVT0056P EQU BVT+220 01499000 BVTSTBLP EQU BVT+200 01500000 BVT0045P EQU BVT+176 01501000 BVT0044P EQU BVT+172 01502000 BVT0033P EQU BVT+128 01503000 BVT0032P EQU BVT+124 01504000 BVT0031P EQU BVT+120 01505000 BVT0030P EQU BVT+116 01506000 BVT0029P EQU BVT+112 01507000 BVT0026P EQU BVT+100 01508000 BVT0025P EQU BVT+96 01509000 BVT0024P EQU BVT+92 01510000 BVT0023P EQU BVT+88 01511000 BVT0016P EQU BVT+60 01512000 BVT0015P EQU BVT+56 01513000 BVT0014P EQU BVT+52 01514000 BVT0003P EQU BVT+8 01515000 BVT0001P EQU BVT 01516000 SA99 EQU SA+72 01517000 SARC EQU SAR+56 01518000 SARB EQU SAR+52 01519000 SARA EQU SAR+48 01520000 SAR9 EQU SAR+44 01521000 SAR8 EQU SAR+40 01522000 SAR7 EQU SAR+36 01523000 SAR6 EQU SAR+32 01524000 SAR5 EQU SAR+28 01525000 SAR4 EQU SAR+24 01526000 SAR3 EQU SAR+20 01527000 SAR2 EQU SAR+16 01528000 SAR0 EQU SAR+8 01529000 SARF EQU SAR+4 01530000 SARE EQU SAR 01531000 SAFWD EQU SA+8 01532000 SABAK EQU SA+4 01533000 SA1L EQU SA1+1 01534000 SA1P EQU SA1 01535000 UPTPREFL EQU UPT+23 01536000 UPTPREFX EQU UPT+16 01537000 @NM00068 EQU UPT+15 01538000 UPTLDEL EQU UPT+14 01539000 UPTCDEL EQU UPT+13 01540000 UPTWTP EQU UPTSWS 01541000 UPTMODE EQU UPTSWS 01542000 UPTALD EQU UPTSWS 01543000 UPTPAUS EQU UPTSWS 01544000 UPTNCOM EQU UPTSWS 01545000 UPTMID EQU UPTSWS 01546000 UPTNPRM EQU UPTSWS 01547000 UPTRCVR EQU UPTSWS 01548000 UPTUSER EQU UPT+2 01549000 @NM00067 EQU UPT 01550000 @NM00066 EQU ECT+52 01551000 @NM00065 EQU ECT+48 01552000 @NM00064 EQU ECT+44 01553000 @NM00063 EQU ECTSWS2+1 01554000 @NM00062 EQU ECTSWS21 01555000 ECTTABND EQU ECTSWS21 01556000 ECTDEFCS EQU ECTSWS21 01557000 ECTBKPB EQU ECT+36 01558000 ECTUSER EQU ECT+32 01559000 ECTDDNUM EQU ECT+29 01560000 ECTATTN EQU ECTSWS 01561000 ECTBKGRD EQU ECTSWS 01562000 ECTNNOT EQU ECTSWS 01563000 ECTNMAL EQU ECTSWS 01564000 ECTLOGF EQU ECTSWS 01565000 ECTATRM EQU ECTSWS 01566000 @NM00061 EQU ECTSWS 01567000 ECTNOPD EQU ECTSWS 01568000 ECTSCMD EQU ECT+20 01569000 ECTPCMD EQU ECT+12 01570000 ECTSMSG EQU ECT+9 01571000 ECTMSGF EQU ECT+8 01572000 ECTIOWA EQU ECT+4 01573000 ECTRTCD EQU ECT+1 01574000 ECTRCDF EQU ECT 01575000 PSCBU EQU PSCB+64 01576000 PSCBRSZ EQU PSCB+60 01577000 PSCBLINE EQU PSCB+59 01578000 PSCBCHAR EQU PSCB+58 01579000 PSCBUPTL EQU PSCB+56 01580000 PSCBUPT EQU PSCB+52 01581000 PSCBRLGB EQU PSCB+48 01582000 PSCBDEST EQU PSCB+40 01583000 @NM00060 EQU PSCB+36 01584000 @NM00059 EQU PSCB+32 01585000 @NM00058 EQU PSCB+28 01586000 PSCBLTI2 EQU PSCB+24 01587000 PSCBLTIM EQU PSCB+20 01588000 PSCBATR2 EQU PSCB+18 01589000 @NM00057 EQU PSCBATR1 01590000 @NM00056 EQU PSCBATR1 01591000 @NM00055 EQU PSCBATR1 01592000 PSCBATTN EQU PSCBATR1 01593000 PSCBVMNT EQU PSCBATR1 01594000 PSCBJCL EQU PSCBATR1 01595000 PSCBACCT EQU PSCBATR1 01596000 PSCBCTRL EQU PSCBATR1 01597000 PSCBGPNM EQU PSCB+8 01598000 PSCBUSRL EQU PSCB+7 01599000 PSCBUSER EQU PSCB 01600000 CMDT1 EQU CMDT 01601000 CMDO EQU CMD+2 01602000 CMDL EQU CMD 01603000 ZZ299999 EQU ZZ2+8192 01604000 ZZ2AXOT1 EQU ZZ2AXOT 01605000 ZZ2AXOL EQU ZZ2AXO 01606000 @NM00054 EQU ZZ2+7288 01607000 @NM00053 EQU ZZ2AMDX+4 01608000 ZZ2AMDXC EQU ZZ2AMDX 01609000 ZZ2HSD EQU ZZ2+3056 01610000 @NM00052 EQU ZZ2ES 01611000 @NM00051 EQU ZZ2+2868 01612000 ZZ2ITSEC EQU ZZ2ITSE+1 01613000 @NM00050 EQU ZZ2ITSE 01614000 ZZ2ITSEP EQU ZZ2ITSE 01615000 ZZ2ITSEW EQU ZZ2ITSE 01616000 @NM00049 EQU ZZ2ITR+20 01617000 ZZ2ITREC EQU ZZ2ITRE+1 01618000 @NM00048 EQU ZZ2ITRE 01619000 ZZ2ITREP EQU ZZ2ITRE 01620000 ZZ2ITREW EQU ZZ2ITRE 01621000 @NM00047 EQU ZZ2ITR+9 01622000 ZZ2ITRRC EQU ZZ2ITR+8 01623000 ZZ2ITR2P EQU ZZ2ITR+4 01624000 ZZ2ITRPP EQU ZZ2ITR 01625000 @NM00046 EQU ZZ2+1544 01626000 ZZ2PGM EQU ZZ2+1536 01627000 @NM00045 EQU ZZ2+1526 01628000 ZZ2CW EQU ZZ2+1524 01629000 @NM00044 EQU ZZ2+1504 01630000 @NM00043 EQU ZZ2+1352 01631000 ZZ2FFSYP EQU ZZ2+1348 01632000 ZZ2SASYP EQU ZZ2+1344 01633000 ZZ2RDSYP EQU ZZ2+1340 01634000 ZZ2RASYP EQU ZZ2+1336 01635000 ZZ2PHSYP EQU ZZ2+1332 01636000 ZZ2ESSYP EQU ZZ2+1328 01637000 ZZ200SYP EQU ZZ2+1324 01638000 ZZ2SCWP EQU ZZ2+1320 01639000 ZZ2TTLP EQU ZZ2+1316 01640000 ZZ2LOADP EQU ZZ2+1312 01641000 ZZ2VRESP EQU ZZ2+1308 01642000 ZZ2CPPLE EQU ZZ2CPPL+12 01643000 ZZ2CPPLP EQU ZZ2CPPL+8 01644000 ZZ2CPPLU EQU ZZ2CPPL+4 01645000 ZZ2VRSAP EQU ZZ2+1288 01646000 ZZ2RVTP EQU ZZ2+1284 01647000 @NM00042 EQU ZZ2+1272 01648000 @NM00041 EQU ZZ2+1268 01649000 ZZ2RPLP EQU ZZ2+1260 01650000 ZZ2TCBP EQU ZZ2+1256 01651000 @NM00040 EQU ZZ2+1252 01652000 ZZ2ZZ2P EQU ZZ2+1248 01653000 @NM00039 EQU ZZ2+1112 01654000 @NM00038 EQU ZZ2+1080 01655000 ZZ2FT25P EQU ZZ2+1072 01656000 ZZ2ALOCP EQU ZZ2+1056 01657000 @NM00037 EQU ZZ2+976 01658000 ZZ2TOD EQU ZZ2+968 01659000 ZZ2STGN EQU ZZ2STG+4 01660000 ZZ2STGP EQU ZZ2STG 01661000 @NM00036 EQU ZZ2+952 01662000 ZZ2SCMDE EQU ZZ2+944 01663000 ZZ2SCMDN EQU ZZ2+936 01664000 ZZ2IDENT EQU ZZ2+928 01665000 ZZ2A9999 EQU ZZ2A+656 01666000 @NM00035 EQU ZZ2A+224 01667000 @NM00034 EQU ZZ2A+220 01668000 ZZ2AQD99 EQU ZZ2AQD+60 01669000 @NM00033 EQU ZZ2AQD+56 01670000 @NM00032 EQU ZZ2AQDF 01671000 ZZ2AQDFA EQU ZZ2AQDF 01672000 ZZ2AQDIL EQU ZZ2AQD+48 01673000 ZZ2AQDIM EQU ZZ2AQD+44 01674000 ZZ2AQDT9 EQU ZZ2AQDT+34 01675000 ZZ2AQDTE EQU ZZ2AQDT+33 01676000 ZZ2AQDTD EQU ZZ2AQDT+2 01677000 @NM00031 EQU ZZ2AQDT+1 01678000 ZZ2AQDTY EQU ZZ2AQDT 01679000 ZZ2AQDT0 EQU ZZ2AQDT 01680000 ZZ2AQDLB EQU ZZ2AQD+9 01681000 ZZ2AQDOB EQU ZZ2AQD+8 01682000 ZZ2AQDLE EQU ZZ2AQD+4 01683000 ZZ2AQDOF EQU ZZ2AQD 01684000 ZZ2AQD00 EQU ZZ2AQD 01685000 ZZ2AQAS9 EQU ZZ2AQAS+16 01686000 @NM00030 EQU ZZ2AQAS+12 01687000 ZZ2AQAS2 EQU ZZ2AQAS+8 01688000 ZZ2AQAS1 EQU ZZ2AQAS+4 01689000 @NM00029 EQU ZZ2AQAS+2 01690000 ZZ2AQAST EQU ZZ2AQAS 01691000 ZZ2AQAS0 EQU ZZ2AQAS 01692000 ZZ2AZZ6P EQU ZZ2A+140 01693000 ZZ2ADPTA EQU ZZ2ADPT 01694000 ZZ2ADPL EQU ZZ2ADP 01695000 ZZ2ADMTA EQU ZZ2ADMT 01696000 ZZ2ADML EQU ZZ2ADM 01697000 ZZ2ADDTA EQU ZZ2ADDT 01698000 ZZ2ADDL EQU ZZ2ADD 01699000 @NM00028 EQU ZZ2A+72 01700000 ZZ2APIDB EQU ZZ2APID+3 01701000 ZZ2APIDA EQU ZZ2APID 01702000 @NM00027 EQU ZZ2A+24 01703000 @NM00026 EQU ZZ2AF+5 01704000 ZZ2AFX EQU ZZ2AF+5 01705000 @NM00025 EQU ZZ2AF+3 01706000 ZZ2AFS EQU ZZ2AF+2 01707000 ZZ2AFD EQU ZZ2AF+2 01708000 ZZ2AFQ EQU ZZ2AF+2 01709000 ZZ2AF$ EQU ZZ2AF+2 01710000 @NM00024 EQU ZZ2AF+2 01711000 ZZ2AFM EQU ZZ2AF+2 01712000 @NM00023 EQU ZZ2AF+2 01713000 @NM00022 EQU ZZ2AF+1 01714000 ZZ2AFV EQU ZZ2AF+1 01715000 @NM00021 EQU ZZ2AF+1 01716000 ZZ2AFC EQU ZZ2AF+1 01717000 @NM00020 EQU ZZ2AF 01718000 ZZ2AFFS EQU ZZ2AF 01719000 ZZ2AFT EQU ZZ2AF 01720000 ZZ2AFP EQU ZZ2AF 01721000 @NM00019 EQU ZZ2A+8 01722000 ZZ2ALINE EQU ZZ2A+4 01723000 @NM00018 EQU ZZ2A+3 01724000 ZZ2ASE EQU ZZ2A+2 01725000 ZZ2ACH EQU ZZ2A 01726000 @NM00017 EQU ZZ2+264 01727000 @NM00016 EQU ZZ2+263 01728000 ZZ2PRTT0 EQU ZZ2PRTT 01729000 ZZ2PRTO EQU ZZ2PRT+2 01730000 ZZ2PRTL EQU ZZ2PRT 01731000 @NM00015 EQU ZZ2AMD+56 01732000 ZZ2AMDXP EQU ZZ2AMD+52 01733000 ZZ2AMDD EQU ZZ2AMD+48 01734000 ZZ2AMDL EQU ZZ2AMD+44 01735000 ZZ2AMDU EQU ZZ2AMD+28 01736000 ZZ2AMDF EQU ZZ2AMD+24 01737000 ZZ2AMDS EQU ZZ2AMD+20 01738000 ZZ2AMDC EQU ZZ2AMD+16 01739000 ZZ2AMDP EQU ZZ2AMD+12 01740000 ZZ2AMDB EQU ZZ2AMD+8 01741000 @NM00014 EQU @NM00013 01742000 ZZ2AMD2 EQU @NM00013 01743000 ZZ2AMD1 EQU @NM00013 01744000 ZZ2AMD0 EQU ZZ2AMD+6 01745000 ZZ2AMDA EQU ZZ2AMD+4 01746000 ZZ2AMDT EQU ZZ2AMD 01747000 ZZ199999 EQU ZZ1+3072 01748000 @NM00012 EQU ZZ1+2160 01749000 ZZ1TRTAS EQU ZZ1+1904 01750000 ZZ1TRUPC EQU ZZ1+1648 01751000 ZZ1TRCTX EQU ZZ1+1392 01752000 ZZ1NASID EQU ZZ1N+274 01753000 ZZ1NSTRL EQU ZZ1N+272 01754000 ZZ1NOFF EQU ZZ1N+268 01755000 ZZ1NBDY EQU ZZ1N+264 01756000 ZZ1NADE EQU ZZ1N+260 01757000 ZZ1NADB EQU ZZ1N+256 01758000 ZZ1NSTR EQU ZZ1N 01759000 @NM00011 EQU ZZ1+1080 01760000 ZZ1TREBC EQU ZZ1+824 01761000 ZZ1TRHEX EQU ZZ1+568 01762000 @NM00010 EQU ZZ1+377 01763000 ZZ1USTAE EQU ZZ1+376 01764000 @NM00009 EQU ZZ1F+1 01765000 @NM00008 EQU ZZ1F 01766000 ZZ1FM EQU ZZ1F 01767000 ZZ1FX EQU ZZ1F 01768000 ZZ1FU EQU ZZ1F 01769000 ZZ1EVEC EQU ZZ1EVE+1 01770000 @NM00007 EQU ZZ1EVE 01771000 ZZ1EVEP EQU ZZ1EVE 01772000 ZZ1EVEW EQU ZZ1EVE 01773000 ZZ1ACMP EQU ZZ1ATTN 01774000 @NM00006 EQU ZZ1+144 01775000 ZZ1FPP EQU ZZ1+140 01776000 ZZ1ZZ6P EQU ZZ1+136 01777000 @NM00005 EQU ZZ1+84 01778000 ZZ1PLINE EQU ZZ1+80 01779000 ZZ1PGSZ EQU ZZ1+76 01780000 ZZ1PCNT EQU ZZ1+72 01781000 @NM00004 EQU ZZ1+68 01782000 ZZ1TPAGE EQU ZZ1+64 01783000 ZZ1TLINE EQU ZZ1+60 01784000 @NM00003 EQU ZZ1+52 01785000 ZZ1DSDP EQU ZZ1+44 01786000 ZZ1PDRP EQU ZZ1+40 01787000 ZZ1ZZ2P EQU ZZ1+36 01788000 ZZ1327WP EQU ZZ1+32 01789000 ZZ1ACBP EQU ZZ1+28 01790000 @NM00002 EQU ZZ1+24 01791000 ZZ1PDCBP EQU ZZ1+20 01792000 ZZ1BLRBL EQU ZZ1+16 01793000 @NM00001 EQU ZZ1+12 01794000 ZZ1PNULL EQU ZZ1+8 01795000 ZZ1NULL EQU ZZ1+4 01796000 ZZ1IDE EQU ZZ1 01797000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01798000 @RC00294 EQU @RC00274 01799000 @RF00321 EQU @EL00002 01800000 @ENDDATA EQU * 01801000 END BLSCALOC,(C'PLS0015',0701,78066) 01802000