Re: Determining a group item

2022-01-02 Thread Joseph Reichman
Charles 

I can subscript the setc symbol from the AREAD 

I’m doing this in a call from the rexx 
As long as I get the production copybook 
Once this is done it’s done 
Meaning I don’t have to change it every time the copybook(s) change 

I am not really aware when those change take place and if they do I would have 
to assemble a new sysadata file. As far as the Duplication factor  

It always been 0 or nothing if it’s zero won’t bump it up 

If not I can doSETA L’FIELDA 
And bump up the value by that 

I really don’t know when the copybooks are changed mostly in the beginning of 
year but not necessarily 

Every time that happens I would have to reassemble to produce an adata of the 
copybook(‘s)

It maybe easier with adata but necessarily more practical 

Thanks 

> On Jan 2, 2022, at 7:30 PM, Charles Mills  wrote:
> 
> 1. Unless my recollection of AREAD is flawed, it will just give you the raw 
> source code. It's not much different from reading the source file. In order 
> to determine offsets and so forth you would have to write your own assembler: 
> you will have to "know" what FOO DS 3PL8 "means." You will have to bump your 
> internal location counter by 24 and read the next card image. You will have 
> to understand the location counter implication of DS 0F and ORG FOO-7.
> 
> 2. With regard to processing the listing rather than the ADATA, I have to say 
> that "intellectually" I don't like it ("listings are for people; ADATA is for 
> this sort of task") but practically it sounds like a fine idea. All of the 
> offsets and symbol values are there and it is easy to figure out -- no trying 
> to interpret some structure of binary data.
> 
> (Is it clear whether a symbol is relocatable or not? Is the difference 
> between FOO EQU * versus FOO EQU 126 clear from the listing?)
> 
> 3. You might consider Rexx for the processing language, especially if you are 
> going to process SYSPRINT.
> 
> 4. Whichever route you go, I would divide the project up into two phases:
> 
> i. Parse the input (SYSPRINT or ADATA). Build a big table with everything you 
> think you might need to know about each symbol (name, offset, value, format, 
> length, comment). Dump that table out to make sure it is right and you 
> understand what you have done.
> 
> ii. Turn it into the Rexx statements that you need.
> 
> Charles
> 
> 
> -Original Message-
> From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] 
> On Behalf Of Joseph Reichman
> Sent: Sunday, January 2, 2022 1:31 PM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Re: Determining a group item
> 
> That’s what I thought not punching out but doing a number of SETC to generate 
> dc’s 
> That will help me define/populate Rexx variables 
> 
> Thanks 
> 
>> On Jan 2, 2022, at 4:27 PM, Steve Smith  wrote:
>> 
>> When I've done similar things, I just wrote a macro to replace DS, and it
>> punched out the appropriate line in whatever language I needed.  Seemed to
>> be far easier than reprocessing source/listings/adata.
>> 
>> sas


Re: Determining a group item

2022-01-02 Thread Charles Mills
1. Unless my recollection of AREAD is flawed, it will just give you the raw 
source code. It's not much different from reading the source file. In order to 
determine offsets and so forth you would have to write your own assembler: you 
will have to "know" what FOO DS 3PL8 "means." You will have to bump your 
internal location counter by 24 and read the next card image. You will have to 
understand the location counter implication of DS 0F and ORG FOO-7.

2. With regard to processing the listing rather than the ADATA, I have to say 
that "intellectually" I don't like it ("listings are for people; ADATA is for 
this sort of task") but practically it sounds like a fine idea. All of the 
offsets and symbol values are there and it is easy to figure out -- no trying 
to interpret some structure of binary data.

(Is it clear whether a symbol is relocatable or not? Is the difference between 
FOO EQU * versus FOO EQU 126 clear from the listing?)

3. You might consider Rexx for the processing language, especially if you are 
going to process SYSPRINT.

4. Whichever route you go, I would divide the project up into two phases:

i. Parse the input (SYSPRINT or ADATA). Build a big table with everything you 
think you might need to know about each symbol (name, offset, value, format, 
length, comment). Dump that table out to make sure it is right and you 
understand what you have done.

ii. Turn it into the Rexx statements that you need.

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Joseph Reichman
Sent: Sunday, January 2, 2022 1:31 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Determining a group item

That’s what I thought not punching out but doing a number of SETC to generate 
dc’s 
That will help me define/populate Rexx variables 

Thanks 

> On Jan 2, 2022, at 4:27 PM, Steve Smith  wrote:
> 
> When I've done similar things, I just wrote a macro to replace DS, and it
> punched out the appropriate line in whatever language I needed.  Seemed to
> be far easier than reprocessing source/listings/adata.
> 
> sas


Re: ADATA dump utility [was: RE: Determining a group item]

2022-01-02 Thread Charles Mills
Sorry. Don't own one line of the code.

Charles


-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On 
Behalf Of Farley, Peter x23353
Sent: Sunday, January 2, 2022 12:31 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: ADATA dump utility [was: RE: Determining a group item]

Charles,

Would it be possible for you to contribute only the "intelligent ADATA dump" 
code to CBT, without any of your firm's IP included?  That seems to be a 
notably generic utility that would be a wonderful contribution to the IBM 
programming community.

Converting such code to other languages (MetalC, HLASM, python, etc.) would 
then be an exercise for the rest of the community to take up.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On Behalf 
Of Charles Mills
Sent: Saturday, January 1, 2022 7:56 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Determining a group item



