In days of limited storage, sure. But, today, why not
DC X''
DC C'I blew up here because the moon is blue'

> -----Original Message-----
> From: IBM Mainframe Assembler List [mailto:ASSEMBLER-
> [email protected]] On Behalf Of Tony Thigpen
> Sent: Thursday, May 11, 2017 11:28 AM
> To: [email protected]
> Subject: Re: Quick error termination of an assembler routine (Was:
> Performance of Decimal Floating Point Instruction)
> 
> For initial testing and debugging, I like:
> DC X'00xx' where 'nn' is a unique number. I get a blow-up and by looking at
> the instruction in the dump, I know which condition I hit without thinking.
> 
> Tony Thigpen
> 
> Charles Mills wrote on 05/11/2017 01:44 PM:
> > What is *wrong* with DC H'0'? It has the advantage of being incredibly
> straightforward. I had to spend a minute thinking about J *+2; I pretty much
> guarantee you anyone with six months of HLASM experience would "get" DC
> H'0'.
> >
> > I don't write much assembler anymore but if I did I think I might define a
> bunch of error situation equates in the 0 < value < 256 range:
> >
> > Blowup_no_input EQU 1
> > Blowup_invalid_parm EQU 2
> > Etc.
> >
> > Then one could code
> >
> >        DC  Y(Blowup_no_input)
> >
> > And it would (a.) be somewhat self-documenting in the source code and
> (b.) would more or less diagnose itself in a dump.
> >
> > And if 255 were not enough codes, one could go to 16 million+ with DC
> FL4(Blowup_whatever).
> >
> > Frankly, I use DC H'0 very infrequently, usually only temporarily ("I can't
> possibly be going through this code, could I?"). If is a "real" error then it
> should have a "real" termination with messages, a return code, a user ABEND,
> whatever is appropriate to the context, but something better than a
> S0C1/S0C3/S0C7. Three years from now if our support crew gets a call
> reporting a S0C1/S0C3/S0C7 are they going to have a clue? But if we staked
> out a user ABEND number that we always used then they could go "aha!" and
> look up the reason code.
> >
> > Charles
> >
> >
> > -----Original Message-----
> > From: IBM Mainframe Assembler List
> > [mailto:[email protected]] On Behalf Of John McKown
> > Sent: Thursday, May 11, 2017 10:24 AM
> > To: [email protected]
> > Subject: Re: Performance of Decimal Floating Point Instruction
> >
> > On Thu, May 11, 2017 at 12:12 PM, Paul Gilmartin < 00000014e0e4a59b-
> [email protected]> wrote:
> >
> >> On 2017-05-11, at 06:34, Charles Mills wrote:
> >>
> >>>> If you need a way to ABEND, use the proper LE service, or an
> >>>> assembler
> >>> routine. Anything else will bite you sooner or later.
> >>>
> >>> AMEN!
> >>>
> >> No more "DC H'0'"
> >>
> >
> > ​My current favorite is : J *+2 which results in a S0C1, since it is now
> guaranteed that x'00' will _never_ be used as a valid opcode. It replaces my
> previous favorite of: EX * which is an S0C3.
> >
> >

Reply via email to