Re: BSAM Read 31 bit mode

2023-02-23 Thread Joseph Reichman
They could of had had a exlst on the DCBE with xl5 ds x for the code and xl4
for the address 

 

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Binyamin Dissen
Sent: Sunday, February 19, 2023 10:38 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

On Sun, 19 Feb 2023 08:37:39 -0600 Paul Gilmartin
<042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:

:>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?

The ICM does not touch 0-7.

And it is the access method address, not the SYNAD

:>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.

The cost of downward compatibility. One could argue that IBM should supply
GLUE routines, but instead they did the DCBE. One wonders how much effort it
is worth to support legacy access methods from above the bar.

:>31-bit is underreaching.  Should be 64.

Reasonable people can disagree.

--
Binyamin Dissen  http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
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


Re: BSAM Read 31 bit mode

2023-02-19 Thread Seymour J Metz
Thanks.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Joseph Reichman [reichman...@gmail.com]
Sent: Sunday, February 19, 2023 9:23 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

Shmuel

I looked that up or browsed the macro there is no reference rmode/amode 31
in the macro.

I did try sysstate amode64 generated the same code.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Seymour J Metz
Sent: Saturday, February 18, 2023 8:40 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

What is on your SYSSTATE?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of
Joseph Reichman [reichman...@gmail.com]
Sent: Friday, February 17, 2023 3:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: BSAM Read 31 bit mode

Hi



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



Thanks


--
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

--
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


Re: BSAM Read 31 bit mode

2023-02-19 Thread Seymour J Metz
> The combination with a mask of B'0111' limits addressing to 24 bits.
> It does work in AMODE 31 and 24, but not on a 360.

In this case it doesn't matter, because IBM uses bits 0-7 of that word in the 
DCB for flags, so 24 bits is all that's left.

> A colleague, working for MIPS/SGI had to steadfastly refuse requests from 
> software
>developers not to validate upper bits of 64-bit addresses, prohibiting their 
>use for flags.

Not my monkeys, not my circus, but how do you spell "Hell, no"?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Paul Gilmartin [042bfe9c879d-dmarc-requ...@listserv.ua.edu]
Sent: Sunday, February 19, 2023 12:52 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

On Sun, 19 Feb 2023 17:14:14 +, Seymour J Metz wrote:

>> THe ICM clears bits 0-7 of the (SYNAD?) address.
>
>It's the XR that clears bits 0-7, not the ICM.
>
The combination with a mask of B'0111' limits addressing to 24 bits.
It does work in AMODE 31 and 24, but not on a 360.

>That's not what OPTABLE is for; many macros test the globals set by SYSSTATE, 
>which is why it's there.
>
Thanks.

>> 31-bit is underreaching.  Should be 64.
>
>Agreed, unless technology advances much more rapidly than I expect. But 24-bit 
>was also underreaching when S/360 came out, given what was already on the 
>market.
>
A colleague, working for MIPS/SGI had to steadfastly refuse requests from 
software
developers not to validate upper bits of 64-bit addresses, prohibiting their use
for flags.

Assembler is the wrong language for upward compatibility.

-- 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


Re: BSAM Read 31 bit mode

2023-02-19 Thread Paul Gilmartin
On Sun, 19 Feb 2023 17:14:14 +, Seymour J Metz wrote:

>> THe ICM clears bits 0-7 of the (SYNAD?) address. 
>
>It's the XR that clears bits 0-7, not the ICM.
>
The combination with a mask of B'0111' limits addressing to 24 bits.
It does work in AMODE 31 and 24, but not on a 360.

>That's not what OPTABLE is for; many macros test the globals set by SYSSTATE, 
>which is why it's there.
>
Thanks.

>> 31-bit is underreaching.  Should be 64.
>
>Agreed, unless technology advances much more rapidly than I expect. But 24-bit 
>was also underreaching when S/360 came out, given what was already on the 
>market.
>
A colleague, working for MIPS/SGI had to steadfastly refuse requests from 
software
developers not to validate upper bits of 64-bit addresses, prohibiting their use
for flags.

Assembler is the wrong language for upward compatibility.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: BSAM Read 31 bit mode

2023-02-19 Thread Seymour J Metz
> THe ICM clears bits 0-7 of the (SYNAD?) address. 

It's the XR that clears bits 0-7, not the ICM.

> 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.

That's not what OPTABLE is for; many macros test the globals set by SYSSTATE, 
which is why it's there.

> 31-bit is underreaching.  Should be 64.

Agreed, unless technology advances much more rapidly than I expect. But 24-bit 
was also underreaching when S/360 came out, given what was already on the 
market.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Paul Gilmartin [042bfe9c879d-dmarc-requ...@listserv.ua.edu]
Sent: Sunday, February 19, 2023 9:37 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


Re: BSAM Read 31 bit mode

2023-02-19 Thread Seymour J Metz
Both BALR and BASR change all bits of the link register. ICM with a mask of 7, 
however, does not alter bits 0-7.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Joseph Reichman [reichman...@gmail.com]
Sent: Sunday, February 19, 2023 9:38 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

My mistake was the BALR in AMODE 31 doesn't kill bits 1 - 7

thanks

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Binyamin Dissen
Sent: Sunday, February 19, 2023 5:16 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

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.

On Fri, 17 Feb 2023 15:35:35 -0500 Joseph Reichman 
wrote:

:>Hi
:>
:>
:>
:>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 :> :> :> :>Thanks :> :>
:>--
:>For IBM-MAIN subscribe / signoff / archive access instructions, :>send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen  
http://secure-web.cisco.com/13hbCrLlhji1mE1QcrvOfhv220KW1Zbxc753wJYo9J6fI6SSH4j4xbkROG3VX4x1gpt7mCqN4G8oMrCFgaKuUI3BQnPlEKy_brLCZmDkRAXsa3hz1Vhie_a63QG5TuyjONJ6U2_r09JZ6I_piAF-_qr9v2ZFSc0xv6W-w_k8Pkoljr5mbtMhUg1XHb6HTqz4Hp6wsKPwpR-DkqDNB8O4CnjZTUc6d2fFrWlbjs6Ahl-7nhdDsumi8j0VoQIy9J6oJQ0V8lLeWdZrhxYIkaXei1H62qt8yuBJARAIuJ77F15muF8wbVFVaxtymYI7bpJ7J5zr_Omk_MSvbV_A9ZvLy0QaeUzFraZOxt8yYWi7wCb1ZcDVXI2Ub9gYV5g8kC_IIGS87GSTsfxQy25_8Aq0AaD7DhjGN-FKHGDD14odIDVqK8kGQmmC-wUEjI2VU9x8r/http%3A%2F%2Fwww.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
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

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: BSAM Read 31 bit mode

2023-02-19 Thread Seymour J Metz
I've never believed that a faster assembly justifies making a program harder to 
debug, modify or read, not even on the 650, which was slower than your wrist 
watch. I'll admit to using "16" instead of "CVTPTR", but I attribute it to 
youthful folly and haven't done it in decades. Since the 1970s I've been urging 
the use of mapping macros rather than "magic numbers".


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Binyamin Dissen [bdis...@dissensoftware.com]
Sent: Sunday, February 19, 2023 11:28 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

On Sun, 19 Feb 2023 10:12:31 -0600 Paul Gilmartin
<042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:

:>On Sun, 19 Feb 2023 17:37:46 +0200, Binyamin Dissen wrote:
:>>:
:>>:>With one line more context:
:>>:>>:>ICM   15,B'0111',49(R6)
:>>:>>:> BALR  14,15

:>>The ICM does not touch 0-7.
:
:>It doesn't preserve them.

Of course it does. The bits in the register are unchanged. Refer to the POPS.

:>>And it is the access method address, not the SYNAD

:>(These things would be more legible if IBM relied on USING.)

:>OK.  Not exactly GUPI.  Although I once stole it to supply a custom access 
method
:>(RMODE 24).

Which would have required a DCBD expansion and a slower assembly.

The later macros do rely on the mapping macros.

--
Binyamin Dissen 
http://secure-web.cisco.com/1Iu6t_VM2pP0PFuBEZyogndUWdd5B7xu3Wsn20MkWWtoMfQ8u47mZVoxCZjFwwSDFCkTKoZZqoRI9SoTnpyAkwKpORkuFmcEvDMSu3-NXtU_R9MN12duHlKQH63UNYzfnzTpHX0Buace_D3nsLFCosM3RyViKzJFEeaBIDfjFbtH-GILWRs-Jxdi4g5zhKYjmLZ5rSO0K7lh2vH4MEFNn8GvfvTCH4R6LjLX78OzaqBWyaQ6zG-TmNb1JQyNk_UDRmq2HYMxh4yigx0kVQqV8-fRPpaQ0omWc6vZgsWVWLICQloewqOiMq2ec58QmI4HSbKxiuVwTJcqyz8plO_7KpGlLM7-v7F-WgsBSncTW4nLJD6baHGTRWxr0rGmxlFxB8fca7nrWIOs_ioSi72yGFi9FQe6Q1TughB1rQdPKAM4/http%3A%2F%2Fwww.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
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


Re: BSAM Read 31 bit mode

2023-02-19 Thread Binyamin Dissen
On Sun, 19 Feb 2023 10:12:31 -0600 Paul Gilmartin
<042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:

:>On Sun, 19 Feb 2023 17:37:46 +0200, Binyamin Dissen wrote:
:>>:
:>>:>With one line more context:
:>>:>>:>ICM   15,B'0111',49(R6)
:>>:>>:> BALR  14,15

:>>The ICM does not touch 0-7.
:
:>It doesn't preserve them.

