TITLE 'IEAVSTAA..COMMUNICATIONS TASK STAR ROUTINE' 00100002 * /* START OF SPECIFICATIONS **** 00102002 * 00104002 *01* MODULE-NAME = IEAVSTAA 00106002 * 00110002 *02* CSECT-NAME = IEAVSTAA 00112002 * 00116002 *01* DESCRIPTIVE-NAME = COMMUNICATIONS TASK STAR ROUTINE 00118002 * 00122002 *01* COPYRIGHT = NONE 00124002 * 00126002 *01* STATUS = OS/VS2 REL 3.7 00134003 * 00138002 *01* FUNCTION = THE COMMUNICATION TASK STAR ROUTINE IS ENTERED BY RTM 00140002 * FOR ALL ABENDS THAT ARE CAUSED BY THE COMMUNICATION TASK. IT IS 00140502 * ALSO GIVEN CONTROL AFTER ALL OTHER RECOVERY PROCESSING (FRR,ESTAE 00141002 * ,ETC.) COMPLETES UNLESS A SUCCESSFUL RETRY COMPLETES BEFORE IT IS 00141502 * SCHEDULED. THIS ROUTINE WILL REINTIALIZE ALL FIELDS NECESSARY TO 00142002 * MAKE THE SYSTEM BELIEVE THAT THE COMMUNICATIONS TASK HAD NOT BEEN 00142502 * ENTERED. 00143002 * 00144002 *02* OPERATION = THE STAR ROUTINE HANDLES NO ABEND RECURSIONS AND 00146002 * WILL ATTEMPT TO DUMP THE LSQA, SQA, COMMUNICATIONS TASK 00146202 * REGIONS, SWA, NUCLEUS, AND ITS RELATED MODULES IN THE LPA.THE 00146402 * SVC DUMP ROUTINE IS UTILIZED TO PRODUCE THE UNFORMATTED DUMP 00146702 * UPON EVERY ENTRY INTO STAR. 00149503 * AFTER PROCESSING, THIS MODULE WILL RETURN CONTROL 00149903 * TO RTM INDICATING RETRY OF IEAVMQWR. @ZA05368 00154003 * NOTE: IF (JES3) SUBSYSTEM HAS CONTROL OF A @Y02668P 00154303 * CONSOLE THE UCMDISPK BIT IN THE CONSOLES UCME @Y02668P 00155303 * WILL BE ON. IEAVSTAA WILL NOT MODIFY THE UCME @Y02668P 00156303 * DURING CONSOLE CLEANUP. @Y02668P 00157303 * 00160003 *01* NOTES = THIS MODULE WAS MODIFIED TO EXECUTE IN A MVM ENVIRONMENT 00163003 * USING THE LOCAL AND CMS LOCKS FOR SERIALIZATION. 00166003 * 00170003 *02* DEPENDENCIES = NO LOCKS OR ENQ RESOURCES ARE REQUIRED UPON 00174003 * ENTRY TO THIS MODULE. 00177003 * 00180003 *03* CHARACTER-CODE-DEPENDENCIES = NONE 00186003 * 00188003 *02* RESTRICTIONS = NONE 00190003 * 00194003 *02* REGISTER-CONVENTIONS = REFER TO REGISTER DECLARES. 00198003 * 00202003 *02* PATCH-LABEL = AREA AT END OF MODULE. 00204003 * 00208003 *01* MODULE-TYPE = PROCEDURE 00212003 * 00216003 *02* PROCESSOR = ASSEMBLER 00220003 * 00224002 *02* MODULE-SIZE = 1600 BYTES @ZA30307 00226003 * 00232002 *02* ATTRIBUTES = ZERO PROTECT KEY , REENTERABLE, SUPERVISOR MODE 00234002 * 00244002 *01* ENTRY-POINT = IEAVSTAA 00246002 * 00258002 *02* PURPOSE = GIVEN CONTROL BY RTM AS LAST RECOVERY ACTION FOR 00260002 * COMM TASK. 00261002 * 00262002 *02* LINKAGE = UPON ENTRY; 00264002 * REG 0: 0=I/O QUIESCE 00264602 * 4=I/O HALTED 00265202 * 8=NO I/O WAS ACTIVE 00265802 * 12=NO SDWA WAS OBTAINED 00266402 * 16=NO I/O PROCESSING WAS PERFORMED 00267002 * REG 1: ADDRESS OF SDWA IF REG 0 DOES NOT CONTAIN 12. 00267602 * ABEND COMPLETION CODE IF REG 0 DOES CONTAIN 12. 00268202 * REG 2: ADDRESS OF USER SUPPLIED PARAMETER LIST IF NO SDWA. 00268802 * UNPREDICTABLE IF SDWA 00269402 * REG 13:ADDRESS OF 72 BYTE SAVE AREA IF SDWA WAS OBTAINED. 00270002 * REG 14;RETURN ADDRESS 00270502 * REG 15:ENTRY POINT ADDRESS 00271002 * 00271502 *02* INPUT = IN REGISTERS UPON ENTRY. 00272002 * 00282002 *02* OUTPUT = NONE 00284002 * 00286002 *02* REGISTERS-SAVED = REGISTERS 0 THROUGH 15 ARE SAVED UPON ENTRY. 00288002 * 00292002 *02* REGISTER-USAGE = REFER TO REGISTER DECLARATION. 00294002 * 00298002 *02* REGISTERS-RESTORED = REGISTER 14 IS RESTORED BEFORE EXIT FROM 00300002 * THIS MODULE. 00302002 * 00304002 *01* EXIT-NORMAL = RETURN TO CALLER VIA BRANCH REGISTER 14. 00306002 * 00314002 *02* CONDITIONS = THIS EXIT IS TAKEN AFTER NORMAL PROCESSING TO 00316002 * GIVE CONTROL TO IEAVMQWR. 00318002 * 00320002 *02* OUTPUT = MESSAGE TO OPERATOR OF SYSTEM ERROR. 00322002 * IEE824A YYY COMMUNICATION TASK ABEND, ZZ DUMP TAKEN 00324002 * YYY = ABEND CODE 00326002 * ZZ = NO (IF NO DUMP WAS TAKEN) 00328002 * NOTE: THIS MESSAGE MAY NOT APPEAR ON A D23 @ZA13859 00328603 * RECURSIVE ENTRY INTO IEAVSTAA. @ZA13859 00329003 * 00330002 *02* RETURN-CODES = 4 - RETRY AT IEAVMQWR 00332002 * 00340002 *01* EXIT-ERROR = NONE 00342002 * 00352002 *01* EXTERNAL-REFERENCES = THE FOLLOWING REFERENCES ARE MADE WITHIN 00380002 * THIS MODULE: 00382002 * 00386002 *02* ROUTINES = NONE 00388002 * 00390002 *02* DATA-AREAS = NONE 00394002 * 00396002 *02* CONTROL-BLOCKS = THIS MODULE REFERS TO THE FOLLOWING CONTROL 00404002 * BLOCKS. 00405002 * CVT (R), UCB (R,W), TDCM (R), @ZA15729 00406003 * ORE (R,W), RDCM (R,W), SACB (R,W) @ZA15729 00406603 * PSA (R) 00408002 * WQE (R) 00409002 * UCM (R,W) 00410003 * SDWA (R) 00411002 * WWB (R,W) 00412002 * 00414002 *01* TABLES = THE FOLLOWING TABLES AND WORKAREAS ARE DEFINED WITHIN 00416002 * THIS MODULE: 00417002 * WPL PARM LIST FOR WTO MESSAGE 00418002 * PRNTABL TABLE TO CONVERT ABEND CODE 00419002 * CTBUF FIELD TO CONTAIN SVC DUMP HEADER 00420002 * 00422002 *01* MACROS = THIS MODULE USES THE FOLLOWING SYSTEM MACROS: 00424002 * GETMAIN/FREEMAIN,SETLOCK,WTO,SDUMP,CALLRTM,SETRP,LOAD 00426003 * 00428002 *02* SERIALIZATION = THE LOCAL AND CMS LOCKS ARE USED BY THIS 00430002 * MODULE. 00432002 * 00434002 *01* CHANGE-ACTIVITY = Y02756,Y02893,Y02751,ZA05368,ZA13828,ZA13859, 00436003 * ZA15729, ZA20343, ZA30307 00437003 * 00440002 *01* MESSAGES = REFER TO EXIT-NORMAL. 00442002 * 00450001 *01* ABEND-CODES = 'B23' TO ABEND WAITING WTOR ISSUERS. 00460002 * 00480002 **** END OF SPECIFICATIONS ***/ 00490002 EJECT 05100001 IEAVSTAA CSECT * 05150001 * DSTRT (A) APPROX. (099500); LABLUCME (A) APPROX. (124530) @ZA05368 05160003 * NORELI (A) APPROX. (238850); SAVEREG (D) APPROX. @ZA05368 05170003 * (092020-092900) DELETE A23 ABEND FOR COMTASK @ZA05368 05180003 * C (MSGFORM) APPROX. 219500, 228000 @ZA13859 05186003 * A (ABENDD23) APPROX. 282500 @ZA13859 05189003 * C (DUMPGOOD) APPROX 124503 @ZA13828 05196003 * A (CKACTIVE) APPROX 124910 - TRACK PROCESSING @ZA15729 05198003 * C (LABLUCME) APPROX 12450001, 12450903 @ZA20343 05199003 * C (NOREL1) APPROX 23885003 RECORD AND FREE SDWAS @ZA30307 05199503 BALR RBASE,R0 ESTABLISH 05200001 USING *,RBASE ADDRESSABILITY FOR MODULE 05250001 MODID BRANCH=YES MODULE IDENTIFIER Y02756 05270002 ARCSECT EQU * LABEL TO BRANCH TO 05450001 ********************************************************************** 05500001 * SET UP DSECT BASES AS FOLLOWS: 05550001 * 05600001 * R2 EIL 05650001 * R3 CVT 05700001 * R5 UCME 05800001 * R8 ORE 05950001 * R9 UCM 2 EXTENSION 06000001 * R10 UCM PREFIX 06050001 * R11 UCM 06100001 ********************************************************************** 06150001 L R3,CVTPTR GET CVT ADDRESS 06200001 USING CVT,R3 SET R3 AS BASE 06250001 L R11,CVTCUCB GET UCM ADDRESS 06300001 USING UCM,R11 SET R11 AS BASE 06350001 LH R9,MINUS8 UCM MINUS 8 POINTS TO OTHER ADDR'S 06400001 AR R9,R11 SUBT 8 FROM UCM (DO NOT DESTROY UCM) 06450001 L R10,C4(R9) GET UCM PREFIX ADDRESS 06500001 USING UCMPRFX,R10 SET R10 AS BASE 06550001 L R9,ZERO(R9) GET UCM2 ADDRESS 06600001 USING UCM2EXT,R9 SET R9 AS BASE 06650001 * THE FOLLOWING TWO REGISTERS ARE INITIALIZED AT A LATER TIME. 06700001 USING OREF,R8 SET R8 AS ORE BASE 06750001 USING UCMLIST,R5 SET R5 AS UCME BASE 06800001 EJECT 06802002 *****************************************************************Y02893 06804002 * STAR RECURSION SEGMENT Y02893 06806002 * Y02893 06808002 * THE FOLLOWING SEQMENT WILL CHECK THE UCM EXTENSION YM05195 06810002 * TO DETERMINE IF THIS ROUTINE HAS BEEN ENTERED BEFORE FOR YM05195 06812002 * A COMMTASK ERROR. IF IT HAS NOT, A FLAG WILL BE SET YM05195 06814002 * INDICATING THAT THIS ROUTINE HAS BEEN ENTERED. YM05195 06816002 * Y02893 06838002 *****************************************************************Y02893 06840002 ********************************************************************** 06850001 TM UCM2SFLG,UCM2SENT IS FIRST ENTRY FLAG ON ? 07300001 BO NORMAL YES, CONTINUE NORMAL PROC 07350002 ********************************************************************** 07700001 SENT OI UCM2SFLG,UCM2SENT TURN ON STAR ENTERED FLAG 08100001 EJECT 08150001 *****************************************************************Y02893 08153002 * STAR SDWA CHECK SEGMENT Y02893 08156002 * Y02893 08159002 * THE FOLLOWING SEGMENT WILL EXAMINE THE CONTENT OF REGISTER 0 Y02893 08162002 * TO DETERMINE IF AN SDWA WAS PASSED BY RTM. IF REGISTER 0 Y02893 08165002 * CONTAINS A CODE OF 12, NO SDWA WAS PASSED BY RTM AND REGISTER 1Y02893 08168002 * CONTAINS THE ABEND COMPLETION CODE. WHEN A SDWA HAS BEEN Y02893 08171002 * OBTAINED (REGISTER 0 DOES NOT EQUAL 12), REGISTER 1 CONTAINS Y02893 08174002 * THE SDWA ADDRESS AND REGISTER 13 CONTAINS THE REGISTER SAVE Y02893 08177002 * AREA ADDRESS. IF A SDWA WAS NOT OBTAINED BY RTM, THIS MODULE Y02893 08180002 * WILL GET A 64 BYTE REGISTER SAVE AREA. Y02893 08183002 * Y02893 08186002 *****************************************************************Y02893 08189002 * HANDLE SDWA AND SAVE REGISTERS. DO GETMAIN IF REQUIRED. 08200001 NORMAL LR R6,R15 *SAVE REGS 08250001 LR R7,R0 *DESTROYED 08300001 LR R8,R1 *OVER GETMAIN 08350001 * THE REGS ARE SAVED REGARDLESS OF THE NEED FOR IT. 08400001 * THIS IS DONE TO FACILITATE CHECKING THE INPUT REGS AT A LATER TIME. 08450001 C R0,TWELVE ARE AN SDWA AND SAVE AREA PROVIDED ? 08500001 BE ALLOC NO, AVOID NEXT CHECK 08550001 * SINCE THEY WERE PROVIDED, SEE IF AN SDWA ADDRESS HAS BEEN SAVED 08600001 CHKSEC TM UCM2SFLG,UCM2SDWA IS THE INDICATOR ON ? 08650001 BO SAVEREGS YES, DO NOT SAVE THIS ADDRESS 08700001 * THIS IS THE FIRST SDWA PROVIDED. THE ADDRESS MUST BE SAVED. 08750001 STOWA STCM PARMREG,MASK7,UCM2STAA SAVE THE ADDRESS IN UCM2 08800001 OI UCM2SFLG,UCM2SDWA INDICATE THAT THE SDWA ADDR IS THERE 08850001 B SAVEREGS CONTINUE PROCESSING 08900001 * GET 64 BYTES FROM SUBPOOL 229. ADDRESS IS RETURNED IN REG 1 Y02893 08950002 ALLOC GETMAIN R,SP=C229,LV=C72 GET THE SAVE AREA Y02756 09000003 LR R13,R1 PUT AREA ADDRESS IN REG 13 09050001 * 09100001 SAVEREGS STM R0,R15,C0(R13) SAVE THE REGS IN THE REG SAVE AREA 09150001 LR R4,R13 SAVE SAVE AREA ADDRESS 09200002 EJECT 09294002 ********************************************************************** 09300001 * STAR DUMP SEGMENT Y02893 09320002 * 09350001 * THE FOLLOWING SEGMENT WILL TAKE A DUMP TO THE Y02893 09360002 * SYS1.DUMP DATA SET VIA THE SDUMP MACRO. Y02893 09370002 * 09550002 * 09600001 ********************************************************************** 09650001 NOSDWA TM UCM2SFLG,UCM2DSTR HAS DUMP BEEN STARTED ? 09700001 BO DSTRT YES, DO NOT SET INDICATOR YM05195 09750002 * INITIATE DUMP PROCEDURE 09800001 OI UCM2SFLG,UCM2DSTR INDICATE DUMP HAS BEEN STARTED 09850002 DSTRT GETMAIN R,SP=C229,LV=C80 GET BUFFER AREA Y02756 09860002 LR R8,R1 SAVE AREA ADDRESS Y02756 09870002 MVC C0(C80,R8),CTHEADER MOVE IN HEADER Y02756 09880002 L R5,UCMPXA GET TCB ADDRESS FOR DUMP 09900001 SDUMP SDATA=(SQA,NUC,LSQA,LPA,SWA,CSA,ALLPSA,PSA,RGN,TRT), X09950003 MF=(E,(R8)) @ZA05368 09960003 * DUMP HAS BEEN DONE - CHECK RETURN CODE 10000001 LTR R15,R15 WAS DUMP SUCCESSFUL ? 10050001 BNE DISABLE1 NO, DO NOT TURN ON DUMP INDICATOR 10100002 * DUMP WAS TAKEN SUCCESSFULLY. INDICATE THAT IT WAS. 10150001 DSUS OI UCM2SFLG,UCM2DTAK TURN ON DUMP TAKEN FLAG 10200001 EJECT 10250002 ********************************************************************** 10300001 * STAR SETLOCK SEGMENT 10350002 * 10360002 * IN ORDER TO SERIALIZE THE USE OF COMM TASK RESOURCES, THE Y02893 10370002 * FOLLOWING CODE ISSUES SETLOCKS FOR THE LOCAL AND CMS LOCKS Y02893 10380002 * ALL LOCKS THAT WERE HELD BY A LOWER LEVEL RECOVERY ROUTINE Y02893 10390002 * WERE FREED BY RTM BEFORE ENTRY TO THIS ROUTINE. Y02893 10400002 ********************************************************************** 10700001 DISABLE1 FREEMAIN R,SP=C229,LV=C80,A=(R8) FREE AREA Y02756 10750002 DISABLE LR R6,RBASE SAVE BASE REGISTER Y02756 10755002 LR R5,R11 SAVE UCM BASE REGISTER Y02756 10760002 SETLOCAL SETLOCK OBTAIN,TYPE=LOCAL,MODE=UNCOND, Y02751X10765002 RELATED=(ORE,IEAVSTAA(FRELOCAL)) GET LOCAL LOCK Y02751 10770002 SETCMS SETLOCK OBTAIN,TYPE=CMS,MODE=UNCOND, Y02751X10780002 RELATED=(ORE,IEAVSTAA(FRECMS)) GET CMS LOCK Y02751 10785002 LR R11,R5 RESTORE UCM BASE REG Y02756 10790002 LR RBASE,R6 RESTORE BASE REG Y02756 10795002 EJECT 11500001 ********************************************************************** 11550001 * STAR CONSOLE CLEANUP SEGMENT Y02893 11556002 * Y02893 11562002 * THE FOLLOWING SEGMENT WILL MODIFY THE UCMES FOR EACH CONSOLE, Y02893 11568002 * INCLUDING THE UCME FOR THE MASTER CONSOLE. THE AFFECT OF THIS Y02893 11574002 * IS: THE CONSOLES WILL BE CLOSED, INACTIVE, WITH EMPTY OUTPUT Y02893 11580002 * QUEUES, AND APPEAR TO HAVE NEVER BEEN USED. Y02893 11586002 ********************************************************************** 11592002 * AT THIS POINT, THE FOLLOWING FIELDS ARE ZEROED. Y02893 11600002 * 1. UCMDCB 4. UCMWLAST 7. UCMDEVC 11700001 * 2. UCMSTS 5. UCMMLAST 8. UCMSDS5 11750001 * 3. UCMOUTQ 6. UCMMSG 9. UCMUF 11800001 ********************************************************************** 11850001 DUMPGOOD LR R9,R4 SAVE SAVEAREA REG @ZA15729 11852003 L R4,UCMPXA GET ADDRESS OF TCB @ZA15729 11855003 L R7,UCMASCB GET COMM TASK ASCB @ZA15729 11860003 SR R1,R1 ZERO REGISTER 1 @ZA15729 11865003 LA R0,C72 SET LENGTH OF GETMAIN @ZA15729 11870003 LR R2,R3 SAVE CVT POINTER @ZA15729 11875003 GETMAIN RU,LV=(R0),SP=C229,BRANCH=YES @ZA15729 11880003 LR R13,R1 SAVE SAVEAREA ADDRESS @ZA15729 11890003 LR R3,R2 RESTORE CVT POINTER @ZA15729 11895003 *IT WILL BE NECESSARY TO BXLE THROUGH UCMES ZEROING FIELDS. 11900001 LM R5,R7,UCMVEA PICK UP INDEX, LENGTH, AND COMPARAND 11950002 LTR R5,R5 ARE THERE ANY UCMES ? 12000001 BE PMAST NO, NOTHING TO ZERO. BRANCH AROUND 12050001 LABLUCME TM UCMDISP2,UCMDISPK IF SUBSYSTEM CONSOLE @Y02668P 12080003 BO CKNEXT BRANCH, DO NOT CLEANUP @Y02668P 12110003 XC UCMSTS(C1),UCMSTS STATUS FLAGS @Y02668P 12150003 SR R4,R4 ZREO WORK REGISTER Y02756 12160002 ST R4,UCMDCB DCB POINTER Y02756 12170002 ST R4,UCMOUTQ OUTPUT QUEUE ADDRESS Y02756 12200002 ST R4,UCMWLAST LAST WQE SERVICED Y02756 12250002 ST R4,UCMMLAST LAST MINOR WQE SERVICED Y02756 12300002 XC UCMMSG(C2),UCMMSG MESSAGE FLAGS 12350001 XC UCMDEVC(C1),UCMDEVC DEVICE CONTROL FLAGS 12400001 XC UCMSDS5(C1),UCMSDS5 SDS FLAGS 12450001 L R4,UCMUCB GET UCB ADDR FROM UCME @ZA20343 12450103 USING UCBOB,R4 EST. UCB ADDRESSABILITY @ZA20343 12450403 TM UCMDISP,UCMDISPA IS THIS MASTER CONSOLE @ZA13828 12450503 BNO CKACTIVE NO, CHECK NON-MASTER ACTIVE @ZA13828 12450603 OI UCBSTAT,UCBONLI+UCBSYSR TURN ON SYSR& ONLINE @ZA13828 12451503 B NXTTEST CONTINUE CONSOLE SCANNING @ZA13828 12451803 CKACTIVE EQU * PROCESS NON-MASTER CNOSOLE @ZA13828 12452103 TM UCMATR,UCMUF DEVICE ACTIVE ? @ZA05368 12453003 BNO NXTTEST NO, BYPASS UCB SETTING @ZA05368 12456003 ***************************************************************@ZA05368 12459003 * IF THE DEVICE IS AN ACTIVE CONSOLE, IT IS MARKED OFFLINE. @ZA05368 12462003 * THE FOLLOWING FLAGS IN THE UCBS WILL BE TURNED OFF. @ZA05368 12465003 * ----ONLINE, CHANGING STATUS,ALLOCATED,SYSTEM CONSOLE, AND @ZA05368 12468003 * CONSOLE STATUS SWITCH. 12471003 ***************************************************************@ZA05368 12474003 NIL UCBSTAT,C255-UCBONLI-UCBCHGS-UCBALOC-UCBSYSR-UCBDADI, *12477003 REF=UCBOB SET UCB FLAGS @ZA05368 12480003 L R1,UCMXB GET RESIDENT DCM PTR @ZA05368 12491003 LTR R1,R1 IS THERE ONE? @ZA05368 12492003 BZ SKIP NO, BRANCH AROUND @ZA05368 12493003 USING DCMTSRT,R1 ADDR. FOR DCM @ZA05368 12494003 ***************************************************************@ZA15729 12494103 * THE FOLLOWING CODE SCANS THE SACBS OF ALL ACTIVE CONSOLES @ZA15729 12494203 * (EXCEPT THE MASTER CONSOLE) LOOKING FOR ACTIVE TRACK @ZA15729 12494303 * PROCESSING. IF ANY ACTIVE TRACK PROCESSING IS FOUND, THE @ZA15729 12494403 * ASSOCIATED STOP TRACK ECB IS LOCATED AND POSTED TO CANCEL @ZA15729 12494503 * THE TRACK PROCESSING. @ZA15729 12494603 ***************************************************************@ZA15729 12494703 L R2,DCMADSDS GET POINTER TO SACB @ZA15729 12494803 USING DCMACB,R2 ADDRESSABILITY FOR SACB @ZA15729 12494903 STABEGIN LTR R2,R2 IS THERE A SACB? @ZA15729 12495003 BZ STARCONT NO, RESET ATTN INDEX @ZA15729 12495103 TM DCMASACB,DCMAUSE DISPLAY AREA DEFINED? @ZA15729 12495203 BNO STARCONT NO, PROCESS ATTN INDEX @ZA15729 12495303 L R8,DCMATECB GET POINTER TO TRACK ECB @ZA15729 12495703 LTR R8,R8 ANY ECB? @ZA15729 12495803 BZ STARNXT NO, CHECK NEXT SACB @ZA15729 12495903 XC DCMAROW(DCMACBND-DCMAROW),DCMAROW ZERO OUT SACB 12496003 * @ZA15729 12496103 TM C0(R8),HEX40 ECB ALREADY POSTED? @ZA15729 12496503 BZ STARPOST NO, POST ECB @ZA15729 12496603 XC C1(C3,R8),C1(R8) CLEAR COMPLETION CODE @ZA15729 12496703 STARNXT L R2,DCMACBNX GET NEXT SACB @ZA15729 12496803 B STABEGIN CHECK SACB @ZA15729 12497303 STARPOST STM R0,R15,C0(R13) SAVE REGISTERS @ZA15729 12497403 SR R10,R10 ZERO COMPLETION CODE @ZA15729 12497503 LR R11,R8 SET ECB REGISTER @ZA15729 12497603 L R15,CVT0PT01 POST ENTRY POINT @ZA15729 12497703 BALR R14,R15 BRANCH TO POST ROUTINE @ZA15729 12497803 LM R0,R15,C0(R13) RESTORE REGISTERS @ZA15729 12497903 B STARNXT CHECK NEXT SACB @ZA15729 12498003 STARCONT L R1,DCMADTRN POINTER TO PAGEABLE DCM @ZA15729 12498103 DROP R1 @ZA05368 12498203 DROP R2 @ZA15729 12498303 L R2,UCBEXTPT PTR TO UCB EXTENSION @ZA05368 12498503 USING UCBCMEXT,R2 ADDRESSABILITY FOR EXTENSION@ZA05368 12498603 USING DCMSTRT,R1 ADDR. FOR DCM @ZA05368 12498703 MVC UCBATI(C1),DCMATI RESTORE ATTN INDEX @ZA05368 12498803 XC UCBSNS,UCBSNS CLEAR SENSE DATA @ZA05368 12498903 B NXTTEST CHECK NEXT ENTRY @ZA05368 12499003 SKIP MVI UCBATI,ZERO SET ATTN INDEX TO ZERO 12499503 NXTTEST NI UCMATR,C255-UCMUF-UCMLF-UCMAT04 TURN OFF FLAGS@ZA05368 12500003 DROP R1 @ZA05368 12510003 DROP R2 @ZA05368 12520003 CKNEXT BXLE R5,R6,LABLUCME GO CHECK NEXT ENTRY @Y02668P 12550003 * 12600001 * ALL UCMES HAVE BEEN CLEANSED. TIME TO INITIALIZE THE MASTER CONSOLE 12650001 * TO ALLOW OPERATOR COMMUNICATION IF REQUIRED. 12700001 * 12750001 PMAST LM R5,R7,UCMVEA RESET BXLE LOOP REGS 12800001 PMAST1 TM UCMDISP,UCMDISPA IS THIS THE MASTER CONSOLE ? 12850001 BO PMAST2 YES, BRANCH OUT 12900001 BXLE R5,R6,PMAST1 NO, CHECK NEXT ENTRY 12950001 * MUST ASSUME THAT THE MASTER CONSOLE WILL BE FOUND. IF IT IS NOT, THE 13000001 * AREA OF CORE BEYOND THE LAST UCME WILL BE MANIPULATED. 13050001 PMAST2 OI UCMSTS,UCMTA TURN ON OPEN PENDING 13100001 OI UCMATR,UCMUF TURN ON DEVICE ACTIVE 13150001 ********************************************************************** 13200001 * THE FOLLOWING FIELDS ARE ZEROED IN THE UCM PREFIX 13250001 * 1. UCMSYSB 4. UCMCMID 7. UCMDOME 13300001 * 2. UCMSYSC 5. UCMXCT 8. UCMFLGS2 13350001 * 3. UCMSYSD 6. UCMSDS1 13400001 ********************************************************************** 13450001 * BASE REG 10 IS ALREADY SET AS THE PREFIX BASE 13500001 PREFIX1 SR R4,R4 ZERO WORK REGISTER Y02756 13520002 ST R4,UCMDOME ADDRESS OF FIRST DOMC Y02756 13550002 NI UCMSFLG1,C255-UCMSYSB-UCMSYSC-UCMSYSD FLAGS FOR HARD *13600001 COPY, CMDS TO HARD COPY AND MASTER CONSOLE SWITCH. 13650001 PREFIX2 NI UCMSFLG2,UCMSYSN BYTE TWO OF SYSTEM CONTROL FLAGS 13700001 * YM04722 13710002 XC UCMXCT(C1),UCMXCT EXTERNAL INTERRUPT COUNT 13750001 LA R14,C1 SET MESSAGE ID NUMBER 13800001 ST R14,UCMCMID TO ONE 13850001 XC UCMSDS1(C1),UCMSDS1 SDS FLAGS 13900001 LA R15,CVTEXIT PLACE ADDRESS OF CVT EXIT INSTR 13950001 ST R15,UCMWTOX IN THE UCM 14000001 LABELUCM SR R4,R4 ZERO WORK REGISTER Y02756 14020002 ST R4,UCMWTOQ DISCARD ALL SYSTEM OUTPUT MESSAGES 14050002 ST R4,UCMARECB ZERO ACR ECB Y02756 14054002 ST R4,UCMAECB ZERO ATTENTION ECB Y02756 14058002 ST R4,UCMOECB ZERO WTO/R ECB Y02756 14062002 ST R4,UCMDECB ZERO DOM ECB Y02756 14066002 ST R4,UCMNPECB ZERO NIPS ECB Y02756 14070002 ST R4,UCMMBPTR ZERO FIRST MMB POINTER Y02756 14074002 ST R4,UCMMBEND ZERO LAST MMB POINTER Y02756 14078002 ST R4,UCMMQPTR ZERO FIRST MQE POINTER Y02756 14082002 ST R4,UCMMQEND ZERO LAST MQE POINTER Y02756 14086002 ST R4,UCMMQNXT ZERO NEXT MQE POINTER Y02756 14090002 ST R4,UCMXECB ZERO EXTERNAL ECB @YM08199 14095002 EJECT 14100001 ********************************************************************** 14150001 * STAR WTOR SEGMENT Y02893 14160002 * Y02893 14170002 * AT THIS POINT, ALL TASKS WHICH HAVE A WTOR OUTSTANDING 14200002 * WILL BE ABENDED VIA ABTERM. THE TASKS WITH OUTSTANDING REQUESTS 14250001 * WILL BE LOCATED BY SEARCHING DOWN THE ORE CHAIN. 14300002 * IF A TEMPORARY BUFFER EXIST FOR AN ORE (INDICATING THE ORE HAS Y02893 14310002 * BEEN PARTIALLY PROCESSED BY THE REPLY PROCESSOR) IT WILL BE Y02893 14320002 * FREED BEFORE ABENDING THE TASK. Y02893 14330002 ********************************************************************** 14400001 L R8,UCMRPYQ INITIALIZE ORE CHAIN POINTER 14450001 B ORELOOP1 GO TO ORE LOOP WHERE CHECKS ARE DONE 14500001 * THE FOLLOWING LOOP CHECKS ALL THE ORES AND ABENDS NON TSO TASKS 14550001 CHECKORE L R8,ORELKP GET ADDRESS OF NEXT ORE 14600001 ORELOOP1 LTR R8,R8 IS POINTER ZERO 14650001 BE PATTERN YES, SEARCH IS DONE 14700001 * HAS ORE BEEN PARTIALLY PROCESSED BY REPLY ? Y02893 14702002 TASKCHEK L R5,OREOPBUF GET POINTER TO TEMP. BUFFER Y02756 14704002 LTR R5,R5 TEMPORARY BUFFER EXIST ? Y02756 14706002 BE TASKABEN IF NO, DO NOT FREE CORE Y02756 14708002 LH R0,C0(R5) GET LENGTH OF TEMP. BUFFER Y02756 14710002 L R4,UCMPXA GET ADDRESS OF TCB Y02756 14712002 L R7,UCMASCB GET COMM TASK ASCB Y02756 14714002 LR R2,R3 SAVE CVT POINTER Y02756 14715002 FREEMAIN RU,LV=(R0),A=(R5),SP=C231,BRANCH=YES Y02756 14716002 * FREE TEMPORARY BUFFER Y02756 14718002 LR R3,R2 RESTORE CVT POINTER Y02756 14719002 TASKABEN L R4,ORETCB GET WTOR ISSUER'S TCB Y02756 14720002 LR R7,R8 SAVE CURRENT ORE POINTER Y02756 14722002 STARLOOP L R8,ORELKP GET POINTER TO NEXT ORE Y02756 14724002 LTR R8,R8 IS POINTER ZERO ? Y02756 14726002 BE STARCLTM ABEND WTOR ISSUER Y02756 14728002 L R5,ORETCB GET TCB OF ANOTHER ORE Y02756 14730002 CR R5,R4 ORE FOR SAME TASK ? Y02756 14732002 BNE STARLOOP NO, CONTINUE ORE SEARCH Y02756 14734002 LR R8,R7 RESTORE ORE POINTER Y02756 14736002 B CHECKORE IF SAME TASK DO NOT ABEND YET Y02756 14738002 STARCLTM LR R8,R7 RESTORE ORE POINTER Y02756 14740002 LH R7,OREASID GET WTOR ISSUER'S ASID Y02756 14742002 CALLRTM TYPE=ABTERM,COMPCOD=X'B23',TCB=(R4),ASID=(R7) Y02756 14744002 * ABEND WTOR ISSUER Y02756 14746002 B CHECKORE GO CHECK NEXT ORE 15500001 * 15550001 SPACE 3 15600001 * 15650001 * AT THIS POINT, FIELDS ASSOCIATED WITH THE ORE ARE CLEARED 15700001 * 15750001 PATTERN SR R4,R4 ZERO WORK REGISTER Y02756 15770002 ST R4,UCMRPYQ ORE CHAIN POINTER Y02756 15800002 ST R4,UCMWQEND LAST WQE POINTER Y02756 15820002 XC UCMRPYI(C13),UCMRPYI REPLY ID PATTERN 15850001 XC UCMRQNR(C2),UCMRQNR ORE CURRENT COUNTER 15900001 XC UCMWQNR(C2),UCMWQNR WQE CURRENT COUNTER 15950001 XC UCMMODE(C1),UCMMODE MODE FLAGS 16050001 EJECT 16100001 ********************************************************************** 16150001 * STAR WWB WAIT SEGMENT Y02893 16152002 * Y02893 16154002 * THE FOLLOWING SEGMENT WILL SCAN THE WQE AND ORE WWB CHAINS Y02893 16156002 * LOOKING FOR WAITING TASK BECAUSE OF UNAVAILABLE WQES OR ORES. Y02893 16158002 * IF ANY ARE FOUND THEY WILL BE POSTED VIA CROSS MEMORY POST. Y02893 16160002 * Y02893 16162002 *****************************************************************Y02893 16164002 USING WWB,R6 ADDRESSABILITY FOR WWB Y02756 16166002 L R6,UCMWECBH GET FIRST WQE WWB ON CHAIN Y02756 16168002 LA R7,UCMWECBH GET ADDR OF HEAD POINTER Y02756 16170002 BAL R14,STARWWBL SEARCH WWB CHAIN Y02756 16172002 L R6,UCMOECBH GET FIRST ORE WWB ON CHAIN Y02756 16174002 LA R7,UCMOECBH GET ADDR OF HEAD POINTER Y02756 16176002 BAL R14,STARWWBL SEARCH WWB CHAIN Y02756 16178002 B LABLUCM2 GO DO MORE CLEANUP Y02756 16180002 STARWWBL CR R6,R7 ANY WWBS ON CHAIN ? Y02756 16182002 BE STARWWBO IF NO,CHECK ORE WWB CHAIN Y02756 16184002 TM WWBFLAGS,HEX80 POST BIT ON IN WWB ? Y02756 16186002 BO STARLNXT IF NO,GET NEXT WWB Y02756 16188002 STM R0,R15,C0(R13) SAVE REGS ACROSS XMPOST Y02756 16190002 LR R9,R13 SAVE ADDR OF SAVEAREA Y02756 16192002 L R13,WWBASCB ADDR OF USERS ASCB Y02756 16194002 L R5,UCMWAKUP GET ERROR EXIT ADDRESS Y02756 16195002 L R11,WWBECB ADDR OF ECB Y02756 16196002 L R15,CVT0PT01 POST ENTRY POINT Y02756 16198002 O R11,INTREGPS INDICATE XMPOST Y02756 16200002 LR R12,R5 SET ERROR ADDRESS Y02756 16205002 SR R10,R10 POST INTERFACE Y02756 16210002 BALR R14,R15 BRANCH TO POST Y02756 16215002 LR R13,R9 RESTORE SAVEAREA ADDRESS Y02756 16220002 LM R0,R15,C0(R13) RESTORE REGISTERS Y02756 16225002 OI WWBFLAGS,HEX80 TURN WWB POST BIT ON Y02756 16230002 STARLNXT L R6,WWBFWDPT GET NEXT WWB Y02756 16235002 B STARWWBL CHECK FOR EMPTY CHAIN Y02756 16240002 STARWWBO BR R14 RETURN TO CALLER Y02756 16245002 EJECT 17800001 ********************************************************************** 17850001 * STAR RELEASE SEGMENT Y02893 17856002 * Y02893 17862002 * THE FOLLOWING SEGMENT WILL 1) LOOP THROUGH THE UCMES ZEROING Y02893 17868002 * ALL I/O ECBS, 2) FREE THE REGISTER SAVEAREA USED FOR BRANCH Y02893 17874002 * ENTRIES TO SYSTEM SERVICES AND 3) RELEASE ALL LOCKS HELD. Y02893 17880002 * Y02893 17886002 *****************************************************************Y02893 17892002 LABLUCM2 L R2,UCMLSTP GET EIL POINTER FROM THE UCM 20050001 USING UCMEIL,R2 ESTABLISH ADDRESSABILITY 20100001 XC UCMRPYL(C1),UCMRPYL LAST ASSIGNED REPLY ID 20150001 XC UCMRQECB(C4),UCMRQECB REPLY REQUEST WAITING ECB 20200001 *****************************************************************Y02893 20202002 * Y02893 20204002 * LOOP THROUGH ALL UCMES AND ZERO ALL I/O ECBS. Y02893 20206002 * Y02893 20208002 *****************************************************************Y02893 20210002 LM R5,R7,UCMVEA GET FIRST,LENGTH AND LAST UCMEY02756 20212002 SR R4,R4 SET INDEX REG @YM08199 20214002 STARUCML L R1,UCMRECBA+C4(R4) GET ADDR OF I/O ECB Y02756 20216002 XC C0(C4,R1),C0(R1) ZERO I/O ECB Y02756 20218002 LA R4,C4(R4) SET NEXT ECB INDEX @YM08199 20220002 BXLE R5,R6,STARUCML CHECK FOR END OF LIST Y02756 20222002 *****************************************************************Y02893 20224002 * Y02893 20226002 * FREE THE REGISTER SAVEAREA USED FOR BRANCH ENTRY TO Y02893 20228002 * SYSTEM SERVICES. Y02893 20230002 * Y02893 20232002 *****************************************************************Y02893 20234002 L R4,UCMPXA GET ADDRESS OF TCB Y02756 20236002 L R7,UCMASCB GET COMM TASK ASCB Y02756 20238002 LA R0,C72 SET LENGTH OF FREEMAIN Y02756 20240002 LR R1,R13 SET ADDRESS OF AREA Y02756 20242002 FREEMAIN RU,LV=(R0),A=(R1),SP=C229,BRANCH=YES Y02756 20244002 * FREE SAVEAREA USED BY SYSTEM SERVICES Y02756 20246002 SPACE 20248002 *****************************************************************Y02893 20250002 * Y02893 20254002 * RELEASE THE LOCAL AND CMS LOCKS. Y02893 20258002 * Y02893 20262002 *****************************************************************Y02893 20266002 LR R5,RBASE SAVE BASE REGISTER Y02756 20270002 FRECMS SETLOCK RELEASE,TYPE=CMS, Y02751X20274002 RELATED=(ORE,IEAVSTAA(SETCMS)) RELEASE CMS LOCK Y02751 20278002 FRELOCAL SETLOCK RELEASE,TYPE=LOCAL, Y02751X20286002 RELATED=(ORE,IEAVSTAA(SETLOCAL)) RELEASE LOCAL Y02751 20290002 LR RBASE,R5 RESTORE BASE REGISTER Y02756 20294002 EJECT 20550001 ********************************************************************** 20600001 * STAR OPMSG SEGMENT Y02893 20610002 * Y02893 20620002 * AT THIS POINT THE MESSAGE TO THE OPERATOR WILL BE WRITTEN. IT MUST 20650001 * FIRST BE DETERMINED IF THIS ENTRY TO STAR IS THE RESULT OF A @ZA13859 20700003 * D23 ABEND. IF SO, SKIP THE OPERATOR MSG. IF NOT, THE MSG @ZA13859 20720003 * BUFFER IS FILLED IN TO INFORM THE OPERATOR OF THE ABEND CODE @ZA13859 20740003 * AND THE STATUS OF THE DUMP. @ZA13859 20760003 ********************************************************************** 20800001 MSGFORM EQU * @ZA13859 20805003 LR R1,R9 RESTORE REG SAVE AREA ADDRESS 20815003 L R9,C36(R1) RESTORE UCM PREF REG Y02756 20825003 CLI R0OFFSET+C3(R1),C12 WHERE IS THE COMP CODE 20900001 BE ITSIN1 IF R0=12 ON ENTRY, THE CC IS IN R1 20950001 * OTHERWISE, CC IS IN THE SDWA 21000001 L R6,R1OFFSET(R1) SET STAR WORK AREA POINTER 21050001 LA R6,C0(R6) REMOVE FLAG BYTES 21100001 USING SDWA,R6 SET SDWA BASE 21150001 L R5,SDWACMPF GET ABEND CODE FROM THE SDWA 21200001 SRL R5,C12 RIGHT ALIGN 21250001 B TRANS GO TO MAKE IT PRINTABLE 21300001 * 21350001 ITSIN1 L R5,R1OFFSET(R1) GET ABEND CODE FROM INPUT REG 1 21400001 * 21450001 TRANS EQU * THE ABEND CODE IS IN REG 5. IT IS 21500003 * MADE PRINTABLE HERE 21550001 SLL R5,C20 LEFT ALIGN IN REG 5 21600003 LA R2,PRNTABL GET TABLE ADDRESS 21650001 LA R6,C3 SET LOOP CONTROL 21700001 PRNTLOOP SR R4,R4 ZERO WORK REG 21750001 SLDL R4,C4 GET FIRST DIGIT 21800001 IC R15,C0(R2,R4) GET ITS PRINTABLE EQUIVILANT 21850001 SLL R15,C8 MOVE OUT OF WAY 21900001 BCT R6,PRNTLOOP GO DO NEXT DIGIT IF ANY 21950001 LR R7,R1 SAVE SAVEAREA ADDRESS @ZA13859 21951003 TM UCM2SFLG,UCM2WTOI WAS STAR WTO ALREADY ISSUED @ZA13859 21953003 BNO ISSUEWTO NO, CONTINUE WTO PROCESSING @ZA13859 21955003 CLM R15,MASKE,ABENDD23 IS COMP CODE = D23 @ZA13859 21957003 BE NOWTO YES, BYPASS WTO PROCESSING @ZA13859 21959003 ISSUEWTO EQU * NO, CONTINUE WTO PROCESSING @ZA13859 21961003 OI UCM2SFLG,UCM2WTOI TURN ON WTO ISSUED FLAG @ZA13859 21963003 LR R6,R15 SAVE R15 ACROSS GETMAIN @ZA13859 21965003 GETMAIN R,SP=C229,LV=C64 GET THE WTO BUFFER Y02756 21974003 LR R8,R1 SAVE ADDR OF CORE Y02756 21977003 USING WPLRF,R8 ADDRESSABILITY FOR MSGAREA Y02756 21980003 MVC C0(LN,R8),OPMSG1 MOVE MESSAGE TO AREA Y02756 21983003 * IF LAST DIGIT IS DONE, PUT THE RESULTS IN THE MESSAGE 22000001 STCM R6,MASKE,WPLTXT+C8 RESULTS ARE IN REG6 @ZA13859 22050003 * (LEFT ALIGNED) @ZA13859 22060003 * THE ABEND CODE HAS BEEN CONVERTED AND PLACED IN THE MESSAGE 22100001 CCINMSG TM UCM2SFLG,UCM2DTAK WAS A DUMP TAKEN 22150001 BZ NDT IF NOT, INDICATE SO IN MSG 22200001 * DUMP WAS TAKEN. BLANK OUT FIELD SAYING NO 22250001 MVC WPLTXT+C38(C2),MSGBL MOVE TWO BLANKS IN Y02756 22300002 B OPMSG2 GO WRITE THE MESSAGE 22350002 * 22400001 NDT MVC WPLTXT+C38(C2),MSGNO MOVE WORD NO INTO THE MSG Y02756 22450002 * 22500001 * ISSUE THE WTO TELLING ABOUT THE COMM TASK ABEND 22550001 * 22600001 OPMSG2 EQU * @ZA13859 22620003 WTO MF=(E,(R8)) ISSUE WTO MSG Y02756 22650002 FREEMAIN R,SP=C229,LV=C64,A=(R8) FREE AREA Y02756 22700002 * THE ABEND CODE REPLACES THE YYY. BLANKS OR NO REPLACE THE ZZ 22750001 * DEPENDING ON WHETHER OR NOT A DUMP WAS TAKEN. THEY ARE NOT RESET 22800001 NOWTO EQU * LABEL TO BYPASS WTO PROCESS @ZA13859 22810003 NI UCM2SFLG,C255-UCM2WTOI TURN OFF WTO ISSUED FLAG @ZA13859 22820003 EJECT 22850001 ********************************************************************** 22900001 * 22950001 * STAR EXIT SEGMENT Y02893 22960002 * Y02893 22970002 * MESSAGE HAS BEEN WRITTEN. TIME TO CLEAN UP AND EXIT. 23000001 * 23050001 ********************************************************************** 23100001 * FIRST RELEASE THE REGISTER SAVE AREA IF ONE WAS OBTAINED. 23150001 STAREXIT L R14,C56(R7) GET RETURN ADDRESS Y02756 23170002 CLI R0OFFSET+C3(R7),C12 12 IN REG 0 SAYS GETMAIN WAS ISSUED 23210002 BNE NOREL1 IF NOT 12, AVOID FREEMAIN. 23250002 * FREE AREA FROM GETMAIN. ADDRESS IS IN REG 1 23300001 RELESE FREEMAIN R,SP=C229,LV=C72,A=(R7) DO FREEMAIN 23350003 * LOAD STAR RETRY ROUTINE TO GET THE RELOCATED ADDRESS. 23400001 NOREL LOAD EP=IEAVMQWR GET ADDRESS OF RETRY ROUTINE IN R0 23450001 * SET RETURN CODE 23500001 LA R15,C4 RETURN CODE OF 4 SAYS RETRY 23550001 ********************************************************************** 23600001 * * 23650001 * EXIT POINT * 23700001 * * 23750001 ********************************************************************** 23800001 BR R14 EXIT Y02756 23850002 * RETURN TO CALLER Y02756 23870002 NOREL1 LOAD EP=IEAVMQWR ADDRESS OF MQWR Y02756 23875002 LR R5,R0 SAVE ADDRESS OF MQWR Y02756 23880002 L R1,R1OFFSET(R7) RESTORE SDWA ADDRESS Y02756 23882002 CLM R1,MASK7,UCM2STAA IS THIS ORIG ERROR SDWA? @ZA30307 23882303 BE NSDWAFRE YES, DO NOT FREE ORIG SDWA @ZA30307 23882603 * NO, RECORD AND FREE SDWA @ZA30307 23882903 SETRP RC=4,RETADDR=(R5),FRESDWA=YES,RECORD=YES @ZA30307 23883203 BR R14 RETURN TO CALLER @ZA30307 23883503 NSDWAFRE DS 0F SAVE ORIGINAL ERROR SDWA & @ZA30307 23883803 SETRP RC=4,RETADDR=(R5),FRESDWA=NO,RECORD=YES RECORD @ZA30307 23884103 SETRP RETADDR=(R5),RC=4 ISSUE SET RP @ZA05368 23885003 BR R14 RETURN TO CALLER Y02756 23895002 EJECT 23900001 ********************************************************************** 23950001 * * 24000001 * REGISTER EQUATES * 24050001 * * 24100001 ********************************************************************** 24150001 R0 EQU 0 * 24200001 R1 EQU 1 * 24250001 R2 EQU 2 * 24300001 R3 EQU 3 * 24350001 R4 EQU 4 * 24400001 R5 EQU 5 * 24450001 R6 EQU 6 * 24500001 R7 EQU 7 * 24550001 R8 EQU 8 * 24600001 R9 EQU 9 * 24650001 R10 EQU 10 * 24700001 R11 EQU 11 * 24750001 R12 EQU 12 * 24800001 R13 EQU 13 * 24850001 R14 EQU 14 * 24900001 R15 EQU 15 * 24950001 PARMREG EQU 1 PARAMETER REGISTER 25000001 RBASE EQU 12 BASE REGISTER EQUATE 25050001 SAVEREG EQU 13 SAVE AREA POINTER 25100001 ********************************************************************** 25150001 * * 25200001 * GENERAL EQUATES * 25250001 * * 25300001 ********************************************************************** 25350001 C0 EQU 0 ZERO 25400001 C1 EQU 1 ONE 25450001 C2 EQU 2 TWO 25500001 C3 EQU 3 THREE 25550001 C4 EQU 4 FOUR 25600001 C5 EQU 5 FIVE 25650001 C8 EQU 8 EIGHT 25700001 C12 EQU 12 TWELVE 25750001 C13 EQU 13 THIRTEEN 25800001 C20 EQU 20 TWENTY 25850001 C36 EQU 36 REG 9 OFFSET Y02756 25870002 C38 EQU 38 THIRTY EIGHT 25900001 C56 EQU 56 REG 14 OFFSET Y02756 25920002 C64 EQU 64 LENGTH FOR GETMAIN 25950001 C231 EQU 231 SUBPOOL FOR FREEMAIN Y02756 25960002 C229 EQU 229 SUBPOOL FOR GETMAIN Y02756 25970002 C80 EQU 80 LENGTH OF MOVE INST. Y02756 25980002 C72 EQU 72 LENGTH OF GETMAIN Y02756 25990002 C255 EQU 255 MASK BYTE Y02756 26000002 * 26050001 ZERO EQU 0 GENERAL PURPOSE ZERO 26100001 EXIT EQU 3 SVC OPERAND FOR SVC EXIT 26150001 HEX4 EQU X'04' TO TEST FOR COUNT OF FOUR Y02756 26200002 HEX80 EQU X'80' MASK BYTE Y02756 26220002 HEX40 EQU X'40' MASK BYTE Y02756 26230002 MASK7 EQU 7 MASK OF 7 (3 LOW ORDER BITS) 26250001 MASK8 EQU 8 MASK OF 8 (HIGH ORDER BIT) 26300001 MASKE EQU 14 MASK OF E (3 HIGH ORDER BITS) 26350001 INCORE EQU 8 CONDITION CODE FOR LRA INST 26400001 * THE FOLLOWING ARE OFFSETS INTO THE SAVE AREA 26450001 * THEY ARE REQUIRED FOR CHECKING REGISTER CONTENTS AFTER THE INPUT 26500001 * REGISTERS HAVE BEEN DESTROYED. NOTE THAT ALTHOUGH THE REGISTERS 26550001 * WERE SAVED IN A 0 TO 15 STORE, REGISTERS 15,0, AND 1 WERE LOADED 26600001 * INTO REGISTERS 6,7, AND 8 BEFORE THE STORE TOOK PLACE. THAT IS THE 26650001 * REASON FOR THE RELATIVELY HIGH OFFSET. 26700001 * 26750001 R15OFFST EQU 24 OFFSET OF R15 INTO SAVE AREA 26800001 R0OFFSET EQU 28 OFFSET OF R0 INTO SAVE AREA 26850001 R1OFFSET EQU 32 OFFSET OF R1 INTO SAVE AREA 26900001 * THE FOLLOWING ARE OFFSETS IN TO THE MSG OF THE WTO TO FILL IN THE 26950001 * VARIABLES. THE CONSTANTS USED FOLLOW THE EQUATES. 27000001 MSGBL DC C' ' BLANKS FOR THE DUMP STATUS FIELD 27200001 MSGNO DC C'NO' THE WORD NO FOR THE DUMP STAT FLD 27250001 * THE CONDITION CODE IS AN INPUT PARAMETER. 27300001 EJECT 27350001 ********************************************************************** 27400001 * * 27450001 * CONSTANTS AND WORK AREAS * 27500001 * * 27550001 ********************************************************************** 27600001 ZERODC DC F'0' USED FOR ZERO COMPARES 27650001 TWELVE DC F'12' COMPARAND OF DECIMAL 12 27700001 INTREGPS DC X'80000000' TO SIGNIFY AN INTERREGION POST Y02756 27720002 MINUS8 DC H'-8' USED TO ADDRESS THE UCM PRFX ADDR'S 27800001 * 27900001 * THE FOLLOWING TABLE IS USED TO MAKE THE ABEND CODE PRINTABLE 27950001 PRNTABL DC C'0123456789ABCDEF' TO MAKE PRINTABLE 28000001 * 28050001 * ABEND CONTROL FIELD 28100001 DS 0F 28150001 ABENDA23 DC X'00A23000' ABEND DUMP AND ERROR CODE 28200001 ABENDB23 DC X'00B23000' ABEND DUMP AND ERROR CODE 28250001 ABENDD23 DC X'C4F2F300' EBCDIC D23 ABEND CODE @ZA13859 28260003 * 28300001 ********************************************************************** 28350001 * * 28400001 * SVC DUMP HEADER LINE * 28450001 * * 28500001 ********************************************************************** 28550001 CTHEADER SDUMP HDR='IEAVSTAA..COMMUNICATIONS TASK STAR DUMP',MF=L 28560002 * Y02756 28570002 OPMSG1 WTO 'IEE824A YYY COMMUNICATION TASK ABEND, ZZ DUMP TAKEN', *28620002 MF=L,DESC=1,ROUTCDE=1 WRITE THE MSG 28670002 LN EQU *-OPMSG1 LENGTH OF WTO Y02756 28720002 SPACE 3 28800001 DS 90X PATCH AREA 28810001 SPACE 3 28820001 * 28850001 *********************************************************************** 28900001 * * 28950001 * * 29000001 * DSECTS FOLLOW * 29050001 * * 29100001 * * 29150001 *********************************************************************** 29200001 TITLE 'IEAVSTAA - CVT' 29250001 CVT DSECT=YES 29300001 TITLE 'IEAVSTAA - ORE' 29350001 IHAORE DSECT=YES 29400001 TITLE 'IEAVSTAA - PSA' 29450002 IHAPSA 29500002 TITLE 'IEAVSTAA - SDWA' 29550001 IHASDWA 29600001 TITLE 'IEAVSTAA - CTM' 29650002 IHACTM WWB 29700002 TITLE 'IEAVSTAA - UCM' 29850001 IEECUCM FORMAT=NEW 29900001 TITLE 'IEAVSTAA - WPL' 29910002 IEZWPL DSECT=YES 29920002 TITLE 'IEAVSTAA - UCB' @ZA05368 29930003 IEFUCBOB PREFIX=YES @ZA13859 29940003 IEERDCM @ZA05368 29943003 IEETDCM @ZA05368 29946003 * 29950001 IEAVSTAA CSECT RESTART THE CSECT 30000001 ENDOFSTA EQU * END OF PROGRAM REFERENCE 30050001 * 30100001 END 30150001