===================================================
-----Original Message-----
From: "Edward Jaffe" <[EMAIL PROTECTED]>
Sent: 7/17/2006 11:46 AM
To: "[email protected]" <[email protected]>
Subject: Re: z/OS level for SETFRR for AMODE(64)?
Jeffrey D. Smith wrote:
> As an ISV, I don't have the luxury of coding to the
> most current architecture. My code must still run on
> ESA/390 which may not have those instructions. sigh...
As an ISV?? (Guess I wouldn't know anything about that. ;-) FWIW, we use TAM,
SAM31, and SAM64 when PSAZARCH says we can.)
Weren't you the one asking if you could issue SETFRR in AMODE 64? In my
experience, a program that runs in AMODE 64 looks a whole lot different (uses a
different instruction set) than one that runs in AMODE 31. If you're running in
AMODE 64, you have TAM, SAM31, and SAM64 available. If you're not running in
AMODE 64, then it matters not if SETFRR allows it.
If you try to use pointer-defined linkage (e.g., BSM) to manage your AMODE in
all cases, watch out for the low order bit of the target address! (It has a
different meaning in z/Architecture than in ESA/390: the difference between an
AMODE switch and a specification exception due to an odd PSW.)
--
Edward E Jaffe
===================================================
Well, it seems simple enough to wrap SETFRR to force
AMODE(31), then bounce back to whatever the AMODE
was before (31 or 64):
BAS R14,WRAP
SETFRR ....
BSM 0,R14
WRAP O R14,=X'80000000'
BASSM R14,R14
This should work whether the code is running AMODE(31)
or AMODE(64), eh? (My code is always below the bar.) It
doesn't have to test the amode or the architecture.
Most of my code runs without "knowing" that it is
AMODE(64) or AMODE(31). Only on entry will it check
for AMODE(64) caller (via ESTA for PSW) and use the
LLGTR thing to clear the garbage bits from caller
addresses.
Jeffrey D. Smith
Farsight Systems Corporation
24 BURLINGTON DR
LONGMONT, CO 80501
303-774-9381 direct
303-709-8153 cell
303-484-6170 fax
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html