Re: Base-less macros

2021-12-02 Thread Peter Relson
Shmuel wrote: Assuming that the caller has initialized the save area and subsequently used it in accordance with IBM linkage conventions, offset 4-7 will contain 4 EBCDIC characters ending iin SA only if it is 144 bytes long; Not true. An example is the longest-existing. That's where the

Re: Base-less macros

2021-12-01 Thread Mark Boonie
> In that scenario, offset 4 of Xs save area will no longer contain > FnSA, and can thus be identified as the forward pointer of a 72-bytesave area. The point that several recent posts have been trying to make is that the contents of word 1 indicate how the registers were saved in the

Re: Base-less macros

2021-12-01 Thread Seymour J Metz
@LISTSERV.UGA.EDU] on behalf of Mark Boonie [boo...@us.ibm.com] Sent: Wednesday, December 1, 2021 2:09 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros > The one case where there could be an issue is if the > routine calls both code expecting a 72-byte save area an

Re: Base-less macros

2021-12-01 Thread Mark Boonie
> The one case where there could be an issue is if the > routine calls both code expecting a 72-byte save area and code > calling a 144-byte area. > > If the linkage conventions are followed, under what circumstances > would you be unable to follow the forward chain with a little bit of work?

Re: Base-less macros

2021-12-01 Thread Seymour J Metz
du/~smetz3 From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Wednesday, December 1, 2021 1:44 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Nope! Read what Peter wrote

Re: Base-less macros

2021-12-01 Thread Charles Mills
Nope! Read what Peter wrote. Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Seymour J Metz Sent: Wednesday, December 1, 2021 10:27 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Assuming

Re: Base-less macros

2021-12-01 Thread Seymour J Metz
://mason.gmu.edu/~smetz3 From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Peter Relson [rel...@us.ibm.com] Sent: Wednesday, December 1, 2021 10:39 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Charles

Re: Base-less macros

2021-12-01 Thread Charles Mills
:39 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Charles wrote: Ah! I have not been clear on the convention. As I read it now, the called program puts one of the FnSA strings in its *new* save area to indicate how *it* previously stored the registers in its entry save area. This

Re: Base-less macros

2021-12-01 Thread Peter Relson
Charles wrote: Ah! I have not been clear on the convention. As I read it now, the called program puts one of the FnSA strings in its *new* save area to indicate how *it* previously stored the registers in its entry save area. This point has been made multiple times in this forum and in

Re: Base-less macros

2021-11-30 Thread Mark Hammack
you notify us by reply mail or telephone and delete the original > message from your mail system. > > > -Original Message- > > From: IBM Mainframe Assembler List [mailto: > ASSEMBLER-LIST@LISTSERV.UGA.EDU] > > On Behalf Of Peter Relson > > Sent: Tuesday, N

Re: Base-less macros

