At 13:23 -0500 on 07/08/2011, Rick Fochtman wrote about Re: Annoyance with the IEZJSAB macro:

----------------------------------<snip>-----------------------------------

Next in importance is lowering the Astonishment Factor.
programmers are accustomed to USINGs being preserved by
macro invocations regardless that the associated registers are
modified.

I've never assumed that addressability is maintained for R14-R1 across
macro invocations and have always provided a new USING if I reload one
of them.

----------------------------------<unsnip>----------------------------------
When I learned Assembler, I was taught that registers 1,1,14 and 15 could NEVER be expected to remain unchanged accross a macro invokation. Seemed like a sound principle at the time and I still keep it in mind. IMNSHO, this principle remains unchanged.

Rick

The fact that the contents of R14-R1 not remaining unchanged across a macro invocation is not the issue. The issue was a USING not remaining unchanged across the macro invocation. Since the user is restoring R1 after the macro the expectation is that the use of the macro should not have changed the environment. The destruction of the USING by the macro voids this expectation.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to