Joe Monk wrote:
"When you run in AMODE 64 (as indicated by specifying AMODE64=YES through
the SYSSTATE macro) and invoke ESTAEX, your ESTAEX routine will get control
in AMODE 64."
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.4.0/com.ibm.zos.v2r4.ieaa200/iea3a2_Description3.htm
So looks like you have to specify the SYSSTATE macro in z/os 2.4.
Joe
I was thinking some more about this - I think you're right that the
sentence there says if you're in AMODE 64 you need to indicate that
with the AMODE64=YES option.
But - there doesn't seem to be a prohibition from executing the
ESTAEX in AMODE=64 _without_ the AMODE64=YES (which is what
we were doing.)
There are a couple of ideas floating around in the doc:
1) - What is the AMODE of the ESTAE EXIT routine?
answer: It is the AMODE at the time of the issuing of the ESTAEX.
2) - What does the SDWAPARM field look like?
answer: If SYSTATE AMODE=64 is specifed, the SDWAPARM is a 64-bit
address that points to the value specified on
the PARM parameter
of the ESTAEX.
IF SYSTATE AMODE=64 is _not_ specified, the
SDWAPARM has
2 components - the first is a 31-bit pointer to
the value specified
in the PARM paramter of the ESTAEX, the second
is the ALET for
that address.
Now - when my ESTAEX is complete, the AMODE is properly set to AMODE=64,
it's just that the address in the PSWA now looks like a 31-bit address
(with bit32
magically set) instead of a "clean" 64-bit address... where before that
didn't happen.
Seems like returning from ESTAEX shouldn't do that?
But - then again - you can read that sentence as "if your code runs in
AMODE=64,
you _must_ specify SYSTATE AMODE=64 for the assembly."
What happens, then, if you specify SYSTATE AMODE=64 but the code is
executing
in AMODE=31 ?
- Dave R. -
--
[email protected] Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN