Thanks for the alignment issue. I went back and found that a DS 0H was in the code in some historical copies of the macro, but not in all the copies. I must have fat-fingered a line delete at some point.

Also, the SOC1 is only if I did not tell the macro how to handle a bad value. With some of my code, I am just too deep in the levels and past all other edits. So, as such, there should "never" be a bad value. So, instead of having to set up a new message or returning up the code levels, I want an abend so I can actually review the dump and see what happened.

I know too many programmers that say "it will never happen" and so don't put some sort of trap in "just in case". Eventually, they will get burnt.

Many years ago, there was a piece of software that put out a message: "Call Joe at xxxxx and tell him he owes Bob $10". Bob had bet Joe that some condition could never occur, but it did. Bob got his $10. :-)

Tony Thigpen

Steve Smith wrote on 5/3/21 6:32 PM:
There's no need for more parameters... just maybe a GBLA.

Frankly, I think branch tables are simple enough to code, including
automatic range checking, as to not be worth macros at all.

Whatever.

btw, HLASM is pretty smart, but it doesn't read your commentary:
A&SYSNDX DC    X'0000'    FORCE ABEND  | MUST BE TOGETHER FOR THE
C&SYSNDX DC    Y(*-B&SYSNDX-4-2)       | CL TEST TO WORK      TT 050610

You have an unaligned constant in front of an aligned one, and they have to
be together.  Lucky for you they are until someone tweaks your macro.
A&SYSNDX DC    A(*-B&SYSNDX-4-2)

..is what you want.  That oh-so-clever S0C1 for an out-of-range value will
work just as well.

sas


On Mon, May 3, 2021 at 5:36 PM Seymour J Metz <[email protected]> wrote:

The same would be true if you used macro parameters.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Assembler List [[email protected]] on
behalf of Tony Thigpen [[email protected]]
Sent: Monday, May 3, 2021 5:24 PM
To: [email protected]
Subject: Re: [PossibleSpam] Re: AREAD question

Because the AREAD enables building the built-in error trapping logic. If
the reg is too large or negative, it's trapped automatically. And, I
don't have to remember to change the limit edits every time I add
something to the branch table.

Tony Thigpen


Reply via email to