2021-11-30 Thread Gary Weinhold
: Re: Base-less macros Steve Smith wrote: And there are other bizarre ways to return without restoring R14, which is not actually required by documented conventions. Only restoring of AR14 and the high half of R14 are required (for non-AMODE 64 cases), in general. (Although I would g

Re: Base-less macros

2021-11-30 Thread Paul Gilmartin
On Nov 30, 2021, at 11:51:40, Laddie Hanus wrote: > > How about all of that code written before 64 bit z. I had stuff as old as > 1985 still running in 2017. > The interface specifications should require 31-bit linkage conventions. That should have been explicit ni 1985 to preclude 24-bit.

Re: Base-less macros

2021-11-30 Thread Gary Weinhold
From the conversation, I think this is an internal convention at their shop.  They require the callers to put the eyecatcher in to indicate they created/reserved a 144-byte savearea.  Callers that don't do that are probably some kind of legacy and can't be assumed to have a 144 byte save area. I

Re: Base-less macros

2021-11-30 Thread Laddie Hanus
gt; >> >> From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on >> behalf of Mark Hammack [mark.hamm...@gmail.com] >> Sent: Tuesday, November 30, 2021 12:43 PM >> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU >> Subjec

Re: Base-less macros

2021-11-30 Thread Paul Gilmartin
On Nov 30, 2021, at 11:21:51, Mark Hammack wrote: > > If the caller only passes a 72 byte save area (rather than part of a larger > save area stack) then I've got bigger problems than how to test and/or set > c'F4SA' in the save area. :-) > The code of the subroutine should cut the Gordian

Re: Base-less macros

2021-11-30 Thread Seymour J Metz
dmarc-requ...@listserv.uga.edu] Sent: Tuesday, November 30, 2021 12:50 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros And IIRC in ancient days the PL1 runtime used to use word 1 of the RSA for its own purposes. Don’t know if LE and Enterprise PL1 (or Enterprise COBOL for t

Re: Base-less macros

2021-11-30 Thread Mark Hammack
__ > From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on > behalf of Mark Hammack [mark.hamm...@gmail.com] > Sent: Tuesday, November 30, 2021 12:43 PM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Re: Base-less macros > > Couldn't do

Re: Base-less macros

2021-11-30 Thread Seymour J Metz
Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Mark Hammack [mark.hamm...@gmail.com] Sent: Tuesday, November 30, 2021 12:36 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros I think it is one of those "better safe than sorry" things. If a prior

Re: Base-less macros

2021-11-30 Thread Charles Mills
1 10:10 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros On Nov 30, 2021, at 11:02:48, Charles Mills wrote: > > Yes, LE uses word 1 (or word 0 if you will). > Might that be for a static frame pointer, which must be provided For any language supporting nested pro

Re: Base-less macros

2021-11-30 Thread Seymour J Metz
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Mark Hammack [mark.hamm...@gmail.com] Sent: Tuesday, November 30, 2021 12:43 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Couldn't do a "normal" STM R14

Re: Base-less macros

2021-11-30 Thread Charles Mills
Subject: Re: Base-less macros You don't have to always save ALL the registers. No matter what the caller provides, you can always do a STMG 14,4,8(13) STG 13,64(13) because it fits in the standard 72 byte minimal save area. After the STMG, you can then decide if the caller passed a larger area

Re: Base-less macros

2021-11-30 Thread Tony Thigpen
me Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU ] On Behalf Of Peter Relson Sent: Tuesday, November 30, 2021 5:39 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Steve Smith wrote: And there are other bizarre ways to return without restoring R14, which is not actually re

Re: Base-less macros

2021-11-30 Thread Farley, Peter x23353
Hammack Sent: Tuesday, November 30, 2021 12:37 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros I think it is one of those "better safe than sorry" things. If a prior subroutine call used this RSA in 31 bit mode, then 4(13) should be an address so the low order bit

Re: Base-less macros

2021-11-30 Thread Charles Mills
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Couldn't do a "normal" STM R14,R12,4(R13) since that would overlay the area to be checked. STGM 14,12,8(13) would probably work in most cases. Either the first 72 bytes will be rewritten with the STM or the data is already stored.

Re: Base-less macros

2021-11-30 Thread Mark Hammack
sage- > From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] > On Behalf Of Mark Hammack > Sent: Tuesday, November 30, 2021 7:54 AM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Re: Base-less macros > > In our case, the caller doesn't "know" whet

Re: Base-less macros

2021-11-30 Thread Mark Hammack
> Sent: Tuesday, November 30, 2021 10:53 AM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Re: Base-less macros > > In our case, the caller doesn't "know" whether the called subroutine is > base 31 or base 64. So it is up to the called subroutine to "figure out" &g

Re: Base-less macros

2021-11-30 Thread Paul Gilmartin
On Nov 30, 2021, at 10:07:51, Gary Weinhold wrote: > > Actually the 24-bit architecture wasn't the legacy problem as much as > not restricting the leading byte of a fullword (whether in memory or > registers) that the hardware would interpret as an address. That led to > the use of the

Re: Base-less macros

2021-11-30 Thread Seymour J Metz
[charl...@mcn.org] Sent: Tuesday, November 30, 2021 9:36 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Ah! I have not been clear on the convention. As I read it now, the called program puts one of the FnSA strings in its *new* save area to indicate how *it* previously stored

Re: Base-less macros

2021-11-30 Thread Gary Weinhold
2 AM To:ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros On 30/11/2021 16:36, Paul Gilmartin wrote: Didn't IBM do that? Doesn't mean that it was a good idea :-) "The 64-bit IBM zSeries (2001) still supports 24-bit mode, 40-plus years later. Why did 24-bit happen? I’m told that i

Re: Base-less macros

2021-11-30 Thread Charles Mills
-less macros On 30/11/2021 16:36, Paul Gilmartin wrote: > Didn't IBM do that? Doesn't mean that it was a good idea :-) "The 64-bit IBM zSeries (2001) still supports 24-bit mode, 40-plus years later. Why did 24-bit happen? I’m told that it was all for the sake of one low-cost early model,

