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. > > > >
