Easier my way to find and replace the traps with better code. Or, to remove. Just one line to fix. (I use xedit, so it's easier to do this than in ISPF.)

Tony Thigpen

Gibney, Dave wrote on 05/11/2017 02:34 PM:
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-
l...@listserv.uga.edu] On Behalf Of Tony Thigpen
Sent: Thursday, May 11, 2017 11:28 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
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: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.




Reply via email to