Re: Base-less macros

2021-11-30 Thread Seymour J Metz
] Sent: Tuesday, November 30, 2021 10:53 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros In our case, the caller doesn't "know" whether the called subroutine is base 31 or base 64. So it is up to the called subroutine to "figure out" whether the caller used

Re: Base-less macros

2021-11-30 Thread Martin Ward
On 30/11/2021 16:36, Paul Gilmartin wrote: Didn't IBM do that? Doesn't mean that it was a good idea :-) "The 64-bit IBM zSeries (2001) still supports 24-bit mode, 40-plus years later. Why did 24-bit happen? I’m told that it was all for the sake of one low-cost early model, the 360/30, where

Re: Base-less macros

2021-11-30 Thread Paul Gilmartin
On Nov 30, 2021, at 09:10:03, Martin Ward wrote: > > On 30/11/2021 15:53, Mark Hammack wrote: >> using the high half of R14 may be an option. ... > > Does anyone still remember the problems caused by clever > programmers using the top 8 bits of a 24 bit address to store data > Didn't IBM do

Re: Base-less macros

2021-11-30 Thread Mark Hammack
That's exactly what I was thinking about using "may" :-). Just because it is below the bar today doesn't mean it won't be in a few years (after I retire). I'm not a fan of someone looking at the code in the future and saying "why the did they do that!". *Mark* On Tue, Nov 30, 2021 at

Re: Base-less macros

2021-11-30 Thread Charles Mills
say in the save area format. Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Mark Hammack Sent: Tuesday, November 30, 2021 7:54 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros In our case, the caller does

Re: Base-less macros

2021-11-30 Thread Martin Ward
On 30/11/2021 15:53, Mark Hammack wrote: using the high half of R14 may be an option. ... Does anyone still remember the problems caused by clever programmers using the top 8 bits of a 24 bit address to store data when the code had to be ported to 31 bit mode? "Those that fail to learn from

Re: Base-less macros

2021-11-30 Thread Mark Hammack
SEMBLER-LIST@LISTSERV.UGA.EDU > ] > On Behalf Of Peter Relson > Sent: Tuesday, November 30, 2021 5:39 AM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Re: Base-less macros > > Steve Smith wrote: > >And there are other bizarre ways to return without > >restorin

Re: Base-less macros

2021-11-30 Thread Charles Mills
] On Behalf Of Peter Relson Sent: Tuesday, November 30, 2021 5:39 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Steve Smith wrote: >And there are other bizarre ways to return without >restoring R14, which is not actually required by documented conventions. Only restoring o

Re: Base-less macros

