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
