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:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On
Behalf Of John McKown
Sent: Thursday, May 11, 2017 10:24 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Performance of Decimal Floating Point Instruction
On Thu, May 11, 2017 at 12:12 PM, Paul Gilmartin <
00000014e0e4a59b-dmarc-requ...@listserv.uga.edu> 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.