On Fri, 15 Aug 2025 13:50:49 +0000, Seymour J Metz <[email protected]> wrote:
>The legacy formats don't support any of the new stuff; you need GOFF and >program objects. Sorry - I made two mistakes: 1. OMF is for the PC. I'm not sure what the legacy mainframe format is called. 2. I don't care too much about object code, it is the load module format that I care about. I'm not sure if your comment is meant to mean that the old load module format (not object format) also doesn't support the new stuff, ie RMODE 64, but it (RMODE 64) is mentioned on page 190 here: https://www.ibm.com/docs/en/SSLTBW_3.1.0/pdf/ieab200_v3r1.pdf which is the normal (legacy) load module format. And that's what I'm interested in. What's missing is VD references. It's likely me that's missing something. It seems impossible to have RMODE 64 support in one place, and genuinely not supporting VD references. BFN. Paul. >________________________________________ >From: IBM Mainframe Discussion List <[email protected]> on behalf of >Paul Edwards <[email protected]> >Sent: Friday, August 15, 2025 9:08 AM >To: [email protected] <[email protected]> >Subject: Re: Running a program RMODE64 > > >External Message: Use Caution > > > n Fri, 15 Aug 2025 12:19:59 +0000, Seymour J Metz <[email protected]> wrote: > >>Read the GOFF documentation. > >Are you saying OMF doesn't support VD references? > >Note that I don't need long external names, so I don't >need GOFF for that. But if VD is only supported for >GOFF, that might be an explanation as for why I didn't >see it in the manual. > >I had previously assumed it was there, but I was just >failing to find it. There are references to the CSECT >being RMODE 64, so some level of 64-bit has >presumably been added to OMF. > >BFN. Paul. > > > > >>________________________________________ >>From: IBMaMainframe Discussion List <[email protected]> on behalf of >>Paul Edwards <[email protected]> >>Sent: Thursday, August 14, 2025 11:38 PM >>To: [email protected] <[email protected]> >>Subject: Re: Running a program RMODE64 >> >> >>External Message: Use Caution >> >> >>On Thu, 14 Aug 2025 20:26:14 -0400, Joseph Reichman <[email protected]> >>wrote: >> >>Hi Jopeph. >> >>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 thatoyou can't go EXEC PGM= >>and have the program potentially go above 4 GiB? >> >> >>Page 291 shows that AMODE=64 existsb 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;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;amp;OBJSET,UNIT=SYSALLDA,SPACE=(80,(9000,9000)), >>// DISP=(MOD,PASS) >>//* >>// PEND >>//CREATE EXEC PGM=IEFBR14 >>//DD13 DD DSN=&&amp;amp;LOADLIB,DISP=(,PASS), >>// DCB=(RECFM=U,LRECL=0,BLKSIZE=6144), >>// SPACE=(CYL,(10,10,20)),UNIT=SYSALLDA >>//DD14 DD DSN=&&amp;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;amp;OBJSET,DISP=(OLD,DELETE) >>//*SYSLIB not needed >>//SYSLMOD DD DSN=&&amp;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;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 > >---------------------------------------------------------------------- >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
