Paul,

z390 has already been mentioned in this thread.
There's a web site at www.z390.org - but it has not seen enough
maintenance for quite a while, unfortunately.
Current version can be obtained from github.com/z390development/z390
You can either clone the repo or download from the "Releases".

Kind regards & Happy programming,
Abe Kornelis
==========


On 15/08/2025 05:38, Paul Edwards wrote:
> On Thu, 14 Aug 2025 20:26:14 -0400, Joseph Reichman <[email protected]> 
> wrote:
>
> Hi Joseph.
>
> I am interested in RMODE 64 on z/OS too. And have
> some questions too.
>
>
> Page 196 shows that RMODE 64 exists as a concept:
>
> https://publib.boulder.ibm.com/epubs/pdf/iea2b2b1.pdf
>
> On page 199 I can see V() references in the RLD.
>
> Where are VD() references documented?
>
>
>
>
>> It seems you can run a program that is rmode64
>> With synchx linkx  and attachx
> Does this mean that you can't go EXEC PGM=
> and have the program potentially go above 4 GiB?
>
>
> Page 291 shows that AMODE=64 exists, but not RMODE=64
> But perhaps if the RMODE is ANY, z/OS can further check
> the internals of the load module and decide to locate
> it above 4 GiB?
>
>
> I don't have direct access to z/OS. Would someone be
> able to assemble this (it may need corrections) and
> give me the object code for ONE and TWO, plus the
> resulting load module unloaded with IEBCOPY and
> transferred with ftp binary with locsite rdw
>
> Thanks. Paul.
>
>
>
> //PDPMVS   JOB CLASS=C,REGION=0K,TIME=1440
> //*
> //PDPASM   PROC LIST='NOLIST'
> //ASM      EXEC PGM=ASMA90,
> //   PARM='DECK,&LIST,TERM'
> //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR,DCB=BLKSIZE=32720
> //         DD DSN=&&amp;MACLIB,DISP=(OLD,PASS)
> //         DD DSN=SYS1.MODGEN,DISP=SHR
> //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
> //SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
> //SYSUT3   DD UNIT=SYSALLDA,SPACE=(CYL,(20,10))
> //SYSTERM  DD SYSOUT=*
> //SYSPRINT DD SYSOUT=*
> //SYSLIN   DD DUMMY
> //SYSGO    DD DUMMY
> //SYSPUNCH DD DSN=&&amp;OBJSET,UNIT=SYSALLDA,SPACE=(80,(9000,9000)),
> //            DISP=(MOD,PASS)
> //*
> //         PEND
> //CREATE   EXEC PGM=IEFBR14
> //DD13     DD DSN=&&amp;LOADLIB,DISP=(,PASS),
> // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144),
> // SPACE=(CYL,(10,10,20)),UNIT=SYSALLDA
> //DD14     DD DSN=&&amp;MACLIB,DISP=(,PASS),
> // DCB=(RECFM=FB,LRECL=80,BLKSIZE=6160),
> // SPACE=(CYL,(10,10,20)),UNIT=SYSALLDA
> //*
> //ONE      EXEC PDPASM,LIST='LIST'
> //SYSIN  DD  *
> ***********************************************************************
> *                                                                     *
> *  This program written by Paul Edwards.                              *
> *  Released to the public domain                                      *
> *                                                                     *
> ***********************************************************************
> ***********************************************************************
> *                                                                     *
> *  ONE - call TWO to set R15                                          *
> *                                                                     *
> ***********************************************************************
> *
>          PRINT GEN
> * YREGS was not part of the SYS1.MACLIB shipped with MVS 3.8j
> * so may not be available, so do our own defines instead.
> *         YREGS
> R0       EQU   0
> R1       EQU   1
> R2       EQU   2
> R3       EQU   3
> R4       EQU   4
> R5       EQU   5
> R6       EQU   6
> R7       EQU   7
> R8       EQU   8
> R9       EQU   9
> R10      EQU   10
> R11      EQU   11
> R12      EQU   12
> R13      EQU   13
> R14      EQU   14
> R15      EQU   15
> SUBPOOL  EQU   0
>          CSECT
> *
>          ENTRY ONE
> ONE      DS    0H
>          SAVE  (14,12),,ONE
>          LR    R10,R15
>          USING ONE,R10
>          LR    R9,R13
>          LA    R13,SAVEAREA
>          LG    R15,=VD(TWO)
>          LGR   R0,R14
>          BALR  R14,R15
>          LGR   R14,R0
>          LR    R13,R9
> *         LA    R15,0
>          RETURN (14,12),RC=(15)
> SAVEAREA DS    19F
>          END
> /*
> //TWO    EXEC PDPASM,LIST='LIST'
> //SYSIN  DD  *
> ***********************************************************************
> *                                                                     *
> *  This program written by Paul Edwards.                              *
> *  Released to the public domain                                      *
> *                                                                     *
> ***********************************************************************
> ***********************************************************************
> *                                                                     *
> *  return 5 in R15                                                    *
> *                                                                     *
> ***********************************************************************
> *
>          PRINT GEN
> * YREGS was not part of the SYS1.MACLIB shipped with MVS 3.8j
> * so may not be available, so do our own defines instead.
> *         YREGS
> R0       EQU   0
> R1       EQU   1
> R2       EQU   2
> R3       EQU   3
> R4       EQU   4
> R5       EQU   5
> R6       EQU   6
> R7       EQU   7
> R8       EQU   8
> R9       EQU   9
> R10      EQU   10
> R11      EQU   11
> R12      EQU   12
> R13      EQU   13
> R14      EQU   14
> R15      EQU   15
> SUBPOOL  EQU   0
>          CSECT
> *
>          ENTRY TWO
> TWO      DS    0H
>          LA    R15,5
>          BR    R14
>          END
> /*
> //*
> //LKED     EXEC PGM=IEWL,PARM='MAP,LIST,AMODE=64,RMODE=ANY'
> //SYSLIN   DD DSN=&&amp;OBJSET,DISP=(OLD,DELETE)
> //*SYSLIB not needed
> //SYSLMOD  DD DSN=&&amp;LOADLIB(PDPTEST),DISP=(OLD,PASS)
> //SYSUT1   DD UNIT=SYSALLDA,SPACE=(CYL,(2,1))
> //SYSPRINT DD SYSOUT=*
> //SYSABEND DD SYSOUT=*
> //SYSIN DD *
> /*
> //*
> //PDPTEST  EXEC PGM=PDPTEST,PARM='',
> //         COND=(4,LT,LKED)
> //STEPLIB  DD  DSN=&&amp;LOADLIB,DISP=(OLD,PASS)
> //SYSPRINT DD  SYSOUT=*
> //SYSTERM  DD  SYSOUT=*
> //SYSABEND DD  SYSOUT=*
> //SYSIN    DD  DUMMY
> //*
> //
>
> ----------------------------------------------------------------------
> 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