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