TITLE 'EP=BLSCAMER -- MERGE ALLOCATION MODEL OVERRIDES WITH MO*00001000 ODEL ' 00002000 * /* CHANGE ACTIVITY 00003000 * THIS MODULE IS WRITTEN FOR @G57LPSR 00004000 BLSCAMER CSECT , 0002 00005000 @MAINENT DS 0H 0002 00006000 USING *,@15 0002 00007000 B @PROLOG 0002 00008000 DC AL1(16) 0002 00009000 DC C'BLSCAMER 78.062' 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 BLSCGETS 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 * DMCBPTR=GPR01P; /* BASE THE DMCB AND DMAL */ 00024000 LR DMCBPTR,GPR01P 0055 00025000 * RFY 0056 00026000 * GPR01P UNRSTD; 0056 00027000 * MODNAME=LMODNMC; 0057 00028000 MVC MODNAME(8),@CC00601 0057 00029000 * RETCODE=F0C; 0058 00030000 SLR @10,@10 0058 00031000 ST @10,RETCODE 0058 00032000 * SUBCODE=F0C; 0059 00033000 ST @10,SUBCODE 0059 00034000 * S99TUFP=F0C; /* INIT THE TEXT UNIT MULTIPLE 0060 00035000 * ENTRY BASE (UNUSED VARIABLE) */ 00036000 SLR S99TUFP,S99TUFP 0060 00037000 * MODELPTR=DMALMODP; /* ADDRESS OF THE ALLOCATION 0061 00038000 * MODEL */ 00039000 L MODELPTR,DMALMODP(,DMCBPTR) 0061 00040000 * IF MODELNAM^=MMNAME THEN /* TEST FOR AN INVALID MODEL NAME 00041000 * POINTER */ 00042000 L @07,DMALMODA(,DMCBPTR) 0062 00043000 CLC MODELNAM(8,@07),MMNAME(MODELPTR) 0062 00044000 BE @RF00062 0062 00045000 * DO; /* INVALID MODEL NAME POINTER */ 00046000 * DO; /* BLSDMSG 0064 00047000 * (ZZ2,F3105C,DMCBMSG,BLSDMSGS) 00048000 * INSERT(DMCBMODL) */ 00049000 * IOPTLIST(1)=0; /* LAST INSERT */ 00050000 ST @10,IOPTLIST 0065 00051000 * IOPTLIST(2)=ADDR(DMCBMODL);/* INSERT NAME POINTER */ 00052000 LA @02,DMCBMODL(,DMCBPTR) 0066 00053000 ST @02,IOPTLIST+4 0066 00054000 * IOPTLIST(3)=0; /* ZERO RESERVED FIELD */ 00055000 ST @10,IOPTLIST+8 0067 00056000 * RFY 0068 00057000 * I015F BASED(ADDR(IOPTLIST(3)));/* ACCESS BYTES 1-2 */ 00058000 * I015F=LENGTH(DMCBMODL); /* INSERT LENGTH */ 00059000 LA @10,IOPTLIST+8 0069 00060000 MVC I015F(2,@10),@CH00044 0069 00061000 * CALL BLSDMSG0(ZZ2,F3105C,DMCBMSG,BLSDMSGS,'00000000'B,ADDR( 00062000 * IOPTLIST)); /* BUILD MESSAGE */ 00063000 L @10,DMCBTVP(,DMCBPTR) 0070 00064000 ST @10,@AL00001 0070 00065000 LA @10,@CF00585 0070 00066000 ST @10,@AL00001+4 0070 00067000 LA @10,DMCBMSG(,DMCBPTR) 0070 00068000 ST @10,@AL00001+8 0070 00069000 L @10,DMCBMSGS(,DMCBPTR) 0070 00070000 ST @10,@AL00001+12 0070 00071000 LA @10,@CB00610 0070 00072000 ST @10,@AL00001+16 0070 00073000 LA @10,IOPTLIST 0070 00074000 ST @10,@AFTEMPS 0070 00075000 LA @10,@AFTEMPS 0070 00076000 ST @10,@AL00001+20 0070 00077000 L @15,DMCBMSG0(,DMCBPTR) 0070 00078000 LA @01,@AL00001 0070 00079000 BALR @14,@15 0070 00080000 * END; /* BLSDMSG 0071 00081000 * (ZZ2,F3105C,DMCBMSG,BLSDMSGS) 00082000 * INSERT(DMCBMODL) BUILD INVALID 00083000 * MODEL NAME MESSAGE */ 00084000 * RETCODE=ERROR; /* NOTIFY CALLER */ 00085000 MVC RETCODE(4),@CF00044 0072 00086000 * END; /* INVALID MODEL NAME POINTER */ 00087000 * ELSE 0074 00088000 * DO; /* VALID MODEL NAME POINTER */ 00089000 * 0074 00090000 B @RC00062 0074 00091000 @RF00062 DS 0H 0075 00092000 * /*************************************************************/ 00093000 * /* */ 00094000 * /* MERGE THE OVERRIDE ENTRIES WITH THE MODEL ENTRIES GIVING */ 00095000 * /* PRIORITY TO THE OVERRIDE ENTRIES */ 00096000 * /* */ 00097000 * /*************************************************************/ 00098000 * 0075 00099000 * S99TUPLM=DMALTUPM; /* LAST USED TEXT UNIT POINTER 0075 00100000 * INDEX */ 00101000 L @09,DMALTUPM(,DMCBPTR) 0075 00102000 LR S99TUPLM,@09 0075 00103000 * S99TUPLX=DMALTUPM+F1C; /* INIT THE S99 TEXT UNIT POINTER 00104000 * LIST INDEX */ 00105000 LA @07,1 0076 00106000 ALR @09,@07 0076 00107000 LR S99TUPLX,@09 0076 00108000 * S99TUBAS=DMALTUBS; /* START OF TEXT UNIT FREE SPACE */ 00109000 L S99TUBAS,DMALTUBS(,DMCBPTR) 0077 00110000 * MMTUPLX=F1C; /* INIT THE MM TEXT UNIT POINTER 00111000 * LIST INDEX */ 00112000 LR MMTUPLX,@07 0078 00113000 * MMSW=F0C; /* INIT THE MODEL LIST END SWITCH*/ 00114000 SLR MMSW,MMSW 0079 00115000 * DO WHILE MMSW=F0C; /* PROCESS MODEL TEXT UNITS */ 00116000 B @DE00080 0080 00117000 @DL00080 DS 0H 0081 00118000 * MMTUP=MMTUPTR(MMTUPLX); /* LOCAL COPY OF CURRENT MODEL TU 00119000 * PTR */ 00120000 LR @09,MMTUPLX 0081 00121000 SLA @09,2 0081 00122000 L @01,MMDYRBP(,MODELPTR) 0081 00123000 L @01,MMTXTPP(,@01) 0081 00124000 AL @01,@CF00674 0081 00125000 L @09,MMTUPTR(@09,@01) 0081 00126000 ST @09,MMTUP 0081 00127000 * MMOP=MMTUKEY; /* CURRENT MODEL TEXT UNIT KEY */ 00128000 SLR MMOP,MMOP 0082 00129000 ICM MMOP,3,MMTUKEY(@09) 0082 00130000 * IF MMOP=DALMSVGP THEN/* TEST FOR VALID KEY */ 00131000 LTR MMOP,MMOP 0083 00132000 BM @RT00083 0083 00133000 C MMOP,@CF00542 0083 00134000 BL @RF00083 0083 00135000 @RT00083 DS 0H 0084 00136000 * DO; /* INVALID ALLOCATION MODEL TEXT 00137000 * UNIT KEY */ 00138000 * CHSTR867=MMOP; /* GET MODEL TEXT UNIT KEY FIELD */ 00139000 STCM MMOP,3,CHSTR867 0085 00140000 * CHSTR88=LHEX0FC; /* TRANSLATE IT TO PRINTABLE HEX */ 00141000 MVI CHSTR88,X'0F' 0086 00142000 * UNPK(CTEMP,CHSTR8); 0087 00143000 UNPK CTEMP(9),CHSTR8(8) 0087 00144000 * TR(CTEMP,HEXTBL); 0088 00145000 TR CTEMP(9),HEXTBL 0088 00146000 * DO; /* BLSDMSG 0089 00147000 * (ZZ2,F3113C,DMCBMSG,BLSDMSGS) 00148000 * INSERT(DMCBMODL,CTEMP54) */ 00149000 * IOPTLIST(1)=ADDR(IOPTLIST(4));/* CHAIN TO NEXT INSERT*/ 00150000 LA @09,IOPTLIST+12 0090 00151000 ST @09,IOPTLIST 0090 00152000 * IOPTLIST(2)=ADDR(DMCBMODL);/* INSERT NAME POINTER */ 00153000 LA @09,DMCBMODL(,DMCBPTR) 0091 00154000 ST @09,IOPTLIST+4 0091 00155000 * IOPTLIST(3)=0; /* ZERO RESERVED FIELD */ 00156000 SLR @09,@09 0092 00157000 ST @09,IOPTLIST+8 0092 00158000 * RFY 0093 00159000 * I015F BASED(ADDR(IOPTLIST(3)));/* ACCESS BYTES 1-2 */ 00160000 * I015F=LENGTH(DMCBMODL);/* INSERT LENGTH */ 00161000 LA @07,IOPTLIST+8 0094 00162000 MVC I015F(2,@07),@CH00044 0094 00163000 * IOPTLIST(4)=0; /* LAST INSERT */ 00164000 ST @09,IOPTLIST+12 0095 00165000 * IOPTLIST(5)=ADDR(CTEMP54);/* INSERT NAME POINTER */ 00166000 LA @07,CTEMP54 0096 00167000 ST @07,IOPTLIST+16 0096 00168000 * IOPTLIST(6)=0; /* ZERO RESERVED FIELD */ 00169000 ST @09,IOPTLIST+20 0097 00170000 * RFY 0098 00171000 * I015F BASED(ADDR(IOPTLIST(6)));/* ACCESS BYTES 1-2 */ 00172000 * I015F=LENGTH(CTEMP54);/* INSERT LENGTH */ 00173000 LA @09,IOPTLIST+20 0099 00174000 MVC I015F(2,@09),@CH00037 0099 00175000 * CALL BLSDMSG0(ZZ2,F3113C,DMCBMSG,BLSDMSGS,'00000000'B, 00176000 * ADDR(IOPTLIST));/* BUILD MESSAGE */ 00177000 L @09,DMCBTVP(,DMCBPTR) 0100 00178000 ST @09,@AL00001 0100 00179000 LA @09,@CF00591 0100 00180000 ST @09,@AL00001+4 0100 00181000 LA @09,DMCBMSG(,DMCBPTR) 0100 00182000 ST @09,@AL00001+8 0100 00183000 L @09,DMCBMSGS(,DMCBPTR) 0100 00184000 ST @09,@AL00001+12 0100 00185000 LA @09,@CB00610 0100 00186000 ST @09,@AL00001+16 0100 00187000 LA @09,IOPTLIST 0100 00188000 ST @09,@AFTEMPS 0100 00189000 LA @09,@AFTEMPS 0100 00190000 ST @09,@AL00001+20 0100 00191000 L @15,DMCBMSG0(,DMCBPTR) 0100 00192000 LA @01,@AL00001 0100 00193000 BALR @14,@15 0100 00194000 * END; /* BLSDMSG 0101 00195000 * (ZZ2,F3113C,DMCBMSG,BLSDMSGS) 00196000 * INSERT(DMCBMODL,CTEMP54) BUILD 00197000 * INVALID MODEL TEXT UNIT KEY 0101 00198000 * MESSAGE */ 00199000 * MMSW=F1C; /* SET LIST END SWITCH */ 00200000 LA MMSW,1 0102 00201000 * RETCODE=ERROR; /* NOTIFY CALLER */ 00202000 MVC RETCODE(4),@CF00044 0103 00203000 * END; /* INVALID ALLOCATION MODEL TEXT 00204000 * UNIT KEY */ 00205000 * ELSE 0105 00206000 * DO; /* VALID ALLOCATION MODEL TEXT 0105 00207000 * UNIT KEY */ 00208000 B @RC00083 0105 00209000 @RF00083 DS 0H 0106 00210000 *DSNAL: 0106 00211000 * DO; /* DSNAL:CASE(MMOP)NAMES(ZKY,ZKY, 00212000 * ZKY,ZKY,ZKY,ZKY,TRKC,CYLC,BLKL 00213000 * NC,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY 00214000 * ,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,S 00215000 * YSOUC,SYSOUC,SYSOUC,SYSOUC,ZKY 00216000 * ,SYSOUC,ZKY,ZKY,ZKY,ZKY,ZKY,RE 00217000 * TPDC,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,Z 00218000 * KY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY 00219000 * ,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,Z 00220000 * KY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY 00221000 * ,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,Z 00222000 * KY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY 00223000 * ,PASSWC,ZKY,ZKY,ZKY,ZKY,ZKY,ZK 00224000 * Y,ZKY,SYSOUC,SYSOUC,ZKY,ZKY,ZK 00225000 * Y,ZKY,ZKY) */ 00226000 DSNAL DS 0H 0107 00227000 * DCL 0107 00228000 * CL0001@ LABEL BASED(CP0001@(MMOP)) VALUERANGE(ZKY,ZKY 00229000 * ,ZKY,ZKY,ZKY,ZKY,TRKC,CYLC,BLKLNC,ZKY,ZKY,ZKY,ZKY 00230000 * ,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,SYSOUC, 00231000 * SYSOUC,SYSOUC,SYSOUC,ZKY,SYSOUC,ZKY,ZKY,ZKY,ZKY, 00232000 * ZKY,RETPDC,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY, 00233000 * ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY, 00234000 * ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY, 00235000 * ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY, 0107 00236000 * PASSWC,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,ZKY,SYSOUC,SYSOUC, 00237000 * ZKY,ZKY,ZKY,ZKY,ZKY);/* BRANCH TARGET */ 00238000 * DCL 0108 00239000 * CP0001@(94) PTR(31) INIT(ADDR(ZKY),ADDR(ZKY),ADDR(ZKY 00240000 * ),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(TRKC),ADDR( 00241000 * CYLC),ADDR(BLKLNC),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY), 00242000 * ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY) 00243000 * ,ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY 00244000 * ),ADDR(ZKY),ADDR(SYSOUC),ADDR(SYSOUC),ADDR(SYSOUC 00245000 * ),ADDR(SYSOUC),ADDR(ZKY),ADDR(SYSOUC),ADDR(ZKY), 00246000 * ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR( 00247000 * RETPDC),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY), 00248000 * ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY) 00249000 * ,ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY 00250000 * ),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR( 00251000 * ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR 00252000 * (ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY), 00253000 * ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY) 00254000 * ,ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY 00255000 * ),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR( 00256000 * ZKY),ADDR(ZKY),ADDR(PASSWC),ADDR(ZKY),ADDR(ZKY), 00257000 * ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY),ADDR(ZKY) 00258000 * ,ADDR(SYSOUC),ADDR(SYSOUC),ADDR(ZKY),ADDR(ZKY), 00259000 * ADDR(ZKY),ADDR(ZKY),ADDR(ZKY)); 0108 00260000 * GOTO CL0001@; /* BRANCH TO SELECTED CASE 53 - 00261000 * 5E */ 00262000 * 0109 00263000 LR @09,MMOP 0109 00264000 SLA @09,2 0109 00265000 L @09,CP0001@-4(@09) 0109 00266000 BR @09 0109 00267000 * /*****************************************************/ 00268000 * /* */ 00269000 * /* MODEL OVERRIDE KEY PROCESSING */ 00270000 * /* */ 00271000 * /*****************************************************/ 00272000 * 0110 00273000 *ZKY: 0110 00274000 * DO; /* SUBCASE NO CONFLICT KEY NAMES 00275000 * PROCESSING */ 00276000 ZKY DS 0H 0111 00277000 * CALL MERGTST(F0C);/* DO MERGE TEST AND MOVE -- NO 00278000 * CONFLICTING KEYS */ 00279000 LA @01,@AL00111 0111 00280000 BAL @14,MERGTST 0111 00281000 * GOTO CE0001@; /* BRANCH TO END OF CASE */ 00282000 B CE0001@ 0112 00283000 * END ZKY; /* END OF SUBCASE */ 00284000 *TRKC: 0114 00285000 * DO; /* SUBCASE MERGE TRK ALLOCATION 00286000 * TEXT UNIT */ 00287000 TRKC DS 0H 0115 00288000 * CALL MERGTST(F2C,DALCYL,DALBLKLN);/* MERGE DS TRK 00289000 * ALLOC TEXT UNIT */ 00290000 LA @01,@AL00115 0115 00291000 BAL @14,MERGTST 0115 00292000 * GOTO CE0001@; /* BRANCH TO END OF CASE */ 00293000 B CE0001@ 0116 00294000 * END TRKC; /* END OF SUBCASE */ 00295000 *CYLC: 0118 00296000 * DO; /* SUBCASE MERGE CYLINDER 0118 00297000 * ALLOCATION TEXT UNIT */ 00298000 CYLC DS 0H 0119 00299000 * CALL MERGTST(F2C,DALTRK,DALBLKLN);/* MERGE DS CYL 00300000 * ALLOC TEXT UNIT */ 00301000 LA @01,@AL00119 0119 00302000 BAL @14,MERGTST 0119 00303000 * GOTO CE0001@; /* BRANCH TO END OF CASE */ 00304000 B CE0001@ 0120 00305000 * END CYLC; /* END OF SUBCASE */ 00306000 *BLKLNC: 0122 00307000 * DO; /* SUBCASE MERGE BLOCK LENGTH 0122 00308000 * ALLOCATION TEXT UNIT */ 00309000 BLKLNC DS 0H 0123 00310000 * CALL MERGTST(F2C,DALTRK,DALCYL);/* MERGE DS BLKLN 00311000 * ALLOC TEXT UNIT */ 00312000 LA @01,@AL00123 0123 00313000 BAL @14,MERGTST 0123 00314000 * GOTO CE0001@; /* BRANCH TO END OF CASE */ 00315000 B CE0001@ 0124 00316000 * END BLKLNC; /* END OF SUBCASE */ 00317000 *SYSOUC: 0126 00318000 * DO; /* SUBCASE MERGE SYSOUT CLASS 0126 00319000 * TEXT UNIT PROCESSING */ 00320000 SYSOUC DS 0H 0127 00321000 * CALL MERGTST(F10C,DALDSNAM,DALMEMBR,DALSTATS,DALNDISP 00322000 * ,DALCDISP,DALVLSER,DALLABEL,DALDSSEQ,DALPASPR, 00323000 * DALPASSW); /* MERGE SYSOUT CLASS TU */ 00324000 LA @01,@AL00127 0127 00325000 BAL @14,MERGTST 0127 00326000 * GOTO CE0001@; /* BRANCH TO END OF CASE */ 00327000 B CE0001@ 0128 00328000 * END SYSOUC; /* END OF SUBCASE SYSOUT CLASS 0129 00329000 * PROCESSING */ 00330000 *RETPDC: 0130 00331000 * DO; /* SUBCASE MERGE RETPD TEXT UNIT 00332000 * PROCESSING */ 00333000 RETPDC DS 0H 0131 00334000 * CALL MERGTST(F1C,DALEXPDT);/* MERGE RETENTION 0131 00335000 * PERIOD TEXT UNIT */ 00336000 LA @01,@AL00131 0131 00337000 BAL @14,MERGTST 0131 00338000 * GOTO CE0001@; /* BRANCH TO END OF CASE */ 00339000 B CE0001@ 0132 00340000 * END RETPDC; /* END OF SUBCASE */ 00341000 *PASSWC: 0134 00342000 * DO; /* SUBCASE MERGE PASSWORD TEXT 0134 00343000 * UNIT PROCESSING */ 00344000 PASSWC DS 0H 0135 00345000 * CALL MERGTST(F1C,DALDSNAM);/* MERGE PASSWORD TEXT 00346000 * UNIT */ 00347000 LA @01,@AL00135 0135 00348000 BAL @14,MERGTST 0135 00349000 * GOTO CE0001@; /* BRANCH TO END OF CASE */ 00350000 B CE0001@ 0136 00351000 * END PASSWC; /* END OF SUBCASE PASSWORD 0137 00352000 * PROCESSING */ 00353000 *CE0001@: 0138 00354000 * END DSNAL; /* END OF CASE ALLOCATION 0138 00355000 * PARAMETER CASE STATEMENT */ 00356000 * 0138 00357000 CE0001@ DS 0H 0139 00358000 * /*******************************************************/ 00359000 * /* */ 00360000 * /* TEST FOR MERGE ERROR */ 00361000 * /* */ 00362000 * /*******************************************************/ 00363000 * 0139 00364000 * IF RETCODE=F0C THEN /* TEST FOR ERROR */ 00365000 L @09,RETCODE 0139 00366000 LTR @09,@09 0139 00367000 BNZ @RF00139 0139 00368000 * DO; /* UPDATE LIST CONTROLS */ 00369000 * IF MMTUPND=ON THEN/* TEST FOR LAST LIST ELEMENT */ 00370000 TM MMTUPND,B'10000000' 0141 00371000 BNO @RF00141 0141 00372000 * DO; /* LAST LIST ELEMENT */ 00373000 * MMSW=F1C; /* TERMINATE LIST PROCESSING */ 00374000 LA MMSW,1 0143 00375000 * S99TUPLN(S99TUPLM)=ON;/* END OF TU PTR LIST */ 00376000 LR @09,S99TUPLM 0144 00377000 SLA @09,2 0144 00378000 L @07,S99TXTPP(,DMCBPTR) 0144 00379000 ALR @07,@09 0144 00380000 AL @07,@CF00674 0144 00381000 OI S99TUPLN(@07),B'10000000' 0144 00382000 * DMALTUPM=S99TUPLM;/* REMEMBER LAST USED TU PTR 00383000 * INDEX */ 00384000 ST S99TUPLM,DMALTUPM(,DMCBPTR) 0145 00385000 * DMALTUBS=S99TUBAS;/* REMEMBER NEXT AVAILABLE TU 00386000 * SPACE */ 00387000 ST S99TUBAS,DMALTUBS(,DMCBPTR) 0146 00388000 * END; /* LAST LIST ELEMENT */ 00389000 * ELSE 0148 00390000 * DO; /* NOT LAST LIST ELEMENT */ 00391000 B @RC00141 0148 00392000 @RF00141 DS 0H 0149 00393000 * MMTUPLX=MMTUPLX+F1C;/* PREPARE TO LOOK AT NEXT 00394000 * LIST ENTRY */ 00395000 AL MMTUPLX,@CF00046 0149 00396000 * IF S99TUPLX>DIM(DMALTUPL) THEN/* TEST FOR TOO 00397000 * MANY TU PTRS */ 00398000 C S99TUPLX,@CF00084 0150 00399000 BNH @RF00150 0150 00400000 * DO; /* TOO MANY TU PTRS */ 00401000 * DO; /* BLSDMSG 0152 00402000 * (ZZ2,F3106C,DMCBMSG,BLSDMSGS) 00403000 * INSERT(MODNAME,DMCBMODL) */ 00404000 * IOPTLIST(1)=ADDR(IOPTLIST(4));/* CHAIN TO 00405000 * NEXT INSERT */ 00406000 LA @09,IOPTLIST+12 0153 00407000 ST @09,IOPTLIST 0153 00408000 * IOPTLIST(2)=ADDR(MODNAME);/* INSERT NAME 00409000 * POINTER */ 00410000 LA @09,MODNAME 0154 00411000 ST @09,IOPTLIST+4 0154 00412000 * IOPTLIST(3)=0;/* ZERO RESERVED FIELD */ 00413000 SLR @09,@09 0155 00414000 ST @09,IOPTLIST+8 0155 00415000 * RFY 0156 00416000 * I015F BASED(ADDR(IOPTLIST(3)));/* 0156 00417000 * ACCESS BYTES 1-2 */ 00418000 * I015F=LENGTH(MODNAME);/* INSERT LENGTH */ 00419000 LA @07,8 0157 00420000 LA @15,IOPTLIST+8 0157 00421000 STH @07,I015F(,@15) 0157 00422000 * IOPTLIST(4)=0;/* LAST INSERT */ 00423000 ST @09,IOPTLIST+12 0158 00424000 * IOPTLIST(5)=ADDR(DMCBMODL);/* INSERT NAME 00425000 * POINTER */ 00426000 LA @15,DMCBMODL(,DMCBPTR) 0159 00427000 ST @15,IOPTLIST+16 0159 00428000 * IOPTLIST(6)=0;/* ZERO RESERVED FIELD */ 00429000 ST @09,IOPTLIST+20 0160 00430000 * RFY 0161 00431000 * I015F BASED(ADDR(IOPTLIST(6)));/* 0161 00432000 * ACCESS BYTES 1-2 */ 00433000 * I015F=LENGTH(DMCBMODL);/* INSERT LENGTH */ 00434000 LA @09,IOPTLIST+20 0162 00435000 STH @07,I015F(,@09) 0162 00436000 * CALL BLSDMSG0(ZZ2,F3106C,DMCBMSG,BLSDMSGS, 00437000 * '00000000'B,ADDR(IOPTLIST));/* BUILD 00438000 * MESSAGE */ 00439000 L @09,DMCBTVP(,DMCBPTR) 0163 00440000 ST @09,@AL00001 0163 00441000 LA @09,@CF00587 0163 00442000 ST @09,@AL00001+4 0163 00443000 LA @09,DMCBMSG(,DMCBPTR) 0163 00444000 ST @09,@AL00001+8 0163 00445000 L @09,DMCBMSGS(,DMCBPTR) 0163 00446000 ST @09,@AL00001+12 0163 00447000 LA @09,@CB00610 0163 00448000 ST @09,@AL00001+16 0163 00449000 LA @09,IOPTLIST 0163 00450000 ST @09,@AFTEMPS 0163 00451000 LA @09,@AFTEMPS 0163 00452000 ST @09,@AL00001+20 0163 00453000 L @15,DMCBMSG0(,DMCBPTR) 0163 00454000 LA @01,@AL00001 0163 00455000 BALR @14,@15 0163 00456000 * END; /* BLSDMSG 0164 00457000 * (ZZ2,F3106C,DMCBMSG,BLSDMSGS) 00458000 * INSERT(MODNAME,DMCBMODL) BUILD 00459000 * TOO MANY TU PTRS MESSAGE */ 00460000 * RETCODE=ERROR;/* MARK ERROR */ 00461000 MVC RETCODE(4),@CF00044 0165 00462000 * MMSW=F1C; /* TERMINATE LIST PROCESSING */ 00463000 LA MMSW,1 0166 00464000 * END; /* TOO MANY TU PTRS */ 00465000 * IF S99TUBAS>ADDR(DMALEND) THEN/* TEST FOR OUT 00466000 * OF TU SPACE */ 00467000 @RF00150 LA @09,DMALEND(,DMCBPTR) 0168 00468000 CR S99TUBAS,@09 0168 00469000 BNH @RF00168 0168 00470000 * DO; /* OUT OF TU SPACE */ 00471000 * DO; /* BLSDMSG 0170 00472000 * (ZZ2,F3107C,DMCBMSG,BLSDMSGS) 00473000 * INSERT(MODNAME,DMCBMODL) */ 00474000 * IOPTLIST(1)=ADDR(IOPTLIST(4));/* CHAIN TO 00475000 * NEXT INSERT */ 00476000 LA @09,IOPTLIST+12 0171 00477000 ST @09,IOPTLIST 0171 00478000 * IOPTLIST(2)=ADDR(MODNAME);/* INSERT NAME 00479000 * POINTER */ 00480000 LA @09,MODNAME 0172 00481000 ST @09,IOPTLIST+4 0172 00482000 * IOPTLIST(3)=0;/* ZERO RESERVED FIELD */ 00483000 SLR @09,@09 0173 00484000 ST @09,IOPTLIST+8 0173 00485000 * RFY 0174 00486000 * I015F BASED(ADDR(IOPTLIST(3)));/* 0174 00487000 * ACCESS BYTES 1-2 */ 00488000 * I015F=LENGTH(MODNAME);/* INSERT LENGTH */ 00489000 LA @07,8 0175 00490000 LA @15,IOPTLIST+8 0175 00491000 STH @07,I015F(,@15) 0175 00492000 * IOPTLIST(4)=0;/* LAST INSERT */ 00493000 ST @09,IOPTLIST+12 0176 00494000 * IOPTLIST(5)=ADDR(DMCBMODL);/* INSERT NAME 00495000 * POINTER */ 00496000 LA @15,DMCBMODL(,DMCBPTR) 0177 00497000 ST @15,IOPTLIST+16 0177 00498000 * IOPTLIST(6)=0;/* ZERO RESERVED FIELD */ 00499000 ST @09,IOPTLIST+20 0178 00500000 * RFY 0179 00501000 * I015F BASED(ADDR(IOPTLIST(6)));/* 0179 00502000 * ACCESS BYTES 1-2 */ 00503000 * I015F=LENGTH(DMCBMODL);/* INSERT LENGTH */ 00504000 LA @09,IOPTLIST+20 0180 00505000 STH @07,I015F(,@09) 0180 00506000 * CALL BLSDMSG0(ZZ2,F3107C,DMCBMSG,BLSDMSGS, 00507000 * '00000000'B,ADDR(IOPTLIST));/* BUILD 00508000 * MESSAGE */ 00509000 L @09,DMCBTVP(,DMCBPTR) 0181 00510000 ST @09,@AL00001 0181 00511000 LA @09,@CF00589 0181 00512000 ST @09,@AL00001+4 0181 00513000 LA @09,DMCBMSG(,DMCBPTR) 0181 00514000 ST @09,@AL00001+8 0181 00515000 L @09,DMCBMSGS(,DMCBPTR) 0181 00516000 ST @09,@AL00001+12 0181 00517000 LA @09,@CB00610 0181 00518000 ST @09,@AL00001+16 0181 00519000 LA @09,IOPTLIST 0181 00520000 ST @09,@AFTEMPS 0181 00521000 LA @09,@AFTEMPS 0181 00522000 ST @09,@AL00001+20 0181 00523000 L @15,DMCBMSG0(,DMCBPTR) 0181 00524000 LA @01,@AL00001 0181 00525000 BALR @14,@15 0181 00526000 * END; /* BLSDMSG 0182 00527000 * (ZZ2,F3107C,DMCBMSG,BLSDMSGS) 00528000 * INSERT(MODNAME,DMCBMODL) BUILD 00529000 * OUT OF TU SPACE MESSAGE */ 00530000 * RETCODE=ERROR;/* MARK ERROR */ 00531000 MVC RETCODE(4),@CF00044 0183 00532000 * MMSW=F1C; /* TERMINATE LIST PROCESSING */ 00533000 LA MMSW,1 0184 00534000 * END; /* OUT OF TU SPACE */ 00535000 * END; /* NOT LAST LIST ELEMENT */ 00536000 @RF00168 DS 0H 0187 00537000 * END; /* UPDATE LIST CONTROLS */ 00538000 @RC00141 DS 0H 0188 00539000 * END; /* VALID ALLOCATION MODEL TEXT 0188 00540000 * UNIT KEY */ 00541000 @RF00139 DS 0H 0189 00542000 * END; /* PROCESS MODEL TEXT UNITS */ 00543000 @RC00083 DS 0H 0189 00544000 @DE00080 C MMSW,@CF00190 0189 00545000 BE @DL00080 0189 00546000 * END; /* VALID MODEL NAME POINTER */ 00547000 * 0190 00548000 * /*****************************************************************/ 00549000 * /* */ 00550000 * /* ALLOCATION MODEL MERGE COMPLETE, RETURN TO CALLER */ 00551000 * /* */ 00552000 * /*****************************************************************/ 00553000 * 0191 00554000 * IF RETCODE^=F0C THEN /* TEST FOR ERROR */ 00555000 @RC00062 SLR @10,@10 0191 00556000 C @10,RETCODE 0191 00557000 BE @RF00191 0191 00558000 * DMCBDRBP=F0C; /* MARK DYNALLOC PARM LIST NOT 0192 00559000 * USABLE */ 00560000 ST @10,DMCBDRBP(,DMCBPTR) 0192 00561000 * RETURN CODE(RETCODE); 0193 00562000 @RF00191 L @10,RETCODE 0193 00563000 L @13,4(,@13) 0193 00564000 L @00,@SIZDATD 0193 00565000 LR @01,@11 0193 00566000 BLSCFRES R,LV=(0),A=(1) 00567000 LR @15,@10 0193 00568000 L @14,12(,@13) 0193 00569000 LM @00,@12,20(@13) 0193 00570000 BR @14 0193 00571000 EJECT 00572000 * 0194 00573000 * /*****************************************************************/ 00574000 * /* */ 00575000 * /* INTERNAL PROCEDURE TO TEST FOR MERGE CONFLICT */ 00576000 * /* */ 00577000 * /*****************************************************************/ 00578000 * 0194 00579000 *MERGTST: 0194 00580000 * PROCEDURE; 0194 00581000 MERGTST STM @14,@03,12(@13) 0194 00582000 STM @05,@07,40(@13) 0194 00583000 ST @09,56(,@13) 0194 00584000 STM @11,@12,64(@13) 0194 00585000 * DCL 0195 00586000 * MTBAS PTR(31); /* MERGE TEST PARM LIST BASE 0195 00587000 * ADDRESS */ 00588000 * DCL 0196 00589000 * MTNDX BIN(31); /* MERGE TEST KEY INDEX */ 00590000 * DCL 0197 00591000 * MTMAX BIN(31); /* LOCAL COPY OF MERGE TEST KEY 00592000 * COUNT */ 00593000 * DCL 0198 00594000 * 1 MTP BASED(MTBAS), /* MERGE TEST PARM LIST POINTERS */ 00595000 * 2 MTCNTP PTR(31), /* ADDRESS OF MERGE TEST KEY 0198 00596000 * COUNT */ 00597000 * 2 MTPTR(*) PTR(31); /* ADDRESSES OF MERGE TEST KEYS */ 00598000 * DCL 0199 00599000 * MTCNT BIN(31) BASED(MTCNTP); /* MERGE TEST KEY COUNT */ 00600000 * DCL 0200 00601000 * MTKEY BIT(16) BASED; /* MERGE TEST KEY */ 00602000 * DCL 0201 00603000 * MERSW BIN(8); /* MERGE CONFLICT SWITCH */ 00604000 * DCL 0202 00605000 * MLEN BIN(31); /* VARIABLE LENGTH MOVE LENGTH */ 00606000 * DCL 0203 00607000 * TLEN BIN(31); /* TEXT UNIT LENGTH */ 00608000 * RFY 0204 00609000 * GPR01P RSTD; 0204 00610000 * MTBAS=GPR01P; /* BASE THE MERGE TEST PARM LIST */ 00611000 ST GPR01P,MTBAS 0205 00612000 * RFY 0206 00613000 * GPR01P UNRSTD; 0206 00614000 * MERTUPLM=DMALTUPM; /* LAST USED TEXT UNIT POINTER 0207 00615000 * INDEX */ 00616000 L @02,DMALTUPM(,DMCBPTR) 0207 00617000 STH @02,MERTUPLM 0207 00618000 * MERSW=F0C; /* INIT MERGE CONFLICT SW TO NO 00619000 * CONFLICT */ 00620000 SLR MERSW,MERSW 0208 00621000 * MLEN=F0C; /* INIT TEXT UNIT VALUE MOVE 0209 00622000 * LENGTH */ 00623000 SLR MLEN,MLEN 0209 00624000 * TLEN=F0C; /* INIT TEXT UNIT LENGTH */ 00625000 SLR TLEN,TLEN 0210 00626000 * DO MERTUPLX=F1C TO MERTUPLM WHILE MERSW=F0C;/* LOOP THRU OVERRIDE 00627000 * TUS */ 00628000 LA @05,1 0211 00629000 B @DE00211 0211 00630000 @DL00211 C MERSW,@CF00190 0211 00631000 BNE @DC00211 0211 00632000 * MERTUP=MERTUPTR(MERTUPLX); /* CURRENT MODEL OVERRIDE TU PTR */ 00633000 LH @15,MERTUPLX 0212 00634000 SLA @15,2 0212 00635000 L @01,S99TXTPP(,DMCBPTR) 0212 00636000 AL @01,@CF00674 0212 00637000 L MERTUP,MERTUPTR(@15,@01) 0212 00638000 * MLEN=F0C; /* INIT TEXT UNIT VALUE MOVE 0213 00639000 * LENGTH */ 00640000 SLR MLEN,MLEN 0213 00641000 * TLEN=F0C; /* INIT TEXT UNIT LENGTH */ 00642000 SLR TLEN,TLEN 0214 00643000 * MEROP=MERTUKEY; /* CURRENT MERGE TEXT UNIT KEY */ 00644000 SLR MEROP,MEROP 0215 00645000 ICM MEROP,3,MERTUKEY(MERTUP) 0215 00646000 * IF MMOP=MEROP THEN /* TEST FOR OVERRIDE MATCH */ 00647000 CR MMOP,MEROP 0216 00648000 BNE @RF00216 0216 00649000 * MERSW=F1C; /* KEYS MATCH, CANNOT MERGE MODEL 00650000 * TU */ 00651000 LA MERSW,1 0217 00652000 * ELSE 0218 00653000 * DO; /* MERGE KEY DOES NOT MATCH, 0218 00654000 * CHECK FOR CONFLICT KEYS */ 00655000 B @RC00216 0218 00656000 @RF00216 DS 0H 0219 00657000 * IF MTCNT>F0C THEN /* TEST FOR POSSIBLE CONFLICT */ 00658000 L @02,MTBAS 0219 00659000 L @02,MTCNTP(,@02) 0219 00660000 L @02,MTCNT(,@02) 0219 00661000 LTR @02,@02 0219 00662000 BNP @RF00219 0219 00663000 * DO; /* CONFLICT POSSIBLE */ 00664000 * MTMAX=MTCNT; /* MAKE LOCAL COPY OF CONFLICT 0221 00665000 * KEY COUNT */ 00666000 ST @02,MTMAX 0221 00667000 * DO MTNDX=F1C TO MTMAX WHILE MERSW=F0C;/* LOOP THRU 0222 00668000 * CONFLICT CANDIDATES */ 00669000 LA MTNDX,1 0222 00670000 B @DE00222 0222 00671000 @DL00222 C MERSW,@CF00190 0222 00672000 BNE @DC00222 0222 00673000 * IF MEROP=MTPTR(MTNDX)->MTKEY THEN/* TEST FOR CONFLICT*/ 00674000 LR @15,MTNDX 0223 00675000 SLA @15,2 0223 00676000 L @01,MTBAS 0223 00677000 L @01,MTPTR-4(@15,@01) 0223 00678000 SLR @00,@00 0223 00679000 ICM @00,3,MTKEY(@01) 0223 00680000 CR MEROP,@00 0223 00681000 BNE @RF00223 0223 00682000 * MERSW=F1C; /* FOUND MERGE CONFLICT */ 00683000 LA MERSW,1 0224 00684000 * END; /* LOOP THRU CONFLICT CANDIDATES */ 00685000 @RF00223 AL MTNDX,@CF00046 0225 00686000 @DE00222 C MTNDX,MTMAX 0225 00687000 BNH @DL00222 0225 00688000 @DC00222 DS 0H 0226 00689000 * END; /* CONFLICT POSSIBLE */ 00690000 * END; /* MERGE KEY DOES NOT MATCH, 0227 00691000 * CHECK FOR CONFLICT KEYS */ 00692000 @RF00219 DS 0H 0228 00693000 * END; /* LOOP THRU OVERRIDE TUS */ 00694000 @RC00216 LA @05,1 0228 00695000 AH @05,MERTUPLX 0228 00696000 @DE00211 STH @05,MERTUPLX 0228 00697000 CH @05,MERTUPLM 0228 00698000 BNH @DL00211 0228 00699000 @DC00211 DS 0H 0229 00700000 * IF MERSW=F0C THEN /* TEST FOR NO MERGE CONFLICT */ 00701000 SLR @07,@07 0229 00702000 CR MERSW,@07 0229 00703000 BNE @RF00229 0229 00704000 * DO; /* MERGE MODEL TEXT UNIT WITH 0230 00705000 * OVERRIDE TEXT UNITS */ 00706000 * TLEN=F4C; /* TEXT UNIT LENGTH */ 00707000 LA TLEN,4 0231 00708000 * S99TUPTR(S99TUPLX)=S99TUBAS;/* INIT TU PTR TO START OF TU */ 00709000 LR @10,S99TUPLX 0232 00710000 SLA @10,2 0232 00711000 L @02,S99TXTPP(,DMCBPTR) 0232 00712000 AL @02,@CF00674 0232 00713000 ST S99TUBAS,S99TUPTR(@10,@02) 0232 00714000 * RFY 0233 00715000 * S99TUNIT BASED(S99TUBAS); /* BASE THE TEXT UNIT */ 00716000 * S99TUKEY=MMTUKEY; /* INIT THE KEY */ 00717000 L @10,MMTUP 0234 00718000 MVC S99TUKEY(2,S99TUBAS),MMTUKEY(@10) 0234 00719000 * S99TUNUM=MMTUNUM; /* NUMBER OF TU ENTRIES */ 00720000 ICM @02,12,MMTUNUM(@10) 0235 00721000 SRA @02,16 0235 00722000 STCM @02,3,S99TUNUM(S99TUBAS) 0235 00723000 * IF S99TUNUM>F0C THEN /* TEST NUMBER OF TU ENTRIES */ 00724000 CR @02,@07 0236 00725000 BNH @RF00236 0236 00726000 * DO; /* TU ENTRY PRESENT, MOVE IT OVER*/ 00727000 * TLEN=F6C; /* RESET TU LENGTH */ 00728000 LA TLEN,6 0238 00729000 * MLEN=MMTULNG; /* SET MOVE LENGTH */ 00730000 ICM @02,12,MMTULNG(@10) 0239 00731000 SRA @02,16 0239 00732000 LR MLEN,@02 0239 00733000 * S99TULNG=MMTULNG; /* SET TU ENTRY LENGTH */ 00734000 STCM @02,3,S99TULNG(S99TUBAS) 0240 00735000 * S99TUPAR(F1C:MLEN)=MMTUPAR(F1C:MLEN);/* COPY TU PARM */ 00736000 LR @02,MLEN 0241 00737000 BCTR @02,0 0241 00738000 EX @02,@SM00676 0241 00739000 * END; /* TU ENTRY PRESENT, MOVE IT OVER*/ 00740000 * S99TUPLM=S99TUPLX; /* SAVE LAST USED TU PTR INDEX */ 00741000 @RF00236 LR S99TUPLM,S99TUPLX 0243 00742000 * S99TUPLX=S99TUPLX+F1C; /* BUMP TO NEXT TU PTR SLOT */ 00743000 LA @02,1 0244 00744000 ALR S99TUPLX,@02 0244 00745000 * S99TUBAS=S99TUBAS+MLEN+TLEN+F1C;/* BUMP TU BASE TO NEXT 0245 00746000 * AVAILABLE HALF WORD */ 00747000 LR @15,S99TUBAS 0245 00748000 ALR @15,MLEN 0245 00749000 ALR @15,TLEN 0245 00750000 ALR @15,@02 0245 00751000 LR S99TUBAS,@15 0245 00752000 * S99TUBAS=S99TUBAS&LHWBNDY; /* FORCE TO HALF WORD */ 00753000 N S99TUBAS,@CF00599 0246 00754000 * END; /* MERGE MODEL TEXT UNIT WITH 0247 00755000 * OVERRIDE TEXT UNITS */ 00756000 * END MERGTST; 0248 00757000 @EL00002 DS 0H 0248 00758000 @EF00002 DS 0H 0248 00759000 @ER00002 LM @14,@03,12(@13) 0248 00760000 LM @05,@07,40(@13) 0248 00761000 L @09,56(,@13) 0248 00762000 LM @11,@12,64(@13) 0248 00763000 BR @14 0248 00764000 EJECT 00765000 * 0249 00766000 * /*****************************************************************/ 00767000 * /* */ 00768000 * /* END OF EXECUTABLE PROCEDURE STATEMENTS */ 00769000 * /* */ 00770000 * /*****************************************************************/ 00771000 * 0249 00772000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 00773000 * GPR01P PTR(31) REG(1); 0249 00774000 * DECLARE /* COMMON VARIABLES */ 00775000 * I256C CHAR(256) BASED, 0250 00776000 * I031F FIXED(31) BASED, 0250 00777000 * I031P PTR(31) BASED, 0250 00778000 * I015F FIXED(15) BASED, 0250 00779000 * I015P PTR(15) BASED, 0250 00780000 * I008P PTR(8) BASED, 0250 00781000 * I001C CHAR(1) BASED; 0250 00782000 * DECLARE 0251 00783000 * IOPTLIST(6) PTR(31) BDY(WORD);/* OPTION LIST ARRAY */ 00784000 * DCL 0252 00785000 * 1 DASPATCH LOCAL BDY(DWORD), /* PATCH AREA */ 00786000 * 2 DASPATA(DASPATLN) PTR INIT((DASPATLN)0); 0252 00787000 * GEN DATA DEFS(HEXTBL); 0253 00788000 * END BLSCAMER 0254 00789000 * 0254 00790000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 00791000 */*%INCLUDE SYSLIB (BLSCAMOM) */ 00792000 */*%INCLUDE SYSLIB (IEFZB4D0) */ 00793000 */*%INCLUDE SYSLIB (IEFZB4D2) */ 00794000 * 0254 00795000 * ; 0254 00796000 @EL00001 L @13,4(,@13) 0254 00797000 @EF00001 L @00,@SIZDATD 0254 00798000 LR @01,@11 0254 00799000 BLSCFRES R,LV=(0),A=(1) 00800000 @ER00001 LM @14,@12,12(@13) 0254 00801000 BR @14 0254 00802000 @DATA DS 0H 00803000 @CH00037 DC H'4' 00804000 @SM00676 MVC S99TUPAR(0,S99TUBAS),MMTUPAR(@10) 00805000 DS 0F 00806000 @AL00111 DC A(@CF00190) LIST WITH 1 ARGUMENT(S) 00807000 @AL00115 DC A(@CF00072) LIST WITH 3 ARGUMENT(S) 00808000 DC A(@CB00370) 00809000 DC A(@CB00372) 00810000 @AL00119 DC A(@CF00072) LIST WITH 3 ARGUMENT(S) 00811000 DC A(@CB00368) 00812000 DC A(@CB00372) 00813000 @AL00123 DC A(@CF00072) LIST WITH 3 ARGUMENT(S) 00814000 DC A(@CB00368) 00815000 DC A(@CB00370) 00816000 @AL00127 DC A(@CF00583) LIST WITH 11 ARGUMENT(S) 00817000 DC A(@CB00358) 00818000 DC A(@CB00360) 00819000 DC A(@CB00362) 00820000 DC A(@CB00364) 00821000 DC A(@CB00366) 00822000 DC A(@CB00386) 00823000 DC A(@CB00414) 00824000 DC A(@CB00416) 00825000 DC A(@CB00418) 00826000 DC A(@CB00514) 00827000 @AL00131 DC A(@CF00046) LIST WITH 2 ARGUMENT(S) 00828000 DC A(@CB00422) 00829000 @AL00135 DC A(@CF00046) LIST WITH 2 ARGUMENT(S) 00830000 DC A(@CB00358) 00831000 @DATD DSECT 00832000 DS 0F 00833000 @SA00001 DS 18F 00834000 @AL00001 DS 6A 00835000 @AFTEMPS DS 1F 00836000 BLSCAMER CSECT 00837000 DS 0F 00838000 @CF00190 DC F'0' 00839000 @CF00046 DC F'1' 00840000 @CF00072 DC F'2' 00841000 @CF00044 DC F'8' 00842000 @CH00044 EQU @CF00044+2 00843000 @CF00583 DC F'10' 00844000 @CF00084 DC F'32' 00845000 @CF00585 DC F'3105' 00846000 @CF00587 DC F'3106' 00847000 @CF00589 DC F'3107' 00848000 @CF00591 DC F'3113' 00849000 @CF00674 DC F'-4' 00850000 @CF00599 DC XL4'FFFFFFFE' 00851000 @CF00542 DC XL4'005E' 00852000 @DATD DSECT 00853000 DS 0D 00854000 MMTUP DS AL4 00855000 ORG MMTUP 00856000 MMTUPND DS BL1 00857000 ORG MMTUP+4 00858000 MTBAS DS A 00859000 MTMAX DS F 00860000 MERTUPLX DS H 00861000 MERTUPLM DS H 00862000 MODSTAT DS CL16 00863000 ORG MODSTAT 00864000 MODNAME DS CL8 00865000 RETCODE DS FL4 00866000 SUBCODE DS FL4 00867000 ORG MODSTAT+16 00868000 CHSTR8 DS CL8 00869000 ORG CHSTR8 00870000 CHSTR813 DS CL3 00871000 CHSTR847 DS CL4 00872000 ORG CHSTR847 00873000 CHSTR845 DS CL2 00874000 CHSTR867 DS CL2 00875000 ORG CHSTR8+8 00876000 CTEMP DS CL9 00877000 ORG CTEMP 00878000 CTEMP14 DS CL4 00879000 CTEMP54 DS CL4 00880000 ORG CTEMP+9 00881000 DS CL3 00882000 IOPTLIST DS 6A 00883000 BLSCAMER CSECT 00884000 DS 0F 00885000 @SIZDATD DC AL1(0) 00886000 DC AL3(@ENDDATD-@DATD) 00887000 @CV00318 DC V(BLSCAMOD) 00888000 DS 0D 00889000 @CC00601 DC C'BLSCAMER' 00890000 @CB00358 DC X'0002' 00891000 @CB00360 DC X'0003' 00892000 @CB00362 DC X'0004' 00893000 @CB00364 DC X'0005' 00894000 @CB00366 DC X'0006' 00895000 @CB00368 DC X'0007' 00896000 @CB00370 DC X'0008' 00897000 @CB00372 DC X'0009' 00898000 @CB00386 DC X'0010' 00899000 @CB00414 DC X'001E' 00900000 @CB00416 DC X'001F' 00901000 @CB00418 DC X'0020' 00902000 @CB00422 DC X'0022' 00903000 @CB00514 DC X'0050' 00904000 @CB00610 DC B'00000000' 00905000 DS CL3 00906000 DASPATCH DS CL256 00907000 ORG DASPATCH 00908000 DASPATA DC 64A(0) 00909000 ORG DASPATCH+256 00910000 CP0001@ DC AL4(ZKY) 00911000 DC AL4(ZKY) 00912000 DC AL4(ZKY) 00913000 DC AL4(ZKY) 00914000 DC AL4(ZKY) 00915000 DC AL4(ZKY) 00916000 DC AL4(TRKC) 00917000 DC AL4(CYLC) 00918000 DC AL4(BLKLNC) 00919000 DC AL4(ZKY) 00920000 DC AL4(ZKY) 00921000 DC AL4(ZKY) 00922000 DC AL4(ZKY) 00923000 DC AL4(ZKY) 00924000 DC AL4(ZKY) 00925000 DC AL4(ZKY) 00926000 DC AL4(ZKY) 00927000 DC AL4(ZKY) 00928000 DC AL4(ZKY) 00929000 DC AL4(ZKY) 00930000 DC AL4(ZKY) 00931000 DC AL4(ZKY) 00932000 DC AL4(ZKY) 00933000 DC AL4(SYSOUC) 00934000 DC AL4(SYSOUC) 00935000 DC AL4(SYSOUC) 00936000 DC AL4(SYSOUC) 00937000 DC AL4(ZKY) 00938000 DC AL4(SYSOUC) 00939000 DC AL4(ZKY) 00940000 DC AL4(ZKY) 00941000 DC AL4(ZKY) 00942000 DC AL4(ZKY) 00943000 DC AL4(ZKY) 00944000 DC AL4(RETPDC) 00945000 DC AL4(ZKY) 00946000 DC AL4(ZKY) 00947000 DC AL4(ZKY) 00948000 DC AL4(ZKY) 00949000 DC AL4(ZKY) 00950000 DC AL4(ZKY) 00951000 DC AL4(ZKY) 00952000 DC AL4(ZKY) 00953000 DC AL4(ZKY) 00954000 DC AL4(ZKY) 00955000 DC AL4(ZKY) 00956000 DC AL4(ZKY) 00957000 DC AL4(ZKY) 00958000 DC AL4(ZKY) 00959000 DC AL4(ZKY) 00960000 DC AL4(ZKY) 00961000 DC AL4(ZKY) 00962000 DC AL4(ZKY) 00963000 DC AL4(ZKY) 00964000 DC AL4(ZKY) 00965000 DC AL4(ZKY) 00966000 DC AL4(ZKY) 00967000 DC AL4(ZKY) 00968000 DC AL4(ZKY) 00969000 DC AL4(ZKY) 00970000 DC AL4(ZKY) 00971000 DC AL4(ZKY) 00972000 DC AL4(ZKY) 00973000 DC AL4(ZKY) 00974000 DC AL4(ZKY) 00975000 DC AL4(ZKY) 00976000 DC AL4(ZKY) 00977000 DC AL4(ZKY) 00978000 DC AL4(ZKY) 00979000 DC AL4(ZKY) 00980000 DC AL4(ZKY) 00981000 DC AL4(ZKY) 00982000 DC AL4(ZKY) 00983000 DC AL4(ZKY) 00984000 DC AL4(ZKY) 00985000 DC AL4(ZKY) 00986000 DC AL4(ZKY) 00987000 DC AL4(ZKY) 00988000 DC AL4(ZKY) 00989000 DC AL4(PASSWC) 00990000 DC AL4(ZKY) 00991000 DC AL4(ZKY) 00992000 DC AL4(ZKY) 00993000 DC AL4(ZKY) 00994000 DC AL4(ZKY) 00995000 DC AL4(ZKY) 00996000 DC AL4(ZKY) 00997000 DC AL4(SYSOUC) 00998000 DC AL4(SYSOUC) 00999000 DC AL4(ZKY) 01000000 DC AL4(ZKY) 01001000 DC AL4(ZKY) 01002000 DC AL4(ZKY) 01003000 DC AL4(ZKY) 01004000 BLSCAMER CSECT 01005000 * /* 01006000 HEXTBL EQU *-240 01007000 DC CL16'0123456789ABCDEF' 01008000 @DATD DSECT 01009000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 01010000 @ENDDATD EQU * 01011000 BLSCAMER CSECT 01012000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 01013000 @01 EQU 01 01014000 @02 EQU 02 01015000 @03 EQU 03 01016000 @04 EQU 04 01017000 @05 EQU 05 01018000 @06 EQU 06 01019000 @07 EQU 07 01020000 @08 EQU 08 01021000 @09 EQU 09 01022000 @10 EQU 10 01023000 @11 EQU 11 01024000 @12 EQU 12 01025000 @13 EQU 13 01026000 @14 EQU 14 01027000 @15 EQU 15 01028000 TLEN EQU @05 01029000 MLEN EQU @09 01030000 MERSW EQU @06 01031000 MTNDX EQU @02 01032000 MEROP EQU @05 01033000 S99TUPLM EQU @10 01034000 S99TUBAS EQU @04 01035000 S99TUPLX EQU @08 01036000 MMTUPLX EQU @05 01037000 MMSW EQU @02 01038000 MMOP EQU @07 01039000 MERTUP EQU @02 01040000 S99TUFP EQU @04 01041000 MODELPTR EQU @06 01042000 DMCBPTR EQU @03 01043000 GPR01P EQU @01 01044000 DMCB EQU 0 01045000 DMCBTVP EQU DMCB+8 01046000 DMCBFTY EQU DMCB+20 01047000 DMCBOPN EQU DMCB+21 01048000 DMCBRMOD EQU DMCB+23 01049000 DMCBOUT EQU DMCBRMOD 01050000 DMCBOPTS EQU DMCB+24 01051000 DMCBGKY EQU DMCBOPTS 01052000 DMCBMFLG EQU DMCB+28 01053000 DMCBBUFP EQU DMCB+32 01054000 DMCBKEYP EQU DMCB+44 01055000 DMCBMSG EQU DMCB+52 01056000 DMCBRI EQU DMCB+64 01057000 DMCBMSG0 EQU DMCB+68 01058000 DMCBMSGS EQU DMCB+72 01059000 DMCBFRE EQU DMCB+88 01060000 DMCBEOB EQU DMCB+92 01061000 DMCBACBE EQU DMCB+124 01062000 DMCBMODL EQU DMCB+348 01063000 DMCBSPEC EQU DMCB+380 01064000 DMCBDRBP EQU DMCB+400 01065000 DMCBAMS EQU DMCB+416 01066000 DMCBAUDT EQU DMCB+568 01067000 DMCBLSCP EQU DMCBAUDT+16 01068000 DMCBWRK EQU DMCB+648 01069000 MODELNAM EQU 0 01070000 MODLMAP EQU 0 01071000 MMNAME EQU MODLMAP+8 01072000 MMACBDCB EQU MODLMAP+16 01073000 MMRPLP EQU MODLMAP+20 01074000 MMOPCLP EQU MODLMAP+24 01075000 MMDYRBP EQU MODLMAP+28 01076000 MMAMSLP EQU MODLMAP+32 01077000 MMACB EQU 0 01078000 MMDYRB EQU 0 01079000 MMAMSREC EQU 0 01080000 MMTUPL EQU 0 01081000 MMTUPTR EQU MMTUPL 01082000 MMTUNIT EQU 0 01083000 MMTUKEY EQU MMTUNIT 01084000 MMTUNUM EQU MMTUNIT+2 01085000 MMTUENT EQU MMTUNIT+4 01086000 MMTULNG EQU MMTUENT 01087000 MMTUPAR EQU MMTUENT+2 01088000 S99TUPL EQU 0 01089000 S99TUPTR EQU S99TUPL 01090000 S99TUPLN EQU S99TUPTR 01091000 S99TUP EQU 0 01092000 S99TUNIT EQU 0 01093000 S99TUKEY EQU S99TUNIT 01094000 S99TUNUM EQU S99TUNIT+2 01095000 S99TUENT EQU S99TUNIT+4 01096000 S99TULNG EQU S99TUENT 01097000 S99TUPAR EQU S99TUENT+2 01098000 S99TUFLD EQU 0 01099000 BLSDMSGS EQU 0 01100000 BLSDMSG0 EQU 0 01101000 ZZ2 EQU 0 01102000 MERTUPL EQU 0 01103000 MERTUPTR EQU MERTUPL 01104000 MERTUNIT EQU 0 01105000 MERTUKEY EQU MERTUNIT 01106000 MERTUENT EQU MERTUNIT+4 01107000 I015F EQU 0 01108000 CL0001@ EQU 0 01109000 MTP EQU 0 01110000 MTCNTP EQU MTP 01111000 MTPTR EQU MTP+4 01112000 MTCNT EQU 0 01113000 MTKEY EQU 0 01114000 DMCBDMGR EQU 0 01115000 DMCBRQC EQU 0 01116000 I001C EQU 0 01117000 I008P EQU 0 01118000 I015P EQU 0 01119000 I031F EQU 0 01120000 I031P EQU 0 01121000 I256C EQU 0 01122000 MMAMSL EQU 0 01123000 MMDCB EQU 0 01124000 MMOPCL EQU 0 01125000 MMRPL EQU 0 01126000 DMCBVSM EQU DMCBAMS 01127000 DMCBQSM EQU DMCBAMS 01128000 DMAL EQU DMCBWRK 01129000 DMALMODA EQU DMAL+4 01130000 DMALMODP EQU DMAL+12 01131000 DMALDYRB EQU DMAL+16 01132000 DMALTUPM EQU DMAL+36 01133000 DMALTUBS EQU DMAL+40 01134000 DMALTUPL EQU DMAL+44 01135000 DMALEND EQU DMAL+1196 01136000 MMACBMCF EQU MMACB+12 01137000 MMACBMC1 EQU MMACBMCF 01138000 MMRB EQU MMDYRB 01139000 MMRSC EQU MMRB+4 01140000 MMTXTPP EQU MMRB+8 01141000 S99RBPTR EQU DMCBDRBP 01142000 S99RB EQU DMALDYRB 01143000 S99FLAG1 EQU S99RB+2 01144000 S99FLG11 EQU S99FLAG1 01145000 S99RSC EQU S99RB+4 01146000 S99TXTPP EQU S99RB+8 01147000 S99FLAG2 EQU S99RB+16 01148000 S99FLG21 EQU S99FLAG2 01149000 S99FLG22 EQU S99FLAG2+1 01150000 CHSTR88 EQU CHSTR8+7 01151000 S99TUPR1 EQU S99TUPAR 01152000 S99TUPR2 EQU S99TUPAR 01153000 S99TUPR3 EQU S99TUPAR 01154000 AGO .@UNREFD START UNREFERENCED COMPONENTS 01155000 S99FLG24 EQU S99FLAG2+3 01156000 S99FLG23 EQU S99FLAG2+2 01157000 S99PCINT EQU S99FLG22 01158000 S99UDEVT EQU S99FLG22 01159000 S99MOUNT EQU S99FLG21 01160000 S99CATLG EQU S99FLG21 01161000 S99TIONQ EQU S99FLG21 01162000 S99OFFLN EQU S99FLG21 01163000 S99WTUNT EQU S99FLG21 01164000 S99NORES EQU S99FLG21 01165000 S99WTDSN EQU S99FLG21 01166000 S99WTVOL EQU S99FLG21 01167000 S99RSV01 EQU S99RB+12 01168000 S99INFO EQU S99RSC+2 01169000 S99ERROR EQU S99RSC 01170000 S99FLG12 EQU S99FLAG1+1 01171000 S99JBSYS EQU S99FLG11 01172000 S99NOMNT EQU S99FLG11 01173000 S99NOCNV EQU S99FLG11 01174000 S99ONCNV EQU S99FLG11 01175000 S99VERB EQU S99RB+1 01176000 S99RBLN EQU S99RB 01177000 S99RBPND EQU S99RBPTR 01178000 MMFLAG2 EQU MMRB+16 01179000 MMRSV01 EQU MMRB+12 01180000 MMINFO EQU MMRSC+2 01181000 MMERROR EQU MMRSC 01182000 MMFLAG1 EQU MMRB+2 01183000 MMVERB EQU MMRB+1 01184000 MMRBLN EQU MMRB 01185000 MMACBKEY EQU MMACBMC1 01186000 DMALTUS EQU DMAL+172 01187000 DMALPRMP EQU DMAL+8 01188000 DMALID EQU DMAL 01189000 DMCBRES7 EQU DMCBQSM+96 01190000 DMCBDCB EQU DMCBQSM 01191000 DMCBACB EQU DMCBVSM+76 01192000 DMCBRPL EQU DMCBVSM 01193000 MERTUPAR EQU MERTUENT+2 01194000 MERTULNG EQU MERTUENT 01195000 MERTUNUM EQU MERTUNIT+2 01196000 MERTUPLN EQU MERTUPTR 01197000 S99TUPRM EQU S99TUFLD+2 01198000 S99TULEN EQU S99TUFLD 01199000 S99TUPND EQU S99TUP 01200000 MMTUPLN EQU MMTUPTR 01201000 MMAMSTXT EQU MMAMSREC+4 01202000 MMAMSPAD EQU MMAMSREC+2 01203000 MMAMSLEN EQU MMAMSREC 01204000 MMACBID EQU MMACB 01205000 MMRRL EQU MODLMAP+36 01206000 MMRESV1 EQU MODLMAP+4 01207000 MMNXMOD EQU MODLMAP 01208000 DMCBRES8 EQU DMCB+640 01209000 DMCBMODN EQU DMCB+632 01210000 DMCBCARY EQU DMCBAUDT+20 01211000 DMCBCLC EQU DMCBAUDT+12 01212000 DMCBOPC EQU DMCBAUDT+8 01213000 DMCBFRC EQU DMCBAUDT+4 01214000 DMCBALC EQU DMCBAUDT 01215000 DMCBFR EQU DMCB+412 01216000 DMCBRES6 EQU DMCB+410 01217000 DMCBIRSC EQU DMCB+408 01218000 DMCBSUBC EQU DMCB+404 01219000 DMCBRSZM EQU DMCB+398 01220000 DMCBRSZA EQU DMCB+396 01221000 DMCBCISZ EQU DMCB+394 01222000 DMCBDCBL EQU DMCB+392 01223000 DMCBDCLR EQU DMCB+390 01224000 DMCBDCFM EQU DMCB+389 01225000 DMCBRES5 EQU DMCB+388 01226000 DMCBLBRT EQU DMCB+386 01227000 DMCBLBSQ EQU DMCB+384 01228000 DMCBLBPS EQU DMCB+383 01229000 DMCBLBTY EQU DMCB+382 01230000 DMCBRES4 EQU DMCB+381 01231000 DMCBSPRS EQU DMCBSPEC 01232000 DMCBSPRN EQU DMCBSPEC 01233000 DMCBSPCT EQU DMCBSPEC 01234000 DMCBSPRL EQU DMCBSPEC 01235000 DMCBSPSE EQU DMCB+376 01236000 DMCBSPPR EQU DMCB+372 01237000 DMCBSPTY EQU DMCB+369 01238000 DMCBODIS EQU DMCB+368 01239000 DMCBDISP EQU DMCB+367 01240000 DMCBSTAT EQU DMCB+366 01241000 DMCBRES3 EQU DMCB+364 01242000 DMCBMEMB EQU DMCB+356 01243000 DMCBRES9 EQU DMCB+340 01244000 DMCBPID EQU DMCB+332 01245000 DMCBTYPE EQU DMCB+328 01246000 DMCBDSN EQU DMCB+284 01247000 DMCBUNIT EQU DMCB+276 01248000 DMCBDSOR EQU DMCB+274 01249000 DMCBVOL EQU DMCB+268 01250000 DMCBDDNM EQU DMCB+260 01251000 DMCBSYNM EQU DMCB+132 01252000 DMCBRPLF EQU DMCB+128 01253000 DMCBDCBE EQU DMCBACBE 01254000 DMCBARC EQU DMCB+120 01255000 DMCBCPC EQU DMCB+116 01256000 DMCBRET EQU DMCB+112 01257000 DMCBSTL EQU DMCB+96 01258000 DMCBRES2 EQU DMCB+85 01259000 DMCBSPID EQU DMCB+84 01260000 DMCBRESC EQU DMCB+80 01261000 DMCBZZ1P EQU DMCB+76 01262000 DMCBRRL EQU DMCB+60 01263000 DMCBRBA EQU DMCB+56 01264000 DMCBKEYL EQU DMCB+48 01265000 DMCBKPC EQU DMCBKEYP 01266000 DMCBORL EQU DMCB+40 01267000 DMCBBLEN EQU DMCB+36 01268000 DMCBBFPC EQU DMCBBUFP 01269000 DMCBRES1 EQU DMCB+31 01270000 DMCBACCM EQU DMCB+30 01271000 DMCBREJ EQU DMCB+29 01272000 DMCBRESB EQU DMCBMFLG 01273000 DMCBFMOD EQU DMCBMFLG 01274000 DMCBLOPT EQU DMCB+27 01275000 DMCBLRM EQU DMCB+26 01276000 DMCBLRQ EQU DMCB+25 01277000 DMCBOPRS EQU DMCBOPTS 01278000 DMCBLRD EQU DMCBOPTS 01279000 DMCBBWD EQU DMCBOPTS 01280000 DMCBUPD EQU DMCBOPTS 01281000 DMCBAPX EQU DMCBOPTS 01282000 DMCBRNO EQU DMCBGKY 01283000 DMCBKYD EQU DMCBOPTS 01284000 DMCBRMRS EQU DMCBRMOD 01285000 DMCBRM5 EQU DMCBRMOD 01286000 DMCBRM6 EQU DMCBRMOD 01287000 DMCBTMP EQU DMCBOUT 01288000 DMCBRQST EQU DMCB+22 01289000 DMCBRESA EQU DMCBOPN 01290000 DMCBSOUT EQU DMCBOPN 01291000 DMCBSIN EQU DMCBOPN 01292000 DMCBVSF EQU DMCBFTY 01293000 DMCBKSF EQU DMCBFTY 01294000 DMCBFTRS EQU DMCBFTY 01295000 DMCBSHF EQU DMCBFTY 01296000 DMCBIRL EQU DMCB+16 01297000 DMCBRTC EQU DMCB+12 01298000 DMCBNEXT EQU DMCB+4 01299000 DMCBID EQU DMCB 01300000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01301000 @RF00229 EQU @EL00002 01302000 @ENDDATA EQU * 01303000 END BLSCAMER,(C'PLS1835',0701,78062) 01304000