"At the begining of a rmode64 pgm to look at the register values and
register 15 didn’t have the entry point "

Correct.

R15 on entry to a 64-bit program will have x'00000000 FFFFF002' - its a
flag to say youre running in 64-bit mode.

Joe

On Sun, Aug 17, 2025 at 11:04 AM Joseph Reichman <
[email protected]> wrote:

> I inserted a DC  H’0’
> At the begining of a rmode64 pgm to look at the register values and
> register 15 didn’t have the entry point
>
> > On Aug 17, 2025, at 11:04 AM, Seymour J Metz <[email protected]> wrote:
> >
> > Standard linkage is different for AMODE24/31 and AMODE64. An RMODE64
> program should expect R15 to have flag rather than the EP address.
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> > עַם יִשְׂרָאֵל חַי
> > נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> >
> >
> >
> >
> > ________________________________________
> > From: IBM Mainframe Discussion List <[email protected]> on
> behalf of Joe Monk <[email protected]>
> > Sent: Sunday, August 17, 2025 11:00 AM
> > To: [email protected] <[email protected]>
> > Subject: Re: RMODE 64
> >
> >
> > External Message: Use Caution
> >
> >
> > Standard linkage
> >
> > Joe
> >
> >> On Sun, Aug 17, 2025 at 9:52 AM Joseph Reichman <
> >> [email protected]> wrote:
> >>
> >> My only question is when submitting a batch job to execute rmode 64 what
> >> is the value
> >>
> >> Of Register 15 in entry
> >>
> >>> On Aug 17, 2025, at 10:32 AM, Peter Morrison <
> >> [email protected]> wrote:
> >>>
> >>> People,
> >>>
> >>>
> >>>
> >>> I have watched this discussion for several days.  I thought I would
> weigh
> >>> in. I have created and executed programs in RMODE 64.
> >>>
> >>>
> >>>
> >>> RMODE 64 has been supported by z/OS for a long time. I am not sure what
> >>> level it came in with (someone else can provide that) but all the
> >> relevant
> >>> items have been changed, as mentioned below.
> >>>
> >>>
> >>>
> >>> Note that before I begin to list things, to execute in an RMODE 64
> >>> environment (i.e., located above the 'bar') you *MUST* be in AMODE 64
> (if
> >>> you are not sure why, please read the principles of operation. You
> *MUST*
> >>> also remain in AMODE 64 for as long as the code that is being executed
> is
> >>> above the bar.
> >>>
> >>>
> >>>
> >>> *         You can use the assembler to create a CSECT that can be
> loaded
> >>> into 64-bit storage by using the '<csectname> RMODE 64' statement.
> >>>
> >>>
> >>>
> >>> *         There is no specific 'xD' ESD entry. Instead, the object
> format
> >>> has been enhanced to add a bit to the flags field in the ESD which says
> >> 'add
> >>> 4 to the length of the field'.   Thus VD and external AD fields can be
> >>> handled. Similarly, the object RLD records also have a flag bit that
> says
> >>> 'add 4 to the length - allowing an RLD entry for an 8-byte xD. Note
> that
> >> you
> >>> do not need to use GOFF to have RMODE 64 CSECTs.
> >>>
> >>>
> >>>
> >>> *         When you bind (link-edit) the program, you can specify the
> >> binder
> >>> option via the JCL Parm field (you can also use an input option, not
> >>> discussed here, read the manual). *DO NOT* use 'RMODE=64'. Instead you
> >>> *MUST* specify 'RMODEX=64TRUE'. Don't ask me why (RTFM). The resulting
> >>> program is an RMODE64 program.
> >>>
> >>>
> >>>
> >>> *         Note that an RMODE 64 program *DOES NOT* have to be a program
> >>> object. The load module format in a PDS (not a PDSE) has been enhanced,
> >> The
> >>> RMODE in the directory entry has a RMODE64 bit, the CESD entry flags in
> >> the
> >>> actual load module have a 'add 4 to the length' bit, and the RLD entry
> >> flags
> >>> in the actual load module have a 'add 4 to the length' bit.
> >>>
> >>>
> >>>
> >>> *         Program management was enhanced to load RMODE 64 programs
> above
> >>> the bar. The CDE (still in 24-bit storage) will point to a CDX which
> >> point
> >>> to a 64-bit extent list, which has 8-byte addresses and lengths.
> >>>
> >>>
> >>>
> >>> *         The ATTACH[X], LINK[X], XCTL[X], and LOAD facilities all can
> >> load
> >>> RMODE 64 programs. Whether the parameter list passed to that program
> >> will be
> >>> correct is another matter (note that the parameter list format depends
> on
> >>> the AMODE, not the RMODE) - the system doesn't alter the passed R1
> value
> >> so
> >>> you probably need to specify the correct parameter list format -
> >> determining
> >>> the target's RMODE (or AMODE) will be fun! (you can't use BLDL, because
> >> the
> >>> target program could be in the DLPA). I don't know what happens (IPL
> >> wait or
> >>> ignored) if an RMODE 64 program that is put into PLPA (or MLPA or
> FLPA) -
> >>> there is no  64-bit xLPA (the DLPA can have RMODE 64 programs in it but
> >> is
> >>> not built during IPL) and the compressed extent list in the LPDE does
> not
> >>> have 8-byte addresses and lengths. Note that all RMODE 64 programs
> >> *MUST* be
> >>> AMODE 64 but the reverse isn't true. (the parameter list format is
> based
> >> on
> >>> the AMODE of the target, not the RMODE)
> >>>
> >>>
> >>>
> >>> *         The JCL EXEC statement can execute an RMODE 64 program by
> >> simply
> >>> specifying its name. I don't know whether or not the PARMS passed are
> in
> >> the
> >>> correct format for a AMODE 64 program (does anyone want to test that?).
> >>> Under the covers the EXEC statement uses ATTACH[X].
> >>>
> >>>
> >>>
> >>> This list doesn't cover everything, but hopefully covers the main
> things.
> >>>
> >>>
> >>>
> >>> It's pretty easy to make a program execute in RMODE 64 (as mentioned
> >> above,
> >>> you *MUST* be in AMODE 64). However, as others have mentioned, only
> some
> >>> system services allow a user to be in AMODE 64, and even fewer allow a
> >> user
> >>> to be located above the bar (i.e., RMODE 64). The safest rule is to
> >> assume
> >>> the AMODE64 and RMODE 64 code cannot use a service unless that service
> >>> explicitly says it can.
> >>>
> >>>
> >>>
> >>> Peter Morrison
> >>>
> >>>
> >>>
> >>>
> >>> ----------------------------------------------------------------------
> >>> 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
> >
> >
> >
> >
> > ----------------------------------------------------------------------
> > 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