TITLE 'IDAIIPM2--ISAM INTERFACE SCAN *00001000 ' 00002000 IDAIIPM2 CSECT , 0001 00003000 @PROLOG DS 0H 0002 00004000 @PSTART EQU * LABEL FOR PATCH MACRO 00005000 DC A(IIGET) /* ENTRY ADDR FOR GET */ 00006000 DC A(IISETL) /* ENTRY ADDR FOR SETL */ 00007000 DC A(IIESETL) /* ENTRY ADDR FOR ESETL */ 00008000 DC A(IIEODAD) /* ENTRY ADDR FOR EODAD */ 00009000 * /******************************************************************/ 00010000 * /* */ 00011000 * /* BRANCH TABLE */ 00012000 * /* */ 00013000 * /******************************************************************/ 00014000 USING *,R15 /* ENTRY ADDRESSABILITY */ 00015000 IIGET B GETRTNE /* ENTRY FOR GET */ 00016000 B IIPUTX /* BRANCH TO PUTX EP */ 00017000 B IIRELSE /* BRANCH TO RELSE EP */ 00018000 * /* CHANGE ADDRESSABILITY REGISTER */ 00019000 DROP R15 /* STOP USING R15 AS BASE*/ 00020000 USING IIGET,R11 /* USE R11 AS A BASE REG */ 00021000 EJECT /* SKIP TO NEW PAGE */ 00022000 * /******************************************************************/ 00023000 * /* */ 00024000 * /* SETL MACRO ENTRY POINT */ 00025000 * /* */ 00026000 * /******************************************************************/ 00027000 IISETL STM R14,R12,12(R13) /* SAVE USER'S REGS */ 00028000 * R11=DCBGET; /* ESTABLISH BASE REG */ 00029000 L R11,DCBGET+48(,RDCB) 0168 00030000 * RIICB=DEBWKPT5; /* SET IICB BASE */ 00031000 L @14,DCBDEBAD+40(,RDCB) 0169 00032000 L @14,DEBEXPT(,@14) 0169 00033000 L RIICB,DEBWKPT5(,@14) 0169 00034000 * IIREGBC=R13; /* KEEP PTR TO USER SAVE */ 00035000 ST R13,IIREGBC(,RIICB) 0170 00036000 * R15=ADDR(IIREGSAV); /* HOLD II SAVE ADDR */ 00037000 LA R15,IIREGSAV(,RIICB) 0171 00038000 * GEN(ST R15,8(0,R13)); /* STORE IT IN USER SAVE */ 00039000 ST R15,8(0,R13) 00040000 * R13=R15; /* ESTABLISH SAVE PTR */ 00041000 LR R13,R15 0173 00042000 * RRPL=IIRPLPTR; /* ESTABLISH RPL BASE */ 00043000 L RRPL,IIRPLPTR(,RIICB) 0174 00044000 * IIKEYPT=R0; /* SETL TYPE CODE */ 00045000 ST R0,IIKEYPT(,RIICB) 0175 00046000 * RFY 0176 00047000 * (R0, 0176 00048000 * R15) UNRSTD; /* DROP REGISTERS */ 00049000 * DCBEXCD1=CZERO; /* CLEAR ERROR FLAGS */ 00050000 LA @12,52 0177 00051000 ALR @12,RDCB 0177 00052000 MVI DCBEXCD1(@12),B'00000000' 0177 00053000 * DCBEXCD2=CZERO; /* CLEAR ERROR FLAGS CONSECUTIVE 00054000 * SETL'S? */ 00055000 MVI DCBEXCD2(@12),B'00000000' 0178 00056000 * IF IIFSCAN=ON THEN /* SCAN BIT ON? */ 00057000 TM IIFSCAN(RIICB),B'10000000' 0179 00058000 BO @RT00179 0179 00059000 * GOTO INVALID; /* YES, --- INVALID REQ */ 00060000 */* ******************************************************************/ 00061000 */* */ 00062000 */* DETERMINE SEARCH LOGIC FOR VSAM POINT: */ 00063000 */* */ 00064000 */* ISAM SETL K = VSAM POINT KEQ, FKS */ 00065000 */* ISAM SETL KH = VSAM POINT KGE, FKS */ 00066000 */* ISAM SETL KC = VSAM POINT GEN, KEQ @XA05682*/ 00067000 */* ISAM SETL B = VSAM POINT KGE, GEN WITH KEY = ZERO */ 00068000 */* AND VSAM KEY LENGTH FOR GENERIC SETL */ 00069000 */* */ 00070000 */* ******************************************************************/ 00071000 * 0181 00072000 * RPLGEN=OFF; /* ASSUME A FULL KEY SCH */ 00073000 * RPLKGE=OFF; /* AND FOR KEY EQUAL */ 00074000 NI RPLGEN(RRPL),B'11111001' 0182 00075000 * RPLARG=KEYPTR; /* PUT KEY POINTER IN RPL */ 00076000 L @12,IIREGBC(,RIICB) 0183 00077000 L @10,KEYPTR-1(,@12) 0183 00078000 LA @10,0(,@10) 0183 00079000 ST @10,RPLARG(,RRPL) 0183 00080000 * IF SETLDAT=ON THEN /* IF DATA ONLY RETRIEVAL, */ 00081000 TM SETLDAT(@12),B'00001000' 0184 00082000 BNO @RF00184 0184 00083000 * IIDATA=ON; /* SET FLAG IN THE */ 00084000 OI IIDATA(RIICB),B'00001000' 0185 00085000 * ELSE 0186 00086000 * IIDATA=OFF; /* IICB. */ 00087000 B @RC00184 0186 00088000 @RF00184 NI IIDATA(RIICB),B'11110111' 0186 00089000 * IF SETLKEY=ON THEN /* IF SETL BY KEY, CHECK */ 00090000 @RC00184 L @12,IIREGBC(,RIICB) 0187 00091000 TM SETLKEY(@12),B'10000000' 0187 00092000 BNO @RF00187 0187 00093000 * DO; /* SEARCH LOGIC DESIRED */ 00094000 * IF SETLKGE=ON THEN /* IF SEARCH HIGH / EQUAL */ 00095000 TM SETLKGE(@12),B'00000010' 0189 00096000 BNO @RF00189 0189 00097000 * RPLKGE=ON; /* INDICATE GT/EQ SEARCH */ 00098000 OI RPLKGE(RRPL),B'00000100' 0190 00099000 * 0191 00100000 * /*************************************************************/ 00101000 * /* */ 00102000 * /* IF GENERIC, DETERMINE NUMBER OF KEY BYTES FOR SEARCH. */ 00103000 * /* */ 00104000 * /*************************************************************/ 00105000 * 0191 00106000 * ELSE /* IF NOT SEARCH HIGH OR */ 00107000 * IF SETLGEN=ON THEN /* EQUAL, BUT GENERIC */ 00108000 B @RC00189 0191 00109000 @RF00189 L @12,IIREGBC(,RIICB) 0191 00110000 TM SETLGEN(@12),B'01000000' 0191 00111000 BNO @RF00191 0191 00112000 * DO; /* SEARCH, INDICATE A */ 00113000 * RPLGEN=ON; /* GENERIC SEARCH TO VSAM SEARCH 00114000 * KEQ TO ALLOW KEY NOT FOUND 0193 00115000 * @XA05682*/ 00116000 OI RPLGEN(RRPL),B'00000010' 0193 00117000 * RFY 0194 00118000 * RWORK1 RSTD; /* GET WORK REGISTER */ 00119000 * RWORK1=KEYPTR+DCBKEYLE-ONE;/* A(LAST KEY BYTE) */ 00120000 L RWORK1,KEYPTR-1(,@12) 0195 00121000 LA RWORK1,0(,RWORK1) 0195 00122000 SLR @12,@12 0195 00123000 IC @12,DCBKEYLE+16(,RDCB) 0195 00124000 ALR RWORK1,@12 0195 00125000 BCTR RWORK1,0 0195 00126000 * DO WHILE KEYBYTE=CZERO;/* LOOP UNTIL WE LOCATE A */ 00127000 B @DE00196 0196 00128000 @DL00196 DS 0H 0197 00129000 * RWORK1=RWORK1-ONE; /* NON-ZERO KEY BYTE */ 00130000 BCTR RWORK1,0 0197 00131000 * END; /* END OF SEARCH */ 00132000 @DE00196 CLI KEYBYTE(RWORK1),B'00000000' 0198 00133000 BE @DL00196 0198 00134000 * RPLKEYLE=RWORK1-KEYPTR+ONE;/* SET LENGTH IN RPL */ 00135000 LA @12,1 0199 00136000 L @10,IIREGBC(,RIICB) 0199 00137000 LR @07,RWORK1 0199 00138000 L @10,KEYPTR-1(,@10) 0199 00139000 LA @10,0(,@10) 0199 00140000 SLR @07,@10 0199 00141000 ALR @07,@12 0199 00142000 STH @07,RPLKEYLE(,RRPL) 0199 00143000 * IF RPLKEYLERDW=RPLRLEN+LENGTH(ALLRDW);/* SET RDW LENGTH */ 00239000 L @12,RPLIIBFR+76(,RRPL) 0230 00240000 LA @10,4 0230 00241000 AL @10,RPLRLEN(,RRPL) 0230 00242000 STH @10,RDW(,@12) 0230 00243000 * RPLIIBFR->RDW00=ZERO; /* SET UNUSED TO ZERO */ 00244000 SLR @10,@10 0231 00245000 STH @10,RDW00(,@12) 0231 00246000 * END; /* END OF VLR RDW CODE */ 00247000 * IF DCBRKP=ZERO THEN /* FIND DELETE CODE BYTE */ 00248000 @RF00228 LH @12,DCBRKP+52(,RDCB) 0233 00249000 LTR @12,@12 0233 00250000 BNZ @RF00233 0233 00251000 * RWORK1=RPLAREA+DCBKEYLE; /* POINT TO 1ST DATA BYTE */ 00252000 SLR RWORK1,RWORK1 0234 00253000 IC RWORK1,DCBKEYLE+16(,RDCB) 0234 00254000 AL RWORK1,RPLAREA(,RRPL) 0234 00255000 * ELSE 0235 00256000 * RWORK1=RPLAREA; /* ALLOW FOR KEY IF RKP=0 */ 00257000 B @RC00233 0235 00258000 @RF00233 L RWORK1,RPLAREA(,RRPL) 0235 00259000 * IF DATABYT1=DELCODE THEN /* IF DELETED RECORD, */ 00260000 @RC00233 CLI DATABYT1(RWORK1),B'11111111' 0236 00261000 BNE @RF00236 0236 00262000 * DO; /* SET NO RECORD FOUND */ 00263000 * DCBEXNKY=ON; /* INDICATE KEY NOT FOUND */ 00264000 OI DCBEXNKY+52(RDCB),B'10000000' 0238 00265000 * GO TO ERROR; /* EXIT */ 00266000 B ERROR 0239 00267000 * END; /* END OF NO RECORD FOUND */ 00268000 * IIFGET=ON; /* TELL 1ST GET REC HERE */ 00269000 @RF00236 OI IIFGET(RIICB),B'01000000' 0241 00270000 * END; /* END OF DELETE REC CHECK */ 00271000 * DCBEXOFL=ON; /* INDICATE OVERFLOW */ 00272000 @RF00219 OI DCBEXOFL+52(RDCB),B'00010000' 0243 00273000 * IIFSCAN=ON; /* INDICATE GOOD SETL */ 00274000 OI IIFSCAN(RIICB),B'10000000' 0244 00275000 * GO TO PM2EXIT; /* RETURN TO USER */ 00276000 B PM2EXIT 0245 00277000 * 0246 00278000 */* **************************************************************** */ 00279000 */* */ 00280000 */* GET MACRO ENTRY POINT FROM BRANCH TABLE */ 00281000 */* */ 00282000 */* **************************************************************** */ 00283000 * 0246 00284000 *GETRTNE: /* TARGET FROM BRANCH TBL */ 00285000 * GEN(STM R14,R12,12(R13)); /* SAVE USER'S REGS */ 00286000 GETRTNE STM R14,R12,12(R13) 00287000 * RFY 0247 00288000 * (R0, 0247 00289000 * R15) RSTD; /* GET REGISTERS */ 00290000 * R11=R15; /* LOAD BASE ADDR */ 00291000 LR R11,R15 0248 00292000 * RIICB=DEBWKPT5; /* SET IICB BASE */ 00293000 L @14,DCBDEBAD+40(,RDCB) 0249 00294000 L @14,DEBEXPT(,@14) 0249 00295000 L RIICB,DEBWKPT5(,@14) 0249 00296000 * IIREGBC=R13; /* SAVE BACKCHAIN PTR */ 00297000 ST R13,IIREGBC(,RIICB) 0250 00298000 * R15=ADDR(IIREGSAV); /* HOLD II SAVE ADDR */ 00299000 LA R15,IIREGSAV(,RIICB) 0251 00300000 * GEN(ST R15,8(0,R13)); /* STORE IT IN USER SAVE */ 00301000 ST R15,8(0,R13) 00302000 * R13=R15; /* II SAVE PTR IN R13 */ 00303000 LR R13,R15 0253 00304000 * RRPL=IIRPLPTR; /* ESTABLISH RPL BASE */ 00305000 L RRPL,IIRPLPTR(,RIICB) 0254 00306000 * RFY 0255 00307000 * R8 RSTD; /* GET A WORK REGISTER */ 00308000 * R8=R0; /* SAVE USER BFR ADDRESS */ 00309000 LR R8,R0 0256 00310000 * RFY 0257 00311000 * (R0, 0257 00312000 * R15) UNRSTD; /* DROP REGISTERS */ 00313000 * DCBEXCD1=CZERO; /* CLEAR THE ERROR FLAGS */ 00314000 LA @12,52 0258 00315000 ALR @12,RDCB 0258 00316000 MVI DCBEXCD1(@12),B'00000000' 0258 00317000 * DCBEXCD2=CZERO; /* IN THE DCB */ 00318000 * 0259 00319000 MVI DCBEXCD2(@12),B'00000000' 0259 00320000 * /*****************************************************************/ 00321000 * /* */ 00322000 * /* IF NOT YET IN SCAN MODE, A SETL BD IS IMPLIED. */ 00323000 * /* */ 00324000 * /*****************************************************************/ 00325000 * 0260 00326000 * IF IIFSCAN=OFF THEN /* IF GET WITHOUT SETL, */ 00327000 TM IIFSCAN(RIICB),B'10000000' 0260 00328000 BNZ @RF00260 0260 00329000 * DO; /* A SETL B IS IMPLIED. */ 00330000 * CALL SETLB; /* SET UP RPL FOR POINT */ 00331000 BAL @14,SETLB 0262 00332000 * RWORK1=RDCB; /* SAVE DCB ADDRESS */ 00333000 LR RWORK1,RDCB 0263 00334000 * RDCB=RRPL; /* GET RPL ADDRESS INTO R1 ISSUE 00335000 * VSAM POINT */ 00336000 LR RDCB,RRPL 0264 00337000 * GEN(POINT RPL=(1)); /* */ 00338000 POINT RPL=(1) 00339000 * RDCB=RWORK1; /* RESTORE DCB BASE */ 00340000 LR RDCB,RWORK1 0266 00341000 * KEYADDR=R8; /* RESTORE USER REG 0 */ 00342000 L @12,IIREGBC(,RIICB) 0267 00343000 ST R8,KEYADDR(,@12) 0267 00344000 * IF RPLERRCD=RPLNOPLH THEN /* IF NO PLACEHOLDER, */ 00345000 CLI RPLERRCD(RRPL),64 0268 00346000 BE @RT00268 0268 00347000 * GO TO INVALID; /* SET INVALID REQUEST */ 00348000 * IIFSCAN=ON; /* INDICATE SCAN */ 00349000 * IIDATA=OFF; /* SET KEY/DATA RETRIEVAL */ 00350000 OI IIFSCAN(RIICB),B'10000000' 0271 00351000 NI IIDATA(RIICB),B'11110111' 0271 00352000 * END; /* END OF IMPLIED SETL B */ 00353000 * 0273 00354000 * /*****************************************************************/ 00355000 * /* */ 00356000 * /* IF THIS IS THE FIRST GET AFTER A SETL (KEQ AND FKS) THEN THE */ 00357000 * /* FIRST VSAM GET HAS ALREADY BEEN ISSUED. ALL THAT IS NECESSARY */ 00358000 * /* IS TO MOVE THE RECORD FROM THE ISAM INTERFACE BUFFER TO THE */ 00359000 * /* USER AREA */ 00360000 * /* */ 00361000 * /*****************************************************************/ 00362000 * 0273 00363000 * IF IIFGET=ON THEN /* WAS FIRST RECORD READ DURING */ 00364000 @RF00260 TM IIFGET(RIICB),B'01000000' 0273 00365000 BNO @RF00273 0273 00366000 * DO; /* SETL? IF SO, BYPASS VSAM */ 00367000 * IIFGET=OFF; /* GET & RESET FIRST GET BIT */ 00368000 NI IIFGET(RIICB),B'10111111' 0275 00369000 * IF DCBMFLCG=OFF& /* IF RECORD WOULD HAVE BEEN */ 00370000 * IIDATA=OFF THEN /* READ INTO THE USER BUFFER, */ 00371000 TM DCBMFLCG+40(RDCB),B'00001000' 0276 00372000 BNZ @RF00276 0276 00373000 TM IIDATA(RIICB),B'00001000' 0276 00374000 BNZ @RF00276 0276 00375000 * DO; /* THEN MOVE IT THERE. */ 00376000 * RFY 0278 00377000 * (R4, 0278 00378000 * R5, 0278 00379000 * R6, 0278 00380000 * R7) RSTD; /* GET REGS FOR MVCL */ 00381000 * IF DCBRECBR=OFF& /* IF RECORDS ARE UNBLOCKED */ 00382000 * DCBRKP^=ZERO THEN /* AND KEYS ARE EMBEDDED, */ 00383000 TM DCBRECBR+28(RDCB),B'00010000' 0279 00384000 BNZ @RF00279 0279 00385000 LH @12,DCBRKP+52(,RDCB) 0279 00386000 LTR @12,@12 0279 00387000 BZ @RF00279 0279 00388000 * R4=R8+DCBKEYLE; /* ALLOW FOR KEY MOVE */ 00389000 LR R4,R8 0280 00390000 SLR @12,@12 0280 00391000 IC @12,DCBKEYLE+16(,RDCB) 0280 00392000 ALR R4,@12 0280 00393000 * ELSE 0281 00394000 * R4=R8; /* ELSE, MOVE TO BUFFER START */ 00395000 B @RC00279 0281 00396000 @RF00279 LR R4,R8 0281 00397000 * R6=RPLIIBFR; /* GET FROM ADDRESS */ 00398000 @RC00279 L R6,RPLIIBFR+76(,RRPL) 0282 00399000 * IF DCBRECL='01'B THEN /* IF VLR, LENGTH FROM RDW */ 00400000 TM DCBRECL+28(RDCB),B'01000000' 0283 00401000 BNO @RF00283 0283 00402000 TM DCBRECL+28(RDCB),B'10000000' 0283 00403000 BNZ @RF00283 0283 00404000 * R5=R6->RDW; /* AND FOR FLR THE LENGTH */ 00405000 LH R5,RDW(,R6) 0284 00406000 * ELSE /* IS DCB LRECL */ 00407000 * IF DCBRKP=ZERO& /* IF NON-EMBEDDED */ 00408000 * DCBRECBR=OFF THEN /* KEY, THEN LRECL */ 00409000 B @RC00283 0285 00410000 @RF00283 LA @12,52 0285 00411000 ALR @12,RDCB 0285 00412000 LH @10,DCBRKP(,@12) 0285 00413000 LTR @10,@10 0285 00414000 BNZ @RF00285 0285 00415000 TM DCBRECBR+28(RDCB),B'00010000' 0285 00416000 BNZ @RF00285 0285 00417000 * R5=DCBLRECL+DCBKEYLE;/* DOES NOT */ 00418000 SLR R5,R5 0286 00419000 IC R5,DCBKEYLE+16(,RDCB) 0286 00420000 AH R5,DCBLRECL(,@12) 0286 00421000 * ELSE 0287 00422000 * R5=DCBLRECL; /* INCLUDE THE KEY LENGTH */ 00423000 B @RC00285 0287 00424000 @RF00285 LH R5,DCBLRECL+52(,RDCB) 0287 00425000 * R7=R5; /* LENGTH IN BOTH ODD REGS */ 00426000 @RC00285 DS 0H 0288 00427000 @RC00283 LR R7,R5 0288 00428000 * GEN(MVCL R4,R6); /* MOVE RECORD TO USER BFR */ 00429000 MVCL R4,R6 00430000 * RFY 0290 00431000 * (R4, 0290 00432000 * R5, 0290 00433000 * R6, 0290 00434000 * R7) UNRSTD; /* RELEASE WORK REGISTERS */ 00435000 * END; /* END OF 1ST GET DATA MVC */ 00436000 * END; /* END OF 1ST GET CODE */ 00437000 * 0293 00438000 * /*****************************************************************/ 00439000 * /* */ 00440000 * /* FOR NON-FIRST ISAM GET SET UP AREA ADDRESS AND ISSUE VSAM GET.*/ 00441000 * /* */ 00442000 * /*****************************************************************/ 00443000 * 0293 00444000 * ELSE /* HERE IF NOT THE FIRST */ 00445000 * DO; /* GET AFTER A SETL K */ 00446000 B @RC00273 0293 00447000 @RF00273 DS 0H 0294 00448000 * IF DCBMFLCG=ON| /* IF LOCATE MODE OR IF */ 00449000 * IIDATA=ON THEN /* A DATA ONLY RETRIEVAL, */ 00450000 TM DCBMFLCG+40(RDCB),B'00001000' 0294 00451000 BO @RT00294 0294 00452000 TM IIDATA(RIICB),B'00001000' 0294 00453000 BNO @RF00294 0294 00454000 @RT00294 DS 0H 0295 00455000 * RPLAREA=RPLIIBFR; /* USE THE II BUFFER. */ 00456000 L @12,RPLIIBFR+76(,RRPL) 0295 00457000 ST @12,RPLAREA(,RRPL) 0295 00458000 * ELSE /* READ INTO USER BUFFER. */ 00459000 * IF DCBRECBR=OFF& /* IF KEY NOT EMBEDDED AND */ 00460000 * DCBRKP^=ZERO THEN /* RECORD UNBLOCKED, ALLOW */ 00461000 B @RC00294 0296 00462000 @RF00294 TM DCBRECBR+28(RDCB),B'00010000' 0296 00463000 BNZ @RF00296 0296 00464000 LH @12,DCBRKP+52(,RDCB) 0296 00465000 LTR @12,@12 0296 00466000 BZ @RF00296 0296 00467000 * RPLAREA=R8+DCBKEYLE; /* ROOM FOR EXTRACTED KEY */ 00468000 LR @12,R8 0297 00469000 SLR @10,@10 0297 00470000 IC @10,DCBKEYLE+16(,RDCB) 0297 00471000 ALR @12,@10 0297 00472000 ST @12,RPLAREA(,RRPL) 0297 00473000 * ELSE 0298 00474000 * RPLAREA=R8; /* AT START OF USER AREA. */ 00475000 B @RC00296 0298 00476000 @RF00296 ST R8,RPLAREA(,RRPL) 0298 00477000 * IF DCBRECL='01'B THEN /* IF VLR, LEAVE RDW SPACE */ 00478000 @RC00296 DS 0H 0299 00479000 @RC00294 TM DCBRECL+28(RDCB),B'01000000' 0299 00480000 BNO @RF00299 0299 00481000 TM DCBRECL+28(RDCB),B'10000000' 0299 00482000 BNZ @RF00299 0299 00483000 * RPLAREA=RPLAREA+LENGTH(ALLRDW);/* AT FRONT OF BUFFER */ 00484000 LA @12,4 0300 00485000 AL @12,RPLAREA(,RRPL) 0300 00486000 ST @12,RPLAREA(,RRPL) 0300 00487000 * RFY 0301 00488000 * R4 RSTD; /* GET NEW DCB BASE REG */ 00489000 @RF00299 DS 0H 0302 00490000 * R4=RDCB; /* SAVE DCB ADDRESS */ 00491000 LR R4,RDCB 0302 00492000 * RFY 0303 00493000 * IHADCB BASED(R4); /* NEW DCB BASE */ 00494000 * RDCB=RRPL; /* GET RPL POINTER IN R1 ISSUE 0304 00495000 * VSAM GET */ 00496000 LR RDCB,RRPL 0304 00497000 * GEN(GET RPL=(1)); /* */ 00498000 * 0305 00499000 GET RPL=(1) 00500000 * /*************************************************************/ 00501000 * /* */ 00502000 * /* IF THE RECORD IS DELETED, ISSUE SEQUENTIAL GETS UNTIL A */ 00503000 * /* NON- DELETED RECORD IS FOUND. */ 00504000 * /* */ 00505000 * /*************************************************************/ 00506000 * 0306 00507000 * IF DCBOPTL=ON THEN /* IF DELETE OPTION ON */ 00508000 LA @12,52 0306 00509000 ALR @12,R4 0306 00510000 TM DCBOPTL(@12),B'00000010' 0306 00511000 BNO @RF00306 0306 00512000 * DO; /* CHECK FOR DELETED RCD */ 00513000 * RFY 0308 00514000 * R5 RSTD; /* GET WORK REGISTER */ 00515000 * IF DCBRKP=ZERO THEN /* IF RKP = 0 (RECFM=F */ 00516000 LH @12,DCBRKP(,@12) 0309 00517000 LTR @12,@12 0309 00518000 BNZ @RF00309 0309 00519000 * R5=RPLAREA+DCBKEYLE; /* IMPLIED) PT PAST KEY */ 00520000 SLR R5,R5 0310 00521000 IC R5,DCBKEYLE+16(,R4) 0310 00522000 AL R5,RPLAREA(,RRPL) 0310 00523000 * ELSE 0311 00524000 * R5=RPLAREA; /* OTHERWISE 1ST BYTE */ 00525000 B @RC00309 0311 00526000 @RF00309 L R5,RPLAREA(,RRPL) 0311 00527000 * DO WHILE R5->DATABYT1=DELCODE;/* LOOP UNTIL NON-DELETE */ 00528000 @RC00309 B @DE00312 0312 00529000 @DL00312 DS 0H 0313 00530000 * GEN(GET RPL=(1)); /* GET NEXT RECORD */ 00531000 GET RPL=(1) 00532000 * END; /* END OF DELETE REC LOOP */ 00533000 @DE00312 CLI DATABYT1(R5),B'11111111' 0314 00534000 BE @DL00312 0314 00535000 * END; /* END OF DELETE OPTION */ 00536000 * RDCB=R4; /* RESTORE DCB BASE */ 00537000 @RF00306 LR RDCB,R4 0316 00538000 * RFY 0317 00539000 * IHADCB BASED(RDCB); /* OLD DCB BASE */ 00540000 * 0318 00541000 * /*************************************************************/ 00542000 * /* */ 00543000 * /* IF THE RECORDS ARE VARIABLE, BUILD A RECORD DESCRIPTOR */ 00544000 * /* WORD. */ 00545000 * /* */ 00546000 * /*************************************************************/ 00547000 * 0318 00548000 * IF DCBRECL='01'B THEN /* IF VLR, SET UP AN RDW */ 00549000 TM DCBRECL+28(RDCB),B'01000000' 0318 00550000 BNO @RF00318 0318 00551000 TM DCBRECL+28(RDCB),B'10000000' 0318 00552000 BNZ @RF00318 0318 00553000 * DO; /* IN FRONT OF THE RECORD */ 00554000 * R4=RPLAREA-LENGTH(ALLRDW);/* POINT TO RDW SLOT */ 00555000 LA @12,4 0320 00556000 L R4,RPLAREA(,RRPL) 0320 00557000 SLR R4,@12 0320 00558000 * R4->RDW=RPLRLEN+LENGTH(ALLRDW);/* SET RECORD LENGTH */ 00559000 AL @12,RPLRLEN(,RRPL) 0321 00560000 STH @12,RDW(,R4) 0321 00561000 * R4->RDW00=ZERO; /* (INCL RDW LENGTH) */ 00562000 SLR @12,@12 0322 00563000 STH @12,RDW00(,R4) 0322 00564000 * END; /* END OF RDW CONSTRUCTION */ 00565000 * END; /* END OF NON-FIRST GET */ 00566000 @RF00318 DS 0H 0325 00567000 * DCBEXOFL=ON; /* INDICATE OVERFLOW */ 00568000 * 0325 00569000 @RC00273 LA @12,52 0325 00570000 ALR @12,RDCB 0325 00571000 OI DCBEXOFL(@12),B'00010000' 0325 00572000 * /*****************************************************************/ 00573000 * /* */ 00574000 * /* FOR ALL GETS, ESTABLISH KEY AND DATA POINTERS FOR THE USER OR */ 00575000 * /* MOVE RECORD TO USER AREA (DATA ONLY RETRIEVAL). KEYADDR = USER*/ 00576000 * /* REGISTER 0 DATADDR = USER REGISTER 1 */ 00577000 * /* */ 00578000 * /*****************************************************************/ 00579000 * 0326 00580000 * IF DCBMFLCG=ON THEN /* IF LOCATE MODE, RECORD */ 00581000 TM DCBMFLCG+40(RDCB),B'00001000' 0326 00582000 BNO @RF00326 0326 00583000 * DO; /* IS IN THE II BUFFER */ 00584000 * IF IIDATA=OFF THEN /* KEY AND DATA BOTH? */ 00585000 TM IIDATA(RIICB),B'00001000' 0328 00586000 BNZ @RF00328 0328 00587000 * KEYADDR=RPLIIBFR+DCBRKP; /* YES - SET KEY POINTER */ 00588000 L @10,IIREGBC(,RIICB) 0329 00589000 LH @12,DCBRKP(,@12) 0329 00590000 AL @12,RPLIIBFR+76(,RRPL) 0329 00591000 ST @12,KEYADDR(,@10) 0329 00592000 * IF DCBRKP=ZERO& /* IF KEY NOT EMBEDDED */ 00593000 * DCBRECBR=OFF THEN /* POINT PAST IT. */ 00594000 @RF00328 LH @12,DCBRKP+52(,RDCB) 0330 00595000 LTR @12,@12 0330 00596000 BNZ @RF00330 0330 00597000 TM DCBRECBR+28(RDCB),B'00010000' 0330 00598000 BNZ @RF00330 0330 00599000 * DATADDR=RPLIIBFR+DCBKEYLE;/* OTHERWISE, POINT TO */ 00600000 L @12,IIREGBC(,RIICB) 0331 00601000 SLR @10,@10 0331 00602000 IC @10,DCBKEYLE+16(,RDCB) 0331 00603000 AL @10,RPLIIBFR+76(,RRPL) 0331 00604000 ST @10,DATADDR(,@12) 0331 00605000 * ELSE 0332 00606000 * DATADDR=RPLIIBFR; /* THE DATA RECORD. */ 00607000 B @RC00330 0332 00608000 @RF00330 L @12,IIREGBC(,RIICB) 0332 00609000 L @10,RPLIIBFR+76(,RRPL) 0332 00610000 ST @10,DATADDR(,@12) 0332 00611000 * END; /* END OF LOCATE MODE CODE */ 00612000 * ELSE /* IF MOVE MODE AND IF */ 00613000 * IF IIDATA=ON THEN /* DATA ONLY, MOVE DATA. @YA04306*/ 00614000 B @RC00326 0334 00615000 @RF00326 TM IIDATA(RIICB),B'00001000' 0334 00616000 BNO @RF00334 0334 00617000 * DO; /* (ASSUME DCBRECFM = F) @YA04306*/ 00618000 * RFY 0336 00619000 * (R6, 0336 00620000 * R7) RSTD; /* GET WORK REGISTERS */ 00621000 * R4=R8; /* SET TO ADDRESS */ 00622000 LR R4,R8 0337 00623000 * IF DCBRKP=0 THEN /* IS RKP = 0 @YA04306*/ 00624000 LA @12,52 0338 00625000 ALR @12,RDCB 0338 00626000 LH @10,DCBRKP(,@12) 0338 00627000 LTR @10,@10 0338 00628000 BNZ @RF00338 0338 00629000 * DO; /* YES, DATA ONLY @YA04306*/ 00630000 * R6=RPLIIBFR+DCBKEYLE; /* PNT PAST KEY @YA04306*/ 00631000 SLR @10,@10 0340 00632000 IC @10,DCBKEYLE+16(,RDCB) 0340 00633000 L R6,RPLIIBFR+76(,RRPL) 0340 00634000 ALR R6,@10 0340 00635000 * R5=DCBLRECL-DCBKEYLE; /* SET DATA LNGTH @YA04306*/ 00636000 LCR @10,@10 0341 00637000 AH @10,DCBLRECL(,@12) 0341 00638000 LR R5,@10 0341 00639000 * END; /* END RKP = 0 @YA04306*/ 00640000 * ELSE 0343 00641000 * DO; /* RKP ^=0 @YA04306*/ 00642000 B @RC00338 0343 00643000 @RF00338 DS 0H 0344 00644000 * R6=RPLIIBFR; /* SET FROM PTR @YA04306*/ 00645000 L R6,RPLIIBFR+76(,RRPL) 0344 00646000 * R5=DCBLRECL; /* SET DATA LNGTH @YA04306*/ 00647000 LH R5,DCBLRECL+52(,RDCB) 0345 00648000 * END; /* END RKP ^= 0 @YA04306*/ 00649000 * R7=R5; /* BOTH ODD REGS. MOVE */ 00650000 @RC00338 LR R7,R5 0347 00651000 * GEN(MVCL R4,R6); /* DATA TO USER AREA. */ 00652000 MVCL R4,R6 00653000 * RFY 0349 00654000 * (R4, 0349 00655000 * R5, 0349 00656000 * R6, 0349 00657000 * R7, 0349 00658000 * R8) UNRSTD; /* RELEASE MVCL REGISTERS */ 00659000 * END; /* END OF DATA ONLY MOVE */ 00660000 * ELSE /* IF MOVE MODE, UNBLOCKED */ 00661000 * IF DCBRECBR=OFF& /* RECORDS, EMBEDDED KEYS, */ 00662000 * DCBRKP^=ZERO THEN /* EXTRACT KEY AND PUT IT */ 00663000 B @RC00334 0351 00664000 @RF00334 TM DCBRECBR+28(RDCB),B'00010000' 0351 00665000 BNZ @RF00351 0351 00666000 LH @12,DCBRKP+52(,RDCB) 0351 00667000 LTR @12,@12 0351 00668000 BZ @RF00351 0351 00669000 * DO; /* IN FRONT OF USER AREA */ 00670000 * RFY 0353 00671000 * (R6, 0353 00672000 * R8) RSTD; /* GET WORK REGISTER */ 00673000 * R6=RPLAREA+DCBRKP; /* POINT TO KEY IN RECORD COPY 0354 00674000 * KEY TO FRONT OF BUFFER */ 00675000 AL @12,RPLAREA(,RRPL) 0354 00676000 LR R6,@12 0354 00677000 * USERKEY(ONE:DCBKEYLE)=EMBEDKEY(ONE:DCBKEYLE); 0355 00678000 SLR @12,@12 0355 00679000 IC @12,DCBKEYLE+16(,RDCB) 0355 00680000 BCTR @12,0 0355 00681000 EX @12,@SM01273 0355 00682000 * RFY 0356 00683000 * (R6, 0356 00684000 * R8) UNRSTD; /* RELEASE WORK REGISTER */ 00685000 * END; /* END OF KEY EXTRACTION */ 00686000 * GO TO PM2EXIT; /* RETURN TO USER */ 00687000 B PM2EXIT 0358 00688000 * 0359 00689000 */* **************************************************************** */ 00690000 */* */ 00691000 */* PUTX MACRO ENTRY POINT FROM BRANCH TABLE */ 00692000 */* */ 00693000 */* **************************************************************** */ 00694000 * 0359 00695000 *IIPUTX: 0359 00696000 * GEN(STM R14,R12,12(R13)); /* SAVE USER'S REGS */ 00697000 IIPUTX STM R14,R12,12(R13) 00698000 * RFY 0360 00699000 * (R0, 0360 00700000 * R15) RSTD; /* GET REGISTERS */ 00701000 * R11=R15; /* TRANSFER BASE ADDR */ 00702000 LR R11,R15 0361 00703000 * RIICB=DEBWKPT5; /* SET IICB BASE */ 00704000 L @14,DCBDEBAD+40(,RDCB) 0362 00705000 L @14,DEBEXPT(,@14) 0362 00706000 L RIICB,DEBWKPT5(,@14) 0362 00707000 * IIREGBC=R13; /* BACKCHAIN TO USER SAVE */ 00708000 ST R13,IIREGBC(,RIICB) 0363 00709000 * R15=ADDR(IIREGSAV); /* HOLD II SAVE ADDR */ 00710000 LA R15,IIREGSAV(,RIICB) 0364 00711000 * GEN(ST R15,8(0,R13)); /* STORE IT IN USER SAVE */ 00712000 ST R15,8(0,R13) 00713000 * R13=R15; /* ESTABLISH SAVE PTR */ 00714000 LR R13,R15 0366 00715000 * RFY 0367 00716000 * (R0, 0367 00717000 * R15) UNRSTD; /* DROP REGISTERS */ 00718000 * RRPL=IIRPLPTR; /* ESTABLISH RPL BASE */ 00719000 * 0368 00720000 L RRPL,IIRPLPTR(,RIICB) 0368 00721000 * /*****************************************************************/ 00722000 * /* */ 00723000 * /* FOR DATA ONLY RETRIEVAL MOVE RECORD TO II BUFFER. */ 00724000 * /* */ 00725000 * /*****************************************************************/ 00726000 * 0369 00727000 * IF IIDATA=ON THEN /* IF DATA ONLY RETRIEVAL, RECORD 00728000 * MUST BE MOVED */ 00729000 TM IIDATA(RIICB),B'00001000' 0369 00730000 BNO @RF00369 0369 00731000 * DO; /* FROM USER AREA. */ 00732000 * RFY 0371 00733000 * (R4, 0371 00734000 * R5, 0371 00735000 * R6, 0371 00736000 * R7) RSTD; /* GET WORK REGISTERS */ 00737000 * R6=RPLAREA; /* MOVE FROM ADDR @ZA14819*/ 00738000 L R6,RPLAREA(,RRPL) 0372 00739000 * IF DCBRKP=ZERO THEN /* RKP = ZERO? @OZ04616*/ 00740000 LA @12,52 0373 00741000 ALR @12,RDCB 0373 00742000 LH @10,DCBRKP(,@12) 0373 00743000 LTR @10,@10 0373 00744000 BNZ @RF00373 0373 00745000 * DO; /* RKP IS ZERO @OZ04616*/ 00746000 * R5=DCBLRECL-DCBKEYLE; /* SUB KEYLE @OZ04616*/ 00747000 SLR @10,@10 0375 00748000 IC @10,DCBKEYLE+16(,RDCB) 0375 00749000 LH R5,DCBLRECL(,@12) 0375 00750000 SLR R5,@10 0375 00751000 * R4=RPLIIBFR+DCBKEYLE; /* ADJ TO ADDR @OZ04616*/ 00752000 AL @10,RPLIIBFR+76(,RRPL) 0376 00753000 LR R4,@10 0376 00754000 * END; /* END RKP ZERO @OZ04616*/ 00755000 * ELSE 0378 00756000 * DO; /* RKP NON-ZERO @OZ04616*/ 00757000 B @RC00373 0378 00758000 @RF00373 DS 0H 0379 00759000 * R5=DCBLRECL; /* MOVE LRECL @OZ04616*/ 00760000 LH R5,DCBLRECL+52(,RDCB) 0379 00761000 * R4=RPLIIBFR; /* TO ADDR @OZ04616*/ 00762000 L @12,RPLIIBFR+76(,RRPL) 0380 00763000 LR R4,@12 0380 00764000 * IF DCBRECL='01'B THEN /* IF VLR, SKIP @ZA14819*/ 00765000 TM DCBRECL+28(RDCB),B'01000000' 0381 00766000 BNO @RF00381 0381 00767000 TM DCBRECL+28(RDCB),B'10000000' 0381 00768000 BNZ @RF00381 0381 00769000 * R6=RPLIIBFR+LENGTH(ALLRDW);/* CONTROL INFO @ZA14819*/ 00770000 AL @12,@CF00183 0382 00771000 LR R6,@12 0382 00772000 * END; /* END NON-ZERO @OZ04616*/ 00773000 @RF00381 DS 0H 0384 00774000 * R7=R5; /* BOTH ODD REGS */ 00775000 @RC00373 LR R7,R5 0384 00776000 * GEN(MVCL R4,R6); /* MOVE RECORD TO II BFR */ 00777000 MVCL R4,R6 00778000 * RFY 0386 00779000 * (R4, 0386 00780000 * R5, 0386 00781000 * R6) UNRSTD; /* DROP REGISTERS */ 00782000 * RPLAREA=RPLIIBFR; /* RESET POINTER FOR PUT */ 00783000 L @12,RPLIIBFR+76(,RRPL) 0387 00784000 ST @12,RPLAREA(,RRPL) 0387 00785000 * END; /* END OF MOVE RECORD CODE */ 00786000 * R7=RDCB; /* SAVE DCB REGISTER ONE */ 00787000 @RF00369 LR R7,RDCB 0389 00788000 * RFY 0390 00789000 * IHADCB BASED(R7); /* RESET DCB BASE */ 00790000 * R1=RRPL; /* POINT TO RPL */ 00791000 LR R1,RRPL 0391 00792000 * RFY 0392 00793000 * IFGRPL BASED(R1); /* RESET RPL BASE */ 00794000 * RFY 0393 00795000 * RWORK1 RSTD; /* GET WORK REGISTER */ 00796000 * 0393 00797000 * /*****************************************************************/ 00798000 * /* */ 00799000 * /* IF THE RECORD HAS BEEN MARKED FOR DELETION, ISSUE AN ERASE. */ 00800000 * /* OTHERWISE, DO A PUT FOR UPDATE. */ 00801000 * /* */ 00802000 * /*****************************************************************/ 00803000 * 0394 00804000 * IF DCBRKP=ZERO THEN /* FIND DELETE CODE BYTE */ 00805000 LH @12,DCBRKP+52(,R7) 0394 00806000 LTR @12,@12 0394 00807000 BNZ @RF00394 0394 00808000 * RWORK1=RPLAREA+DCBKEYLE; /* POINT TO FIRST DATA */ 00809000 SLR RWORK1,RWORK1 0395 00810000 IC RWORK1,DCBKEYLE+16(,R7) 0395 00811000 AL RWORK1,RPLAREA(,R1) 0395 00812000 * ELSE 0396 00813000 * RWORK1=RPLAREA; /* BYTE UNLESS RKP=0 */ 00814000 B @RC00394 0396 00815000 @RF00394 L RWORK1,RPLAREA(,R1) 0396 00816000 * IF DCBOPTL=ON& /* IF DELETE AND ERASE */ 00817000 * DCBOPTI=ON& /* OPTION ON AND RECORD */ 00818000 * DATABYT1=DELCODE THEN /* IS MARKED FOR DELETION ISSUE 00819000 * VSAM ERASE */ 00820000 @RC00394 TM DCBOPTL+52(R7),B'00010010' 0397 00821000 BNO @RF00397 0397 00822000 CLI DATABYT1(RWORK1),B'11111111' 0397 00823000 BNE @RF00397 0397 00824000 * GEN(ERASE RPL=(1)); /* ELSE ISSUE VSAM PUT */ 00825000 ERASE RPL=(1) 00826000 * ELSE 0399 00827000 * GEN(PUT RPL=(1)); /* */ 00828000 B @RC00397 0399 00829000 @RF00397 DS 0H 0399 00830000 PUT RPL=(1) 00831000 * RFY 0400 00832000 * RWORK1 UNRSTD; /* DROP WORK REGISTER */ 00833000 @RC00397 DS 0H 0401 00834000 * RFY 0401 00835000 * IHADCB BASED(RDCB); /* RESET DCB BASE */ 00836000 * RFY 0402 00837000 * IFGRPL BASED(RRPL); /* RESET RPL BASE */ 00838000 * RDCB=R7; /* RESTORE DCB REGISTER */ 00839000 LR RDCB,R7 0403 00840000 * GO TO PM2EXIT; /* EXIT */ 00841000 B PM2EXIT 0404 00842000 * 0405 00843000 */* **************************************************************** */ 00844000 */* */ 00845000 */* ESETL MACRO ENTRY POINT */ 00846000 */* */ 00847000 */* **************************************************************** */ 00848000 * 0405 00849000 *IIESETL: 0405 00850000 * GEN; 0405 00851000 IIESETL DS 0H 0405 00852000 STM R14,R12,12(R13) /* SAVE USER'S REGS */ 00853000 * RFY 0406 00854000 * (R0, 0406 00855000 * R15) RSTD; /* GET REGISTERS */ 00856000 * R11=DCBGET; /* ESTABLISH BASE ADDR */ 00857000 L R11,DCBGET+48(,RDCB) 0407 00858000 * RIICB=DEBWKPT5; /* SET IICB BASE */ 00859000 L @14,DCBDEBAD+40(,RDCB) 0408 00860000 L @14,DEBEXPT(,@14) 0408 00861000 L RIICB,DEBWKPT5(,@14) 0408 00862000 * IIREGBC=R13; /* BACKCHAIN TO USER SAVE */ 00863000 ST R13,IIREGBC(,RIICB) 0409 00864000 * R15=ADDR(IIREGSAV); /* HOLD II SAVE ADDR */ 00865000 LA R15,IIREGSAV(,RIICB) 0410 00866000 * GEN(ST R15,8(0,R13)); /* STORE IT IN USER SAVE */ 00867000 ST R15,8(0,R13) 00868000 * R13=R15; /* ESTABLISH SAVE PTR */ 00869000 LR R13,R15 0412 00870000 * RFY 0413 00871000 * (R0, 0413 00872000 * R15) UNRSTD; /* DROP REGISTERS */ 00873000 * R7=RDCB; /* SAVE DCB ADDRESS */ 00874000 LR R7,RDCB 0414 00875000 * DCBEXCD1=CZERO; /* CLEAR ERROR FLAGS */ 00876000 LA @12,52 0415 00877000 ALR @12,RDCB 0415 00878000 MVI DCBEXCD1(@12),B'00000000' 0415 00879000 * DCBEXCD2=CZERO; /* CLEAR ERROR FLAGS */ 00880000 * 0416 00881000 MVI DCBEXCD2(@12),B'00000000' 0416 00882000 * /*****************************************************************/ 00883000 * /* */ 00884000 * /* RESET SCAN MODE INDICATORS AND ISSUE AN ENDREQ TO RELEASE ANY */ 00885000 * /* VSAM RESOURCES. */ 00886000 * /* */ 00887000 * /*****************************************************************/ 00888000 * 0417 00889000 * R1=IIRPLPTR; /* ESTABLISH RPL BASE */ 00890000 L R1,IIRPLPTR(,RIICB) 0417 00891000 * IIFGET=OFF; /* NOT FIRST GET */ 00892000 * IIFSCAN=OFF; /* TAKE OUT OF SCAN ISSUE VSAM 0419 00893000 * ENDREQ TO TERMINATE SCAN */ 00894000 NI IIFGET(RIICB),B'00111111' 0419 00895000 * GEN(ENDREQ RPL=(1)); /* */ 00896000 ENDREQ RPL=(1) 00897000 *PM2EXIT: /* RETURN TO USER */ 00898000 * R13=IIREGBC; /* GET PTR TO USER SAVE */ 00899000 PM2EXIT L R13,IIREGBC(,RIICB) 0421 00900000 * GEN; 0422 00901000 LM R14,R12,12(R13) /* RESTORE USER'S REGS */ 00902000 BR R14 /* RETURN TO USER */ 00903000 * 0423 00904000 */* **************************************************************** */ 00905000 */* */ 00906000 */* RELSE MACRO ENTRY POINT FROM BRANCH TABLE */ 00907000 */* */ 00908000 */* BECAUSE NO FUNCTION IS PERFORMED BY II, CONTROL IS */ 00909000 */* RETURNED TO THE USER */ 00910000 */* */ 00911000 */* **************************************************************** */ 00912000 * 0423 00913000 *IIRELSE: 0423 00914000 * GEN(BR R14); 0423 00915000 IIRELSE BR R14 00916000 * 0424 00917000 */* **************************************************************** */ 00918000 */* */ 00919000 */* ERROR ROUTINE */ 00920000 */* */ 00921000 */* ENTERED FROM SETL AND GET ROUTINES */ 00922000 */* EXIT TO II SYNAD ROUTINE (IDAIISM1) */ 00923000 */* */ 00924000 */* **************************************************************** */ 00925000 * 0424 00926000 *ERROR: 0424 00927000 * R1=RRPL; /* ENTER RPL ADDRESS */ 00928000 ERROR LR R1,RRPL 0424 00929000 * RFY 0425 00930000 * R15 RSTD; /* GET LINKAGE REGISTER */ 00931000 * R15=EXLLERP; /* ENTER IDAIISM1 ADDRESS */ 00932000 L @12,RPLDACB(,RRPL) 0426 00933000 L @12,ACBUEL(,@12) 0426 00934000 ICM R15,15,EXLLERP(@12) 0426 00935000 * GEN(BR R15); /* GOTO II SYNAD ROUTINE */ 00936000 BR R15 00937000 * 0428 00938000 */* **************************************************************** */ 00939000 */* */ 00940000 */* EODAD ROUTINE */ 00941000 */* */ 00942000 */* ENTERED FROM VSAM OR II SYNAD VIA EXIT LIST ON END OF DATA */ 00943000 */* */ 00944000 */* **************************************************************** */ 00945000 * 0428 00946000 *IIEODAD: 0428 00947000 * RRPL=R1; /* GET RPL ADDRESS */ 00948000 IIEODAD LR RRPL,R1 0428 00949000 * RFY 0429 00950000 * IDAIICB BASED(RPLIICB); /* RESET IICB BASE */ 00951000 * RFY 0430 00952000 * IHADCB BASED(IIDCBPTR); /* RESET DCB BASE */ 00953000 * R11=DCBGET; /* ESTABLISH BASE ADDRESS */ 00954000 * 0431 00955000 L @14,RPLIICB+76(,RRPL) 0431 00956000 L @14,IIDCBPTR(,@14) 0431 00957000 L R11,DCBGET+48(,@14) 0431 00958000 * /*****************************************************************/ 00959000 * /* */ 00960000 * /* TEST FOR ENTRY FROM POINT @XA05682*/ 00961000 * /* */ 00962000 * /*****************************************************************/ 00963000 * 0432 00964000 * IF RPLREQ=RPLPOINT THEN /* IF POINT RESULTED IN AN */ 00965000 CLI RPLREQ(RRPL),3 0432 00966000 BNE @RF00432 0432 00967000 * DO; /* EOD FROM VSAM, CONVERT */ 00968000 * DCBEXNKY=ON; /* TO NO RECORD FOUND AND */ 00969000 OI DCBEXNKY+52(@14),B'10000000' 0434 00970000 * GO TO ERROR; /* EXIT TO II SYNAD */ 00971000 B ERROR 0435 00972000 * END; /* @XA05682*/ 00973000 * 0436 00974000 * /*****************************************************************/ 00975000 * /* */ 00976000 * /* TEST FOR ISAM EODAD ROUTINE SPECIFICATION */ 00977000 * /* */ 00978000 * /*****************************************************************/ 00979000 * 0437 00980000 * RFY 0437 00981000 * (R7, 0437 00982000 * R15) RSTD; /* GET WORK REGISTERS */ 00983000 @RF00432 DS 0H 0438 00984000 * R7=DCBEODA; /* STORE EODAD ADDRESS */ 00985000 L @14,RPLIICB+76(,RRPL) 0438 00986000 L @12,IIDCBPTR(,@14) 0438 00987000 L R7,DCBEODA+27(,@12) 0438 00988000 LA R7,0(,R7) 0438 00989000 * IF R7>ONE THEN /* EODAD ADDR SPECIFIED? */ 00990000 C R7,@CF00069 0439 00991000 BNH @RF00439 0439 00992000 * DO; /* RESTORE USER'S REGS */ 00993000 * R15=R7; /* LOAD EODAD ADDR */ 00994000 LR R15,R7 0441 00995000 * R13=IIREGBC; /* GET USER SAVE AREA PTR */ 00996000 L R13,IIREGBC(,@14) 0442 00997000 * GEN; 0443 00998000 L R14,12(R13) RESTORE REG14 @OZ16018 00999000 LM R0,R12,20(R13) RESTORE USER REGS 01000000 BR R15 GOTO USER EODAD 01001000 * END; 0444 01002000 * ELSE /* NO */ 01003000 * DO; /* ISSUE ABEND 039 */ 01004000 B @RC00439 0445 01005000 @RF00439 DS 0H 0446 01006000 * R1=ABCODE39; /* LOAD ABEND CONSTANT */ 01007000 L R1,ABCODE39 0446 01008000 * GEN(ABEND (1)); /* ABEND */ 01009000 ABEND (1) 01010000 * END; 0448 01011000 * 0449 01012000 */* **************************************************************** */ 01013000 */* */ 01014000 */* FUNCTION = SETL B ROUTINE */ 01015000 */* INITIALIZE RPL FOR SETL TO BEGINNING OF DATA SET */ 01016000 */* PREPARE RPL FOR POINT TO ZERO */ 01017000 */* */ 01018000 */* INPUT = */ 01019000 */* REGISTER 1 - RDCB - DCB POINTER */ 01020000 */* REGISTER 2 - RIICB - IICB POINTER */ 01021000 */* REGISTER 3 - RRPL - RPL POINTER */ 01022000 */* */ 01023000 */* OUTPUT = */ 01024000 */* RPL IS INITIALIZED FOR POINT TO ZERO */ 01025000 */* */ 01026000 */* **************************************************************** */ 01027000 * 0449 01028000 *SETLB: 0449 01029000 * PROC OPTIONS(NOSAVE,NOSAVEAREA); 0449 01030000 @EL00001 DS 0H 0449 01031000 @EF00001 DS 0H 0449 01032000 @ER00001 BR @14 0449 01033000 SETLB DS 0H 0450 01034000 * RFY 0450 01035000 * R14 RSTD; /* SAVE RETURN REG */ 01036000 * RPLKEYLE=ONE; /* SET MINIMUM KEY LENGTH */ 01037000 MVC RPLKEYLE(2,RRPL),@CH00069 0451 01038000 * RPLKGE=ON; /* SET GT/EQ SEARCH */ 01039000 * RPLGEN=ON; /* INDICATE GENERIC SEARCH*/ 01040000 OI RPLKGE(RRPL),B'00000110' 0453 01041000 * KEYPTR=ZERO; /* SET DUMMY KEY */ 01042000 L @12,RPLIICB+76(,RRPL) 0454 01043000 L @12,IIREGBC(,@12) 0454 01044000 SLR @10,@10 0454 01045000 STCM @10,7,KEYPTR(@12) 0454 01046000 * RPLARG=ADDR(KEYPTR); /* PUT A(DUMMY KEY) IN RPL */ 01047000 LA @12,KEYPTR(,@12) 0455 01048000 ST @12,RPLARG(,RRPL) 0455 01049000 * RETURN; /* RETURN TO CALLER */ 01050000 @EL00002 DS 0H 0456 01051000 @EF00002 DS 0H 0456 01052000 @ER00002 BR @14 0456 01053000 * GEN(IDAPATCH); /* DEFINE A PATCH AREA */ 01054000 IDAPATCH 01055000 * END SETLB; /* END OF SETL TYPE B */ 01056000 B @EL00002 0458 01057000 * END IDAIIPM2 /* END OF IDAIIPM2 MODULE */ 01058000 * 0459 01059000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 01060000 */*%INCLUDE SYSLIB (IDAIIREG) */ 01061000 */*%INCLUDE SYSLIB (IDAIICB ) */ 01062000 */*%INCLUDE SYSLIB (IHADCBDF) */ 01063000 */*%INCLUDE SYSLIB (IHADCB ) */ 01064000 */*%INCLUDE SYSLIB (IFGRPL ) */ 01065000 */*%INCLUDE SYSLIB (IDARPLE ) */ 01066000 */*%INCLUDE SYSLIB (IEZDEB ) */ 01067000 */*%INCLUDE SYSLIB (IFGACB ) */ 01068000 */*%INCLUDE SYSLIB (IFGEXLST) */ 01069000 */*%INCLUDE SYSLIB (IDARMRCD) */ 01070000 * 0459 01071000 * ; 0459 01072000 @DATA DS 0H 01073000 @SM01273 MVC USERKEY(0,R8),EMBEDKEY(R6) 01074000 @DATD DSECT 01075000 DS 0F 01076000 IDAIIPM2 CSECT 01077000 DS 0F 01078000 @CF00069 DC F'1' 01079000 @CH00069 EQU @CF00069+2 01080000 @CF00183 DC F'4' 01081000 @DATD DSECT 01082000 DS 0D 01083000 DEBDAPTR DS A 01084000 DEBEXPTR DS A 01085000 DEBSBPTR DS A 01086000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 01087000 @ENDDATD EQU * 01088000 IDAIIPM2 CSECT 01089000 DS 0F 01090000 @SIZDATD DC AL1(0) 01091000 DC AL3(@ENDDATD-@DATD) 01092000 DS 0D 01093000 ABCODE39 DC XL4'80039000' 01094000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 01095000 @01 EQU 01 01096000 @02 EQU 02 01097000 @03 EQU 03 01098000 @04 EQU 04 01099000 @05 EQU 05 01100000 @06 EQU 06 01101000 @07 EQU 07 01102000 @08 EQU 08 01103000 @09 EQU 09 01104000 @10 EQU 10 01105000 @11 EQU 11 01106000 @12 EQU 12 01107000 @13 EQU 13 01108000 @14 EQU 14 01109000 @15 EQU 15 01110000 R0 EQU @00 01111000 R1 EQU @01 01112000 RDCB EQU @01 01113000 RIICB EQU @02 01114000 RRPL EQU @03 01115000 R4 EQU @04 01116000 R5 EQU @05 01117000 R6 EQU @06 01118000 RWORK1 EQU @06 01119000 R7 EQU @07 01120000 R8 EQU @08 01121000 R11 EQU @11 01122000 DEBPTR EQU @11 01123000 R13 EQU @13 01124000 R14 EQU @14 01125000 R15 EQU @15 01126000 JFCBPTR EQU @09 01127000 RACB EQU @06 01128000 RBUFF EQU @05 01129000 RCORE EQU @04 01130000 RDEB EQU @11 01131000 RDECB EQU @01 01132000 RFMADDR EQU @07 01133000 RGMLEN EQU @09 01134000 RGMSP EQU @08 01135000 RLKRETSV EQU @10 01136000 RPARC EQU @07 01137000 RTIOT EQU @09 01138000 RWORK2 EQU @07 01139000 RWORK3 EQU @08 01140000 R10 EQU @10 01141000 R12 EQU @12 01142000 R2 EQU @02 01143000 R3 EQU @03 01144000 R9 EQU @09 01145000 IDAIICB EQU 0 01146000 IIDCBPTR EQU IDAIICB+4 01147000 IIRPLPTR EQU IDAIICB+12 01148000 IIW1CBF EQU IDAIICB+16 01149000 IIKEYPT EQU IDAIICB+20 01150000 IIFLAG1 EQU IDAIICB+24 01151000 IIFSCAN EQU IIFLAG1 01152000 IIFGET EQU IIFLAG1 01153000 IIDATA EQU IIFLAG1 01154000 IIFLAG2 EQU IDAIICB+28 01155000 IIFLAG3 EQU IDAIICB+36 01156000 IIREGSAV EQU IDAIICB+60 01157000 IIREGBC EQU IIREGSAV+4 01158000 IIAUD EQU IDAIICB+132 01159000 IIAUDHDR EQU IIAUD 01160000 IIAUDFL1 EQU IIAUDHDR 01161000 IIAUDFL2 EQU IIAUDHDR+1 01162000 IIGMCNTR EQU IIAUDHDR+2 01163000 IIGMAUD EQU IIAUD+4 01164000 AUDCSPLI EQU IIGMAUD+4 01165000 AUDCSPLD EQU IIGMAUD+12 01166000 AUDCSPLB EQU IIGMAUD+20 01167000 AUDCSPLM EQU IIGMAUD+28 01168000 IIGMNTRY EQU 0 01169000 IIGMSPLG EQU IIGMNTRY+4 01170000 IHADCB EQU 0 01171000 IHADCS00 EQU 0 01172000 DCBFDAD EQU IHADCS00+5 01173000 IHADCS01 EQU 0 01174000 DCBDVTBL EQU IHADCS01 01175000 IHADCS11 EQU 0 01176000 DCBRELB EQU IHADCS11 01177000 DCBKEYLE EQU DCBRELB 01178000 DCBREL EQU DCBRELB+1 01179000 DCBBUFCB EQU IHADCS11+4 01180000 DCBDSORG EQU IHADCS11+10 01181000 DCBDSRG1 EQU DCBDSORG 01182000 DCBDSRG2 EQU DCBDSORG+1 01183000 DCBIOBAD EQU IHADCS11+12 01184000 DCBODEB EQU DCBIOBAD 01185000 DCBLNP EQU DCBODEB 01186000 DCBQSLM EQU DCBLNP 01187000 DCBIOBAA EQU DCBODEB+1 01188000 IHADCS50 EQU 0 01189000 DCBSVCXL EQU IHADCS50 01190000 DCBEODAD EQU IHADCS50+4 01191000 DCBBFALN EQU DCBEODAD 01192000 DCBHIARC EQU DCBBFALN 01193000 DCBBFTEK EQU DCBHIARC 01194000 DCBBFT EQU DCBBFTEK 01195000 DCBEODA EQU DCBEODAD+1 01196000 DCBEXLST EQU IHADCS50+8 01197000 DCBRECFM EQU DCBEXLST 01198000 DCBRECLA EQU DCBRECFM 01199000 DCBRECL EQU DCBRECLA 01200000 DCBRECBR EQU DCBRECFM 01201000 IHADCS24 EQU 0 01202000 DCBOFLGS EQU IHADCS24+8 01203000 DCBOFLWR EQU DCBOFLGS 01204000 DCBIFLG EQU IHADCS24+9 01205000 DCBIBPCT EQU DCBIFLG 01206000 DCBMACR EQU IHADCS24+10 01207000 DCBMACR1 EQU DCBMACR 01208000 DCBMRFE EQU DCBMACR1 01209000 DCBMRGET EQU DCBMRFE 01210000 DCBMRAPG EQU DCBMACR1 01211000 DCBMRRD EQU DCBMRAPG 01212000 DCBMRCI EQU DCBMACR1 01213000 DCBMRMVG EQU DCBMRCI 01214000 DCBMRLCG EQU DCBMACR1 01215000 DCBMRABC EQU DCBMACR1 01216000 DCBMRPT1 EQU DCBMRABC 01217000 DCBMRSBG EQU DCBMRPT1 01218000 DCBMRCRL EQU DCBMACR1 01219000 DCBMRCHK EQU DCBMRCRL 01220000 DCBMRRDX EQU DCBMRCHK 01221000 DCBMRDMG EQU DCBMACR1 01222000 DCBMACR2 EQU DCBMACR+1 01223000 DCBMRPUT EQU DCBMACR2 01224000 DCBMRWRT EQU DCBMACR2 01225000 DCBMRMVP EQU DCBMACR2 01226000 DCBMR5WD EQU DCBMACR2 01227000 DCBMRLDM EQU DCBMR5WD 01228000 DCBMRLCP EQU DCBMRLDM 01229000 DCBMR4WD EQU DCBMACR2 01230000 DCBMRPT2 EQU DCBMR4WD 01231000 DCBMRTMD EQU DCBMRPT2 01232000 DCBMR3WD EQU DCBMACR2 01233000 DCBMRCTL EQU DCBMR3WD 01234000 DCBMRSTK EQU DCBMRCTL 01235000 DCBMR1WD EQU DCBMACR2 01236000 DCBMRSWA EQU DCBMR1WD 01237000 DCBMRDMD EQU DCBMRSWA 01238000 IHADCS25 EQU 0 01239000 DCBMACRF EQU IHADCS25+2 01240000 DCBMACF1 EQU DCBMACRF 01241000 DCBMFFE EQU DCBMACF1 01242000 DCBMFGET EQU DCBMFFE 01243000 DCBMFAPG EQU DCBMACF1 01244000 DCBMFRD EQU DCBMFAPG 01245000 DCBMFCI EQU DCBMACF1 01246000 DCBMFMVG EQU DCBMFCI 01247000 DCBMFLCG EQU DCBMACF1 01248000 DCBMFABC EQU DCBMACF1 01249000 DCBMFPT1 EQU DCBMFABC 01250000 DCBMFSBG EQU DCBMFPT1 01251000 DCBMFCRL EQU DCBMACF1 01252000 DCBMFCHK EQU DCBMFCRL 01253000 DCBMFDMG EQU DCBMACF1 01254000 DCBMACF2 EQU DCBMACRF+1 01255000 DCBMFPUT EQU DCBMACF2 01256000 DCBMFWRT EQU DCBMACF2 01257000 DCBMFMVP EQU DCBMACF2 01258000 DCBMF5WD EQU DCBMACF2 01259000 DCBMFLDM EQU DCBMF5WD 01260000 DCBMFLCP EQU DCBMFLDM 01261000 DCBMF4WD EQU DCBMACF2 01262000 DCBMFPT2 EQU DCBMF4WD 01263000 DCBMFTMD EQU DCBMFPT2 01264000 DCBMF3WD EQU DCBMACF2 01265000 DCBMFCTL EQU DCBMF3WD 01266000 DCBMFSTK EQU DCBMFCTL 01267000 DCBMF1WD EQU DCBMACF2 01268000 DCBMFSWA EQU DCBMF1WD 01269000 DCBMFDMD EQU DCBMFSWA 01270000 DCBDEBAD EQU IHADCS25+4 01271000 DCBIFLGS EQU DCBDEBAD 01272000 DCBIFPCT EQU DCBIFLGS 01273000 IHADCS27 EQU 0 01274000 DCBGET EQU IHADCS27 01275000 DCBPUT EQU DCBGET 01276000 DCBGETA EQU DCBPUT+1 01277000 IHADCS29 EQU 0 01278000 DCBOPTCD EQU IHADCS29 01279000 DCBOPTI EQU DCBOPTCD 01280000 DCBOPTL EQU DCBOPTCD 01281000 DCBMAC EQU IHADCS29+1 01282000 DCBRKP EQU IHADCS29+8 01283000 DCBMSHI EQU IHADCS29+20 01284000 DCBEXCD1 EQU IHADCS29+28 01285000 DCBEXNKY EQU DCBEXCD1 01286000 DCBEXINV EQU DCBEXCD1 01287000 DCBEXCD2 EQU IHADCS29+29 01288000 DCBEXOFL EQU DCBEXCD2 01289000 DCBEXLTH EQU DCBEXCD2 01290000 DCBLRECL EQU IHADCS29+30 01291000 DCBST EQU IHADCS29+108 01292000 IHADCS55 EQU 0 01293000 IFGRPL EQU 0 01294000 RPLCOMN EQU IFGRPL 01295000 RPLIDWD EQU RPLCOMN 01296000 RPLREQ EQU RPLIDWD+2 01297000 RPLLEN EQU RPLIDWD+3 01298000 RPLECB EQU RPLCOMN+8 01299000 RPLFDBWD EQU RPLCOMN+12 01300000 RPLFDBK EQU RPLFDBWD+1 01301000 RPLRTNCD EQU RPLFDBK 01302000 RPLCNDCD EQU RPLFDBK+1 01303000 RPLCMPON EQU RPLCNDCD 01304000 RPLFDB2 EQU RPLCMPON 01305000 RPLERRCD EQU RPLCNDCD+1 01306000 RPLFDB3 EQU RPLERRCD 01307000 RPLKEYLE EQU RPLCOMN+16 01308000 RPLDACB EQU RPLCOMN+24 01309000 RPLAREA EQU RPLCOMN+32 01310000 RPLARG EQU RPLCOMN+36 01311000 RPLOPTCD EQU RPLCOMN+40 01312000 RPLOPT1 EQU RPLOPTCD 01313000 RPLKGE EQU RPLOPT1 01314000 RPLGEN EQU RPLOPT1 01315000 RPLECBSW EQU RPLOPT1 01316000 RPLOPT2 EQU RPLOPTCD+1 01317000 RPLADR EQU RPLOPT2 01318000 RPLOPT3 EQU RPLOPTCD+2 01319000 RPLNXTRP EQU RPLCOMN+44 01320000 RPLRLEN EQU RPLCOMN+48 01321000 RPLOPTC2 EQU RPLCOMN+56 01322000 RPLOPT5 EQU RPLOPTC2 01323000 RPLWRTYP EQU RPLOPT5 01324000 RPLOPT6 EQU RPLOPTC2+1 01325000 RPLUNTYP EQU RPLOPT6 01326000 RPLOPT7 EQU RPLOPTC2+2 01327000 RPLCNOPT EQU RPLOPT7 01328000 RPLOPT8 EQU RPLOPTC2+3 01329000 RPLRBAR EQU RPLCOMN+60 01330000 RPLAIXID EQU RPLRBAR+2 01331000 RPLEXTDS EQU RPLCOMN+68 01332000 RPLEXTD1 EQU RPLEXTDS 01333000 IDARPLE EQU 0 01334000 RPLIICB EQU IDARPLE 01335000 RPLIIBFR EQU IDARPLE+8 01336000 DEBBASIC EQU 0 01337000 DEBTCBAD EQU DEBBASIC 01338000 DEBDEBAD EQU DEBBASIC+4 01339000 DEBIRBAD EQU DEBBASIC+8 01340000 DEBOFLGS EQU DEBIRBAD 01341000 DEBOPATB EQU DEBBASIC+12 01342000 DEBFLGS1 EQU DEBBASIC+14 01343000 DEBUSRPG EQU DEBBASIC+16 01344000 DEBRRQ EQU DEBBASIC+20 01345000 DEBECBAD EQU DEBRRQ 01346000 DEBDCBAD EQU DEBBASIC+24 01347000 DEBPROTG EQU DEBDCBAD 01348000 DEBAPPAD EQU DEBBASIC+28 01349000 DEBBASND EQU DEBBASIC+32 01350000 DEBDASD EQU 0 01351000 DEBUCBAD EQU DEBDASD 01352000 DEBACSMD EQU 0 01353000 DEBVOLSQ EQU DEBACSMD 01354000 DEBVOLBT EQU DEBVOLSQ 01355000 DEBDSNM EQU DEBACSMD+4 01356000 DEBUTSAA EQU DEBDSNM 01357000 DEBACS01 EQU 0 01358000 DEBDSNAM EQU DEBACS01 01359000 DEBACS02 EQU 0 01360000 DEBDBLK EQU DEBACS02 01361000 DEBACS03 EQU 0 01362000 DEBACS04 EQU 0 01363000 DEBTBFRA EQU DEBACS04 01364000 DEBTCCWA EQU DEBACS04+4 01365000 DEBACS05 EQU 0 01366000 DEBFUCBA EQU DEBACS05 01367000 DEBLUCBA EQU DEBACS05+4 01368000 DEBACS06 EQU 0 01369000 DEBACS07 EQU 0 01370000 DEBWKPT5 EQU DEBACS07+12 01371000 DEBACS08 EQU 0 01372000 DEBSUBNM EQU 0 01373000 DEB EQU 0 01374000 DEBAVT EQU DEB 01375000 DEBEOEA EQU DEBAVT 01376000 DEBEOEAB EQU DEBEOEA 01377000 DEBSIOA EQU DEBAVT+4 01378000 DEBSIOAB EQU DEBSIOA 01379000 DEBPCIA EQU DEBAVT+8 01380000 DEBPCIAB EQU DEBPCIA 01381000 DEBCEA EQU DEBAVT+12 01382000 DEBCEAB EQU DEBCEA 01383000 DEBXCEA EQU DEBAVT+16 01384000 DEBXCEAB EQU DEBXCEA 01385000 DEBPREFX EQU DEB+20 01386000 DEBXTNP EQU DEBPREFX+8 01387000 DEBXTN EQU 0 01388000 DEBXFLG1 EQU DEBXTN+2 01389000 IFGACB EQU 0 01390000 ACBCOMN EQU IFGACB 01391000 ACBLENG EQU ACBCOMN+2 01392000 ACBLENG2 EQU ACBLENG 01393000 ACBAMBL EQU ACBCOMN+4 01394000 ACBJWA EQU ACBAMBL 01395000 ACBMACRF EQU ACBCOMN+12 01396000 ACBMACR1 EQU ACBMACRF 01397000 ACBADR EQU ACBMACR1 01398000 ACBCNV EQU ACBMACR1 01399000 ACBMACR2 EQU ACBMACRF+1 01400000 ACBBUFPL EQU ACBCOMN+20 01401000 ACBMACR3 EQU ACBBUFPL 01402000 ACBRECFM EQU ACBCOMN+24 01403000 ACBCCTYP EQU ACBCOMN+25 01404000 ACBOPT EQU ACBCOMN+26 01405000 ACBDSORG EQU ACBOPT 01406000 ACBCROPS EQU ACBDSORG 01407000 ACBDVIND EQU ACBDSORG 01408000 ACBEXLST EQU ACBCOMN+36 01409000 ACBUEL EQU ACBEXLST 01410000 ACBDDNM EQU ACBCOMN+40 01411000 ACBAMETH EQU ACBDDNM+3 01412000 ACBOFLGS EQU ACBCOMN+48 01413000 ACBEXFG EQU ACBOFLGS 01414000 ACBIOSFG EQU ACBOFLGS 01415000 ACBINFLG EQU ACBCOMN+50 01416000 ACBVVIC EQU ACBINFLG 01417000 ACBUJFCB EQU ACBCOMN+52 01418000 ACBBLKSZ EQU ACBCOMN+60 01419000 IFGEXLST EQU 0 01420000 EXLCOMN EQU IFGEXLST 01421000 EXLLEN EQU EXLCOMN+2 01422000 EXLEODF EQU EXLCOMN+5 01423000 EXLSYNF EQU EXLCOMN+10 01424000 EXLLERF EQU EXLCOMN+15 01425000 EXLLERP EQU EXLCOMN+16 01426000 EXLSCIPF EQU EXLCOMN+20 01427000 EXLUPADF EQU EXLSCIPF 01428000 EXLSCIPS EQU EXLUPADF 01429000 EXLSCIPA EQU EXLUPADF 01430000 EXLSCIPK EQU EXLUPADF 01431000 EXLSCIPP EQU EXLCOMN+21 01432000 EXLLGNF EQU EXLCOMN+25 01433000 EXLJRNF EQU EXLCOMN+30 01434000 EXLOPNF EQU EXLCOMN+35 01435000 IFGEXLEF EQU 0 01436000 EXLENTRY EQU IFGEXLEF 01437000 EXLFLAG EQU EXLENTRY 01438000 EXLENFL EQU EXLFLAG 01439000 EXLEXITP EQU EXLENTRY+1 01440000 ALLRDW EQU 0 01441000 RDW EQU ALLRDW 01442000 RDW00 EQU ALLRDW+2 01443000 DATABYT1 EQU 0 01444000 KEYBYTE EQU 0 01445000 USERKEY EQU 0 01446000 EMBEDKEY EQU 0 01447000 KEYADDR EQU 20 01448000 SETLTYPE EQU KEYADDR 01449000 SETLKEY EQU SETLTYPE 01450000 SETLGEN EQU SETLTYPE 01451000 SETLBEG EQU SETLTYPE 01452000 SETLDAT EQU SETLTYPE 01453000 SETLKGE EQU SETLTYPE 01454000 KEYPTR EQU KEYADDR+1 01455000 DATADDR EQU 24 01456000 DEBBAS02 EQU DEBBASND 01457000 DEBDDS1 EQU DEBBAS02 01458000 DEBSUCBA EQU DEBDDS1 01459000 DEBDEVED EQU DEBDDS1+4 01460000 DEBRDCB EQU DEBDDS1+4 01461000 DEBPDCB EQU DEBDDS1+8 01462000 DEBWDCB EQU DEBDDS1+12 01463000 DEBACS09 EQU DEBDEVED 01464000 DEBASC09 EQU DEBACS09 01465000 DEBEAMFG EQU DEBASC09+3 01466000 DEBDSID EQU DEBASC09+4 01467000 DEBEOD EQU DEBASC09+12 01468000 DEBBOE EQU DEBEOD 01469000 DEBEODRV EQU DEBBOE 01470000 DEBEODTT EQU DEBBOE+1 01471000 DEBEOD0 EQU DEBBOE+2 01472000 DEBEODSS EQU DEBBOE+3 01473000 DEBBAS01 EQU DEBBASND 01474000 DEBISAM EQU DEBBAS01 01475000 DEBFIEAD EQU DEBISAM 01476000 DEBFPEAD EQU DEBISAM+4 01477000 DEBFOEAD EQU DEBISAM+8 01478000 DEBEXPT EQU DEBISAM+12 01479000 DEBRPSID EQU DEBEXPT 01480000 AGO .@UNREFD START UNREFERENCED COMPONENTS 01481000 DEBEXPTA EQU DEBEXPT+1 01482000 DEBRSV12 EQU DEBRPSID 01483000 DEBRSV11 EQU DEBRPSID 01484000 DEBRSV10 EQU DEBRPSID 01485000 DEBRSV09 EQU DEBRPSID 01486000 DEBRPSAP EQU DEBRPSID 01487000 DEBRPSO EQU DEBRPSID 01488000 DEBRPSI EQU DEBRPSID 01489000 DEBRPSP EQU DEBRPSID 01490000 DEBFOEB EQU DEBFOEAD+1 01491000 DEBNOEE EQU DEBFOEAD 01492000 DEBFPEB EQU DEBFPEAD+1 01493000 DEBNPEE EQU DEBFPEAD 01494000 DEBFIEB EQU DEBFIEAD+1 01495000 DEBNIEE EQU DEBFIEAD 01496000 DEBBOESS EQU DEBEODSS 01497000 DEBBOE0 EQU DEBEOD0 01498000 DEBBOETT EQU DEBEODTT 01499000 DEBBOERV EQU DEBEODRV 01500000 DEBRV008 EQU DEBDSID+7 01501000 DEBWTPTI EQU DEBDSID+6 01502000 DEBEXDTE EQU DEBDSID 01503000 DEBRV007 EQU DEBEAMFG 01504000 DEBRV006 EQU DEBEAMFG 01505000 DEBRV005 EQU DEBEAMFG 01506000 DEBRV004 EQU DEBEAMFG 01507000 DEBSECVL EQU DEBEAMFG 01508000 DEBVAMSG EQU DEBEAMFG 01509000 DEBDSOPN EQU DEBEAMFG 01510000 DEBMULTI EQU DEBEAMFG 01511000 DEBVSEQU EQU DEBASC09+2 01512000 DEBDSSQL EQU DEBASC09+1 01513000 DEBVOLAC EQU DEBASC09 01514000 DEBWDCBA EQU DEBWDCB+1 01515000 DEBRSV08 EQU DEBWDCB 01516000 DEBPDCBA EQU DEBPDCB+1 01517000 DEBRSV07 EQU DEBPDCB 01518000 DEBRDCBA EQU DEBRDCB+1 01519000 DEBRSV06 EQU DEBRDCB 01520000 DEBSUCBB EQU DEBSUCBA+1 01521000 DEBSDVM EQU DEBSUCBA 01522000 @NM00056 EQU SETLTYPE 01523000 SETLID EQU SETLTYPE 01524000 EXLEADDR EQU EXLEXITP 01525000 @NM00055 EQU EXLENFL 01526000 EXLLNK EQU EXLENFL 01527000 EXLACTM EQU EXLENFL 01528000 EXLSPEC EQU EXLENFL 01529000 EXLOPNP EQU EXLCOMN+36 01530000 @NM00054 EQU EXLOPNF 01531000 EXLOPNK EQU EXLOPNF 01532000 EXLOPNA EQU EXLOPNF 01533000 EXLOPNS EQU EXLOPNF 01534000 EXLJRNP EQU EXLCOMN+31 01535000 @NM00053 EQU EXLJRNF 01536000 EXLJRNK EQU EXLJRNF 01537000 EXLJRNA EQU EXLJRNF 01538000 EXLJRNS EQU EXLJRNF 01539000 EXLLGNP EQU EXLCOMN+26 01540000 @NM00052 EQU EXLLGNF 01541000 EXLLGNK EQU EXLLGNF 01542000 EXLLGNA EQU EXLLGNF 01543000 EXLLGNS EQU EXLLGNF 01544000 EXLUPADP EQU EXLSCIPP 01545000 @NM00051 EQU EXLUPADF 01546000 EXLUPADK EQU EXLSCIPK 01547000 EXLUPADA EQU EXLSCIPA 01548000 EXLUPADS EQU EXLSCIPS 01549000 @NM00050 EQU EXLLERF 01550000 EXLLERK EQU EXLLERF 01551000 EXLLERA EQU EXLLERF 01552000 EXLLERS EQU EXLLERF 01553000 EXLSYNP EQU EXLCOMN+11 01554000 @NM00049 EQU EXLSYNF 01555000 EXLSYNK EQU EXLSYNF 01556000 EXLSYNA EQU EXLSYNF 01557000 EXLSYNS EQU EXLSYNF 01558000 EXLEODP EQU EXLCOMN+6 01559000 @NM00048 EQU EXLEODF 01560000 EXLEODK EQU EXLEODF 01561000 EXLEODA EQU EXLEODF 01562000 EXLEODS EQU EXLEODF 01563000 @NM00047 EQU EXLCOMN+4 01564000 EXLLEN2 EQU EXLLEN 01565000 EXLSTYP EQU EXLCOMN+1 01566000 EXLID EQU EXLCOMN 01567000 ACBAPID EQU ACBCOMN+72 01568000 ACBCBMWA EQU ACBCOMN+68 01569000 ACBUAPTR EQU ACBCOMN+64 01570000 ACBLRECL EQU ACBCOMN+62 01571000 ACBMSGLN EQU ACBBLKSZ 01572000 ACBBUFSP EQU ACBCOMN+56 01573000 @NM00046 EQU ACBUJFCB+1 01574000 ACBOPTN EQU ACBUJFCB 01575000 @NM00045 EQU ACBINFLG+1 01576000 ACBBYPSS EQU ACBINFLG 01577000 ACBSDS EQU ACBVVIC 01578000 ACBUCRA EQU ACBINFLG 01579000 ACBSCRA EQU ACBINFLG 01580000 ACBCAT EQU ACBINFLG 01581000 ACBIJRQE EQU ACBINFLG 01582000 ACBJEPS EQU ACBINFLG 01583000 @NM00044 EQU ACBINFLG 01584000 ACBERFLG EQU ACBCOMN+49 01585000 ACBBUSY EQU ACBIOSFG 01586000 ACBLOCK EQU ACBEXFG 01587000 @NM00043 EQU ACBOFLGS 01588000 ACBDSERR EQU ACBOFLGS 01589000 ACBOPEN EQU ACBOFLGS 01590000 ACBEOV EQU ACBOFLGS 01591000 @NM00042 EQU ACBOFLGS 01592000 ACBDEB EQU ACBDDNM+5 01593000 ACBERFL EQU ACBDDNM+4 01594000 ACBAM EQU ACBAMETH 01595000 ACBINFL EQU ACBDDNM+2 01596000 ACBTIOT EQU ACBDDNM 01597000 ACBPASSW EQU ACBCOMN+32 01598000 ACBMSGAR EQU ACBCOMN+28 01599000 @NM00041 EQU ACBDSORG+1 01600000 ACBDORGA EQU ACBDSORG+1 01601000 @NM00040 EQU ACBDSORG 01602000 ACBOPTJ EQU ACBDVIND 01603000 ACBCRNRE EQU ACBCROPS 01604000 ACBCRNCK EQU ACBCROPS 01605000 ACBASA EQU ACBCCTYP 01606000 @NM00039 EQU ACBCCTYP 01607000 ACBTRCID EQU ACBCCTYP 01608000 @NM00038 EQU ACBRECFM 01609000 ACBRECAF EQU ACBRECFM 01610000 ACBJBUF EQU ACBBUFPL+2 01611000 ACBMACR4 EQU ACBBUFPL+1 01612000 @NM00037 EQU ACBMACR3 01613000 ACBNCFX EQU ACBMACR3 01614000 ACBSIS EQU ACBMACR3 01615000 ACBDFR EQU ACBMACR3 01616000 ACBICI EQU ACBMACR3 01617000 ACBGSR EQU ACBMACR3 01618000 ACBLSR EQU ACBMACR3 01619000 @NM00036 EQU ACBMACR3 01620000 ACBBUFNI EQU ACBCOMN+18 01621000 ACBBUFND EQU ACBCOMN+16 01622000 ACBSTRNO EQU ACBCOMN+15 01623000 ACBBSTNO EQU ACBCOMN+14 01624000 ACBAIX EQU ACBMACR2 01625000 ACBDSN EQU ACBMACR2 01626000 ACBRST EQU ACBMACR2 01627000 ACBLOGON EQU ACBMACR2 01628000 ACBSKP EQU ACBMACR2 01629000 @NM00035 EQU ACBMACR2 01630000 ACBUBF EQU ACBMACR1 01631000 ACBOUT EQU ACBMACR1 01632000 ACBIN EQU ACBMACR1 01633000 ACBDIR EQU ACBMACR1 01634000 ACBSEQ EQU ACBMACR1 01635000 ACBBLK EQU ACBCNV 01636000 ACBADD EQU ACBADR 01637000 ACBKEY EQU ACBMACR1 01638000 ACBINRTN EQU ACBCOMN+8 01639000 ACBIBCT EQU ACBJWA 01640000 ACBLEN2 EQU ACBLENG2 01641000 ACBSTYP EQU ACBCOMN+1 01642000 ACBID EQU ACBCOMN 01643000 DEBXSAMB EQU DEBXTN+28 01644000 DEBXOPNJ EQU DEBXTN+24 01645000 DEBXXARG EQU DEBXTN+20 01646000 DEBXMCF2 EQU DEBXTN+19 01647000 DEBXMCF1 EQU DEBXTN+18 01648000 DEBXDSO2 EQU DEBXTN+17 01649000 DEBXDSO1 EQU DEBXTN+16 01650000 DEBXDBPR EQU DEBXTN+12 01651000 DEBXDCBM EQU DEBXTN+8 01652000 DEBXDSAB EQU DEBXTN+4 01653000 DEBXRV48 EQU DEBXTN+3 01654000 DEBXRV47 EQU DEBXFLG1 01655000 DEBXRV46 EQU DEBXFLG1 01656000 DEBXRV45 EQU DEBXFLG1 01657000 DEBXRV44 EQU DEBXFLG1 01658000 DEBXRV43 EQU DEBXFLG1 01659000 DEBXDSSI EQU DEBXFLG1 01660000 DEBXTSKC EQU DEBXFLG1 01661000 DEBXCDCB EQU DEBXFLG1 01662000 DEBXLNGH EQU DEBXTN 01663000 DEBTBLOF EQU DEBPREFX+14 01664000 DEBAMTYP EQU DEBPREFX+13 01665000 DEBLNGTH EQU DEBPREFX+12 01666000 DEBDCBMK EQU DEBXTNP 01667000 DEBDSCBA EQU DEBPREFX+1 01668000 DEBWKARA EQU DEBPREFX 01669000 DEBXCEAD EQU DEBXCEA+1 01670000 DEBXCENP EQU DEBXCEAB 01671000 DEBRSV35 EQU DEBXCEAB 01672000 DEBRSV34 EQU DEBXCEAB 01673000 DEBRSV33 EQU DEBXCEAB 01674000 DEBRSV32 EQU DEBXCEAB 01675000 DEBCEAD EQU DEBCEA+1 01676000 DEBCENP EQU DEBCEAB 01677000 DEBRSV31 EQU DEBCEAB 01678000 DEBRSV30 EQU DEBCEAB 01679000 DEBRSV29 EQU DEBCEAB 01680000 DEBRSV28 EQU DEBCEAB 01681000 DEBPCIAD EQU DEBPCIA+1 01682000 DEBPCINP EQU DEBPCIAB 01683000 DEBRSV27 EQU DEBPCIAB 01684000 DEBRSV26 EQU DEBPCIAB 01685000 DEBRSV25 EQU DEBPCIAB 01686000 DEBRSV24 EQU DEBPCIAB 01687000 DEBSIOAD EQU DEBSIOA+1 01688000 DEBSIONP EQU DEBSIOAB 01689000 DEBFIX EQU DEBSIOAB 01690000 DEBIOVR EQU DEBSIOAB 01691000 DEBSIOX EQU DEBSIOAB 01692000 DEBPGFX EQU DEBSIOAB 01693000 DEBEOEAD EQU DEBEOEA+1 01694000 DEBEOENP EQU DEBEOEAB 01695000 DEBRSV22 EQU DEBEOEAB 01696000 DEBRSV21 EQU DEBEOEAB 01697000 DEBRSV20 EQU DEBEOEAB 01698000 DEBESMVR EQU DEBEOEAB 01699000 DEBSUBID EQU DEBSUBNM 01700000 DEBSIOA2 EQU DEBACS08+24 01701000 DEBRPSIO EQU DEBACS08+20 01702000 DEBFREED EQU DEBACS08+16 01703000 @NM00034 EQU DEBACS08+12 01704000 @NM00033 EQU DEBACS08+8 01705000 DEBDISAD EQU DEBACS08+4 01706000 @NM00032 EQU DEBACS08 01707000 DEBRPSST EQU DEBACS07+64 01708000 DEBARECK EQU DEBACS07+60 01709000 DEBAREWT EQU DEBACS07+56 01710000 DEBACHK EQU DEBACS07+52 01711000 DEBAWRIT EQU DEBACS07+48 01712000 DEBASETL EQU DEBACS07+44 01713000 DEBAREAD EQU DEBACS07+40 01714000 DEBCRECK EQU DEBACS07+36 01715000 DEBCREWT EQU DEBACS07+32 01716000 DEBCCHK EQU DEBACS07+28 01717000 DEBCWRIT EQU DEBACS07+24 01718000 DEBCSETL EQU DEBACS07+20 01719000 DEBCREAD EQU DEBACS07+16 01720000 DEBWKPT4 EQU DEBACS07+8 01721000 DEBGET EQU DEBACS07+4 01722000 @NM00031 EQU DEBACS07 01723000 DEBPUT EQU DEBACS06+4 01724000 DEBDCBFA EQU DEBACS06 01725000 DEBLUCBB EQU DEBLUCBA+1 01726000 DEBRSV18 EQU DEBLUCBA 01727000 DEBFUCBB EQU DEBFUCBA+1 01728000 DEBRSV17 EQU DEBFUCBA 01729000 DEBTCCWB EQU DEBTCCWA+1 01730000 DEBRSV16 EQU DEBTCCWA 01731000 DEBTBFRB EQU DEBTBFRA+1 01732000 DEBRSV15 EQU DEBTBFRA 01733000 DEBDBPEF EQU DEBACS03+8 01734000 DEBDBPP EQU DEBACS03+4 01735000 DEBDTPP EQU DEBACS03 01736000 DEBDBPE EQU DEBDBLK+1 01737000 DEBDBPT EQU DEBDBLK 01738000 DEBEXTNM EQU DEBDSNAM 01739000 DEBLRECL EQU DEBACSMD+14 01740000 DEBBLKSI EQU DEBACSMD+12 01741000 DEBRSV14 EQU DEBDSNM+4 01742000 DEBUTSAB EQU DEBUTSAA+1 01743000 DEBRSV13 EQU DEBUTSAA 01744000 DEBVOLNM EQU DEBACSMD+2 01745000 DEBVLSEQ EQU DEBVOLSQ+1 01746000 DEBRSV42 EQU DEBVOLBT 01747000 DEBRSV41 EQU DEBVOLBT 01748000 DEBRSV40 EQU DEBVOLBT 01749000 DEBRSV39 EQU DEBVOLBT 01750000 DEBRSV38 EQU DEBVOLBT 01751000 DEBRSV37 EQU DEBVOLBT 01752000 DEBRSV36 EQU DEBVOLBT 01753000 DEBEXFUL EQU DEBVOLBT 01754000 DEBNMTRK EQU DEBDASD+14 01755000 DEBENDHH EQU DEBDASD+12 01756000 DEBENDCC EQU DEBDASD+10 01757000 DEBSTRHH EQU DEBDASD+8 01758000 DEBSTRCC EQU DEBDASD+6 01759000 DEBBINUM EQU DEBDASD+4 01760000 DEBUCBA EQU DEBUCBAD+1 01761000 DEBDVMOD EQU DEBUCBAD 01762000 DEBAPPB EQU DEBAPPAD+1 01763000 DEBEXSCL EQU DEBAPPAD 01764000 DEBDCBB EQU DEBDCBAD+1 01765000 DEBDEBID EQU DEBPROTG 01766000 DEBECBB EQU DEBECBAD+1 01767000 DEBPRIOR EQU DEBECBAD 01768000 DEBUSRPB EQU DEBUSRPG+1 01769000 DEBNMEXT EQU DEBUSRPG 01770000 DEBRSV05 EQU DEBBASIC+15 01771000 DEBXTNIN EQU DEBFLGS1 01772000 DEBAPFIN EQU DEBFLGS1 01773000 DEBF1CEV EQU DEBFLGS1 01774000 DEBCINDI EQU DEBFLGS1 01775000 DEBRSV02 EQU DEBFLGS1 01776000 DEBRSIOA EQU DEBFLGS1 01777000 DEBEOFDF EQU DEBFLGS1 01778000 DEBPWCKD EQU DEBFLGS1 01779000 DEBQSCNT EQU DEBBASIC+13 01780000 DEBACCS EQU DEBOPATB 01781000 DEBPOSIT EQU DEBOPATB 01782000 DEBZERO EQU DEBOPATB 01783000 DEBABEND EQU DEBOPATB 01784000 DEBIRBB EQU DEBIRBAD+1 01785000 DEBRERR EQU DEBOFLGS 01786000 DEBLABEL EQU DEBOFLGS 01787000 DEBSPLIT EQU DEBOFLGS 01788000 DEBDCB EQU DEBOFLGS 01789000 DEBRLSE EQU DEBOFLGS 01790000 DEBEOF EQU DEBOFLGS 01791000 DEBDISP EQU DEBOFLGS 01792000 DEBDEBB EQU DEBDEBAD+1 01793000 DEBAMLNG EQU DEBDEBAD 01794000 DEBTCBB EQU DEBTCBAD+1 01795000 DEBNMSUB EQU DEBTCBAD 01796000 RPLSAVE2 EQU IDARPLE+24 01797000 RPLSAVE EQU IDARPLE+20 01798000 @NM00030 EQU IDARPLE+17 01799000 RPLIITSB EQU IDARPLE+16 01800000 RPLRPLPT EQU IDARPLE+12 01801000 RPLDECB EQU IDARPLE+4 01802000 RPLERMSA EQU RPLCOMN+72 01803000 RPLEMLEN EQU RPLCOMN+70 01804000 RPLACTIV EQU RPLCOMN+69 01805000 RPLBRANC EQU RPLEXTD1 01806000 RPLNIB EQU RPLEXTD1 01807000 @NM00029 EQU RPLEXTD1 01808000 RPLEXIT EQU RPLEXTD1 01809000 RPLNEXIT EQU RPLEXTD1 01810000 RPLEXSCH EQU RPLEXTD1 01811000 RPLDDDD EQU RPLRBAR+4 01812000 @NM00028 EQU RPLRBAR+3 01813000 @NM00027 EQU RPLAIXID 01814000 RPLAXPKP EQU RPLAIXID 01815000 RPLAIXPC EQU RPLRBAR 01816000 RPLRSV88 EQU RPLOPT8 01817000 RPLUNCON EQU RPLOPT8 01818000 RPLACTV EQU RPLOPT8 01819000 RPLSESS EQU RPLOPT8 01820000 RPLPEND EQU RPLOPT8 01821000 RPLODPRM EQU RPLOPT8 01822000 RPLODACP EQU RPLOPT8 01823000 RPLODACQ EQU RPLOPT8 01824000 RPLRSV78 EQU RPLOPT7 01825000 RPLRSV77 EQU RPLOPT7 01826000 RPLRLSOP EQU RPLOPT7 01827000 RPLTPOST EQU RPLOPT7 01828000 RPLQOPT EQU RPLOPT7 01829000 RPLCNIMM EQU RPLCNOPT 01830000 RPLCNANY EQU RPLCNOPT 01831000 RPLCNALL EQU RPLCNOPT 01832000 RPLRSV68 EQU RPLOPT6 01833000 RPLRSV67 EQU RPLOPT6 01834000 RPLLOCK EQU RPLOPT6 01835000 RPLNCOND EQU RPLOPT6 01836000 RPLCOND EQU RPLOPT6 01837000 RPLEOT EQU RPLUNTYP 01838000 RPLEOM EQU RPLUNTYP 01839000 RPLEOB EQU RPLUNTYP 01840000 RPLWROPT EQU RPLOPT5 01841000 RPLNODE EQU RPLOPT5 01842000 RPLERACE EQU RPLWRTYP 01843000 RPLEAU EQU RPLWRTYP 01844000 RPLNERAS EQU RPLWRTYP 01845000 RPLPSOPT EQU RPLOPT5 01846000 RPLSSNIN EQU RPLOPT5 01847000 RPLDLGIN EQU RPLOPT5 01848000 RPLBUFL EQU RPLCOMN+52 01849000 RPLCHAIN EQU RPLNXTRP 01850000 RPLOPT4 EQU RPLOPTCD+3 01851000 RPLALIGN EQU RPLOPT3 01852000 RPLFMT EQU RPLOPT3 01853000 RPLFLD EQU RPLOPT3 01854000 RPLVFY EQU RPLOPT3 01855000 RPLBLK EQU RPLOPT3 01856000 RPLSFORM EQU RPLOPT3 01857000 RPLEODS EQU RPLOPT3 01858000 RPLNSP EQU RPLOPT2 01859000 RPLUPD EQU RPLOPT2 01860000 RPLWAITX EQU RPLOPT2 01861000 RPLLRD EQU RPLOPT2 01862000 RPLBWD EQU RPLOPT2 01863000 RPLCNV EQU RPLOPT2 01864000 RPLADD EQU RPLADR 01865000 RPLKEY EQU RPLOPT2 01866000 RPLECBIN EQU RPLECBSW 01867000 RPLASY EQU RPLOPT1 01868000 RPLSKP EQU RPLOPT1 01869000 RPLSEQ EQU RPLOPT1 01870000 RPLDIR EQU RPLOPT1 01871000 RPLLOC EQU RPLOPT1 01872000 RPLDAF EQU RPLARG+2 01873000 RPLSAF EQU RPLARG 01874000 RPLTCBPT EQU RPLCOMN+28 01875000 RPLCCHAR EQU RPLCOMN+20 01876000 RPLSTRID EQU RPLCOMN+18 01877000 RPLKEYL EQU RPLKEYLE 01878000 RPLRDSOH EQU RPLFDB3 01879000 RPLRLG EQU RPLFDB3 01880000 RPLLGFRC EQU RPLFDB3 01881000 RPLREOT EQU RPLFDB3 01882000 RPLREOM EQU RPLFDB3 01883000 RPLREOB EQU RPLFDB3 01884000 RPLSV32 EQU RPLFDB3 01885000 RPLUINPT EQU RPLFDB3 01886000 RPLSTSAV EQU RPLFDB2 01887000 RPLCUERR EQU RPLFDB2 01888000 RPLDLGFL EQU RPLFDB2 01889000 RPLIOERR EQU RPLFDB2 01890000 RPLDVUNS EQU RPLFDB2 01891000 RPLATND EQU RPLFDB2 01892000 RPLRVID EQU RPLFDB2 01893000 RPLERLK EQU RPLFDB2 01894000 RPLERREG EQU RPLRTNCD 01895000 RPLSTAT EQU RPLFDBWD 01896000 RPLPOST EQU RPLECB 01897000 RPLWAIT EQU RPLECB 01898000 RPLPLHPT EQU RPLCOMN+4 01899000 RPLLEN2 EQU RPLLEN 01900000 RPLSTYP EQU RPLIDWD+1 01901000 RPLID EQU RPLIDWD 01902000 DCBLPDT EQU IHADCS55 01903000 DCBWKPT6 EQU IHADCS29+196 01904000 DCBWKPT5 EQU IHADCS29+192 01905000 DCBWKPT4 EQU IHADCS29+188 01906000 DCBWKPT3 EQU IHADCS29+184 01907000 DCBWKPT2 EQU IHADCS29+180 01908000 DCBWKPT1 EQU IHADCS29+176 01909000 @NM00026 EQU IHADCS29+174 01910000 DCBRORG1 EQU IHADCS29+172 01911000 DCBLIOV EQU IHADCS29+164 01912000 DCBNOREC EQU IHADCS29+162 01913000 @NM00025 EQU IHADCS29+161 01914000 DCBLEMI1 EQU IHADCS29+156 01915000 DCBRORG2 EQU IHADCS29+154 01916000 @NM00024 EQU IHADCS29+153 01917000 DCBLECI EQU IHADCS29+148 01918000 DCBNBOV EQU IHADCS29+146 01919000 DCBOVDEV EQU IHADCS29+145 01920000 DCBLETI EQU IHADCS29+140 01921000 DCBLPDA EQU IHADCS29+132 01922000 DCBFTHI EQU IHADCS29+125 01923000 DCBNTHI EQU IHADCS29+124 01924000 DCBFTMI1 EQU IHADCS29+117 01925000 DCBHIIOV EQU IHADCS29+116 01926000 DCBFTCI EQU IHADCS29+109 01927000 DCBSTLTF EQU DCBST 01928000 DCBSTLBF EQU DCBST 01929000 DCBSTNMC EQU DCBST 01930000 @NM00023 EQU DCBST 01931000 DCBSTNCY EQU DCBST 01932000 DCBSTLOD EQU DCBST 01933000 DCBSTKSQ EQU DCBST 01934000 DCBSTSSM EQU DCBST 01935000 DCBNREC EQU IHADCS29+104 01936000 DCBRORG3 EQU IHADCS29+100 01937000 DCBNCRHI EQU IHADCS29+98 01938000 DCBTDC EQU IHADCS29+96 01939000 DCBHIRSH EQU IHADCS29+95 01940000 DCBHIROV EQU IHADCS29+94 01941000 DCBHIRPD EQU IHADCS29+93 01942000 DCBHIRCM EQU IHADCS29+92 01943000 DCBLDT EQU IHADCS29+90 01944000 DCBHMASK EQU IHADCS29+89 01945000 DCBFIRSH EQU IHADCS29+86 01946000 DCBNLEV EQU IHADCS29+85 01947000 DCBLEMI3 EQU IHADCS29+80 01948000 DCBFTMI3 EQU IHADCS29+73 01949000 DCBLEMI2 EQU IHADCS29+68 01950000 DCBFTMI2 EQU IHADCS29+61 01951000 DCBHIRTI EQU IHADCS29+60 01952000 DCBFREED EQU IHADCS29+56 01953000 DCBRELEX EQU IHADCS29+52 01954000 DCBPUTX EQU IHADCS29+48 01955000 DCBRELSE EQU IHADCS29+44 01956000 DCBLWKN EQU IHADCS29+40 01957000 DCBLRAN EQU IHADCS29+36 01958000 DCBESETL EQU IHADCS29+32 01959000 @NM00022 EQU DCBEXCD2 01960000 DCBEXRDE EQU DCBEXLTH 01961000 DCBEXCLD EQU DCBEXCD2 01962000 DCBEXDUP EQU DCBEXCD2 01963000 DCBEXSEQ EQU DCBEXCD2 01964000 DCBEXBLU EQU DCBEXCD1 01965000 DCBEXBLI EQU DCBEXCD1 01966000 DCBEXOER EQU DCBEXCD1 01967000 DCBEXIER EQU DCBEXCD1 01968000 DCBEXNSP EQU DCBEXCD1 01969000 DCBEXIDA EQU DCBEXCD1 01970000 DCBSETL EQU IHADCS29+24 01971000 DCBMSHIA EQU DCBMSHI+1 01972000 DCBNCP EQU DCBMSHI 01973000 DCBSMSW EQU IHADCS29+18 01974000 DCBSMSI EQU IHADCS29+16 01975000 DCBMSWA EQU IHADCS29+12 01976000 DCBBLKSI EQU IHADCS29+10 01977000 DCBSYNAD EQU IHADCS29+4 01978000 DCBCYLOF EQU IHADCS29+3 01979000 DCBNTM EQU IHADCS29+2 01980000 DCBMACRE EQU DCBMAC 01981000 DCBMACAW EQU DCBMAC 01982000 DCBMACUW EQU DCBMAC 01983000 DCBMACUR EQU DCBMAC 01984000 @NM00021 EQU DCBMAC 01985000 DCBOPTR EQU DCBOPTCD 01986000 @NM00020 EQU DCBOPTCD 01987000 DCBOPTY EQU DCBOPTCD 01988000 DCBOPTM EQU DCBOPTCD 01989000 DCBOPTUF EQU DCBOPTCD 01990000 DCBOPTW EQU DCBOPTCD 01991000 DCBPUTA EQU DCBGETA 01992000 @NM00019 EQU DCBPUT 01993000 DCBDEBA EQU DCBDEBAD+1 01994000 @NM00018 EQU DCBIFLGS 01995000 DCBIFIOE EQU DCBIFLGS 01996000 DCBCH12 EQU DCBIFPCT 01997000 DCBCH9 EQU DCBIFPCT 01998000 DCBIFEC EQU DCBIFLGS 01999000 DCBMFSTI EQU DCBMFDMD 02000000 DCBMFAWR EQU DCBMFSTK 02001000 DCBMFUIP EQU DCBMFTMD 02002000 DCBMFIDW EQU DCBMFLCP 02003000 DCBMFWRK EQU DCBMFMVP 02004000 DCBMFRDQ EQU DCBMFWRT 02005000 DCBMFGTQ EQU DCBMFPUT 02006000 DCBMFSTL EQU DCBMACF2 02007000 DCBMFCK EQU DCBMFDMG 02008000 DCBMFRDX EQU DCBMFCHK 02009000 DCBMFDBF EQU DCBMFSBG 02010000 DCBMFRDI EQU DCBMFLCG 02011000 DCBMFRDK EQU DCBMFMVG 02012000 DCBMFWRQ EQU DCBMFRD 02013000 DCBMFPTQ EQU DCBMFGET 02014000 DCBMFECP EQU DCBMACF1 02015000 DCBTIOT EQU IHADCS25 02016000 DCBMRSTI EQU DCBMRDMD 02017000 DCBMRAWR EQU DCBMRSTK 02018000 DCBMRUIP EQU DCBMRTMD 02019000 DCBMRIDW EQU DCBMRLCP 02020000 DCBMRWRK EQU DCBMRMVP 02021000 DCBMRRDQ EQU DCBMRWRT 02022000 DCBMRGTQ EQU DCBMRPUT 02023000 DCBMRSTL EQU DCBMACR2 02024000 DCBMRCK EQU DCBMRDMG 02025000 DCBPGFXA EQU DCBMRRDX 02026000 DCBMRDBF EQU DCBMRSBG 02027000 DCBMRRDI EQU DCBMRLCG 02028000 DCBMRRDK EQU DCBMRMVG 02029000 DCBMRWRQ EQU DCBMRRD 02030000 DCBMRPTQ EQU DCBMRGET 02031000 DCBMRECP EQU DCBMACR1 02032000 @NM00017 EQU DCBIFLG 02033000 DCBIBIOE EQU DCBIFLG 02034000 DCBICH12 EQU DCBIBPCT 02035000 DCBICH9 EQU DCBIBPCT 02036000 DCBIBEC EQU DCBIFLG 02037000 DCBOFIOF EQU DCBOFLGS 02038000 DCBOFUEX EQU DCBOFLGS 02039000 DCBOFTM EQU DCBOFLGS 02040000 DCBOFPPC EQU DCBOFLGS 02041000 DCBOFOPN EQU DCBOFLGS 02042000 DCBOFEOV EQU DCBOFLGS 02043000 DCBOFLRB EQU DCBOFLGS 02044000 DCBOFIOD EQU DCBOFLWR 02045000 DCBDDNAM EQU IHADCS24 02046000 DCBEXLSA EQU DCBEXLST+1 02047000 DCBRECKL EQU DCBRECFM 02048000 DCBRECCC EQU DCBRECFM 02049000 DCBRECSB EQU DCBRECFM 02050000 DCBRECTO EQU DCBRECLA 02051000 DCBBFA EQU DCBBFTEK 02052000 DCBH0 EQU DCBBFTEK 02053000 DCBBFTKD EQU DCBBFTEK 02054000 DCBBFTE EQU DCBBFT 02055000 DCBBFTKR EQU DCBBFT 02056000 DCBBFTS EQU DCBBFT 02057000 DCBH1 EQU DCBBFTEK 02058000 DCBSVCXA EQU DCBSVCXL+1 02059000 @NM00016 EQU DCBSVCXL 02060000 DCBODEBA EQU DCBIOBAA 02061000 @NM00015 EQU DCBQSLM 02062000 DCBUPDBT EQU DCBQSLM 02063000 DCBUPDCM EQU DCBQSLM 02064000 DCB1DVDS EQU DCBQSLM 02065000 @NM00014 EQU DCBDSRG2 02066000 DCBDSGTR EQU DCBDSRG2 02067000 DCBACBM EQU DCBDSRG2 02068000 @NM00013 EQU DCBDSRG2 02069000 DCBDSGTQ EQU DCBDSRG2 02070000 DCBDSGTX EQU DCBDSRG2 02071000 DCBDSGGS EQU DCBDSRG2 02072000 DCBDSGU EQU DCBDSRG1 02073000 DCBDSGPO EQU DCBDSRG1 02074000 @NM00012 EQU DCBDSRG1 02075000 @NM00011 EQU DCBDSRG1 02076000 DCBDSGCX EQU DCBDSRG1 02077000 DCBDSGDA EQU DCBDSRG1 02078000 DCBDSGPS EQU DCBDSRG1 02079000 DCBDSGIS EQU DCBDSRG1 02080000 DCBBUFL EQU IHADCS11+8 02081000 DCBBUFCA EQU DCBBUFCB+1 02082000 DCBBUFNO EQU DCBBUFCB 02083000 DCBDEVT EQU DCBREL 02084000 DCBTRBAL EQU IHADCS01+6 02085000 @NM00010 EQU IHADCS01+5 02086000 @NM00009 EQU IHADCS01+4 02087000 DCBDVTBA EQU DCBDVTBL+1 02088000 @NM00008 EQU DCBDVTBL 02089000 DCBKEYCN EQU IHADCS00+4 02090000 DCBRELAD EQU IHADCS00 02091000 @NM00007 EQU IHADCB 02092000 IIGMLEN EQU IIGMSPLG+1 02093000 IIGMPOOL EQU IIGMSPLG 02094000 IIGMADDR EQU IIGMNTRY 02095000 AUDCLM EQU AUDCSPLM+1 02096000 AUDCSPM EQU AUDCSPLM 02097000 AUDCMSGA EQU IIGMAUD+24 02098000 AUDCLB EQU AUDCSPLB+1 02099000 AUDCSPB EQU AUDCSPLB 02100000 AUDCBFRS EQU IIGMAUD+16 02101000 AUDCLD EQU AUDCSPLD+1 02102000 AUDCSPD EQU AUDCSPLD 02103000 AUDCDEB EQU IIGMAUD+8 02104000 AUDCLI EQU AUDCSPLI+1 02105000 AUDCSPI EQU AUDCSPLI 02106000 AUDCIICB EQU IIGMAUD 02107000 @NM00006 EQU IIAUDFL2 02108000 AUDDEBXF EQU IIAUDFL2 02109000 AUDBFRRT EQU IIAUDFL2 02110000 AUDBFREX EQU IIAUDFL2 02111000 AUDACBRC EQU IIAUDFL2 02112000 AUDACBCL EQU IIAUDFL2 02113000 AUDIIFBF EQU IIAUDFL2 02114000 AUDURSYN EQU IIAUDFL1 02115000 AUDIISYN EQU IIAUDFL1 02116000 AUDPRMOD EQU IIAUDFL1 02117000 AUDDCBRT EQU IIAUDFL1 02118000 AUDDCBEX EQU IIAUDFL1 02119000 AUDACBRO EQU IIAUDFL1 02120000 AUDACBOP EQU IIAUDFL1 02121000 @NM00005 EQU IIREGSAV+12 02122000 IIREGFC EQU IIREGSAV+8 02123000 @NM00004 EQU IIREGSAV 02124000 IISAMSYN EQU IDAIICB+52 02125000 IISVCLST EQU IDAIICB+48 02126000 IITBUFL EQU IDAIICB+45 02127000 IIBUFNO EQU IDAIICB+44 02128000 IIMSGPTR EQU IDAIICB+40 02129000 IIMSGL EQU IDAIICB+37 02130000 @NM00003 EQU IIFLAG3 02131000 MBFALN EQU IIFLAG3 02132000 IIBUFL EQU IDAIICB+34 02133000 IIKEYSL EQU IDAIICB+32 02134000 IIRPLL EQU IDAIICB+29 02135000 MKEYLE EQU IIFLAG2 02136000 MBUFNO EQU IIFLAG2 02137000 MBUFL EQU IIFLAG2 02138000 MRECFM EQU IIFLAG2 02139000 MOPTCD EQU IIFLAG2 02140000 MBLKSI EQU IIFLAG2 02141000 MLRECL EQU IIFLAG2 02142000 MRKP EQU IIFLAG2 02143000 IIACBL EQU IDAIICB+25 02144000 IIQBFRS EQU IIFLAG1 02145000 @NM00002 EQU IIFLAG1 02146000 IIFTEST EQU IIFLAG1 02147000 IIFCLOSE EQU IIFLAG1 02148000 IIFACBCL EQU IIFLAG1 02149000 IIMAXLRL EQU IIW1CBF+2 02150000 IISAVLRL EQU IIW1CBF 02151000 IIACBPTR EQU IDAIICB+8 02152000 IICBLEN EQU IDAIICB+2 02153000 @NM00001 EQU IDAIICB+1 02154000 IICBID EQU IDAIICB 02155000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 02156000 @RT00179 EQU INVALID 02157000 @RT00200 EQU INVALID 02158000 @RC00189 EQU @RC00187 02159000 @RT00217 EQU INVALID 02160000 @RT00268 EQU INVALID 02161000 @RF00276 EQU @RC00273 02162000 @RF00351 EQU PM2EXIT 02163000 @RC00334 EQU PM2EXIT 02164000 @RC00326 EQU PM2EXIT 02165000 @PB00002 EQU @EL00001 02166000 @RC00330 EQU @RC00326 02167000 @RC00439 EQU @PB00002 02168000 @ENDDATA EQU * 02169000 END IDAIIPM2,(C'PLS2219',0701,77110) 02170000