You don't have to worry about AR until you get a problem. Our product
runs as a called assembler routine from LE and non-LE routines and goes
into and out of ARmode. Just remember that ARs are entirely your
responsibility (saving them all (if you wish), zeroing them before
entering ARmode (except for those you want values in), and restoring
them (if you wish)). The "if you wish" is because it appears IBM never
set any standard conventions for who is responsible for preserving ARs,
so you have set your own rules to ensure a subroutine you call is not
surprised by which ARs are set or whether ARmode was left on (I don't
know if CEEPCALL would reset it).
But if you have a problem, CEEDUMP will display a PSW showing the ARMODE
bit on and then ignore ARs in dumping the memory surrounding the
registers. It doesn't display ARs. I was told it wouldn't be changed
because the interface had no room for passing ARs back. You can always
result to an MVS RESMGR end of task exit or perhaps an equivalent
termination exit in LE.
On 2014-12-15 16:28, John McKown wrote:
On Mon, Dec 15, 2014 at 3:17 PM, Gary Weinhold <[email protected]> wrote:
I don't know just when LE decides it has to build an enclave, but if your
routine could be invoked by a non-LE routine (a transaction written in
assembler, for example), perhaps it would cause significant overhead. If
that's impossible, then no worries. Even it were possible, I don't know
how that overhead compares to storage obtain/release.
A point to remember. But, in this case, the routine is going to be
(supposedly) running as the main program in a started task. One possible
problem _might_ be that the routine must run in AR mode to access a data
space. So I'll likely need to read up on LE and AR mode. I'd almost be that
LE was _not_ designed with AR mode routines in mind. So I'll likely need to
be switching back and forth if I do much with LE. Hum, perhaps my love of
using C run-time subroutines needs be rethought. Or maybe I could use the
Metal C subroutines and so bypass LE. <sigh> Decisions! Decisions! Maybe
I'll just go back to playing "Midnight Castle". It's easier.