Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mit-eddie!bloom-beacon!tut.cis.ohio-state.edu!ucbvax!@rice.edu:SOMITCW@VCCSCENT.BITNET From: @rice.edu:SOMITCW@VCCSCENT.BITNET Newsgroups: comp.lang.asm370 Subject: (none) Message-ID: <8910061310.AA22590@brazos.rice.edu> Date: 6 Oct 89 13:31:13 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: IBM 370 Assembly Programming Discussion List <@rice.edu:ASM370%UCF1VM.BITNET@ricevm1.rice.edu> Distribution: inet Organization: The Internet Lines: 41 Code two routines, one called ABEND the other called ABDUMP. The abend code goes in the low-order 3 nybbles of register 1. The ABEND routine should have the high order bit of register 1 turned off, to suppress the dump. The ABDUMP routine should have the high order bit of register 1 turned on, to request a dump. Code the ABDUMP program as; ABDUMP CSECT , USING *,R15 SET A BASE REGISTER SAVE (14,12),,ABDUMP.&SYSDATE..&SYSTIME SAVE CALLER'S REGS. L R1,0(,R1) LOAD ADDRESS OF THE CALLERS PARMS L R1,0(,R1) LOAD THE ABEND CODE IN PIC S9(9) COMP FORMAT O R1,MASK REQUEST A DUMP <=== FOR ABDUMP ROUTINE ONLY ABEND (1) ISSUE SVC 13 MASK DC X'80000000' DUMP MASK <=== FOR ABDUMP ROUTINE ONLY R1 EQU 1 EQUATE FOR REGISTER 1 R15 EQU 15 EQUATE FOR REGISTER 15 END , END OF PROGRAM Note 1, 'ABEND (1)' has the parenthesis to indicate '1' is a register. Note 2, Register 1 is coded as (1) instead of (R1) to avoid extra expansion in the macro's code. Note 3, Register 1 is used instead of R2-R15 to avoid extra expansion in the macro's code. Note 4, ',DUMP' is not coded to avoid extra expansion in the macro's code. You can turn bit 0 on. Note 5, ',,STEP' is not coded to avoid abending a main task. Hope this helps. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Wayne A. Mitchell BitNet: SOMITCW@VCCSCENT Technical Services Coordinator Telephone: 804-225-2128 Virginia Community College System Fax: 804-786-3787 101 North 14th St. Richmond, Va., 23219