2021-11-30 Thread Peter Relson
Steve Smith wrote: >And there are other bizarre ways to return without >restoring R14, which is not actually required by documented conventions. Only restoring of AR14 and the high half of R14 are required (for non-AMODE 64 cases), in general. (Although I would guess that there are many

Re: Base-less macros

2021-11-29 Thread Ngan, Robert (DXC Luxoft)
As per the FPR usage thread, you could also save GR(s) to FP registers 0 thru 7. Robert -Original Message- From: IBM Mainframe Assembler List On Behalf Of Charles Mills Sent: Monday, November 29, 2021 18:03 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros I did

Re: Base-less macros

2021-11-29 Thread Charles Mills
f Charles Mills Sent: Monday, November 29, 2021 3:27 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros LLILF and C? Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Mark Hammack Sent: Monday, Novem

Re: Base-less macros

2021-11-29 Thread Steve Smith
Well, I messed up CLRL... it is not an SS-like instruction. If you really can't afford to trash half of any general register, AR0 is a convenient hidey-hole. It's the appendix of z/Arch, as it appears to have no functional purpose. If AR0 can't be trashed, then surely you can borrow a FPR. If

Re: Base-less macros

2021-11-29 Thread Steve Smith
CLRL 04(r13),=C'F4SA' ...you have USING issues, but as long as LTORG is within +/- 2G, no problem. I'd go with LLIHF 0,C'F4SA' CLHF 0,4(R13) or LFH 0,4(R13) CLIH 0,C'F4SA' So many ways to skin the cat. As usual, not tested, subject to typos, memory checks, etc. sas On Mon, Nov 29, 2021 at

Re: Base-less macros

2021-11-29 Thread Charles Mills
LLILF and C? Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Mark Hammack Sent: Monday, November 29, 2021 2:52 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros So an interesting dilemma: I have

Re: Base-less macros

2021-11-29 Thread Gary Weinhold
notify us by reply mail or telephone and delete the original message from your mail system. From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Ngan, Robert (DXC Luxoft) [robert.n...@dxc.com] Sent: Monday, November 29, 2021 3:57 PM To:ASSEMBLER-LIST@LISTSERV.UGA.EDU Subje

Re: Base-less macros

2021-11-29 Thread Mark Hammack
> From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on > behalf of Ngan, Robert (DXC Luxoft) [robert.n...@dxc.com] > Sent: Monday, November 29, 2021 3:57 PM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Re: Base-less macros > &g

Re: Base-less macros

2021-11-29 Thread Seymour J Metz
DU Subject: Re: Base-less macros Using R14 as a temporary code base after a call isn't going to work in those cases. I'd never heard about using BIC to return (nor can I see much reason for it). And there are other bizarre ways to return without restoring R14, which is not actually required by

Re: Base-less macros

2021-11-29 Thread Seymour J Metz
du/~smetz3 From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Ngan, Robert (DXC Luxoft) [robert.n...@dxc.com] Sent: Monday, November 29, 2021 3:57 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros The assembler services guide doesn

Re: Base-less macros

2021-11-29 Thread Steve Smith
Using R14 as a temporary code base after a call isn't going to work in those cases. I'd never heard about using BIC to return (nor can I see much reason for it). And there are other bizarre ways to return without restoring R14, which is not actually required by documented conventions. For BASSM,

Re: Base-less macros

2021-11-29 Thread Ngan, Robert (DXC Luxoft)
, November 29, 2021 14:01 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros On Nov 29, 2021, at 12:41:51, Ngan, Robert (DXC Luxoft) wrote: > > DON'T DO THAT! > I had to find/redo all our code that did this when our subroutine return > logic was changed to use a BIC

Re: Base-less macros

2021-11-29 Thread Paul Gilmartin
On Nov 29, 2021, at 12:41:51, Ngan, Robert (DXC Luxoft) wrote: > > DON'T DO THAT! > I had to find/redo all our code that did this when our subroutine return > logic was changed to use a BIC instruction. > Which of you violated standard linkage conventions? My understanding is that R14 is

Re: Base-less macros

2021-11-29 Thread Ngan, Robert (DXC Luxoft)
@LISTSERV.UGA.EDU Subject: Re: Base-less macros My suggestion of using R14 for the base was because it's already set by the call to the subroutine. sas On Thu, Nov 25, 2021 at 2:32 PM Gary Weinhold wrote: > The performance consideration I think would be the loading of R14 > immediately before i

Re: Base-less macros

2021-11-25 Thread Paul Gilmartin
On Nov 25, 2021, at 12:49:20, Steve Smith wrote: > > My suggestion of using R14 for the base was because it's already set by the > call to the subroutine. > RR15? (BALR 14,15) -- gil

Re: Base-less macros

2021-11-25 Thread Seymour J Metz
-LIST@LISTSERV.UGA.EDU] on behalf of Jeremy Schwartz [115e2ee20c83-dmarc-requ...@listserv.uga.edu] Sent: Thursday, November 25, 2021 2:11 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Nice job and thanks for correction on branch to table. One thing to point out especially

Re: Base-less macros

2021-11-25 Thread Steve Smith
My suggestion of using R14 for the base was because it's already set by the call to the subroutine. sas On Thu, Nov 25, 2021 at 2:32 PM Gary Weinhold wrote: > The performance consideration I think would be the loading of R14 > immediately before its use in the branch instruction. Moving it

Re: Base-less macros

2021-11-25 Thread Gary Weinhold
BLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros CAUTION: This message was sent from outside the company. Do not click links or open attachments unless you recognize the sender and know the content is safe. It could be shorter, and B BRTAB(R15) is not baseless. How about

Re: Base-less macros

2021-11-25 Thread Jeremy Schwartz
Mainframe Assembler List on behalf of Seymour J Metz Sent: Thursday, November 25, 2021 8:31 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros CAUTION: This message was sent from outside the company. Do not click links or open attachments unless you recognize the sender

Re: Base-less macros

