getmain 32                              
                                        
 STORAGE AT 2A9F40                      
 TEST                                   
2a9f40.=x'070007000700'                  
 TEST                                   
l 2a9f40.                               
                                        
 002A9F40.  07000700                    
 TEST                                   
at 2a9f42.                              
                                        
 TEST                                   
go 2a9f40.                              
                                        
 AT 2A9F42.                             
 TEST                                   


On Mon, 14 Oct 2024 10:05:55 -0400 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

--
Binyamin Dissen <[email protected]>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to