Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Jim Mulder
m: "Seymour J Metz" > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Date: 11/13/2019 01:14 AM > Subject: Re: Questionable Instructions in Obtaining EAX documentation > Sent by: "IBM Mainframe Assembler List" > > I don't know about MVS, but OS/360 support fo

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Steve Thompson
(Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Assembler List on behalf of John McKown Sent: Tuesday, November 12, 2019 8:13 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation O

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Seymour J Metz
12, 2019 8:13 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation On Tue, Nov 12, 2019 at 6:56 AM Peter Relson wrote: > > What if R9 is not supposed to be zero? Maybe the code is looking at the > PSA > of anoth

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Seymour J Metz
AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation On Tue, Nov 12, 2019 at 8:43 AM Tom Marchant < 00a69b48f3bb-dmarc-requ...@listserv.uga.edu> wrote: > >I cannot fathom the reason to use _any_ base for the PSA oth

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Seymour J Metz
: IBM Mainframe Assembler List on behalf of Gary Weinhold Sent: Tuesday, November 12, 2019 11:28 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation I had a reason a couple weeks ago. We were trying to programmatically verify whether we

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Gary Weinhold
I had a reason a couple weeks ago.  We were trying to programmatically verify whether we were running certain code on a zIIP or a CP.  I found a bit in the PSA that it appeared was set if you're on a zIIP and not if not.  It was not set for my PSA, (not surprising since I was on TSO ISPF running

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Tom Marchant
On Tue, 12 Nov 2019 08:49:36 -0600, John McKown wrote: > I have never wanted to look at the PSA of any CP other than the >one that I am running on. I'm not really sure why I would. Do you know of a >reason to do so? I am curious. I have no need to do so, and don't know why I might. But the post

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread John McKown
On Tue, Nov 12, 2019 at 8:43 AM Tom Marchant < 00a69b48f3bb-dmarc-requ...@listserv.uga.edu> wrote: > >I cannot fathom the reason to use _any_ base for the PSA other than GPR0. > >It is simply wasteful of a scarce resource. > > It isn't "the" PSA. There is the PSA of the processor that you are

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Steve Smith
The question is what reasonable use is there is of USING on a number? I'm not sure what the rest of this post means, but it doesn't seem relevant. sas On Mon, Nov 11, 2019 at 2:35 PM Paul Gilmartin < 0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote: > On 2019-11-11, at 09:08:39, Steve

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Tom Marchant
On Tue, 12 Nov 2019 07:13:16 -0600, John McKown wrote: >On Tue, Nov 12, 2019 at 6:56 AM Peter Relson wrote: > >> >> What if R9 is not supposed to be zero? Maybe the code is looking at the >> PSA >> of another processor. >> >> >> The normal way to accomplish that is >> USING PSA,R9 >>

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread John McKown
On Tue, Nov 12, 2019 at 6:56 AM Peter Relson wrote: > > What if R9 is not supposed to be zero? Maybe the code is looking at the > PSA > of another processor. > > > The normal way to accomplish that is > USING PSA,R9 > rather than leaving a time-bomb for those who come after by using

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-12 Thread Peter Relson
What if R9 is not supposed to be zero? Maybe the code is looking at the PSA of another processor. The normal way to accomplish that is USING PSA,R9 rather than leaving a time-bomb for those who come after by using "0". Peter Relson z/OS Core Technology Design

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Mike Hochee
Gilmartin Sent: Monday, November 11, 2019 11:10 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation On 2019-11-11, at 09:25:32, Jonathan Scott wrote: > > The USING 0 case used to occur from time to time by accident > when using P

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Seymour J Metz
@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation Why not -- from memory; untested; I could be off -- but something like USING PSA,0 USING PSWDSECT,FLCIOPSW ? Does not burn a register for nothing. You can even name the DSECTs and have addressability

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Seymour J Metz
Assembler List on behalf of Paul Gilmartin <0014e0e4a59b-dmarc-requ...@listserv.uga.edu> Sent: Monday, November 11, 2019 2:35 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation On 2019-11-11, at 09:08:39, Steve Smith wrote: >

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Charles Mills
@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation On 2019-11-11, at 09:25:32, Jonathan Scott wrote: > > The USING 0 case used to occur from time to time by accident > when using PL/S, PL/X or similar compilers which generate > assembler as an inter

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Paul Gilmartin
On 2019-11-11, at 09:08:39, Steve Smith wrote: > > I must agree that USING on numbers is a questionable feature; also operand > 1 doesn't have to be 0, anything up to 2gb should work. > What's "questionable"? Should the Assembler require a relocatable expression? Why? An old (BitSavers)

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Paul Gilmartin
On 2019-11-11, at 09:25:32, Jonathan Scott wrote: > > The USING 0 case used to occur from time to time by accident > when using PL/S, PL/X or similar compilers which generate > assembler as an intermediate step, if the programmer switched > into assembler temporarily. This was because the

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Charles Mills
: Questionable Instructions in Obtaining EAX documentation What if R9 is not supposed to be zero? Maybe the code is looking at the PSA of another processor. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Assembler List on behalf

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Seymour J Metz
, 2019 8:56 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation Works better than it used to! It's good to ~2 billion now, right? Was only good to ~16 million when they coded it. I'm not confused on how LA works in AMODE 31, am I? I never use

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Seymour J Metz
equ...@listserv.uga.edu> Sent: Monday, November 11, 2019 10:39 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation On Fri, 8 Nov 2019 14:15:11 -0700, Bob Raicer wrote: >Well, the statement from Peter Relson (and others) which is >

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Jonathan Scott
Ref: Your note of Mon, 11 Nov 2019 11:08:39 -0500 The USING 0 case used to occur from time to time by accident when using PL/S, PL/X or similar compilers which generate assembler as an intermediate step, if the programmer switched into assembler temporarily. This was because the programmers

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Steve Smith
I must agree that USING on numbers is a questionable feature; also operand 1 doesn't have to be 0, anything up to 2gb should work. My guess is somebody in 1964 thought it was a good idea. The example is an artificial construct to illustrate the issue. So it also illustrates that you can lie to

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Tom Marchant
On Fri, 8 Nov 2019 14:15:11 -0700, Bob Raicer wrote: >Well, the statement from Peter Relson (and others) which is >essentially: >-- >LA R1,1 is exactly equivalent to LA R1,1(0).  Just look at the >generated object code. >-- >is not totally true.  It all depends upon which USINGs

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread John McKown
On Mon, Nov 11, 2019 at 7:56 AM Charles Mills wrote: > Works better than it used to! It's good to ~2 billion now, right? Was only > good to ~16 million when they coded it. > > I'm not confused on how LA works in AMODE 31, am I? I never use it for > integer arithmetic anymore so I could be off

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Rob van der Heij
On Mon, 11 Nov 2019 at 14:56, Charles Mills wrote: > Works better than it used to! It's good to ~2 billion now, right? Was only > good to ~16 million when they coded it. > > I'm not confused on how LA works in AMODE 31, am I? I never use it for > integer arithmetic anymore so I could be off base

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-11 Thread Charles Mills
Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Rob van der Heij Sent: Sunday, November 10, 2019 11:01 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation On Sat, 9 Nov 2019 at 20:51, Kerry Liles wrote: >

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-10 Thread Rob van der Heij
On Sat, 9 Nov 2019 at 20:51, Kerry Liles wrote: > Old habits die hard... I still just useLA 1,256although now I > might just code it asLA 1,256(,0) > I'm more worried about old code and old programmers doing LA 1,1(,1) doing arithmetic. Rob

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-09 Thread Seymour J Metz
@LISTSERV.UGA.EDU Subject: Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation) Apologies, Seymour. I really knew better, but some muscle memory machine-check must have occurred.

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-09 Thread Seymour J Metz
From: IBM Mainframe Assembler List on behalf of Keven Sent: Friday, November 8, 2019 2:57 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation) Just curious; are we being made party

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-09 Thread Seymour J Metz
/~smetz3 From: IBM Mainframe Assembler List on behalf of Steve Smith Sent: Friday, November 8, 2019 3:34 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation) I've seen nothing

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-09 Thread Kerry Liles
and might be > faster on some machines. > > Charles > > > -Original Message- > From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] > On Behalf Of Bob Raicer > Sent: Friday, November 8, 2019 1:15 PM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU >

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-09 Thread Martin Truebner
>> Should it produce a warming about ambiguous resolution? yea- warming like: if you continue doing that, someone will give you a bad carma (and hence you end up in a warm place) ;-) -- Martin

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-09 Thread Paul Gilmartin
On 2019-11-09, at 06:32:45, Peter Relson wrote: > > > USING 0,9 > > Got me. Obviously you're right that with that in effect the two LA forms > produce different results. > Should it produce a warming about ambiguous resolution? (I know that can be suppressed.) -- gil

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-09 Thread Peter Relson
USING 0,9 Got me. Obviously you're right that with that in effect the two LA forms produce different results. Peter Relson z/OS Core Technology Design

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-08 Thread Charles Mills
MBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation Well, the statement from Peter Relson (and others) which is essentially: -- LA R1,1 is exactly equivalent to LA R1,1(0). Just look at the generated object code. -- is not totally true. It all de

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-08 Thread Kerry Liles
Very interesting... I assembled this fragment on VSE and got a slight warning about the USING 0,9 with HLASM R6.0 R:9 0 3 USING 0,9 ** ASMA306W USING RANGE OVERLAPS IMPLICIT USING 0,0 But the generated code is as you showed... ( LA 2,256(0) is

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-08 Thread Bob Raicer
Well, the statement from Peter Relson (and others) which is essentially: -- LA R1,1 is exactly equivalent to LA R1,1(0).  Just look at the generated object code. -- is not totally true.  It all depends upon which USINGs are in effect. Take a peek at the following example

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-08 Thread Steve Smith
I've seen nothing but technical posts (exc. the last), that have been perfectly civil. I can't imagine what awoke your curiosity. As for memory fragmentation relief, that's a secondary effect of virtual memory providing more address space(s). While that is important, I like Don's two

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-08 Thread Ray Mansell
I see no grievances. Just a spelling mistake and an associated apology. Ray On 11/8/2019 14:57, Keven wrote: Just curious; are we being made party to some sort of feud and/or ongoing disgruntlement between subscribers DG and SM?   If so please cease forthwith and desist

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-08 Thread Keven
Just curious; are we being made party to some sort of feud and/or ongoing disgruntlement between subscribers DG and SM?   If so please cease forthwith and desist any further public airing of your grievances on this forum. KH On Fri,

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-08 Thread Dan Greiner
Apologies, Seymour. I really knew better, but some muscle memory machine-check must have occurred.

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-08 Thread Seymour J Metz
Assembler List on behalf of Dan Greiner Sent: Friday, November 8, 2019 11:02 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation) Seymore wrote: "ActualIy, I am interested, and was since it [prefixing] made its first appea

