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

Reply via email to