Tom Marchant wrote:
 
<begin snippet>
I might go so far as to contend that whenever a macro alters registers 1, 14, 
or 15 it should issue a drop for those registers if there is an active using.  
Unfortunately, AFAIK, there is no way to do this.
</end snippet>

Fortunately, in my view, he is quite right that there is no way to do this.  
USINGs come in three or perhaps four flavors: 1) simple, 2) dependent, 3) 
labeled, and 4) labeled dependent; and the HLASM LR 1.6 has this, among other 
things, to say about DROP for labeled USINGs:   
 
<begin snippet>
Labeled  USING 
You  cannot  end  the  domain  of  a  labeled  USING  instruction  by  coding  
a  DROP instruction  that  specifies  the  same  registers  as  were  specified 
 in  the  labeled  USING instruction.  If  you  want  to  end  the  domain  of  
a  labeled  USING  instruction,  you must  code  a  DROP  instruction  with  an 
 operand  that  specifies  the  label  of  the labeled  USING  instruction.
</end snippet> 
 
New macro definitions written ab initio are discussable, but the old ones we 
have all used for many years should be left alone.  As Ralph Waldo Emerson, an 
American sage who is no longer so well known as he should be, once wrote, "A 
foolish consistency is the hobgoblin of little minds". 


John Gilmore Ashland, MA 01721-1817 USA
                                          

Reply via email to