I started by writing an "intelligent dump" program to display the contents of 
an ADATA file, and then refined that until it was producing the desired output 
(with the dump available as a debugging option in the finished program).

Charles
--

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.


Re: Determining a group item

2022-01-02 Thread Joseph Reichman
That’s what I thought not punching out but doing a number of SETC to generate 
dc’s 
That will help me define/populate Rexx variables 

Thanks 

> On Jan 2, 2022, at 4:27 PM, Steve Smith  wrote:
> 
> When I've done similar things, I just wrote a macro to replace DS, and it
> punched out the appropriate line in whatever language I needed.  Seemed to
> be far easier than reprocessing source/listings/adata.
> 
> sas


Re: Determining a group item

2022-01-02 Thread Steve Smith
When I've done similar things, I just wrote a macro to replace DS, and it
punched out the appropriate line in whatever language I needed.  Seemed to
be far easier than reprocessing source/listings/adata.

sas


Re: ADATA dump utility [was: RE: Determining a group item]

2022-01-02 Thread Steve Smith
I can't really see what you want.  ADATA is fairly dense, but it's much
easier to process than SMF data.  All the record layouts have good DSECTs
available.

Just do it.

sas

On Sun, Jan 2, 2022 at 3:31 PM Farley, Peter x23353 <
0dc9d8785c29-dmarc-requ...@listserv.uga.edu> wrote:

> Charles,
>
> Would it be possible for you to contribute only the "intelligent ADATA
> dump" code to CBT, without any of your firm's IP included?  That seems to
> be a notably generic utility that would be a wonderful contribution to the
> IBM programming community.
>
> Converting such code to other languages (MetalC, HLASM, python, etc.)
> would then be an exercise for the rest of the community to take up.
>
> Peter
>
>


ADATA dump utility [was: RE: Determining a group item]

2022-01-02 Thread Farley, Peter x23353
Charles,

Would it be possible for you to contribute only the "intelligent ADATA dump" 
code to CBT, without any of your firm's IP included?  That seems to be a 
notably generic utility that would be a wonderful contribution to the IBM 
programming community.

Converting such code to other languages (MetalC, HLASM, python, etc.) would 
then be an exercise for the rest of the community to take up.

Peter

-Original Message-
From: IBM Mainframe Assembler List  On Behalf 
Of Charles Mills
Sent: Saturday, January 1, 2022 7:56 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Determining a group item



I started by writing an "intelligent dump" program to display the contents of 
an ADATA file, and then refined that until it was producing the desired output 
(with the dump available as a debugging option in the finished program).

Charles
--

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.


Re: Determining a group item

2022-01-02 Thread Paul Gilmartin
> On Jan 2, 2022, at 08:48:38, Martin Trübne wrote:
> 
>>> Does it grok SYSIN and SYSLIB in z/FS files?
> 
> 
>>> For the record: My HLASM debugger eats source code to support 
>>> source-debugging.
> 
> To make this a little clearer: It absorbs source-listings whichever way the 
> HLASM produces it.
>  
Ah, I misunderstood that you depended on accessing the SYSIN and SYSLIB
as reported in the Data Set Summary rather than only the SYSPRINT

Thanks,
gil


Re: Determining a group item

2022-01-02 Thread Martin Trübner

Paul,

your wrote:


Does it grok SYSIN and SYSLIB in z/FS files?


Which I do not understand (english is not my native language- HLASM is much 
better)

Since you cited a line from my posting


For the record: My HLASM debugger eats source code to support source-debugging.


To make this a little clearer: It absorbs source-listings whichever way the 
HLASM produces it.

for VSE I read the spoolfiles, for MVS I expect the listing of the compile in a 
VSAM file--- If you have any other repo for the listings, it is no big deal to 
adapt the exit that does the reading.

Does that help steering into the right direction?

Martin


Re: Determining a group item

2022-01-02 Thread Joseph Reichman
My initial thoughts were having the copybook preceded my AREAD 
Bottom line with AREAD I get the entire 80 byte assembler sysin 
Many have said I can’t do this way 
I may give it a try 

I need to generate 4 fields for rexx

1) address of the name 
 2) length of the name 
 3) address of the value 
 4) length of the value 



> On Jan 2, 2022, at 8:16 AM, Paul Gilmartin 
> <0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote:
> 
> On Jan 2, 2022, at 01:15:38, Martin Trübner wrote:
>>...
>> For the record: My HLASM debugger eats source code to support 
>> source-debugging.
>> 
> Does it grok SYSIN and SYSLIB in z/FS files?
> 
> -- gil


Re: Determining a group item

2022-01-02 Thread Paul Gilmartin
On Jan 2, 2022, at 01:15:38, Martin Trübner wrote:
> ...
> For the record: My HLASM debugger eats source code to support 
> source-debugging.
>  
Does it grok SYSIN and SYSLIB in z/FS files?

-- gil


Re: Determining a group item

2022-01-02 Thread Martin Trübner

Joseph,


how about using the output of a HLASM run to determine what you need?


It is not as exact as ADATA but you get there for 100 %


For the record: My HLASM debugger eats source code to support 
source-debugging.


The first version (the one I am still proud of) did it against the 
compile listings.



Meanwhile I wrote code to diggest ADATA stuff as alternative.


To determine the DSECT (or CSECT) used in a given instruction is 100% 
correct with the ADATA files- but that is rarely needed. Other cases are 
equal.



From the development point using compiler-listings is certainly easier.

Martin