Open XL C/C++ PDF documentation

2023-02-04 Thread Farley, Peter
I found the web documentation for the Open XL C/C++ implementation here:

https://www.ibm.com/docs/en/cloud-paks/z-modernization-stack/2022.4?topic=languages-cc-open-enterprise-zos

Is there a place where IBM has provided a set of PDF manuals for the whole set 
of Cloud Pak "modernization" tools?  Perhaps a large zip file of an indexed set 
of PDF's like those we have for z/OS itself?

If not for the entire set of tools, perhaps just separate PDF collections for 
Open XL C/C++, node.js, and python?

Peter

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

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


Searching the ASVT

2023-02-04 Thread esst...@juno.com
.
Hello 

I am on a z/os 2.2 system, trying to rseurrect some old code.
.
can some one confirm the instructions for Searching the 
Address Space Vector Table (ASVT) on z/OS 2.2
.
This program  loads R10 with CVTASVT  
L R10,CVTASVTGET ASVT ADDRESS
USING ASVT,R10  ESTABLISH ADDRESSABILITY
.
It then issues a Load Address For the first entry ?
This doesn't  look correct to me ? 
LAR11,ASVTENTY   GET # OF FIRST ENTRY
.
Next its test for an ASCB that is assigned.
TM0(R11),ASVTAVALVALID ASCB Available ?
BORUNLOP1NO, CHECK NEXT ASVT ENTRY
.
* Examine ASCB
.
.
Besides the Load Address above - How should this module
advance to the Next ASVT entry ?
Shoud I issue the following to get to the next ASVT
LR10,ASVTFRST
.
The current code issues the following instruction, which
looks incorrect according to IHAASVT 
LAR11,4(,R11)  Advance NEXT ASVT ENTRY 
.
.
Your comments please
.
Paul D'Angelo
***

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


Re: Searching the ASVT

2023-02-04 Thread Michael Stein
> I am on a z/os 2.2 system, trying to rseurrect some old code.
> .
> can some one confirm the instructions for Searching the 
> Address Space Vector Table (ASVT) on z/OS 2.2
> .
> This program  loads R10 with CVTASVT  
> L R10,CVTASVTGET ASVT ADDRESS
> USING ASVT,R10  ESTABLISH ADDRESSABILITY
> .
> It then issues a Load Address For the first entry ?
> This doesn't  look correct to me ? 
> LAR11,ASVTENTY   GET # OF FIRST ENTRY
> .
> Next its test for an ASCB that is assigned.
> TM0(R11),ASVTAVALVALID ASCB Available ?
> BORUNLOP1NO, CHECK NEXT ASVT ENTRY
> .
> * Examine ASCB
> .
> The current code issues the following instruction, which
> looks incorrect according to IHAASVT 
> LAR11,4(,R11)  Advance NEXT ASVT ENTRY 

ASVT mapping:

https://www.ibm.com/docs/en/zos/2.2.0?topic=information-asvt-mapping

That looks correct to me.  Here's some code from MVS3.8 IEAVEAC0:

 L R1,CVTASVT-CVT(R1)  GET THE ASVT 63660002
 BCTR  R13,ZERO   ASID-163710002
 SLL   R13,TWO(ASID-1) X 4  63730002
 L R13,ASVTENTY-ASVT(R13,R1)  GET ASCB ADDRESS @YM01596 63750002

So each slot in the ASVT is a 4 byte pointer with the high bit off if
points to an ASCB.  ASID 0 doesn't exist, so ASVTENTY is the pointer
for ASID 1.

It does need some check to not run off the end of the ASVT...

https://www.ibm.com/docs/en/zos/2.2.0?topic=information-asvt-heading

  Size:
  Offset of ASVTEND minus offset of ASVTBEGN plus four times the value
  of ASVTMAXU.

I'd guess that there are ASVTMAXU 4 byte entries starting and counting
ASVTENTY.

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


Re: Searching the ASVT

2023-02-04 Thread Brian Westerman
Hi,