2021-11-25 Thread Charles Mills
lto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Seymour J Metz Sent: Thursday, November 25, 2021 6:32 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros It could be shorter, and B BRTAB(R15) is not baseless. How about CIJL R15,0,RC_MINUS CIJH R15,MA

Re: Base-less macros

2021-11-25 Thread Seymour J Metz
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Here's another form of branch table combining compare and branches. Just thought it was interesting and one reason why I love assembler. So many possibilities. XR R0,R0 INCREMENT

Re: Base-less macros

2021-11-24 Thread Jeremy Schwartz
ubject: Re: Base-less macros CAUTION: This message was sent from outside the company. Do not click links or open attachments unless you recognize the sender and know the content is safe. In light of subsequent messages, yes. From: IBM Mainframe Assemble

Re: Base-less macros

2021-11-23 Thread Ngan, Robert (DXC Luxoft)
: Tuesday, November 23, 2021 10:21 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros ...some BASR R14, or JAS R14, etc. USING *,R14 B *+4(R15) DROP R14 JRC0ROUTINE JRC4ROUTINE JRC8ROUTINE sas

Re: Base-less macros

2021-11-23 Thread Seymour J Metz
In light of subsequent messages, yes. From: IBM Mainframe Assembler List on behalf of Tony Thigpen Sent: Tuesday, November 23, 2021 1:33 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros I think Martin is really commenting

Re: Base-less macros

2021-11-23 Thread Seymour J Metz
, Robert (DXC Luxoft) Sent: Tuesday, November 23, 2021 2:44 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Or even simpler: CLIJE R15,0,RC0ROUTINE CLIJE R15,4,RC4ROUTINE CLIJE R15,8,RC8ROUTINE CLIJE R15,12,RC12ROUTINE J UnexpectedRC Robert Ngan DXC Luxoft -Original

Re: Base-less macros

2021-11-23 Thread Seymour J Metz
RE: Base-less macros Seymour J Metz Tue 11/23/2021 12:48 PM > Maybe I missed something? Actually, I did; the LARL is necessary. Sorry. > I had started to use: It would have been correct with an ALR or LA rather than an L. > they're cleaner than trying to use the select structured m

Re: Base-less macros

2021-11-23 Thread Charles Mills
I vote for this one! Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Ngan, Robert (DXC Luxoft) Sent: Tuesday, November 23, 2021 11:44 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Or even

Re: Base-less macros

2021-11-23 Thread Mark Hammack
checking? > > > > > > -- > > Shmuel (Seymour J.) Metz > > http://mason.gmu.edu/~smetz3 > > > > > > From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on > behalf of Martin Ward [mar...@gk

Re: Base-less macros

2021-11-23 Thread Martin Trübner
* To make Seymour happy,... I certainly do like that comment, Just for the record- there are lots of comments like this in all kind of programs for all kind of purposes: * since Martin insisted: here is whatever. Best Martin

Re: Base-less macros

2021-11-23 Thread Ngan, Robert (DXC Luxoft)
Oops, I didn't notice Pieter's response. Robert Ngan DXC Luxoft -Original Message- From: IBM Mainframe Assembler List On Behalf Of Ngan, Robert (DXC Luxoft) Sent: Tuesday, November 23, 2021 13:44 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Or even simpler: CLIJE

Re: Base-less macros

2021-11-23 Thread Ngan, Robert (DXC Luxoft)
-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Or CIJE R15,0,RC0ROUTINE ...etc -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Watkins, Doug Sent: Tuesday, 23 November 2021 20:00 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject

Re: Base-less macros

2021-11-23 Thread Tony Thigpen
@LISTSERV.UGA.EDU] on behalf of Martin Ward [mar...@gkc.org.uk] Sent: Tuesday, November 23, 2021 12:27 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros On 23/11/2021 17:12, Seymour J Metz wrote: LTR R15,R15 JMBADIX CHI R15,LIMIT

Re: Base-less macros

2021-11-23 Thread Pieter Wiid
Or CIJE R15,0,RC0ROUTINE ...etc -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Watkins, Doug Sent: Tuesday, 23 November 2021 20:00 To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Mark, Another vote

Re: Base-less macros

2021-11-23 Thread Dan Greiner
Alternatively, consider the BRANCH INDIRECT ON CONDITION (BIC) instruction (available on the z14). The second operand of BIC is an 8-byte location in memory from which the branch address is fetched. BIC was designed to assist Java in returning from a garbage collection operation, where the

