I think SYNAD can be RMODE 31 it’s a parms on the DCBE The other like abend and open I think are RMODE 24
Think IBM should have been consistent. Here is the doc from the using datasets manual. The exits are discussed on chapter 31 in the using datasets manual. Programming Considerations For BSAM, BPAM, and QSAM your SYNAD routine is entered with the addressability (24- or 31-bit) of when you issued the macro that caused entry to SYNAD. This typically is a CHECK, GET, or PUT macro. DCB SYNAD identifies a routine that resides below the line (RMODE is 24). DCBE SYNAD identifies a routine that may reside above the line. If it resides above the line, then all macros that might detect an I/O error must be issued in 31-bit mode. If both the DCB and DCBE specify SYNAD, the DCBE routine will b says if SYNAD is coded on the DCBE is above the line the other exits open and abend I believe are below Just wonder if you code an estate if that will get control before open abend -----Original Message----- From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of Paul Gilmartin Sent: Sunday, February 19, 2023 9:38 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: BSAM Read 31 bit mode On Sun, 19 Feb 2023 12:15:40 +0200, Binyamin Dissen wrote: >The fact that your code is AMODE 31 does not mean that the access >method MUST be above the line. > >The actual expansion had an XR 15,15 before the ICM. > >Why do you think that there is an issue? BALR does not change the AMODE. > With one line more context: >:>ICM 15,B'0111',49(R6) >:> BALR 14,15 THe ICM clears bits 0-7 of the (SYNAD?) address. If the user provides this, it must be below the line; RMODE 24. Will it be called in 24-bit or 31-bit mode? It's dismaying that after almost 4 decades programmers must be concerned with 24-bit limitations. Library macros should be sensitive to some option such as OPTABLE and generate code accordingly. 31-bit is underreaching. Should be 64. >On Fri, 17 Feb 2023 15:35:35 -0500 Joseph Reichman wrote: > >:>I see this documentation from IBM >:> >:>Addressing mode: When you issue the READ macro in 24-bit mode, >provide only :>24-bit addresses unless you code SF64 or SF64P. When you >issue the READ :>macro in 31-bit addressing mode, provide only 31-bit >addresses unless :>documentation says otherwise or you code SF64 or >SF64P. With SF64 or SF64P, :>the data area can reside above the 2 GB >bar but you cannot issue READ in :>64-bit mode. >:> >:>And yet my read macro expands to >:>ICM 15,B'0111',49(R6) >:> BALR 14,15 >:> >:>Does the address mode paragraph then mean AMODE 31 RMODE 24 :> :>In >Addition the synad exit Which has :> :>Table 58. Register contents on >entry to SYNAD routine-BDAM, BPAM, BSAM, and :>QSAM Register Bits >Meaning 0 0-7 Value to be added to the status indicator's :>address to >provide the address of the first CCW (QSAM only). Value may be :>zero, >meaning unavailable, if LBI is used. Using Non-VSAM User-Written Exit >:>Routines 494 z/OS: z/OS DFSMS Using Data Sets Table 58. Register >contents :>on entry to SYNAD routine-BDAM, BPAM, BSAM, and QSAM >(continued) Register :>Bits Meaning :> >:>8-31 Address of the associated data event control block for BDAM, >BPAM, and :>BSAM unless bit 2 of register 1 is on; address of the >status indicators :>shown in Figure 109 on page 491 for QSAM. If bit 2 >of register 1 is on, the :>failure occurred in CNTRL, POINT, or BSP and >this field contains the address :>on an internal BSAM ECB :> :>Does >this mean The DECB has to be AMODE 24 -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN