Re: Saving Caller's 64-bit Regsiters

2022-01-29 Thread Peter Relson
Michael Schmitt wrote: Also the linkage stack is not supported by Language Environment, so you should not be using it in any code that can be called in an LE run-unit. The doc is likely "imprecise". It is surely untrue in general. z/OS does not need any "support" by LE in order for an

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-28 Thread Schmitt, Michael
Assembler List On Behalf Of Farley, Peter x23353 Sent: Thursday, January 20, 2022 11:30 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats) Note in that manual on page 34 of that PDF (page 6 in the book) it says: When a program

Re: Saving Caller's 64-bit Regsiters

2022-01-28 Thread Schmitt, Michael
2022 2:37 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters On 2022-01-28 15:08 PM, Schmitt, Michael wrote: > Also the linkage stack is not supported by Language Environment, so you > should not be using it in any code that can be called in an LE run-unit. I

Re: Saving Caller's 64-bit Regsiters

2022-01-28 Thread Schmitt, Michael
-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters Dave, if speed is an issue (i.e., your small routine is called many, many times), BAKR is **SLOW** even on very recent hardware. It is convenient, but normal save/restore processes beat the pants off BAKR if execution time

Re: Saving Caller's 64-bit Regsiters

2022-01-27 Thread Seymour J Metz
ist [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Tom Marchant [00a69b48f3bb-dmarc-requ...@listserv.uga.edu] Sent: Tuesday, January 25, 2022 10:48 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters The second word of a save area does not tell you about the s

Re: Saving Caller's 64-bit Regsiters

2022-01-25 Thread Tom Marchant
Sorry, the forward pointer is at +X'88'. +'80' is the back chain. -- Tom Marchant On Tue, 25 Jan 2022 10:48:55 -0500, Tom Marchant wrote: >If it is a 144-byte (or larger) save area, there are two possible forward >pointers. One at +8 and the other at +X'80'. Both can be valid.

Re: Saving Caller's 64-bit Regsiters

2022-01-25 Thread Tom Marchant
If you don't know that your caller provided a 144-byte save area, you have to assume that they only provided 72 bytes. That's what F5SA is for. The low halves are stored as they are in a standard save area, and you can save the forward pointer at offset 8. You store the high halves in your

Re: Saving Caller's 64-bit Regsiters

2022-01-25 Thread Tom Marchant
tserv.uga.edu] >Sent: Monday, January 24, 2022 2:01 PM >To: ASSEMBLER-LIST@LISTSERV.UGA.EDU >Subject: Re: Saving Caller's 64-bit Regsiters > >Replying to my own post to elaborate a little. > >When a program allocates a save area to pass to its callers, there is only >one wo

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Charles Mills
. A fullword in GETMAIN storage is good. AR 0 is good. QED Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Dave Clark Sent: Monday, January 24, 2022 11:15 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Seymour J Metz
: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Tom Marchant [00a69b48f3bb-dmarc-requ...@listserv.uga.edu] Sent: Monday, January 24, 2022 2:01 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters Replying to my own post to elaborate

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Farley, Peter x23353
Re: Saving Caller's 64-bit Regsiters For both VSE and zOS, there is REXX documentation (VSE'sis at https://urldefense.com/v3/__https://www.ibm.com/docs/en/zvse/6.2?topic=packages-interface-writing-external-function-subroutine-code__;!!Ebr-cpPeAnfNniQ8HSAI

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Seymour J Metz
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Gary Weinhold [weinh...@dkl.com] Sent: Monday, January 24, 2022 3:37 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters For both VSE and zOS

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Gary Weinhold
For both VSE and zOS, there is REXX documentation (VSE'sis at https://www.ibm.com/docs/en/zvse/6.2?topic=packages-interface-writing-external-function-subroutine-code that states that on entry to the called routine Register 13 contains the address of a register save area. What it doesn't say is

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/24/2022 02:01:29 PM: > When I'm following save area chains in a dump, starting with R13, I look > at the second word. If it is an address, I know that the save area at that > address is a standard 72-byte save area. If it is F4SA, F5SA, F7SA, or

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Tom Marchant
Replying to my own post to elaborate a little. When a program allocates a save area to pass to its callers, there is only one word, the second word, that it can use in the new save area. Everything else is reserved for the called program. The oldest documentation for the standard 72-byte save

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Tom Marchant
When you say that it "makes no sense", I think you mean that you don't understand it. The second word of a save area cannot be set by the caller. Or, rather, if it is, it will be destroyed by the called program. How does a program know how a caller will use the save area that is passed to

Re: Saving Caller's 64-bit Regsiters

2022-01-24 Thread Tom Marchant
If your program can be called by a program that you don't control, and that doesn't document that it provides something more, you have to assume that you re only provided a 72-byte save area. There is no code that a program can provide in the first word of a save area that could describe the

Re: Saving Caller's 64-bit Regsiters

2022-01-22 Thread Peter Relson
Tony Thigpen wrote "stuff". The opinions in that post do not reflect the requirements of an interface provider. It is irrelevant what your routine is called from. The caller is responsible for meeting the interface, whether that be save area or parameter list or other data or environment. And

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Farley, Peter x23353
Mainframe Assembler List On Behalf Of Tony Thigpen Sent: Friday, January 21, 2022 6:20 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters Dave, I found the BAKR/PR limitation I was thinking about: From the VSE Systems Macro Ref, under STXIT: "The STXIT

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Tony Thigpen
Dave, I found the BAKR/PR limitation I was thinking about: From the VSE Systems Macro Ref, under STXIT: "The STXIT macro is only allowed when the linkage stack is empty. If a STXIT macro is issued in a module called with a PC or BAKR instruction (that is, the linkage stack is not empty), the

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Tony Thigpen
The definitive source is: Supervisor Diagnosis Reference z/VSE (for your release) Chapter 2: Design Information Section: z/Architecture Linkage Stack The z/VSE 6.1 manual has a better PDF index and the language for this section has not changed since 4.1. Off the top of my head, I remember

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/21/2022 11:46:44 AM: > AND the other warning: > > No support for the linkage stack in an abend situation for the dumping > process, if you are in a vanilla VSE system. It is flushed and empty for > the next, but not shown in dumps I take

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Martin Trübner
Am 21.01.22 um 17:50 schrieb Dave Clark: OK, so what you're saying is that I should do the standard updates to the caller I never said anything about what you should do. Martin

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Seymour J Metz
anuary 21, 2022 6:32 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters "IBM Mainframe Assembler List" wrote on 01/21/2022 09:16:30 AM: > Dave Clark wrote > > is there > some other means of knowing whether or not to save the high halves in

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/21/2022 12:02:06 PM: > Once upon a time there were only 32-bit registers and 72-byte save areas. > Some documentation was written during that time. It would have made no sense > for it to say "we provide a 72-byte save area" because the obvious

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Charles Mills
WY overkill IMHO. Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Dave Clark Sent: Friday, January 21, 2022 8:50 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters "IBM Main

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Charles Mills
:32 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters "IBM Mainframe Assembler List" wrote on 01/21/2022 09:16:30 AM: > Dave Clark wrote > > is there > some other means of knowing whether or not to save the high halves in the > call

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/21/2022 11:46:44 AM: > AND the other warning: > > No support for the linkage stack in an abend situation for the dumping > process, if you are in a vanilla VSE system. It is flushed and empty for > the next, but not shown in dumps OK, so

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Martin Trübner
>> ... can the BAKR instruction be used in z/VSE? << I am not Tony, but I guess my answer is as good. Yes BAKR can be used in VSE - but not in CICS (or only in very very rare circumstances- AND to be very exact- not in any task switching environment (I know that I convinced one very good

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/21/2022 09:55:32 AM: > It's worse than you think. There is a save area format tag literal for > the save area, but it's not set by the caller. It is set by the callee > saying how he used the previous save area in the chain. Which makes no > sense.

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/21/2022 09:55:32 AM: > It's worse than you think. There is a save area format tag literal for > the save area, but it's not set by the caller. It is set by the callee > saying how he used the previous save area in the chain. Which makes no > sense.

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Seymour J Metz
2022 9:53 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters Peter, The whole "It's your interface" line is a crock of bull s**t. That may be true from the operating system's viewpoint, but not from the language system's viewpoint. We write stuff th

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Tony Thigpen
Dave, It's worse than you think. There is a save area format tag literal for the save area, but it's not set by the caller. It is set by the callee saying how he used the previous save area in the chain. Which makes no sense. Tony Thigpen Dave Clark wrote on 1/21/22 9:32 AM: "IBM

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Tony Thigpen
Peter, The whole "It's your interface" line is a crock of bull s**t. That may be true from the operating system's viewpoint, but not from the language system's viewpoint. We write stuff that can be called by: 1) the O/S 2) IBM provided language programs (such as Cobol) 3) our own programs.

Re: Saving Caller's 64-bit Regsiters - RCF sent

2022-01-21 Thread Seymour J Metz
-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters "IBM Mainframe Assembler List" wrote on 01/21/2022 09:16:30 AM: > Dave Clark wrote > > is there > some other means of knowing whether or not to save the high halves in the > caller's save area? > &g

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/21/2022 09:16:30 AM: > Dave Clark wrote > > is there > some other means of knowing whether or not to save the high halves in the > caller's save area? > > > This has been covered many times. It's your interface. If you documented > that they

Re: Saving Caller's 64-bit Regsiters

2022-01-21 Thread Peter Relson
Dave Clark wrote is there some other means of knowing whether or not to save the high halves in the caller's save area? This has been covered many times. It's your interface. If you documented that they should provide a save area suitable for saving high halves in that area then you assume

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-20 Thread Farley, Peter x23353
Mainframe Assembler List On Behalf Of Seymour J Metz Sent: Thursday, January 20, 2022 12:18 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats) Sorry; that should have been #page=33. On most browser that fragment will take you

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-20 Thread Seymour J Metz
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Kerry Liles [kerry.li...@gmail.com] Sent: Thursday, January 20, 2022 11:45 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats) Just FYI, that link

Re: Saving Caller's 64-bit Regsiters

2022-01-20 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/20/2022 11:45:55 AM: > Just FYI, that link to > > MVS Programming: Assembler Services Guide, SA23-1368-50, < > https://urldefense.com/v3/__https://www.ibm.com/servers/ > resourcelink/svc00100.nsf/pages/zOSV2R5sa231368/$file/ >

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-20 Thread Kerry Liles
Dave Clark [dlcl...@winsupplyinc.com] > Sent: Wednesday, January 19, 2022 5:20 PM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats) > > "IBM Mainframe Assembler List" wrote on > 01/19/2022 05:12:36

Re: Saving Caller's 64-bit Regsiters

2022-01-20 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/19/2022 06:05:12 PM: > At program entry: > > STMH 2,14,your-high-halves-save-area 13 fullwords for 2-14 high halves > > At program exit: > > LMH 2,14, your-high-halves-save-area Thanks. I take it that I shouldn't presume the caller has

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-19 Thread Seymour J Metz
R-LIST@LISTSERV.UGA.EDU Subject: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats) "IBM Mainframe Assembler List" wrote on 01/19/2022 05:12:36 PM: > Is register 2 considered volatile for the 64 bit high half? > > If not, then how do you know if the macro user wi

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-19 Thread Farley, Peter x23353
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats) "IBM Mainframe Assembler List" wrote on 01/19/2022 05:12:36 PM: > Is register 2 considered volatile for the 64 bit high half? > > If not, then how do you know if the macro

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-19 Thread Charles Mills
-LIST@LISTSERV.UGA.EDU] On Behalf Of Dave Clark Sent: Wednesday, January 19, 2022 2:21 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats) "IBM Mainframe Assembler List" wrote on 01/19/2022 05:12:36 PM: > Is register

Re: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-19 Thread Schmitt, Michael
. -Original Message- From: IBM Mainframe Assembler List On Behalf Of Dave Clark Sent: Wednesday, January 19, 2022 4:21 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats) "IBM Mainframe Assembler List" wrote on 01/19/2022 0

Saving Caller's 64-bit Regsiters (was: Unsigned Binary Formats)

2022-01-19 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 01/19/2022 05:12:36 PM: > Is register 2 considered volatile for the 64 bit high half? > > If not, then how do you know if the macro user will preserve and > restore the register? There is no macro, but I think I get your point. Although