Re: Base-less macros

2021-11-23 Thread Watkins, Doug
, November 23, 2021 10:42 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: [EXTERNAL] Re: Base-less macros So as a related question, I started working on a 'baseless' version of a branch table macro I wrote years ago. I have it working but was curious what other people have done. In 'based' code

Re: Base-less macros

2021-11-23 Thread Mark Hammack
t; > > > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > > From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on > behalf of Charles Mills [charl...@mcn.org] > Sent: Tuesday, November 23, 2021 11:24 AM > To: ASSEMBL

Re: Base-less macros

2021-11-23 Thread Seymour J Metz
, 2021 12:27 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros On 23/11/2021 17:12, Seymour J Metz wrote: > LTR R15,R15 > JMBADIX > CHI R15,LIMIT > JHBADIX > TML R15,3 > JNZ BADIX >

Re: Base-less macros

2021-11-23 Thread Seymour J Metz
, 2021 12:18 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros How about fixing the problem you had with branch tables and introducing a new instruction JIC (branch relative indexed conditional)? JIC *+4(15),nn J RC0ROUTINE J RC4ROUTINE J RC8ROUTINE J RCERR_RTN Where

Re: Base-less macros

2021-11-23 Thread Martin Ward
On 23/11/2021 17:12, Seymour J Metz wrote: LTR R15,R15 JMBADIX CHI R15,LIMIT JHBADIX TML R15,3 JNZ BADIX J *+4(R15) BRTABEQU * J RC0ROUTINE J RC4ROUTINE J

Re: Base-less macros

2021-11-23 Thread Gary Weinhold
ember 23, 2021 7:42 AM To:ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros So as a related question, I started working on a 'baseless' version of a branch table macro I wrote years ago. I have it working but was curious what other people have done. In 'based' code, it typically gener

Re: Base-less macros

2021-11-23 Thread Seymour J Metz
, November 23, 2021 11:24 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Should that second instruction be an LA? I quit using branch tables. I know, they are useful, but IMHO wild branches are the worst of bugs, and so I have eschewed branch tables. The architecture could

Re: Base-less macros

2021-11-23 Thread Charles Mills
: Re: Base-less macros So as a related question, I started working on a 'baseless' version of a branch table macro I wrote years ago. I have it working but was curious what other people have done. In 'based' code, it typically generates something like: B *+4(15) BRC0ROUTINE BRC

Re: Base-less macros

2021-11-23 Thread Martin Truebner
Mark, (I do not really get the replacement-code. Maybe I did not look long enough) My solution to your problem: B *+4(15) BRC0ROUTINE BRC4ROUTINE BRC8ROUTINE is this: LR15,=A(RC0ROUTINE,RC4ROUTINE,RC8ROUTINE)(15) BR R15 Preserves R14 (but eats up space in literal-pool)

Re: Base-less macros

2021-11-23 Thread Steve Smith
...some BASR R14, or JAS R14, etc. USING *,R14 B *+4(R15) DROP R14 JRC0ROUTINE JRC4ROUTINE JRC8ROUTINE sas

Re: Base-less macros

2021-11-23 Thread Mark Hammack
So as a related question, I started working on a 'baseless' version of a branch table macro I wrote years ago. I have it working but was curious what other people have done. In 'based' code, it typically generates something like: B *+4(15) BRC0ROUTINE BRC4ROUTINE BRC8ROUTINE etc.

Re: Base-less macros

