Charles,

sorry for belated reply.

Inserting an invalid opcode works to create a single dump.
With SNAP you can have multiple dumps along the path of execution, up to
the final abend (if any).

If you need to preserve a volatile register across the SNAP invocation,
you must save/restore them in your own program. No big deal...

Kind regards,
Abe
===



Op 26/01/2022 om 22:35 schreef Charles Mills:
> I'm just lazy. Rather than look up SNAP I just used DC H'0'. I seem to recall 
> that SNAP clobbers a couple of registers but I could be wrong on that.
>
> Charles
>
>
> -----Original Message-----
> From: IBM Mainframe Assembler List [mailto:[email protected]] 
> On Behalf Of Abe Kornelis
> Sent: Wednesday, January 26, 2022 11:38 AM
> To: [email protected]
> Subject: Re: Debugging Assembler Rexx programs
>
> Charles,
>
> I've used SNAP dumps extensively - but never in a program called from REXX.
> Is there a reason you left it out of your list of options?
> I used to like very much the ultra-short snaps with just PSW and
> register dump.
>
> Kind regards,
> Abe
> ===
>
>
> Op 26/01/2022 om 18:32 schreef Charles Mills:
>> I have a fair amount of experience writing assembler and calling it from 
>> Rexx.
>>
>> Is your problem with "getting going" -- the linkage and that sort of thing 
>> -- or some logic problem in your assembler once you get going?
>>
>> You might try writing the world's simplest assembler program first -- maybe 
>> just do nothing except survive the call and return successfully. Get that 
>> working.
>>
>> Then enhance it to return 'Hello, World!" in the result area. SAY it from 
>> your calling Rexx to make sure you got it right.
>>
>> And then move forward one step at a time. 
>>
>> You have two "non-debugger" options for debugging:
>>
>> 1. WTO's. Good especially for tracing how far you got in your logic.
>> 2. The old DC H'0' and debug from the dump.
>>
>> Charles
>>
>>
>> -----Original Message-----
>> From: IBM Mainframe Assembler List [mailto:[email protected]] 
>> On Behalf Of Joseph Reichman
>> Sent: Wednesday, January 26, 2022 8:35 AM
>> To: [email protected]
>> Subject: Re: Debugging Assembler Rexx programs
>>
>> The copy book is assembler 
>> It tells me the name of the variable it’s length 
>> And it’s offset which would be it’s value 
>>
>> I have one Simple question 
>>
>> This url
>>
>> https://share.confex.com/share/115/webprogram/Handout/Session7691/S7691bla.pdf
>>
>> Contains what I want to do it says how to write 
>> The program if the program is extensive 
>> You have to debug it 
>>
>> The only way to get the Rexx environment 
>> Block 
>>
>> Address tso
>> “Call ‘myloadlib(myprog) passenvb’
>> Passenvb populates register 0 with the address of the envblock
>>
>> How would I debug this program
>>
>> It tried test ‘mylosdlib(myprog)’ cp
>> And used ECTENVBK but now I am getting
>>
>> A return code invalid language environment 
>>
>>
>>
>>> On Jan 26, 2022, at 11:16 AM, Paul Gilmartin 
>>> <[email protected]> wrote:
>>>
>>> On Jan 26, 2022, at 08:09:14, Joe Reichman wrote:
>>>> Thanks but that would never here at the IRS this place is highly sensitive 
>>>> to anything from the outside
>>>>
>>> It's hard for these fora to help you if:
>>>
>>> o You can't show the failing code.
>>>
>>> o You can't accept working examples from outside.
>>>
>>> Must your solution involve Assembler?  Why not keep the data in a file,
>>> read it with Rexx and populate the variables with assignment statements
>>> or VALUE()?
>>>
>>> -- 
>>> gil

Reply via email to