I don't have z/OS, I actually code assembler using:
VM, VSE, and Dignus (to upload as objects to VSE).

Dignus lets me use long macro names natively. And, I use it for most things, but one of my jobs requires me to assemble code for VSE using VM's assembler, so that is why I came up with the remapping macros.

Tony Thigpen

Paul Gilmartin wrote on 01/22/2015 10:12 AM:
On 2015-01-22, at 06:54, Tony Thigpen wrote:

I have used longer-than-8 macros for many years. Works great. I have one source 
macro that I include at the top of the member that is just 8 characters long. 
Inside, it has many macro 'redefs' so that I can use a long macro name in the 
code, but it gets converted to a shorter 8 character macro before going out to 
the library to get the macro.

A short example:

         MACRO
&NAME    PERFORM_ON &ADDR,&BAD_VALUE=
&NAME    PERFORMO &ADDR,BAD_VALUE=&BAD_VALUE
         MEND

An excellent refutation of those who insist that 8 characters
are all that anybody should ever need. or that 44 characters
are all that anybody should ever need.  Those limits impel
users such as you to reinvent that wheel repeatedly, repeatedly.

Of course, the z/OS UNIX filesystem has far more generous limits.
If only HLASM would exploit them as XLC does ...

BTW, it's regrettable that HLASM has no constructs such as POSIX
shell has to designate the entire argument list (viz. "$@").
I could imagine the renamed macro call as something such as:

     &NAME    PERFORMO &(1-*)

... where "&(1-*)" would mean the entire argument list.  Likewise,
an analogue of "shift N" to delete the first n arguments and shift
the remaining ones left N positions could be very useful, often
removing the requirement to code tedious loops.

-- gil


Reply via email to