Of course it does. The bits in the register are unchanged. Refer to the POPS.

:>>And it is the access method address, not the SYNAD

:>(These things would be more legible if IBM relied on USING.)

:>OK.  Not exactly GUPI.  Although I once stole it to supply a custom access 
method
:>(RMODE 24).

Which would have required a DCBD expansion and a slower assembly.

The later macros do rely on the mapping macros.

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: BSAM Read 31 bit mode

2023-02-19 Thread Paul Gilmartin
On Sun, 19 Feb 2023 17:37:46 +0200, Binyamin Dissen wrote:
>:
>:>With one line more context:
>:>>:>ICM   15,B'0111',49(R6)
>:>>:> BALR  14,15
>
>The ICM does not touch 0-7.
> 
It doesn't preserve them.

>And it is the access method address, not the SYNAD
>
(These things would be more legible if IBM relied on USING.)

OK.  Not exactly GUPI.  Although I once stole it to supply a custom access 
method
(RMODE 24).

-- 
gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: BSAM Read 31 bit mode

2023-02-19 Thread Binyamin Dissen
On Sun, 19 Feb 2023 08:37:39 -0600 Paul Gilmartin
<042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:

:>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?

The ICM does not touch 0-7.

And it is the access method address, not the SYNAD

:>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.

The cost of downward compatibility. One could argue that IBM should supply
GLUE routines, but instead they did the DCBE. One wonders how much effort it
is worth to support legacy access methods from above the bar.

:>31-bit is underreaching.  Should be 64.

Reasonable people can disagree.

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: BSAM Read 31 bit mode

2023-02-19 Thread Joseph Reichman
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  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


Re: BSAM Read 31 bit mode

2023-02-19 Thread Joseph Reichman
My mistake was the BALR in AMODE 31 doesn't kill bits 1 - 7 

thanks

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Binyamin Dissen
Sent: Sunday, February 19, 2023 5:16 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

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.

On Fri, 17 Feb 2023 15:35:35 -0500 Joseph Reichman 
wrote:

:>Hi
:>
:>
:>
:>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 :> :> :> :>Thanks :> :>
:>--
:>For IBM-MAIN subscribe / signoff / archive access instructions, :>send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen  http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
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


Re: BSAM Read 31 bit mode

2023-02-19 Thread Paul Gilmartin
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


Re: BSAM Read 31 bit mode

2023-02-19 Thread Joseph Reichman
Shmuel 

I looked that up or browsed the macro there is no reference rmode/amode 31
in the macro.

I did try sysstate amode64 generated the same code. 

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Seymour J Metz
Sent: Saturday, February 18, 2023 8:40 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BSAM Read 31 bit mode

What is on your SYSSTATE?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of
Joseph Reichman [reichman...@gmail.com]
Sent: Friday, February 17, 2023 3:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: BSAM Read 31 bit mode

Hi



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



Thanks


--
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

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: BSAM Read 31 bit mode

2023-02-19 Thread Binyamin Dissen
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.

On Fri, 17 Feb 2023 15:35:35 -0500 Joseph Reichman 
wrote:

:>Hi
:>
:> 
:>
:>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
:>
:> 
:>
:>Thanks
:>
:>
:>--
:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: BSAM Read 31 bit mode

2023-02-18 Thread Seymour J Metz
What is on your SYSSTATE?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Joseph Reichman [reichman...@gmail.com]
Sent: Friday, February 17, 2023 3:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: BSAM Read 31 bit mode

Hi



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



Thanks


--
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


Re: BSAM Read 31 bit mode

2023-02-17 Thread Michael Stein
On Fri, Feb 17, 2023 at 03:35:35PM -0500, Joseph Reichman wrote:
> And yet my read macro expands to  ICM   15,B'0111',49(R6) 
> 
>  BALR  14,15

I can't see your read macro call, but if it's inline the macro
is going to generate the DECB inline with the code.  Since the
DECB must be 24 bit addressable the code must be too.

Perhaps the macro knows this and thus knows that the ICM will work...

> Does this mean The DECB has to be AMODE 24

DFSMS Macro Instructions for Data Sets Version 2 Release 2
SC23-6852-03

see the section in Chapter 5. Non-VSAM macro descriptions
Data above the 16MB line

  If the issuer of an access method macro executes in 31-bit addressing
  mode, the following must have valid 31-bit addresses but must reside
  below the 16 MB line:

  * DECB (BSAM).

  * DCB address on any macro (including the DECB) or in a register.

  * BSAM or BPAM buffers obtained by OPEN (BSAM). OPEN obtains BSAM
or BPAM buffers only when you code BUFNO on the DCB macro or the
DD statement.

There's a lot more in this manual around this area.  It appears the
later manuals dropped this section...

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


BSAM Read 31 bit mode

2023-02-17 Thread Joseph Reichman
Hi

 

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

 

Thanks


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN