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=&&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=&&OBJSET,UNIT=SYSALLDA,SPACE=(80,(9000,9000)), > // DISP=(MOD,PASS) > //* > // PEND > //CREATE EXEC PGM=IEFBR14 > //DD13 DD DSN=&&LOADLIB,DISP=(,PASS), > // DCB=(RECFM=U,LRECL=0,BLKSIZE=6144), > // SPACE=(CYL,(10,10,20)),UNIT=SYSALLDA > //DD14 DD DSN=&&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=&&OBJSET,DISP=(OLD,DELETE) > //*SYSLIB not needed > //SYSLMOD DD DSN=&&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=&&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