Re: Prefixing (was Questionable Instructions in Obtaining EAX documentation)

2019-11-08 Thread Dan Greiner
Seymore wrote: "ActualIy, I am interested, and was since it [prefixing] made its first appearance on S/360, but unless you're writing DAT-OFF code you don't need to deal with it." The association of DAT-off code and prefixing woke me up at 4am this morning, and it's been bugging me ever since.

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-07 Thread Tom Marchant
On Thu, 7 Nov 2019 20:49:14 +, Seymour J Metz wrote: >The contents of R0 may be relevant, but not in the OP's context. >As others have repeatedly pointed out, a base or index field of 0 >specifies a value of 0, not the contents of R0. As documented in the Principles of Operation, page 2-4

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-07 Thread Seymour J Metz
(Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Assembler List on behalf of Steve Thompson Sent: Wednesday, November 6, 2019 6:08 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-07 Thread Peter Relson
LA 1,1(0) ST 1,AXNUM AXRES AXLIST=AXL GET AN EAX FOR SERVICE1 (THE X PC ROUTINE) L4,AXVAL FWIW, changing the L to a LH works fine in the example, even if AXVAL happens to have its high bit

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-07 Thread Peter Relson
The example is trying to show how to set an EAX for a SETDEF macro. There is no SETDEF macro. There isn't even a TYPE=SETDEF option on ETDEF. There is TYPE=SET. The post looked like copy/paste so a typo like that seemed surprising. Everyone's right, of course, that the "ST" ought to be "STH"

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Tony Harminc
On Wed, 6 Nov 2019 at 18:08, Steve Thompson wrote: > But my point was, the contents of R0 may be relevant. Implying it > never matters is not quite right. When specified as a base or index register, i.e. as Bn or Xn in any instruction with such fields in its description, R0 is treated as if it

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Steve Thompson
Yes, and I am, by your definition, one of the .01%. But my point was, the contents of R0 may be relevant. Implying it never matters is not quite right. However I must agree with you that most people working on/with z/OS will never need to work at this level. But depending on what they are

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Keven
MBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation Prefixing is absolutely* irrelevant to this discussion, and to 99.99% of assembler programmers for their entire lives. It's well-documented if you're interested, but you probably aren't. Any discussion he

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Charles Mills
Instructions in Obtaining EAX documentation Prefixing is absolutely* irrelevant to this discussion, and to 99.99% of assembler programmers for their entire lives. It's well-documented if you're interested, but you probably aren't. Any discussion here is very likely to be spurious, specious

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Seymour J Metz
on behalf of Steve Smith Sent: Wednesday, November 6, 2019 1:44 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation Prefixing is absolutely* irrelevant to this discussion, and to 99.99% of assembler programmers for their entire lives. It's well

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Steve Smith
Prefixing is absolutely* irrelevant to this discussion, and to 99.99% of assembler programmers for their entire lives. It's well-documented if you're interested, but you probably aren't. Any discussion here is very likely to be spurious, specious, and superficial. *I guess it's "really"

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Steve Smith
I don't remember that manual having so many errors. It worked for me when I developed this kind of thing years ago. LLH is the modern way to load an unsigned halfword, although it may be too new for some old hardware. sas On Wed, Nov 6, 2019 at 1:25 PM Jonathan Scott wrote: > Ref: Your note

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Seymour J Metz
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Questionable Instructions in Obtaining EAX documentation So what happens when R0 happens to contain the same value as the prefix Reg of the CPU that handles this code? Would that be how one gets to "relative" 0 in this particular LPAR? (Absolute

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Jonathan Scott
Ref: Your note of Wed, 6 Nov 2019 18:06:46 + > LA 1,1(0) > ST 1,AXNUM > ... > L 4,AXVAL > ETDEF TYPE=SET... > . > the work areas are: > AXL DS 0F AXLIST > AXNUM DS H Number of AXs Requested > AXVAL DS H Returned AX (OR EAX) Hmmm, this definitely needs a Readers Comment Form,

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Adam L Johanson
Someone already answered the register 0 question. But I believe your point is valid about this part, and AXVAL being a half-word and a LOAD instruction being used for it. LA 1,1(0) ST 1,AXNUM . L 4,AXVAL ETDEF TYPE=SETDEF . the work areas are: AXL DS 0F AXLIST AXNUM DS H

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Steve Thompson
So what happens when R0 happens to contain the same value as the prefix Reg of the CPU that handles this code? Would that be how one gets to "relative" 0 in this particular LPAR? (Absolute address 0 is owned by the Hypervisor if I understand how IBM implemented PR/SM). Regards, Steve

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Keven
LA R1,1 is synonymous with LA R1,1(0); both simply load R1 with 0x0001, which in this case is the number of AXs being requested.You don’t actually  need to load R0 with zero to use it as a base register.  USING PSA,R0 is what you might call HLASM syntactic sugar.Also

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Steve Smith
Register 0 cannot be used as a base or index register. This is because 0 in the base or index register field or an instruction means "no register". The assembler has always allowed the specification of 0 for either to satisfy the people who just like to code default stuff. Clearing a register

Re: Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread Robert Netzlof
On 11/6/19, esst...@juno.com wrote: > Hi,.I tried posting this at IBM-MAIN, however I am experiencing problems > with that site, so I decided to post here. > . > LA 1,1(0) > ST 1,AXNUM > . > L 4,AXVAL > ETDEF TYPE=SETDEF > . > the work areas are: > AXL DS 0F AXLIST > AXNUM DS H Number of

Questionable Instructions in Obtaining EAX documentation

2019-11-06 Thread esst...@juno.com
Hi,.I tried posting this at IBM-MAIN, however I am experiencing problems with that site, so I decided to post here. . I need some clarification with some instructions being used in an example from SA23-1394-30 Im referring to: MVS Programming Extended addressability Guide SA23-1394-30 Page 38-39