In a message dated 7/14/2005 11:33:29 P.M. Central Daylight Time,
[EMAIL PROTECTED] writes:
In <[EMAIL PROTECTED]>, on
07/13/2005
at 06:52 PM, "Arthur T." <[EMAIL PROTECTED]> said:
> Most macros start with an optional label. Rather than tying
>the label to the first generated machine
>instruction, it's convenient to tie it to a DS 0H.
Yes, but that doesn't explain an unlabelled DS 0H.
I suspect the explanation for an unlabelled DS 0H at the beginning of a
macro expansion is a statement like this:
&LABEL DS 0H
If the macro's invoker puts a symbolic label on the line of code invoking
the macro, then that symbolic label is generated on the DS 0H statement. If
the invoker leaves the symbolic label field blank, the macro definition
probably does not test for the absence of the &LABEL parameter and bypass
generating an unlabelled DS 0H. We might say this is lazy programming, or a
case
of "who cares?"
But what bothers me much more is when someone writes a macro definition and
does not allow for a symbolic label to be propagated onto the first generated
line of macro expansion. E.g., if I code LABELXYZ GETMAIN
parm1,parm2,blahblah
then I don't expect to see this:
LABELXYZ not found
But I see such things from non-IBM macro developers. This forces me to add
one more instruction such as:
LABELXYZ DS 0H
BOZOMACRO parm1,parm2,blahblah
Or else I have been known to invade the macro definition and put &LABEL on
the first generated statement myself.
Bill Fairchild
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html