2021-11-12 Thread Hobart Spitz
This draft document, entitled Register Constraint Relief 2021, coincidentally addresses the subject of Base-less/Base-free Macros. See references to Base Address Register (BAR) 15 and relative addressing for all base/displacement operands..

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-12 Thread Adam Johanson
Wendell wrote: > From Tony's explanation concerning moving the TR command to the data area via LOCTR, can I surmise that it might be counter-productive to do so--that leaving the TR and EX commands in consecutive memory is more efficient? My $0.02 is that I'm not so sure about the "do it once

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-11 Thread Seymour J Metz
] on behalf of Keith Moe [ke...@sbcglobal.net] Sent: Thursday, November 11, 2021 4:51 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Avoiding SIIS - (Was Base-less macros) Actually the inline TR/EX will do the TR the first time for ONE byte, not 256, followed by the EX of the specified length

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-11 Thread Keith Moe
, November 10, 2021 11:53 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Avoiding SIIS - (Was Base-less macros) On Wed, 10 Nov 2021 at 11:45, Wendell Lovewell <09624390d784-dmarc-requ...@listserv.uga.edu> wrote: > > I'm reluctant to admit this, but I'm still unclear about SIIS is

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-11 Thread Seymour J Metz
] on behalf of Tony Harminc [t...@harminc.com] Sent: Wednesday, November 10, 2021 11:53 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Avoiding SIIS - (Was Base-less macros) On Wed, 10 Nov 2021 at 11:45, Wendell Lovewell <09624390d784-dmarc-requ...@listserv.uga.edu> wrote: > > I

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-11 Thread Seymour J Metz
Lovewell [09624390d784-dmarc-requ...@listserv.uga.edu] Sent: Thursday, November 11, 2021 12:18 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Avoiding SIIS - (Was Base-less macros) Adam & Tony--thanks for the good explanations. >From Tony's explanation concerning moving the TR

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-11 Thread Wendell Lovewell
Adam & Tony--thanks for the good explanations. From Tony's explanation concerning moving the TR command to the data area via LOCTR, can I surmise that it might be counter-productive to do so--that leaving the TR and EX commands in consecutive memory is more efficient? > Example 2: >

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-11 Thread Breton Imhauser
If size isn't a problem: "skel64" is csect name: * Round start of data to next 256-byte boundary to separate from ipipe zArchorg skel64+(((*+256)-skel64)/256)*256 LTORG

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-10 Thread Tony Harminc
On Wed, 10 Nov 2021 at 11:45, Wendell Lovewell <09624390d784-dmarc-requ...@listserv.uga.edu> wrote: > > I'm reluctant to admit this, but I'm still unclear about SIIS issues. Could > someone please explain what happens to the D- and I-cache in these situations? I can tell you my

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-10 Thread Bernd Oppolzer
For current processors, 256 bytes. Some IBMers talking with us on these topics suggested a macro called NEXTCLB, which inserts some space depending on some address arithmetic. IMO, if you use this, you could adjust it later if a future processor requires more. (256 is a constant used inside

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-10 Thread Schmitt, Michael
How do you ensure that your storage areas are far enough away from the code to not be in the instruction cache line, when your data isn't in GETMAIN storage? You can mitigate by putting constants in between, but how do you know if that's enough?

Re: Avoiding SIIS - (Was Base-less macros)

2021-11-10 Thread Adam Johanson
For the first 2 examples, those are not SIIS violations because no modification of storage takes place. The modification of the instruction happens in the core itself (I once heard it called the "instruction register" where this happens... I can't verify the validity of that statement). In

Avoiding SIIS - (Was Base-less macros)

2021-11-10 Thread Wendell Lovewell
I'm reluctant to admit this, but I'm still unclear about SIIS issues. Could someone please explain what happens to the D- and I-cache in these situations? Example 1: TxtTRNull TR0(*-*,R14),NoNulls EX R5,*-6 Example 2: PgmConst LOCTR , TxtTRNull TR

Re: Base-less macros

2021-11-10 Thread Jonathan Scott
The documentation update for APAR PH34824, for the alignment of literals referenced by relative address, has now been completed. https://www.ibm.com/docs/en/hla-and-tf/1.6?topic=instruction-literal-pool It seems it was overlooked after being transferred from our old request tool to the new - a

Re: Base-less macros

2021-11-10 Thread Binyamin Dissen
If you provide the option of specifying labels or literals, it is up to the end user to provide addressability to the literals. I would not be against a keyword such as PERFORMANCE=CRAP to force the data items inline so that no end-user data area is needed. On Mon, 8 Nov 2021 09:09:42 +0100

Re: Base-less macros

2021-11-09 Thread Seymour J Metz
...@phoenixsoftware.com] Sent: Tuesday, November 9, 2021 1:23 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros On 11/9/2021 9:55 AM, Seymour J Metz wrote: > LOCTR may not help with literals, but it can help with macros that generate a > DC. Instead of branching around the constan

Re: Base-less macros

2021-11-09 Thread Ed Jaffe
On 11/9/2021 9:55 AM, Seymour J Metz wrote: LOCTR may not help with literals, but it can help with macros that generate a DC. Instead of branching around the constant, put a LOCTR before and after it. There is no guarantee a existing USING is in place for a literal or DC in a given LOCTR.

  1   2   >