Joe, We need more information. Is 'user program' the program you are invoking with the CALL subcommand?
Where is the code that saved the R14 you want to restore, in your module or the program you are using CALL to invoke? The CALL subcommand doc says that the R14 value set on a CALL subcommand is set thusly: REGISTER 14 WILL CONTAIN A RETURN ADDRESS WHICH WILL CAUSE A CHANGE TO COMMAND MODE. that is NOT the same thing as saying R14 will point to the last breakpoint. You have to specify RESUME on the call to have R14 point to the last breakpoint. Show us some code. Mike Shaw MVS/QuickRef Support Group Chicago-Soft, Ltd. On Mon, Oct 14, 2024 at 10:41 AM Joseph Reichman < [email protected]> wrote: > Ok > > Then can you please tell me how do restore > > The user programs R14 which was saved in the getmained workarea > > There must be a way to this or else the whole call at a breakpoint doesn’t > work > Should I make a Fake breakpoint in the user program extent and again the > only reason I want to stop things > > Is to restore the user programs 14 and then have it break on the orignal > breakpoint without any subcommands such as calling a user program > > Thank you > > > On Oct 14, 2024, at 10:06 AM, Mike Shaw <[email protected]> > wrote: > > > > Joe, > > > > TEST knows where it set breakpoints. > > > > AFAIK you can't fake it out by moving code and branching to an area that > > is not within any program extent and trying to breakpoint there. > > > > Mike Shaw > > MVS/QuickRef Support > > Chicago-Soft, Ltd. > > > > > >> On Sun, Oct 13, 2024, 9:43 PM Joseph Reichman < > >> [email protected]> wrote: > >> > >> Hi > >> > >> I am having all sorts of problems with the TEST Call subcommand > >> specifically restoring the USER program R14 value > >> > >> The Documentation says the return value whether you use RESUME "which > >> specifies upon completion of execution, the called program returns > control > >> to the address of the last breakpoint before the CALL". > >> > >> In this case r14 points to address of where the breakpoint is > >> > >> Or you can explicitly set where you want to return by coding RETURN and > >> having R14 point to where you want to return > >> > >> The problem is in either case one has to set the USER programs R14 back > >> > >> What I wanted to do is return to the breakpoint which had the call only > >> this > >> time without calling the user program > >> > >> Now it seems to me the only way to get this done is by > >> > >> > >> First Save the address of where the breakpoint is upon entry > >> > >> Then have R14 point to a DUMMY breakpoint by that I mean you have a > >> workarea > >> obtained with TEST subcommand GETMAIN (passed as a parm) to the user > prog > >> have some area 2 bytes with a nop > >> > >> X'0700' and in the called program branch back to it so for example > >> > >> use the following TEST subcommand > >> Assume the original R14 was saved in workarea+4 > >> > >> AT WORKAREA+30 (COPY WORKAREA+4 R14 LENGTH(4); AT WORKAREA+40? ; GO > >> WORKAREA+40?) > >> > >> > >> > >> This code would > >> > >> First seem to go to dummy breakpoint > >> Second retore the user program value of R14 Third set a breakpoint at > the > >> original breakpoint (without a call) Fourth go to the breakpoint > >> > >> However I keep on getting a S0C4 > >> > >> > >> The following is snippets of the user program > >> > >> > >> USERPROG CSECT > >> USING R3,USERPROG > >> LR R3,R15 > >> ST R14,RETURN > >> > >> MVC DUMMYBREAK,=X'0700' > >> > >> LA R14,DUMMYBREAK > >> BR R14 > >> > >> > >> > >> > >> WORKAREA DSECT > >> > >> > >> 0030 DUMMYBREAK DS XL2 > >> 0040 RETRUN DS A > >> > >> ---------------------------------------------------------------------- > >> > >> > >> ---------------------------------------------------------------------- > >> For IBM-MAIN subscribe / signoff / archive access instructions, > >> send email to [email protected] with the message: INFO IBM-MAIN > >> > > > > ---------------------------------------------------------------------- > > For IBM-MAIN subscribe / signoff / archive access instructions, > > send email to [email protected] with the message: INFO IBM-MAIN > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
