TITLE 'AMDPRLPA - LPA MAP EXECUTOR' Y02006 00400002 * /* START OF SPECIFICATIONS **** 00610002 * 00660002 *01* MODULE-NAME = AMDPRLPA 00710002 * 00810002 *01* DESCRIPTIVE-NAME = LINK PACK AREA MAP EXECUTOR 01010002 * 01110002 *01* COPYRIGHT = NONE 01160002 * 01210002 *01* STATUS = OS/VS2 REL. 02.0 01410002 * 01510002 *01* FUNCTION = THIS ROUTINE PRINTS A LIST OF THE MODULES THAT 01560002 * COMPRISE THE ACTIVE LINK PACK AREA AT THE TIME OF THE DUMP. 01610002 * 01660002 *02* OPERATION = THE ACTIVE LPA QUEUE IS LOCATED VIA A POINTER IN 01710002 * THE CVT (CVTQLPAQ). THE MODULE NAME, ENTRY POINT ADDRESS, AND 01760002 * TYPE ARE EXTRACTED FROM EACH CDE AND THE LENGTH AND STARTING 01810002 * POINT ARE RETREIVED FROM THE EXTENT LIST ASSOCIATED WITH EACH 01860002 * MAJOR CDE. IF ANY OF THE POINTERS LEADING TO THE FIRST CDE ARE 01870002 * ZERO A 'LINK PACK AREA QUEUE EMPTY' MESSAGE IS ISSUED. IF A 01880002 * BRREAD ERROR OCCURS WHILE TRYING TO GET TO ANY CDE ON THE 01890002 * QUEUE A MESSAGE IS PRINTED. IF A BRREAD FAILS WHILE ACCESSING 01900002 * THE EXTENT LIST A MESSAGE IS PRINTED. 01920002 * 01930002 *01* NOTES = AS FOLLOWS 01960002 * 02010002 *02* DEPENDENCIES = AS FOLLOWS 02060002 * 02110002 *03* CHARACTER-CODE-DEPENDENCIES = EBCDIC - CORRECTABLE BY 02520002 * REASSEMBLY 02530002 * 02540002 *02* RESTRICTIONS = NONE 02560002 * 02670002 *02* REGISTER-CONVENTIONS = REGISTERS ARE DECLARED IN THE EQUATES 02710002 * PRIVATE MACRO. 02760002 * 02910002 *02* PATCH-LABEL = LPAPATCH 02960002 * 03110002 *01* MODULE-TYPE = PROCEDURE 03160002 * 03260002 *02* PROCESSOR = ASSEMBLER 03310002 * 03660002 *02* MODULE-SIZE = 1600 BYTES 03710002 * 03860002 *02* ATTRIBUTES = PROBLEM PROGRAM REGION, REUSEABLE 03910002 * 04160002 *01* ENTRY-POINT = AMDPRLPA 04210002 * 04510002 *02* PURPOSE = IN RESPONSE TO LPA VERB 04560002 * 04610002 *02* LINKAGE = STANDARD LINKAGE - CALLED ONLY BY AMDPRCTL 04660002 * 04810002 *02* INPUT = REGISTERS 04860002 * REGISTER 12 - POINTER TO COMMON DATA AREA 05120002 * REGISTER 13 - POINTER TO CALLER'S SAVE AREA 05140002 * REGISTER 14 - RETURN ADDRESS 05150002 * REGISTER 15 - ENTRY POINT ADDRESS 05152002 * 05154002 *02* OUTPUT = LINK PACK AREA MAP 05160002 * 05210002 *02* REGISTERS-SAVED = ALL 05260002 * 05360002 *02* REGISTER-USAGE = SEE REGISTER DECLARES 05410002 * 05510002 *02* REGISTERS-RESTORED = ALL 05560002 * 05660002 *01* EXIT-NORMAL = LPAEXIT 05710002 * 05910002 *02* CONDITIONS = PROCESSING COMPLETED 05960002 * 06060002 *02* OUTPUT = FORMATTED ACTIVE LINK PACK AREA QUEUE 06110002 * 06310002 *02* RETURN-CODES = NONE 06360002 * 06570002 *01* EXIT-ERROR = NONE 06610002 * 07520002 *01* EXTERNAL-REFERENCES = AS FOLLOWS 07560002 * 07710002 *02* ROUTINES = 07760002 * AMDPRRDC - TO READ DUMP INPUT 07870002 * AMDPRWTR - TO PRINT OUTPUT TO PRINTER DATA SET 07880002 * ADRCNVT - TO CONVERT ADDRESSES TO PRINTABLE HEX 07890002 *02* DATA-AREAS = COMMON 07910002 * AADRCNVT (REF) 08156002 * CURBUF (REF) 08156402 * CVTADDR (REF) 08156802 * ERRADDR (MOD) 08157202 * LINENUM (REF) 08158802 * LNCNT (REF) 08158902 * LINECNT (REF) 08159002 * MINCDE (REF) 08159202 *02* CONTROL-BLOCKS = NONE 08160002 * 08420002 *01* TABLES = NONE 08460002 * 08620002 *01* MACROS = 08660002 * EXECUTABLE = 08770002 * BRREAD -- PRIVATE, TO READ DUMP INPUT 08780002 * BRWRITE -- PRIVATE, TO PRINT OUTPUT 08790002 * 08800002 * MAPPING = 08802002 * IHAXTLST 08804002 * IHACDE 08806002 * CVT 08808002 * 08808402 *02* SERIALIZATION = NONE 08810002 * 08920002 *01* CHANGE-ACTIVITY = AS FOLLOWS 08960002 *A 394500,418500,419000,422500,423500,436020-437500 Y01980 09070002 *A 437600-439000,44000-445600,448000,456000,478500-479000 Y01980 09080002 *A 480000,508000-510000,670500,672000,688000,690000,754000 Y01980 09090002 *A 796000 Y01980 09100002 * 09100402 *D 2000,394500,418500-423500,436500,438000-438500,444500,445000 Y02006 09102002 *D 446000-448000,498000,510000,670500-704000,720000,796000-798000Y02006 09104002 * 09104402 *C 4000,6000-200000,437000,437600,439000,442000,444000,445500 Y02006 09106002 *C 450000,454703,458500-459000,460000,460500,478500-479000, Y02006 09108002 *C 482500-483000,506000,508000,521500,632000,645900,645960,808000Y02006 09108402 * 09108602 *A 416500,436067-436900,439500,454500-454501,455000,456500-457500Y02006 09108802 *A 480700-482000,496500-497500,504500-505600,509600-510300,512500Y02006 09109202 *A 520500-521000,521600,645820-645897,671000-691000,754500 Y02006 09109602 *A 758500-759500,804500-807700 Y02006 09109702 * 09109802 *01* MESSAGES = 09110002 * UNABLE TO ACCESS CVT, LPAMAP FUNCTION TERMINATED 09320002 * LOOP CONTROL VALUE IS ZERO, LPAMAP FUNCTION TERMINATED 09358802 * ERROR FINDING ACTIVE LPA CHAIN POINTER, PROCESSING TERMINATED 09359002 * LINK PACK AREA QUEUE EMPTY 09359102 * ERROR FINDING CDE QUEUE POINTER, PROCESSING TERMINATED 09359202 * ERROR FINDING CDE XXXXXX, PROCESSING TERMINATED 09359302 * ERROR ACCESSING CDE XXXXXX, CONTINUING 09359402 * ERROR FINDING EXTENT LIST, POINTER ZERO 09359502 * ERROR FINDING MAJOR CDE, EXTENT LIST BYPASSED 09359602 * ERROR ACCESSING EXTENT LIST 09381602 * INFINITE LOOP IN ACTIVE LPA CHAIN, PROCESSING TERMINATED 09403702 * 09425802 *01* ABEND-CODES = NONE 09447902 * 09470002 **** END OF SPECIFICATIONS ***/ 09510002 EJECT 20200002 */*AMDPRLPA: CHART (SEQ) */ 20400002 */* HEADER 20600002 */*AMDPRLPA - LINK PACK AREA MAPPING MODULE 20800002 */* PAGE # */ 21000002 */*AMDPRLPA: E START */ 21200002 */* M ESTABLISH ADDRESSABILITY */ 21400002 */* L BRWRITE: SKIP A PAGE */ 21610002 */* P LOAD ADDR OF OUTPUT BUFFER */ 21620002 */* S LPATITLE: PRINT BOTH TITLES */ 21630002 */* D (YES,PRTMSG1,NO,) IS CVT PTR 0 */ 21650002 */* P GET LOOP VALUE FROM COMMON */ 21700002 */* D (YES,CTRMSG,NO,) IS VALUE = 0 */ 21750002 */* P PUT ADDR OF 'LPAERRTN' IN COMMON SAVING PREVIOUS ERROR RTN ADDR 21800002 */**/ 21850002 */* M SET SWA TO 0 */ 21900002 */* P PUT ADDR OF 'PRTMSG2' IN 'LPAERRTN' */ 21910002 */* P LOAD ADDR OF ACTIVE LPA QUEUE PTR FROM CVT */ 21950002 */* L (ERR,PRTMSG2,,) BRREAD: GET ADDR OF PTR TO CDE QUEUE PTR FROM CVT 22700002 */* */ 22705002 */* P LOAD PTR TO CDE QUEUE PTR */ 22770002 */* D (YES,PRTMSG3,NO,) IS ACTIVE LPA Q PTR=0 */ 22800002 */* P PUT ADDR OF 'PRTMSG4' IN 'LPAERRTN' */ 22810002 */* L (ERR,PRTMSG4,,) BRREAD: GET PTR TO CDE QUEUE */ 22850002 */* D (YES,PRTMSG3,NO,LPAMAP2) IS QUEUE HEAD ZERO */ 22900002 */*LPALOOP: P CLEAR HIGH ORDER BYTE OF REG CONTAINING CDE ADDR */ 23600002 */* D (YES,LPADONE,NO,) IS CDE ADDRESS ZERO */ 23800002 */* P DECREMENT LOOP VALUE */ 23850002 */* D (YES,LOOPMSG,NO,) IS VALUE =0 */ 23900002 */*LPAMAP2: S LPATITLE: PRINT BOTH TITLES IF AT TOP OF PAGE */ 24000002 */* P PUT ADDR OF 'PRTMSG5' IN 'LPAERRTN' */ 24050002 */* L (ERR,PRTMSG5,,) BRREAD: GET CDE */ 24200002 */* P SAVE ADDR OF NEXT CDE IN CHAIN */ 24400002 */* P PUT ADDR OF 'PRTMSG6' IN 'LPAERRTN' */ 24450002 */* L (ERR,PRTMSG6,,) BRREAD: GET ATTRIBUTES AND SAVE THEM */ 24600002 */* L (ERR,PRTMSG6,,) BRREAD: GET AND SAVE MODULE NAME */ 24900002 */* L (ERR,PRTMSG6,,) BRREAD: GET ENTRY POINT ADDRESS */ 25200002 */* P POINT TO LOCATION FOR EPA IN BUFFER */ 25600002 */* L ADRCNVT: CONVERT EP ADDR TO HEX AND MOVE TO BUFFER */ 25800002 */* P LOAD ADDRESS OF MAJOR CODE/ EXTENT LIST */ 26000002 */* D (YES,LPAMAP3,NO,) CDE ATTRIBUTES INDICATE MINOR CODE */ 26200002 */* P MOVE 'MAJOR' TYPE TO OUTPUT BUFFER */ 26400002 */*LPAMAP4: D (YES,PRTMSG7,NO,) IS EXTENT LIST ADDR=0 */ 26410002 */* P PUT ADDR OF 'SWASET' IN 'LPAERRTN' */ 26450002 */* L (ERR,SWASET,,) BRREAD: GET MODULE LENGTH */ 26600002 */* P POINT TO LOCATION FOR MODULE LENGTH IN BUFFER */ 26800002 */* L ADRCNVT: CONVERT LENGTH TO HEX AND MOVE TO BUFFER */ 27000002 */*MODLNTH: P PUT ADDR OF 'SWARESET' IN 'LPAERRTN' */ 27050002 */* L (ERR,SWARESET,,) BRREAD: GET MODULE STARTING ADDR */ 27100002 */* P POINT TO LOCATION FOR STARTING ADDRESS IN BUFFER */ 27200002 */* L ADRCNVT: CONV. START @ TO HEX & MOVE TO BUFFER */ 27400002 */* D (YES,SWARESET,NO,) IS SWA=1 */ 27450002 */*PRTLINE: L BRWRITE: PRINT OUT BUFFER */ 27600002 */*PTRSW: P (,LPALOOP) MOVE ADDR OF NEXT CDE INTO REG */ 27650002 */*LPAMAP3: P POINT TO EXTENT LIST ADDRESS */ 28000002 */* P PUT ADDR OF 'PRTMSG8' IN 'LPAERRTN' */ 28050002 */* L (ERR,PRTMSG8,,) BRREAD: GET EXTENT LIST ADDRESS */ 28200002 */* P LOAD ADDR OF EXTENT LIST */ 28300002 */* P (,LPAMAP4) MOVE 'MINOR' TYPE TO OUTPUT BUFFER */ 28600002 */*LPATITLE: D (YES,RETURN,NO,) ANY SPACE TO PRINT LINE ON THIS PAGE */ 33800002 */* P LOAD BUFFER ADDR */ 34000002 */* P MOVE FIRST TITLE TO OUTPUT BUFFER */ 34200002 */* L BRWRITE: PRINT FIRST TITLE */ 34400002 */* P MOVE SECOND TITLE TO OUTPUT BUFFER */ 34600002 */* L BRWRITE: PRINT SECOND TITLE */ 34800002 */*RETURN: R RETURN TO CALLER */ 35000002 */*PRTMSG1: L (,LPAEXIT) BRWRITE: PRINT ERROR MESSAGE '1' */ 35010002 */*SWARESET: M SET SWA TO 0 */ 35060002 */* P (,PRTLINE) MOVE ERROR MESSAGE '9' TO OUTPUT BUFFER */ 35070002 */*PRTMSG7: P (,PRTLINE) MOVE ERROR MESSAGE '7' TO OUTPUT BUFFER */ 35110002 */*PRTMSG3: L BRWRITE: PRINT ERROR MESSAGE '3' */ 37200002 */*LPADONE: P RESTORE PREVIOUS ERROR RTN ADDR IN COMMON */ 37400002 */*LPAEXIT: M RESTORE REGISTERS */ 37600002 */* R RETURN TO CALLER */ 37800002 */*CTRMSG: L (,LPAEXIT) BRWRITE: PRINT CTR 0 MSG */ 37810002 */*LOOPMSG: L (,LPADONE) BRWRITE: PRINT LOOP MSG */ 37820002 */*LPAERRTN: N BRREAD ERROR HANDLER */ 37850002 */* M RESTORE REGS FROM LPA SAVE AREA USING REG 15 */ 37900002 */* M REESTABLISH ADDRESSABILITY USING BASEREG */ 37950002 */* R BRANCH TO SPECIFIC FUNCTION */ 37952002 */*PRTMSG2: L (,LPADONE) BRWRITE: PRINT ERROR MESSAGE '2' */ 37996002 */*PRTMSG4: L (,LPADONE) BRWRITE: PRINT ERROR MESSAGE '4' */ 37998002 */*PRTMSG5: L (,LPADONE) BRWRITE: PRINT ERROR MESSAGE '5' */ 37998402 */*PRTMSG6: L (,PTRSW) BRWRITE: PRINT ERROR MESSAGE '6' */ 37998802 */*SWASET: M (,MODLNTH) SET SWA TO 1 */ 37999202 */*PRTMSG8: P (,PRTLINE) MOVE ERROR MESSAGE '8' TO OUTPUT BUFFER */ 37999602 */*AMDPRLPA: END */ 38000002 EJECT 38200002 EQUATES 38400002 COMMON 38600002 * M3179 38800002 OUTBUFM 39000002 AMDPRLPA CSECT 39250002 SPACE 39300002 STM R14,R12,12(R13) SAVE CALLER'S REGISTERS 39800002 BALR BASE1,0 ESTABLISH REG 11 AS BASE 40000002 USING *,BASE1 40200002 LPABASE LA R0,MAPSAVE SAVE AREA CHAINNING 40400002 ST R0,8(R13) 40600002 ST R13,MAPSAVE+4 40800002 LR R13,R0 41000002 SPACE 41200002 USING COMMON,COMBASE COMMON CSECT BASED ON REG 12 41400002 USING OUTBUF,BUFREG 41600002 USING CVT,R8 CVT MACRO BASED ON REG 8 Y02006 41650002 SPACE 41800002 *********************************************************************** 41850002 * * 43050002 * SKIP A PAGE AND PRINT THE TITLES * 43060002 * * 43080002 *********************************************************************** 43090002 SPACE 43092002 BRWRITE SKIP SKIP TO LINE ONE 43100002 L BUFREG,CURBUF LOAD BUFFER ADDR 43600002 BAL R9,LPATITL1 PRINT TITLE @ZA04282 43602000 SPACE 43602102 *********************************************************************** 43602202 * * 43602302 * IF CVT ADDR IS ZERO - PRINT ERROR MSG AND RETURN * 43604202 * * 43606402 *********************************************************************** 43606502 SPACE 43606602 L R8,CVTADDR CVT ADDR IN COMMON Y02006 43606702 LTR R8,R8 IS ADDR ZERO Y02006 43608602 BZ PRTMSG1 YES--PRINT ERROR MESSAGE Y02006 43610502 SPACE 43610602 L LOOPCTR,LPAMAX GET LOOP CONTROL VALUE Y02006 43611302 SR R0,R0 Y02006 43611702 CR LOOPCTR,R0 IS VALUE ZERO Y02006 43612102 BE CTRMSG YES - TERMINATE WITH MSG Y02006 43612202 SPACE 43612302 MVC LPAERSV,ERRADDR SAVE CURRENT ERROR ROUTINE ADDR 43612402 LA R15,LPAERROR LOAD ADDR OF LPAMAP ERROR ROUTINE 43614302 ST R15,ERRADDR STORE AS ERROR ADDRESS 43616202 SPACE 43616602 *********************************************************************** 43617002 * * 43618102 * GET PTR TO ACTIVE LPA CHAIN - IF READ ERROR - PRINT * 43620002 * ERROR MESSAGE AND RETURN * 43622002 * * 43630002 *********************************************************************** 43640002 SPACE 43650002 MVI SWITCHA,X'00' ZERO OUT SWITCH Y02006 43680002 LA R10,PRTMSG2 ERROR RTN FOR THIS BRREAD Y02006 43690002 LA PREG,CVTQLPAQ ACTIVE LPA CHAIN PTR Y01980 43700002 BRREAD (PREG),DATA,ASID=0 Y02006 43750002 ICM PREG,7,1(PREG) IS PTR TO QUEUE HEAD ZERO Y02006 43760002 BZ PRTMSG3 YES--PRINT MSG Y02006 43900002 LA R10,PRTMSG4 ERROR RTN FOR THIS BRREAD Y02006 43950002 BRREAD (PREG),DATA,ASID=0 Y02006 44200002 ICM R2,7,1(PREG) IS QUEUE HEAD ZER0 Y02006 44400002 BZ PRTMSG3 YES - TERMINATE WITH MSG Y02006 44550002 SPACE 44570002 *********************************************************************** 44580002 * * 44590002 * PROCESSING OF CDE BEGINS HERE * 44592002 * * 44594002 *********************************************************************** 44596002 SPACE 44598002 LPAMAP2 BAL R9,LPATITLE PRINT TITLE IF AT TOP OF PAGE 45200002 LA R10,PRTMSG5 ERROR RTN FOR THIS BRREAD Y02006 45450002 ST R2,LCDEADDR ADDR OF CDE FOR AARDCNVT Y02006 45450102 * R2 CONTAINS ADDR FOR BRREAD, Y02006 45450202 * AS LPATITLE RTN MODIFIES PREG Y02006 45450302 BRREAD (R2),DATA,ASID=0 Y02006 45470302 SPACE 45490102 USING CDENTRY,R2 BASE FOR CDE MACRO Y02006 45500002 SPACE 45510002 MVC CDENEXT,0(PREG) save aDDR OF NEXT CDE y01980 45600002 LA R10,PRTMSG6 ERROR RTN FOR THIS BRREAD Y02006 45650002 LA PREG,CDATTR ADDR OF CDE ATTRIBUTES Y02006 45700002 BRREAD (PREG),DATA,ASID=0 Y02006 45750002 MVC CDEATTR(1),0(PREG) save cDE ATTRIBUTES Y01980 45800002 LA PREG,CDNAME ADDR OF CDE NAME FIELD Y02006 45850002 BRREAD (PREG),DATA,ASID=0 Y02006 45900002 MVC FIELD1(8),0(PREG) MOVE NAME to buffer 45950002 LA PREG,CDENTPT ADDR OF CDE ENTRY POINT Y02006 46000002 BRREAD (PREG),DATA,ASID=0 Y02006 46050002 LA R4,FIELD1+20 LOC OF EPA IN BUFFER 47400002 L R15,AADRCNVT LOAD ADDR OF ADRCNVT ROUTINE 47600002 BALR RETREG,R15 LINK TO IT 47800002 LA PREG,CDXLMJP ADDR OF EXTENT LIST/MAJOR CDE Y02006 47850002 BRREAD (PREG),DATA,ASID=0 Y02006 47900002 L R3,0(PREG) EXTENT LIST OR MAJOR CDE ADDR Y01980 47950002 TM CDEATTR,MINCDE IS THIS A MINOR CDE 48000002 BO LPAMAP3 YES--GET MAJOR 48050002 MVC FIELD1+44(5),MAJOR NO--INDICATE MAJOR 48060002 SPACE 48062002 USING XTLST,R3 BASE FOR EXTENT LIST MACRO Y02006 48070002 SPACE 48080002 LPAMAP4 LTR R3,R3 IS ADDR ZERO Y02006 48100002 BZ PRTMSG7 YES--PRINT ERROR MSG Y02006 48150002 LA R10,SWASET ERROR RTN FOR THIS BRREAD Y02006 48200002 LA PREG,XTLMSBLA ADDR OF LENGTH VALUE IN XLIST Y02006 48250002 BRREAD (PREG),DATA,ASID=0 Y02006 48300002 LA R4,FIELD1+36 LOC OF LENGTH IN BUFFER 49200002 L R15,AADRCNVT LOAD ADDR OF ADRCNVT ROUTINE 49400002 BALR RETREG,R15 LINK TO IT 49600002 MODLNTH LA R10,SWARESET ERROR RTN FOR THIS BRREAD Y02006 49650002 LA PREG,XTLMSBAA ADDR OF ETRY PT ADDR IN XLIST Y02006 49700002 BRREAD (PREG),DATA,ASID=0 Y02006 49750002 LA R4,FIELD1+28 LOC OF STA IN BUFFER 50000002 L R15,AADRCNVT LOAD ADDR OF ADRCNVT ROUTINE 50200002 BALR RETREG,R15 LINK TO IT 50400002 TM SWITCHA,SWITCHON DID READ FOR ATTRIB FAIL Y02006 50450002 BZ PRTLINE NO--PRINT OUTPUT LINE Y02006 50500002 SWARESET MVI SWITCHA,X'00' RESET SWITCH Y02006 50550002 MVC FIELD2+22(L'LPAMSG9),LPAMSG9 MOVE ERROR MSG TO BUFFER 50560002 * Y02006 50562002 SPACE 50570002 *********************************************************************** 50580002 * * 50590002 * PRINT OUT BUFFER WITH CDE DATA * 50592002 * * 50594002 *********************************************************************** 50596002 SPACE 50598002 PRTLINE BRWRITE 1 GO PRINT Y02006 50600002 SPACE 50650002 *********************************************************************** 50700002 * * 50750002 * SET ADDR OF NEXT CDE TO BE PROCESSED * 50760002 * * 50770002 *********************************************************************** 50780002 SPACE 50790002 PTRSW ICM R2,7,CDENEXT+1 IS ADDR OF NEXT CDE ZERO Y02006 50800002 BZ LPADONE YES - ALL DONE MAPPING 50950002 SPACE 50952002 BCTR LOOPCTR,0 DECREMENT LOOP VALUE Y02006 50960002 LTR LOOPCTR,LOOPCTR IS VALUE ZERO Y02006 50970002 BZ LOOPMSG YES - LOOP IN CHAIN Y02006 50980002 B LPAMAP2 NO - PROCESS THIS CDE Y02006 51030002 SPACE 51200002 *********************************************************************** 51210002 * * 51220002 * GET MAJOR CDE FOR THIS MINOR * 51230002 * * 51240002 *********************************************************************** 51242002 SPACE 51244002 LPAMAP3 LR R2,R3 CHANGE BASE FOR CDE MACRO Y02006 51250002 MVC FIELD1+44(5),MINOR INDICATE MINOR CDE 52000002 LA R10,PRTMSG8 ERROR RTN FOR THIS BRREAD Y02006 52050002 LA PREG,CDXLMJP ADDR OF MAJOR CDE FIELD Y02006 52100002 BRREAD (PREG),DATA,ASID=0 Y02006 52150002 L R3,0(PREG) XTLIST ADDR OF MAJOR CDE Y02006 52160002 B LPAMAP4 ACCESS XTLIST FOR LNGTH & EPA 52200002 SPACE 2 52400002 *********************************************************************** 61600002 * * 61800002 * TEST FOR TOP OF PAGE AND PRINT TITLES IF IT IS * 62000002 * * 62200002 *********************************************************************** 62400002 SPACE 62600002 LPATITLE LH R0,LINENUM LOAD NUMBER OF LINES PER PAGE-2 62800002 C R0,LINECNT AM I AT TOP OF PAGE 63000002 BNER R9 RETURN TO CALLER IF NOT Y02006 63200002 LPATITL1 L BUFREG,CURBUF TO ASSURE BUFREG IS LOADED @ZA04282 63400000 MVC ADDR+33(54),TITLE1 MOVE FIRST TITLE 63600002 BRWRITE 3 GO PRINT FIRST TITLE 63800002 MVC FIELD1+2(47),TITLE2 MOVE SECOND TITLE 64000002 BRWRITE 2 GO PRINT SECOND TITLE 64200002 BR R9 CONTINUE 64400002 SPACE 2 64410002 *********************************************************************** 64450002 * * 64500002 * ALL DONE WITH MAP...RETURN TO CALLER * 64550002 * * 64560002 *********************************************************************** 64570002 SPACE 64580002 CTRMSG MVC ADDR(L'LPAMSG10),LPAMSG10 Y02006 64582002 MVC ADDR+L'LPAMSG10(L'LPAMSG21),LPAMSG21 Y02006 64584002 BRWRITE 1 Y02006 64586002 B LPAEXIT RETURN TO CALLER Y02006 64588002 SPACE 64588402 LOOPMSG MVC ADDR(L'LPAMSG11),LPAMSG11 Y02006 64588802 MVC ADDR+L'LPAMSG11(L'LPAMSG20),LPAMSG20 Y02006 64589202 BRWRITE 1 Y02006 64589602 B LPADONE RETURN TO CALLER Y02006 64589702 SPACE 64589802 PRTMSG3 MVC ADDR(L'LPAMSG3),LPAMSG3 Y02006 64590002 BRWRITE 1 A35932 64592002 LPADONE MVC ERRADDR,LPAERSV RESTORE PREVIOUS ERROR ADDR 64594002 LPAEXIT L R13,4(R13) RESTORE CALLER'S REGISTERS Y02006 64596002 LM R14,R12,12(R13) 64598002 BR RETREG RETURN TO CALLER 64598402 EJECT 64600002 *********************************************************************** 64800002 * * 65000002 * BRREAD ERROR ROUTINE * 65200002 * HANDLES READ ERRORS BY BRANCHING TO SPECIFIC ROUTINES. * 65350002 * * 65400002 *********************************************************************** 65600002 SPACE 65800002 DROP BASE1 66000002 USING *,R15 ERROR HANDLER BASED ON REG 15 66200002 LPAERROR LA R13,MAPSAVE SET UP LPA MAP SAVE AREA 66400002 LM R14,R12,12(R13) RESTORE LPA'S REGS 66600002 DROP R15 66800002 USING LPABASE,BASE1 67000002 L BUFREG,CURBUF LOAD BUFFER ADDR Y01980 67050002 BR R10 BRANCH TO SPECIFIC RTN Y02006 67100002 SPACE 67110002 PRTMSG1 MVC ADDR(L'LPAMSG1),LPAMSG1 MOVE EROR MSG TO BUFFER Y02006 67150002 MVC ADDR+L'LPAMSG1(L'LPAMSG21),LPAMSG21 Y02006 67210002 BRWRITE 1 Y02006 67250002 B LPAEXIT RETURN TO CALLER Y02006 67300002 SPACE 67350002 PRTMSG2 MVC ADDR(L'LPAMSG2),LPAMSG2 MOVE ERROR MSG TO BUFFER Y02006 67400002 MVC ADDR+L'LPAMSG2(L'LPAMSG20),LPAMSG20 Y02006 67410002 BRWRITE 1 Y02006 67450002 B LPADONE RETURN TO CALLER Y02006 67500002 SPACE 67550002 PRTMSG4 MVC ADDR(L'LPAMSG4),LPAMSG4 MOVE ERROR MSG TO BUFFER Y02006 67600002 MVC ADDR+L'LPAMSG4(L'LPAMSG20),LPAMSG20 Y02006 67610002 BRWRITE 1 Y02006 67650002 B LPADONE RETURN TO CALLER Y02006 67700002 SPACE 67750002 PRTMSG5 LA R4,MSG5A ADDR FOR AADRCNVT Y02006 67850002 LA PREG,LCDEADDR CDE ADDR THAT FAILED READ Y02006 67900002 L R15,AADRCNVT ADDR OF CONVERT RTN Y02006 67950002 BALR RETREG,R15 CONVERT ADDR TO PRINT IT Y02006 68000002 MVC ADDR(L'LPAMSG5),LPAMSG5 MOVE ERROR MSG TO BUFFER Y02006 68020002 MVC ADDR+L'LPAMSG5(L'LPAMSG20),LPAMSG20 Y02006 68030002 BRWRITE 1 Y02006 68050002 B LPADONE RETURN TO CALLER Y02006 68100002 SPACE 68150002 PRTMSG6 LA R4,MSG6A BUFFER ADDR FOR AADRCNVT Y02006 68250002 LA PREG,LCDEADDR CDE ADDR THAT FAILED READ Y02006 68300002 L R15,AADRCNVT ADDR OF CONVERT RTN Y02006 68350002 BALR RETREG,R15 CONVERT ADDR TO PRINT IT Y02006 68400002 MVC ADDR(L'LPAMSG6),LPAMSG6 MOVE ERROR MSG TO BUFFER Y02006 68430002 MVC ADDR+L'LPAMSG6(L'MSG62),MSG62 Y02006 68440002 BRWRITE 2 Y02006 68450002 B PTRSW GET NEXT CDE ON QUEUE Y02006 68500002 SPACE 68550002 PRTMSG7 MVC FIELD2+22(L'LPAMSG7),LPAMSG7 MOVE ERROR MSG TO BUFFER 68600002 * Y02006 68650002 B PRTLINE PRINT BUFFER WITH MSG IN IT Y02006 68750002 SPACE 68800002 PRTMSG8 MVC FIELD2+22(L'LPAMSG8),LPAMSG8 MOVE ERROR MSG TO BUFFER 68850002 * Y02006 68860002 B PRTLINE PRINT BUFFER WITH MSG IN IT Y02006 68950002 SPACE 69000002 SWASET OI SWITCHA,SWITCHON INDICATE XTLIST READ FAILED Y02006 69050002 B MODLNTH READ MOD LENGTH FROM XTLIST Y02006 69100002 EJECT 69150002 *********************************************************************** 69200002 * * 74000002 * CONSTANTS AND SAVE AREA FOR LPAMAP ROUTINE * 74200002 * * 74400002 *********************************************************************** 74600002 SPACE 74800002 MAPSAVE DC 18F'0' AMDPRLPA SAVE AREA 75000002 LPAERSV DC F'0' SAVE AREA FOR ERRADDR 75200002 CDENEXT DC F'0' ADDR OF NEXT CDE IN QUEUE Y01980 75400002 LCDEADDR DC F'0' ADDR OF CDE BEING PROCESSED Y02006 75450002 LPAWORK1 DC F'0' 75600002 LPAWORK2 DC F'0' 75800002 SWITCHA DC X'00' FOR BRREAD ERROR PROCESSING Y02006 75850002 SWITCHON EQU X'01' USED TO SET SWITCHA Y02006 75900002 LOOPCTR EQU 7 LOOP CONTROL REG Y02006 75950002 SPACE 76000002 MAJOR DC C'MAJOR' 79000002 MINOR DC C'MINOR' 79200002 CDEATTR DC X'00' 79400002 TITLE1 DC C'* * * * L I N K P A C K A R E A M A P * * * *X80000002 ' 80200002 TITLE2 DC C'NAME EPA STA LNGH TYPE' 80400002 SPACE 80410002 *********************************************************************** 80420002 * * 80430002 * OUTPUT COMMENTS FOR LPA - A CHANGE IN ANY MESSAGE TEXT WILL * 80440002 * REQUIRE A REASSEMBLY ONLY. THE CODE IS NOT DEPENDENT ON THE * 80442002 * ABSOLUTE LENGTH OF ANY MESSAGE. * 80444002 * * 80446002 *********************************************************************** 80448002 SPACE 80448402 LPAMSG1 DC C'UNABLE TO ACCESS CVT' Y02006 80450002 LPAMSG2 DC C'ERROR FINDING ACTIVE LPA CHAIN POINTER' Y02006 80500002 LPAMSG3 DC C'LINK PACK AREA QUEUE EMPTY' Y02006 80560002 LPAMSG4 DC C'ERROR FINDING CDE QUEUE POINTER' Y02006 80570002 MSG51 DC C'ERROR FINDING CDE ' Y02006 80592002 MSG5A DC XL6'00' Y02006 80592402 ORG *-L'MSG51-L'MSG5A Y02006 80592502 LPAMSG5 DS 0CL(L'MSG51+L'MSG5A) Y02006 80592802 * RESET LOCATION COUNTER Y02006 80595202 ORG 80595602 DC X'00' BYTE FOR AARDCNVT TO UNPAK IN Y02006 80595702 MSG61 DC C'ERROR ACCESSING CDE ' Y02006 80596002 MSG6A DC XL6'00' Y02006 80596402 ORG *-L'MSG61-L'MSG6A Y02006 80596902 LPAMSG6 DS 0CL(L'MSG61+L'MSG6A) Y02006 80597202 * RESET LOCATION COUNTER Y02006 80598002 ORG 80598102 DC X'00' BYTE FOR AARDCNVT TO UNPAK IN Y02006 80599902 MSG62 DC C', CONTINUING' Y02006 80601802 LPAMSG7 DC C'ERROR FINDING EXTENT LIST, POINTER ZERO' Y02006 80603602 LPAMSG8 DC C'ERROR FINDING MAJOR CDE, EXTENT LIST BYPASSED' Y02006 80605402 LPAMSG9 DC C'ERROR ACCESSING EXTENT LIST' Y02006 80607202 LPAMSG10 DC C'LOOP CONTROL VALUE IS ZERO' Y02006 80607602 LPAMSG11 DC C'INFINITE LOOP IN ACTIVE LPA CHAIN' Y02006 80608002 LPAMSG20 DC C', PROCESSING TERMINATED' Y02006 80609002 LPAMSG21 DC C', LPAMAP FUNCTION TERMINATED' Y02006 80619002 SPACE 80619402 LPAPATCH DC 30F'0' LPA PATCH AREA Y02006 80629602 EJECT 80639802 IHAXTLST Y02006 80650002 SPACE 80700002 IHACDE Y02006 80750002 SPACE 80760002 CVT DSECT=YES Y02006 80770002 SPACE 80780002 END AMDPRLPA,(C'XFMLC',0101,73100) 80800002