I'm not sure what you are trying to do,  Most people would use the ASVT to get 
tot he ACSB to see what's running.  If it is that you are trying to search the 
ASCB to see if a task is actually executing, then all you really need from the 
ASVT is max number of ASCBS (located in ASVTMAXU) and the pointer to the first 
ACSB entry (located in ASVTENTY).  You load ASVTMAXU into a register (let's say 
R14) and LA ASVTENTY into a Reg (let's say R6)

 L R6,16 LOAD ADDR OF CVT
 USING CVT,R6  SET ADDRESSABILITY TO CVT
 L R6,CVTASVT  POINT TO ADDRESS SPACE VECTOR TABLE. 
 DROP  R6  DROP ADDRESSABILITY TO CVT  
 USING ASVT,R6 SET ADDRESSABILITY TO ASVT  
 L R14,ASVTMAXU   LOAD MAX. NUMBER OF ADDRESS SPACES. 
 LAR6,ASVTENTYLOAD ADDRESS OF FIRST ASCB POINTER
 DROP  R6  DROP ADDRESSABILITY TO ASVT

then you loop until you find what you want
JOBSRCH2 ICM   R3,B'',0(R6)POINT TO ASCB 
   BNP   JOBSRCH5ZERO OR NEGATIVE, BYPASS THIS ONE  
  
   USING ASCB,R3 SET ADDRESSABILITY TO ASCB 
  
   ICM   R15,B'',ASCBJBNI LOAD ADDRESS OF JOB NAME  
  
   BZJOBSRCH3ZERO, NOT A BATCH JOB must be STC  
  
   MVC   SRCHNAME,0(R15) SAVE JOB NAME  
 
   B JOBSRCH4GO SEE IF REQUESTED JOB/TASK NAME  
  
JOBSRCH3 EQU   *   Not a batch job, must be STC 
   ICM   R15,B'',ASCBJBNS LOAD ADDRESS OF STC TASK NAME 
  
   MVC   SRCHNAME,0(R15) SAVE TASK NAME 
  
... then you compare SRCHNAME to whatever you are looking for or just move it 
to print if you are just listing them

..then you just keep looping until you hit the end of the ASCBs

JOBSRCH5 LAR6,4(R6)POINT TO NEXT ASCB POINTER.
   BCT   R14,JOBSRCH2LOOP THROUGH ASCBS

If you object is to just scan the ASVT, then I have to ask why you would need 
to do that?

Brian

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


Re: Searching the ASVT

2023-02-04 Thread Tony Harminc
On Sat, 4 Feb 2023 at 18:00, esst...@juno.com  wrote:


> I am on a z/os 2.2 system, trying to rseurrect some old code.
> .
> can some one confirm the instructions for Searching the
> Address Space Vector Table (ASVT) on z/OS 2.2
> .
> This program  loads R10 with CVTASVT
> L R10,CVTASVTGET ASVT ADDRESS
> USING ASVT,R10  ESTABLISH ADDRESSABILITY
>

That's fine.


> It then issues a Load Address For the first entry ?
> This doesn't  look correct to me ?
> LAR11,ASVTENTY   GET # OF FIRST ENTRY
>

It's fine. The ASVT has a bunch of header stuff, and then an array of
fullword pointers starting at ASVTENTY. The PL/X declaration may make it a
bit clearer.

Next its test for an ASCB that is assigned.
> TM0(R11),ASVTAVALVALID ASCB Available ?
> BORUNLOP1NO, CHECK NEXT ASVT ENTRY
>

It's fine.I suppose there may be a serialization issue, e.g. an ASVT
entry's assignment status may change after you've looked. But programs that
either index the ASVT with the ASID (x 4), or those that go sequentially
through the array and do  with each active address space have
done it this way forever (i.e. since 1972), and I'm sure many are still out
there working fine. Like anything, it's conceivable IBM could change this
at some point, but it's such a basic interface in MVS--> z/OS that they
would surely introduce some new data structure or API to access the list of
ASCBs rather than change the ASVT and break things all over the place.


> Besides the Load Address above - How should this module
> advance to the Next ASVT entry ?
>

There's nothing wrong with the LA. The start of the array of ASCB pointers
is at whatever offset ASVTENTY is at, and that hasn't changed in 50 years.
The content of the header info has grown, but not the offset of the array
of pointers.


> Shoud I issue the following to get to the next ASVT
> LR10,ASVTFRST
>

No. I think you're thinking that the entire ASVT has multiple instances
that are chained together. There's only one, with an array of pointers on
the end. ASVTFRST points somewhere you don't want - I think the first
*available* ASCB, though IBM doesn't document the ASCB creation logic, and
I assume things have changed with reusable ASIDs. Presumably you are not
planning to modify the ASVT, so you're not looking for an available
entry... If you are, well Just Don't. But effectively ASVTFRST is element 0
of the array of ASCB pointers, and there's no ASID 0. So if you have the
address of ASVTFRST (not the address that is *in* ASVTFRST), then you can
multiply the ASID by 4 and use it as an origin-0 array index. If you start
at ASVTENTY then it's origin-1, so add 4 (or 1 before you multiply by 4).
Or if you want to look at all active ASCBs then start with the first array
element, follow the pointer *if it's active*, and do whatever it is you
want to do with each ASCB.


> The current code issues the following instruction, which
> looks incorrect according to IHAASVT
> LAR11,4(,R11)  Advance NEXT ASVT ENTRY
>

It's fine. I suppose if you want to be pedantic you could use L'ASVTENTY
instead of hardcoding 4, but seriously, that's not going to change, and if
it does all kinds of other things will break.

Tony H.

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


Re: I want to cry

2023-02-04 Thread Seymour J Metz
Adam Smith believed that a free market was impossible without government 
intervention to prevent monopolies.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Friday, February 3, 2023 11:28 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I want to cry

Social democratic countries have much better quality of lives than America. 
Very few would like pure capitalism. No social security, medicare, military, 
police/fire, public schools, etc. Most people would be making very little to 
benefit the wealthy. Unions fought for the benefits we all now take for granted.


Sent from Yahoo Mail for iPhone


On Friday, February 3, 2023, 11:21 PM, Charles Mills  wrote:

> The inherent vice of capitalism is the unequal sharing of blessings.  The 
> inherent virtue of socialism is the equal sharing of misery. Under capitalism 
> man exploits his fellow man. Under socialism it's the other way around. 
> CharlesSent from a mobile; please excuse the brevity.
 Original message From: Bob Bridges  
Date: 2/3/23  5:10 PM  (GMT-08:00) To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: I 
want to cry I don't run in those circles enough.  I write in VBA and VBS a lot, 
but I don't work in a shop where it's common.  But I was a COBOL developer for 
15 years and I knew coworkers who know COBOL and nothing else.---Bob Bridges, 
robhbrid...@gmail.com, cell 336 382-7313/* The inherent vice of capitalism is 
the unequal sharing of blessings.  The inherent virtue of socialism is the 
equal sharing of misery.  -Churchill */-Original Message-From: IBM 
Mainframe Discussion List  On Behalf Of John 
McKownSent: Friday, February 3, 2023 17:13Or Visual Basic.--- On Fri, Feb 3, 
2023, 12:10 Bob Bridges  wrote:> It is a little 
distressing, though (at least to me), to observe how > many "programmers" never 
~have~ seen anything but COBOL.>> -Original Message-> From: zMan> Sent: 
Friday, February 3, 2023 10:50>> And unless COBOL is the only programming 
language you've ever seen, it > seems unlikely that you wouldn't know what a 
variable 
is.--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: I want to cry

2023-02-04 Thread Seymour J Metz
I've certainly seen that for other languages, but I don't recall seeing it for 
COBOL.


--
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: Friday, February 3, 2023 3:53 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I want to cry

On Fri, 3 Feb 2023 15:43:04 +, Seymour J Metz wrote:

>The name of ther song is called Haddock Eyes. Data names are variable names; 
>the fields holding the data are variables. In fact, the manual uses the term 
>"condition variable".
>
"Identifier"?

--
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: I want to cry

2023-02-04 Thread Seymour J Metz
I hold firmly to the idea that students should be exposed to a variety of very 
different languages, and that students of assembler should be exposed to a 
variety of hardware architectures.

Real programmers do it in octal. Silly wabbit, trits are for kids.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Charles Mills [charl...@mcn.org]
Sent: Friday, February 3, 2023 5:20 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I want to cry

At the risk of being contrarian relative to the culture of this group, how is 
that inherently worse than some programmers have never seen anything but 
Assembler -- 360/370/390/Z assembler at that?

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Bob Bridges
Sent: Friday, February 3, 2023 10:10 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: I want to cry

It is a little distressing, though (at least to me), to observe how many 
"programmers" never ~have~ seen anything but COBOL.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* How agitated I am when I am in the garden, and how happy I am to be so 
agitated.  Nothing works just the way I thought it would, nothing looks just 
the way I had imagined it, and when sometimes it does look like what I had 
imagined (and this, thank God, is rare) I am startled that my imagination is so 
ordinary.  -Jamaica Kincaid, _My Garden Book_ */


-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of zMan
Sent: Friday, February 3, 2023 10:50

And unless COBOL is the only programming language you've ever seen, it seems 
unlikely that you wouldn't know what a variable is.

--
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: Searching the ASVT

2023-02-04 Thread Seymour J Metz
Shouldn't that be
USING ASVTBEGN,R10  ESTABLISH ADDRESSABILITY

Or does CVTASVT point to the prefix?

The LAR11,ASVTENTY   is unnecessary unless you need to refer to the base of 
the table again; if you include it then include a corresponding USING. 
Otherwise you can just use and increment R10.

LAR11,4(,R11)  is correct for the code shown.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
esst...@juno.com [esst...@juno.com]
Sent: Saturday, February 4, 2023 5:58 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Searching the ASVT

.
Hello

I am on a z/os 2.2 system, trying to rseurrect some old code.
.
can some one confirm the instructions for Searching the
Address Space Vector Table (ASVT) on z/OS 2.2
.
This program  loads R10 with CVTASVT
L R10,CVTASVTGET ASVT ADDRESS
USING ASVT,R10  ESTABLISH ADDRESSABILITY
.
It then issues a Load Address For the first entry ?
This doesn't  look correct to me ?
LAR11,ASVTENTY   GET # OF FIRST ENTRY
.
Next its test for an ASCB that is assigned.
TM0(R11),ASVTAVALVALID ASCB Available ?
BORUNLOP1NO, CHECK NEXT ASVT ENTRY
.
* Examine ASCB
.
.
Besides the Load Address above - How should this module
advance to the Next ASVT entry ?
Shoud I issue the following to get to the next ASVT
LR10,ASVTFRST
.
The current code issues the following instruction, which
looks incorrect according to IHAASVT
LAR11,4(,R11)  Advance NEXT ASVT ENTRY
.
.
Your comments please
.
Paul D'Angelo
***

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