At 6:34 PM -0400 on 7/7/11, Shmuel Metz (Seymour J.) wrote about Re:
Annoyance with the IEZJSAB macro:
You're the one asking IBM to provide training wheels. An experience
assembler program should know to reinstate addressability R14, R15 and
R1 following any code that alters the subject register.
You are confusing two issues. There is a USING for R1 when the macro
was called. This USING was destroyed by the macro when it issued its
own USING without bracketing it with a PUSH/POP. This has nothing to
do with the macro making use of R1 since the user can restore the
contents of R1 after the return from the macro by reloading the
needed value. What should NOT be also needed is to reissue the USING
since unless documented in the Macro definition, the macro should not
be issuing its own USING without protecting the current USING via
PUSH/POP. All the docs say that R14-R1 are subject to being modified
by the Macros NOT that USINGs on these registers are also subject to
being modified/destroyed by the macros.
Note that DSECT mapping Macros use PUSH/POP when they modify the
PRINT settings so the state upon finishing the macro mapping is the
same as when the macro was called. This same consideration should IMO
apply to a macro hijacking the USING states.
----------------------------------------------------------------------
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