SYSSTATE has never entirely "felt right" to me. For some things -- like ARCH -- 
it makes sense. "Hey assembler, when you assemble MVS macros, assume that the 
XA instructions are available." That makes sense. Your routine might get called 
by code running on a pre-XA box? Then don't specify that ARCH -- it will then 
work either way.

But for AMODE -- well, code is either AMODE 31 or AMODE 64 -- it's not 
permissive; it's not both. There is no AMODE ANY. So what do you specify for 
SYSSTATE if you have code that can run either way?

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf 
Of Joe Monk
Sent: Monday, March 23, 2020 2:38 PM
To: [email protected]
Subject: Re: Problems with ESTAEX invoked in AMODE 64 when assembled without 
SYSTATE AMODE=64

"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

On Mon, Mar 23, 2020 at 4:30 PM Thomas David Rivers <[email protected]>
wrote:

> I think I've run into an interesting problem with ESTAEX
> when it is invoked in AMODE 64 without SYSTATE AMODE=64
> set at assembly time.
>
> That is, this is code that could potentially run in either AMODE 31
> or AMODE 64... so it's not assembled with SYSTATE AMODE=64.
>
> What it _looks_ like from the dump is that ESTAEX is invoked
> (via  PC - this is just problem state) and on return, the address
> in the PSW has the AMODE bit set - but we are in AMODE 64,
> so now my PSW address is pointing to the wrong place.
>
> Of course - this doesn't work well when AMODE=64 and my
> program gets lost.
>
> This didn't seem to happen with zOS 2.3 - we've recently upgrade
> to zOS 2.4.
>
> Anyone seen anything like that for newer zOS?
>
> I _suppose_ I could always drop to AMODE 31 for invoking ESTAEX,
> but then my ESTAE exit would be in AMODE 31, and I'd prefer for it
> to be in the AMODE at the time ESTAEX is called...
>
> This "feels" unlikely - as the PC is hopefully just going to stack the
> current PSW address for its return... and I'd be very surprised
> of something changed that...   but - I thought I would just toss
> that out to see if anyone has an idea.
>
>      - Thanks -
>     - 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
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to