Discussion:
TSO TEST breakpoint subcommand call either looping or not being executed
(too old to reply)
Joseph Reichman
2018-07-02 19:37:43 UTC
Permalink
Raw Message
Hi



I have a TSO TEST breakpoint with a call subcommand when I return to the
offset of the breakpoint the program loops over and over again. When I
return to the NSI the instruction where the breakpoint is doesn't get
executed



Thanks


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Binyamin Dissen
2018-07-02 19:59:16 UTC
Permalink
Raw Message
On Mon, 2 Jul 2018 15:37:34 -0400 Joseph Reichman <***@GMAIL.COM>
wrote:

:>I have a TSO TEST breakpoint with a call subcommand when I return to the
:>offset of the breakpoint the program loops over and over again. When I
:>return to the NSI the instruction where the breakpoint is doesn't get
:>executed

I do not understand your scenario.

You are setting a breakpoint and at the breakpoint you issue the CALL
subcommand?

What OPCODE are you breakpointing on?

What is the exact CALL command used?

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-02 20:07:47 UTC
Permalink
Raw Message
Binyamin

For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C))
If +8 contains a STM r0,r15,saveregs in this scenario the STM is never
executed and return to +C

If for example at +8 (call program PARAM(parms) Return(+8)) the program is
called repeatedly

I would like what is +8 to get executed after the call or execute +8 the STM
and then called program then go to the NSI

Cann't figure out the syntax to make this work

Thanks

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-***@LISTSERV.UA.EDU> On Behalf Of
Binyamin Dissen
Sent: Monday, July 2, 2018 3:59 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
executed

On Mon, 2 Jul 2018 15:37:34 -0400 Joseph Reichman <***@GMAIL.COM>
wrote:

:>I have a TSO TEST breakpoint with a call subcommand when I return to the
:>offset of the breakpoint the program loops over and over again. When I
:>return to the NSI the instruction where the breakpoint is doesn't get
:>executed

I do not understand your scenario.

You are setting a breakpoint and at the breakpoint you issue the CALL
subcommand?

What OPCODE are you breakpointing on?

What is the exact CALL command used?

--
Binyamin Dissen <***@dissensoftware.com> http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me, you
should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems, especially
those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to ***@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Binyamin Dissen
2018-07-02 20:32:00 UTC
Permalink
Raw Message
If I understand you correctly and you repetitively want this to occur, you
will need:

AT +8 (AT +C (off +c;call ......;go);go)

(assuming you want the CALL after the STM)


On Mon, 2 Jul 2018 16:07:38 -0400 Joseph Reichman <***@GMAIL.COM>
wrote:

:>Binyamin
:>
:>For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C))
:>If +8 contains a STM r0,r15,saveregs in this scenario the STM is never
:>executed and return to +C
:>
:>If for example at +8 (call program PARAM(parms) Return(+8)) the program is
:>called repeatedly
:>
:>I would like what is +8 to get executed after the call or execute +8 the STM
:>and then called program then go to the NSI
:>
:>Cann't figure out the syntax to make this work
:>
:>Thanks
:>
:>-----Original Message-----
:>From: IBM Mainframe Discussion List <IBM-***@LISTSERV.UA.EDU> On Behalf Of
:>Binyamin Dissen
:>Sent: Monday, July 2, 2018 3:59 PM
:>To: IBM-***@LISTSERV.UA.EDU
:>Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
:>executed
:>
:>On Mon, 2 Jul 2018 15:37:34 -0400 Joseph Reichman <***@GMAIL.COM>
:>wrote:
:>
:>:>I have a TSO TEST breakpoint with a call subcommand when I return to the
:>:>offset of the breakpoint the program loops over and over again. When I
:>:>return to the NSI the instruction where the breakpoint is doesn't get
:>:>executed
:>
:>I do not understand your scenario.
:>
:>You are setting a breakpoint and at the breakpoint you issue the CALL
:>subcommand?
:>
:>What OPCODE are you breakpointing on?
:>
:>What is the exact CALL command used?

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-02 20:35:06 UTC
Permalink
Raw Message
Either way as long as the breakpoint instruction
Gets executed

I’ll try it when I get home thanks

Joe Reichman
170-10 73 rd ave
Fresh meadows NY 11366
Post by Binyamin Dissen
If I understand you correctly and you repetitively want this to occur, you
AT +8 (AT +C (off +c;call ......;go);go)
(assuming you want the CALL after the STM)
:>Binyamin
:>
:>For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C))
:>If +8 contains a STM r0,r15,saveregs in this scenario the STM is never
:>executed and return to +C
:>
:>If for example at +8 (call program PARAM(parms) Return(+8)) the program is
:>called repeatedly
:>
:>I would like what is +8 to get executed after the call or execute +8 the STM
:>and then called program then go to the NSI
:>
:>Cann't figure out the syntax to make this work
:>
:>Thanks
:>
:>-----Original Message-----
:>Binyamin Dissen
:>Sent: Monday, July 2, 2018 3:59 PM
:>Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
:>executed
:>
:>
:>:>I have a TSO TEST breakpoint with a call subcommand when I return to the
:>:>offset of the breakpoint the program loops over and over again. When I
:>:>return to the NSI the instruction where the breakpoint is doesn't get
:>:>executed
:>
:>I do not understand your scenario.
:>
:>You are setting a breakpoint and at the breakpoint you issue the CALL
:>subcommand?
:>
:>What OPCODE are you breakpointing on?
:>
:>What is the exact CALL command used?
--
http://www.dissensoftware.com
Director, Dissen Software, Bar & Grill - Israel
Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.
I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-02 23:37:39 UTC
Permalink
Raw Message
Didn’t know you can put in parens to force sequence of execution
Post by Binyamin Dissen
If I understand you correctly and you repetitively want this to occur, you
AT +8 (AT +C (off +c;call ......;go);go)
(assuming you want the CALL after the STM)
:>Binyamin
:>
:>For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C))
:>If +8 contains a STM r0,r15,saveregs in this scenario the STM is never
:>executed and return to +C
:>
:>If for example at +8 (call program PARAM(parms) Return(+8)) the program is
:>called repeatedly
:>
:>I would like what is +8 to get executed after the call or execute +8 the STM
:>and then called program then go to the NSI
:>
:>Cann't figure out the syntax to make this work
:>
:>Thanks
:>
:>-----Original Message-----
:>Binyamin Dissen
:>Sent: Monday, July 2, 2018 3:59 PM
:>Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
:>executed
:>
:>
:>:>I have a TSO TEST breakpoint with a call subcommand when I return to the
:>:>offset of the breakpoint the program loops over and over again. When I
:>:>return to the NSI the instruction where the breakpoint is doesn't get
:>:>executed
:>
:>I do not understand your scenario.
:>
:>You are setting a breakpoint and at the breakpoint you issue the CALL
:>subcommand?
:>
:>What OPCODE are you breakpointing on?
:>
:>What is the exact CALL command used?
--
http://www.dissensoftware.com
Director, Dissen Software, Bar & Grill - Israel
Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.
I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Tony Harminc
2018-07-03 16:47:39 UTC
Permalink
Raw Message
Post by Joseph Reichman
Post by Binyamin Dissen
If I understand you correctly and you repetitively want this to occur, you
AT +8 (AT +C (off +c;call ......;go);go)
Didn’t know you can put in parens to force sequence of execution
It's not that the parentheses are forcing the sequence of evaluation
as in a programming language. Rather, you can have as many stacked
commands as you like. (Well, doubtless there's some limit, but
probably based only on the total length.)

The second operand of the AT command is one or more commands to be
executed when the breakpoint is hit. You can have multiple commands
separated by semicolons, done in sequence. But any of those commands
can be a new AT command that may or may not be related to the first
AT. That's what Binyamin has set up for you.

So basically AT looks like this:

AT <address> (cmd1; cmd2; cmd3...)

and those cmds can be any TEST subcommand. Typically they are things
like LIST or LISTPSW, but they can also be AT or OFF.

Another thing to think carefully about when doing this kind of thing
is where your +n is relative to. The first AT you issue will be
relative to the current qualification, but the deferred AT will be
relative to the qualification at the time that it is executed, i.e.
when the first AT triggers. If you called a new module, the
qualification may have changed. In many cases it's best to use a more
explicit address such as module.csect.+n to be sure. Or you can issue
a Q command to change the default.

Tony H.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-09 12:29:17 UTC
Permalink
Raw Message
Hi

I have gotten the following code to work (with the help of Binyamin) as I will list below but the problem is it is only being executed once and I am looping thru a number of records
Seems like when I get to DUMBRK OFF +4; GO +4 it is removed and I would like to process it for the next iteration of the code

LOAD 'MYTEST.LOAD(TESTPROG)'

GETMAIN 24 SP(0) LOC(BELOW) EQUATE(RGESVE)
GETMAIN 2 SP(0) LOC (BELOW) EQUATE(DUMBRK)

DUMBRK = X'0700'

AT +4( AT DUMBRK (COPY RGESVE 14R L(16); OFF +4; GO +4): COPY 14 RGESVE L(16); RGEAVE+10=C'PARM1'; CALL TESTPROG.TESTPROG PARM(RGESVE) RETURN(DUMBRK)) TITLE('BREAK AT +4')

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-***@LISTSERV.UA.EDU> On Behalf Of Tony Harminc
Sent: Tuesday, July 3, 2018 12:47 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: TSO TEST breakpoint subcommand call either looping or not being executed
Post by Joseph Reichman
Post by Binyamin Dissen
If I understand you correctly and you repetitively want this to
AT +8 (AT +C (off +c;call ......;go);go)
Didn’t know you can put in parens to force sequence of execution
It's not that the parentheses are forcing the sequence of evaluation as in a programming language. Rather, you can have as many stacked commands as you like. (Well, doubtless there's some limit, but probably based only on the total length.)

The second operand of the AT command is one or more commands to be executed when the breakpoint is hit. You can have multiple commands separated by semicolons, done in sequence. But any of those commands can be a new AT command that may or may not be related to the first AT. That's what Binyamin has set up for you.

So basically AT looks like this:

AT <address> (cmd1; cmd2; cmd3...)

and those cmds can be any TEST subcommand. Typically they are things like LIST or LISTPSW, but they can also be AT or OFF.

Another thing to think carefully about when doing this kind of thing is where your +n is relative to. The first AT you issue will be relative to the current qualification, but the deferred AT will be relative to the qualification at the time that it is executed, i.e.
when the first AT triggers. If you called a new module, the qualification may have changed. In many cases it's best to use a more explicit address such as module.csect.+n to be sure. Or you can issue a Q command to change the default.

Tony H.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-03 11:49:19 UTC
Permalink
Raw Message
Binyamin

The off for +C killed the call as the book says
Off for an at in the list kills the remaining
Subcommand
Post by Binyamin Dissen
If I understand you correctly and you repetitively want this to occur, you
AT +8 (AT +C (off +c;call ......;go);go)
(assuming you want the CALL after the STM)
:>Binyamin
:>
:>For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C))
:>If +8 contains a STM r0,r15,saveregs in this scenario the STM is never
:>executed and return to +C
:>
:>If for example at +8 (call program PARAM(parms) Return(+8)) the program is
:>called repeatedly
:>
:>I would like what is +8 to get executed after the call or execute +8 the STM
:>and then called program then go to the NSI
:>
:>Cann't figure out the syntax to make this work
:>
:>Thanks
:>
:>-----Original Message-----
:>Binyamin Dissen
:>Sent: Monday, July 2, 2018 3:59 PM
:>Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
:>executed
:>
:>
:>:>I have a TSO TEST breakpoint with a call subcommand when I return to the
:>:>offset of the breakpoint the program loops over and over again. When I
:>:>return to the NSI the instruction where the breakpoint is doesn't get
:>:>executed
:>
:>I do not understand your scenario.
:>
:>You are setting a breakpoint and at the breakpoint you issue the CALL
:>subcommand?
:>
:>What OPCODE are you breakpointing on?
:>
:>What is the exact CALL command used?
--
http://www.dissensoftware.com
Director, Dissen Software, Bar & Grill - Israel
Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.
I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Binyamin Dissen
2018-07-03 16:13:23 UTC
Permalink
Raw Message
That has not been my experience. Doing OFF in the breakpoint does not cause an
automatic GO

My guess is that you did not form the statement correctly or that it is
possible to get to +C without going thru +8.

It is always best to show your commands and the responses, rather than telling
us what you thought you did.

On Tue, 3 Jul 2018 07:49:10 -0400 Joseph Reichman <***@GMAIL.COM>
wrote:

:>Binyamin
:>
:>The off for +C killed the call as the book says
:>Off for an at in the list kills the remaining
:>Subcommand
:>
:>
:>
:>> On Jul 2, 2018, at 4:31 PM, Binyamin Dissen <***@DISSENSOFTWARE.COM> wrote:
:>>
:>> If I understand you correctly and you repetitively want this to occur, you
:>> will need:
:>>
:>> AT +8 (AT +C (off +c;call ......;go);go)
:>>
:>> (assuming you want the CALL after the STM)
:>>
:>>
:>> On Mon, 2 Jul 2018 16:07:38 -0400 Joseph Reichman <***@GMAIL.COM>
:>> wrote:
:>>
:>> :>Binyamin
:>> :>
:>> :>For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C))
:>> :>If +8 contains a STM r0,r15,saveregs in this scenario the STM is never
:>> :>executed and return to +C
:>> :>
:>> :>If for example at +8 (call program PARAM(parms) Return(+8)) the program is
:>> :>called repeatedly
:>> :>
:>> :>I would like what is +8 to get executed after the call or execute +8 the STM
:>> :>and then called program then go to the NSI
:>> :>
:>> :>Cann't figure out the syntax to make this work
:>> :>
:>> :>Thanks
:>> :>
:>> :>-----Original Message-----
:>> :>From: IBM Mainframe Discussion List <IBM-***@LISTSERV.UA.EDU> On Behalf Of
:>> :>Binyamin Dissen
:>> :>Sent: Monday, July 2, 2018 3:59 PM
:>> :>To: IBM-***@LISTSERV.UA.EDU
:>> :>Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
:>> :>executed
:>> :>
:>> :>On Mon, 2 Jul 2018 15:37:34 -0400 Joseph Reichman <***@GMAIL.COM>
:>> :>wrote:
:>> :>
:>> :>:>I have a TSO TEST breakpoint with a call subcommand when I return to the
:>> :>:>offset of the breakpoint the program loops over and over again. When I
:>> :>:>return to the NSI the instruction where the breakpoint is doesn't get
:>> :>:>executed
:>> :>
:>> :>I do not understand your scenario.
:>> :>
:>> :>You are setting a breakpoint and at the breakpoint you issue the CALL
:>> :>subcommand?
:>> :>
:>> :>What OPCODE are you breakpointing on?
:>> :>
:>> :>What is the exact CALL command used?
:>>
:>> --
:>> Binyamin Dissen <***@dissensoftware.com>
:>> http://www.dissensoftware.com
:>>
:>> Director, Dissen Software, Bar & Grill - Israel
:>>
:>>
:>> Should you use the mailblocks package and expect a response from me,
:>> you should preauthorize the dissensoftware.com domain.
:>>
:>> I very rarely bother responding to challenge/response systems,
:>> especially those from irresponsible companies.
:>>
:>> ----------------------------------------------------------------------
:>> For IBM-MAIN subscribe / signoff / archive access instructions,
:>> send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
:>
:>----------------------------------------------------------------------
:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-03 17:24:02 UTC
Permalink
Raw Message
Binyamin

This is from 1.9 book I don't think things have changed

"Note: If an OFF subcommand in the list removes the breakpoint for which a
list is specified, all remaining subcommands in that list are ignored".

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-***@LISTSERV.UA.EDU> On Behalf Of
Binyamin Dissen
Sent: Tuesday, July 3, 2018 12:13 PM
To: IBM-***@LISTSERV.UA.EDU
Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
executed

That has not been my experience. Doing OFF in the breakpoint does not cause
an automatic GO

My guess is that you did not form the statement correctly or that it is
possible to get to +C without going thru +8.

It is always best to show your commands and the responses, rather than
telling us what you thought you did.

On Tue, 3 Jul 2018 07:49:10 -0400 Joseph Reichman <***@GMAIL.COM>
wrote:

:>Binyamin
:>
:>The off for +C killed the call as the book says :>Off for an at in the
list kills the remaining :>Subcommand :> :> :> :>> On Jul 2, 2018, at 4:31
PM, Binyamin Dissen <***@DISSENSOFTWARE.COM> wrote:
:>>
:>> If I understand you correctly and you repetitively want this to occur,
you :>> will need:
:>>
:>> AT +8 (AT +C (off +c;call ......;go);go) :>> :>> (assuming you want the
CALL after the STM) :>> :>> :>> On Mon, 2 Jul 2018 16:07:38 -0400 Joseph
Reichman <***@GMAIL.COM> :>> wrote:
:>>
:>> :>Binyamin
:>> :>
:>> :>For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C)) :>> :>If +8
contains a STM r0,r15,saveregs in this scenario the STM is never :>>
:>executed and return to +C :>> :> :>> :>If for example at +8 (call program
PARAM(parms) Return(+8)) the program is :>> :>called repeatedly :>> :> :>>
:>I would like what is +8 to get executed after the call or execute +8 the
STM :>> :>and then called program then go to the NSI :>> :> :>> :>Cann't
figure out the syntax to make this work :>> :>
:>> :>Thanks
:>> :>
:>> :>-----Original Message-----
:>> :>From: IBM Mainframe Discussion List <IBM-***@LISTSERV.UA.EDU> On
Behalf Of :>> :>Binyamin Dissen :>> :>Sent: Monday, July 2, 2018 3:59 PM :>>
:>To: IBM-***@LISTSERV.UA.EDU :>> :>Subject: Re: TSO TEST breakpoint
subcommand call either looping or not being :>> :>executed :>> :> :>> :>On
Mon, 2 Jul 2018 15:37:34 -0400 Joseph Reichman <***@GMAIL.COM> :>>
:>wrote:
:>> :>
:>> :>:>I have a TSO TEST breakpoint with a call subcommand when I return to
the :>> :>:>offset of the breakpoint the program loops over and over again.
When I :>> :>:>return to the NSI the instruction where the breakpoint is
doesn't get :>> :>:>executed :>> :> :>> :>I do not understand your scenario.
:>> :>
:>> :>You are setting a breakpoint and at the breakpoint you issue the CALL
:>> :>subcommand?
:>> :>
:>> :>What OPCODE are you breakpointing on?
:>> :>
:>> :>What is the exact CALL command used?
:>>
:>> --
:>> Binyamin Dissen <***@dissensoftware.com> :>>
http://www.dissensoftware.com :>> :>> Director, Dissen Software, Bar & Grill
- Israel :>> :>> :>> Should you use the mailblocks package and expect a
response from me, :>> you should preauthorize the dissensoftware.com domain.
:>>
:>> I very rarely bother responding to challenge/response systems, :>>
especially those from irresponsible companies.
:>>
:>> ----------------------------------------------------------------------
:>> For IBM-MAIN subscribe / signoff / archive access instructions, :>> send
email to ***@listserv.ua.edu with the message: INFO IBM-MAIN :>
:>----------------------------------------------------------------------
:>For IBM-MAIN subscribe / signoff / archive access instructions, :>send
email to ***@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen <***@dissensoftware.com> http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me, you
should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems, especially
those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to ***@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Binyamin Dissen
2018-07-03 18:15:44 UTC
Permalink
Raw Message
True.

Never have used a CALL in a breakpoint and OFF was always the last in the
list.

To do what you want is to have a piece of code that will not be re executed
(such as the entry logic and you will need multiple breakpoints).

at BKP1 (call whatever return(BKP2))
at BKP2 (off BKP1;go BKP1)

If you want this repeated you will need to reissue the at BKP1 (even as part
of the list for BKP2)

However, my point still stands. Show the exact commands you used and the
results. Makes it a lot easier for people helping you.

On Tue, 3 Jul 2018 13:23:37 -0400 Joseph Reichman <***@GMAIL.COM>
wrote:

:>Binyamin
:>
:>This is from 1.9 book I don't think things have changed
:>
:> "Note: If an OFF subcommand in the list removes the breakpoint for which a
:>list is specified, all remaining subcommands in that list are ignored".
:>
:>-----Original Message-----
:>From: IBM Mainframe Discussion List <IBM-***@LISTSERV.UA.EDU> On Behalf Of
:>Binyamin Dissen
:>Sent: Tuesday, July 3, 2018 12:13 PM
:>To: IBM-***@LISTSERV.UA.EDU
:>Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
:>executed
:>
:>That has not been my experience. Doing OFF in the breakpoint does not cause
:>an automatic GO
:>
:>My guess is that you did not form the statement correctly or that it is
:>possible to get to +C without going thru +8.
:>
:>It is always best to show your commands and the responses, rather than
:>telling us what you thought you did.
:>
:>On Tue, 3 Jul 2018 07:49:10 -0400 Joseph Reichman <***@GMAIL.COM>
:>wrote:
:>
:>:>Binyamin
:>:>
:>:>The off for +C killed the call as the book says :>Off for an at in the
:>list kills the remaining :>Subcommand :> :> :> :>> On Jul 2, 2018, at 4:31
:>PM, Binyamin Dissen <***@DISSENSOFTWARE.COM> wrote:
:>:>>
:>:>> If I understand you correctly and you repetitively want this to occur,
:>you :>> will need:
:>:>>
:>:>> AT +8 (AT +C (off +c;call ......;go);go) :>> :>> (assuming you want the
:>CALL after the STM) :>> :>> :>> On Mon, 2 Jul 2018 16:07:38 -0400 Joseph
:>Reichman <***@GMAIL.COM> :>> wrote:
:>:>>
:>:>> :>Binyamin
:>:>> :>
:>:>> :>For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C)) :>> :>If +8
:>contains a STM r0,r15,saveregs in this scenario the STM is never :>>
:>:>executed and return to +C :>> :> :>> :>If for example at +8 (call program
:>PARAM(parms) Return(+8)) the program is :>> :>called repeatedly :>> :> :>>
:>:>I would like what is +8 to get executed after the call or execute +8 the
:>STM :>> :>and then called program then go to the NSI :>> :> :>> :>Cann't
:>figure out the syntax to make this work :>> :>
:>:>> :>Thanks
:>:>> :>
:>:>> :>-----Original Message-----
:>:>> :>From: IBM Mainframe Discussion List <IBM-***@LISTSERV.UA.EDU> On
:>Behalf Of :>> :>Binyamin Dissen :>> :>Sent: Monday, July 2, 2018 3:59 PM :>>
:>:>To: IBM-***@LISTSERV.UA.EDU :>> :>Subject: Re: TSO TEST breakpoint
:>subcommand call either looping or not being :>> :>executed :>> :> :>> :>On
:>Mon, 2 Jul 2018 15:37:34 -0400 Joseph Reichman <***@GMAIL.COM> :>>
:>:>wrote:
:>:>> :>
:>:>> :>:>I have a TSO TEST breakpoint with a call subcommand when I return to
:>the :>> :>:>offset of the breakpoint the program loops over and over again.
:>When I :>> :>:>return to the NSI the instruction where the breakpoint is
:>doesn't get :>> :>:>executed :>> :> :>> :>I do not understand your scenario.
:>:>> :>
:>:>> :>You are setting a breakpoint and at the breakpoint you issue the CALL
:>:>> :>subcommand?
:>:>> :>
:>:>> :>What OPCODE are you breakpointing on?
:>:>> :>
:>:>> :>What is the exact CALL command used?
:>:>>
:>:>> --
:>:>> Binyamin Dissen <***@dissensoftware.com> :>>
:>http://www.dissensoftware.com :>> :>> Director, Dissen Software, Bar & Grill
:>- Israel :>> :>> :>> Should you use the mailblocks package and expect a
:>response from me, :>> you should preauthorize the dissensoftware.com domain.
:>:>>
:>:>> I very rarely bother responding to challenge/response systems, :>>
:>especially those from irresponsible companies.
:>:>>
:>:>> ----------------------------------------------------------------------
:>:>> For IBM-MAIN subscribe / signoff / archive access instructions, :>> send
:>email to ***@listserv.ua.edu with the message: INFO IBM-MAIN :>
:>:>----------------------------------------------------------------------
:>:>For IBM-MAIN subscribe / signoff / archive access instructions, :>send
:>email to ***@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen <***@dissensoftware.com>
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-03 19:31:50 UTC
Permalink
Raw Message
anytime I do an OFF subcommand all other subcommand don’t execute
As I wrote, the RETURN breakpoint has to turn off the original breakpoint
before the GO. Also, I suggested
"To do what you want is to have a piece of code that will not be re executed
(such as the entry logic and you will need multiple breakpoints)."
For example
AT +8 (AT +0 (OFF +8;GO +8); PARM1= 'PARMS' ; COPY 14R RGESVE L(16); CALL
LOOKAT.LOOKAT PARM(PARM1) RETURN(+0))
:>Binyamin
:>
:>You are right so here is the code
:>
:>000008 9065 6080 STM R6,R5,SAVEREGS
:>00000C 5870 BA3C L R7,SAVE7
:>
:>In the clist
:> GETMAIN 10 SP(0) LOC (BELOW) EQUATE (PARM1)
:> GETMAIN 16 SP(0) LOC (BELOW) EQUATE(RGESVE)
:> AT +8 (PARM1= 'PARMS' ; COPY 14R RGESVE L(16); CALL LOOKAT.LOOKAT
:>PARM(PARM1) RETURN(+C))
:> AT +C (L 11R?+A3C L(64) XC) this area is all zeros because the
:>instruction didn't execute
:>
:>RETURN(+C) puts the address of +C into r14
:>
:>If I do that RETRN(+C) +8 never executes if I do return +8 it loops
:>
:>Thanks
:>
:>The program just saves and restores registers and does a TPUT
:>
:>LOOKAT CSECT
:> USING *,R15
:> STM R0,R15,SAVEREGS
:> DROP R15
:> BALR R12,0
:> USING *,R12
:> TPUT MESSAGE,11
:> LM R0,R15,SAVERGS
:> BR R14
:>SAVEREGS DS 16F
:>MESSAGE DC C'IN LOOK AT'
:>
:>
:>-----Original Message-----
:>Binyamin Dissen
:>Sent: Tuesday, July 3, 2018 2:16 PM
:>Subject: Re: TSO TEST breakpoint subcommand call either looping or not being
:>executed
:>
:>True.
:>
:>Never have used a CALL in a breakpoint and OFF was always the last in the
:>list.
:>
:>To do what you want is to have a piece of code that will not be re executed
:>(such as the entry logic and you will need multiple breakpoints).
:>
:>at BKP1 (call whatever return(BKP2))
:>at BKP2 (off BKP1;go BKP1)
:>
:>If you want this repeated you will need to reissue the at BKP1 (even as part
:>of the list for BKP2)
:>
:>However, my point still stands. Show the exact commands you used and the
:>results. Makes it a lot easier for people helping you.
:>
:>
:>:>Binyamin
:>:>
:>:>This is from 1.9 book I don't think things have changed :> :> "Note: If
:>an OFF subcommand in the list removes the breakpoint for which a :>list is
:>specified, all remaining subcommands in that list are ignored".
:>:>
:>:>-----Original Message-----
:>Of :>Binyamin Dissen
:>:>Sent: Tuesday, July 3, 2018 12:13 PM
:>:>Subject: Re: TSO TEST breakpoint subcommand call either looping or not
:>being :>executed :> :>That has not been my experience. Doing OFF in the
:>breakpoint does not cause :>an automatic GO :> :>My guess is that you did
:>not form the statement correctly or that it is :>possible to get to +C
:>without going thru +8.
:>:>
:>:>It is always best to show your commands and the responses, rather than
:>:>telling us what you thought you did.
:>:>
:>:>
:>:>:>Binyamin
:>:>:>
:>:>:>The off for +C killed the call as the book says :>Off for an at in the
:>:>list kills the remaining :>Subcommand :> :> :> :>> On Jul 2, 2018, at 4:31
:>:>:>>
:>:>:>> If I understand you correctly and you repetitively want this to occur,
:>:>:>>
:>:>:>> AT +8 (AT +C (off +c;call ......;go);go) :>> :>> (assuming you want
:>the :>CALL after the STM) :>> :>> :>> On Mon, 2 Jul 2018 16:07:38 -0400
:>:>:>>
:>:>:>> :>Binyamin
:>:>:>> :>
:>:>:>> :>For example AT +8 (CALL PROGRAM PARM(parms) RETRUN(+C)) :>> :>If +8
:>:>contains a STM r0,r15,saveregs in this scenario the STM is never :>>
:>:>:>executed and return to +C :>> :> :>> :>If for example at +8 (call
:>program
:>:>PARAM(parms) Return(+8)) the program is :>> :>called repeatedly :>> :> :>>
:>:>:>I would like what is +8 to get executed after the call or execute +8 the
:>:>STM :>> :>and then called program then go to the NSI :>> :> :>> :>Cann't
:>:>figure out the syntax to make this work :>> :>
:>:>:>> :>Thanks
:>:>:>> :>
:>:>:>> :>-----Original Message-----
:>:>Behalf Of :>> :>Binyamin Dissen :>> :>Sent: Monday, July 2, 2018 3:59 PM
:>:>>
:>:>subcommand call either looping or not being :>> :>executed :>> :> :>> :>On
:>:>:>> :>
:>:>:>> :>:>I have a TSO TEST breakpoint with a call subcommand when I return
:>to :>the :>> :>:>offset of the breakpoint the program loops over and over
:>again.
:>:>When I :>> :>:>return to the NSI the instruction where the breakpoint is
:>:>doesn't get :>> :>:>executed :>> :> :>> :>I do not understand your
:>scenario.
:>:>:>> :>
:>:>:>> :>You are setting a breakpoint and at the breakpoint you issue the
:>CALL :>:>> :>subcommand?
:>:>:>> :>
:>:>:>> :>What OPCODE are you breakpointing on?
:>:>:>> :>
:>:>:>> :>What is the exact CALL command used?
:>:>:>>
:>:>:>> --
:>:>http://www.dissensoftware.com :>> :>> Director, Dissen Software, Bar &
:>Grill
:>:>- Israel :>> :>> :>> Should you use the mailblocks package and expect a
:>:>response from me, :>> you should preauthorize the dissensoftware.com
:>domain.
:>:>:>>
:>:>:>> I very rarely bother responding to challenge/response systems, :>>
:>:>especially those from irresponsible companies.
:>:>:>>
:>:>:>> ----------------------------------------------------------------------
:>:>:>> For IBM-MAIN subscribe / signoff / archive access instructions, :>>
:>:>:>----------------------------------------------------------------------
:>:>:>For IBM-MAIN subscribe / signoff / archive access instructions, :>send
--
http://www.dissensoftware.com
Director, Dissen Software, Bar & Grill - Israel
Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.
I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Walt Farrell
2018-07-09 13:57:45 UTC
Permalink
Raw Message
Post by Joseph Reichman
I have gotten the following code to work (with the help of Binyamin) as I will list below but the problem is it is only being executed once and I am looping thru a number of records
Seems like when I get to DUMBRK OFF +4; GO +4 it is removed and I would like to process it for the next iteration of the code
LOAD 'MYTEST.LOAD(TESTPROG)'
GETMAIN 24 SP(0) LOC(BELOW) EQUATE(RGESVE)
GETMAIN 2 SP(0) LOC (BELOW) EQUATE(DUMBRK)
DUMBRK = X'0700'
AT +4( AT DUMBRK (COPY RGESVE 14R L(16); OFF +4; GO +4): COPY 14 RGESVE L(16); RGEAVE+10=C'PARM1'; CALL TESTPROG.TESTPROG PARM(RGESVE) RETURN(DUMBRK)) TITLE('BREAK AT +4')
Suggestion:
(1) Increase the size of DUMBRK so it can include the instruction located at +4 in TESTPROG, plus another x'0700'. Set DUMBRK to x'0700', then the instruction from TESTPROG, then another x'0700'. Assuming that TESTPROG instuction is 4 bytes in length, DUMBRK would then be 8 bytes in length.

(2) For the breakpoints, something like the following (untested):

AT +4 (COPY 14R RGESVE L(16); RGEAVE+10=C'PARM1'; CALL TESTPROG.TESTPROG PARM(RGESVE) RETURN(DUMBRK)) TITLE('BREAK AT +4'))
AT DUMBRK (COPY RGESVE 14R L(16); GO DUMBRK+2)
AT DUMBRK+6 (GO +8)
--
Walt

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-09 15:47:35 UTC
Permalink
Raw Message
That’s working thanks I have to increase dumbrk to 10 bytes as to taking into consideration 6 byte instructions I have initialize it to nops

Joe Reichman
170-10 73 rd ave
Fresh meadows NY 11366
Post by Walt Farrell
Post by Joseph Reichman
I have gotten the following code to work (with the help of Binyamin) as I will list below but the problem is it is only being executed once and I am looping thru a number of records
Seems like when I get to DUMBRK OFF +4; GO +4 it is removed and I would like to process it for the next iteration of the code
LOAD 'MYTEST.LOAD(TESTPROG)'
GETMAIN 24 SP(0) LOC(BELOW) EQUATE(RGESVE)
GETMAIN 2 SP(0) LOC (BELOW) EQUATE(DUMBRK)
DUMBRK = X'0700'
AT +4( AT DUMBRK (COPY RGESVE 14R L(16); OFF +4; GO +4): COPY 14 RGESVE L(16); RGEAVE+10=C'PARM1'; CALL TESTPROG.TESTPROG PARM(RGESVE) RETURN(DUMBRK)) TITLE('BREAK AT +4')
(1) Increase the size of DUMBRK so it can include the instruction located at +4 in TESTPROG, plus another x'0700'. Set DUMBRK to x'0700', then the instruction from TESTPROG, then another x'0700'. Assuming that TESTPROG instuction is 4 bytes in length, DUMBRK would then be 8 bytes in length.
AT +4 (COPY 14R RGESVE L(16); RGEAVE+10=C'PARM1'; CALL TESTPROG.TESTPROG PARM(RGESVE) RETURN(DUMBRK)) TITLE('BREAK AT +4'))
AT DUMBRK (COPY RGESVE 14R L(16); GO DUMBRK+2)
AT DUMBRK+6 (GO +8)
--
Walt
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Joseph Reichman
2018-07-12 12:00:33 UTC
Permalink
Raw Message
Hi

Just had thought in the scenario outlined
Below where I am executing the instruction breakpoint from a different storage area the integrity of the CC remains intact

So that in a temporary area I execute a TM
Which sets the CC and the I go to a instruction
let’s say BZ the condition code set by the TM will
Be acted upon by the BZ

Thanks
Post by Walt Farrell
Post by Joseph Reichman
I have gotten the following code to work (with the help of Binyamin) as I will list below but the problem is it is only being executed once and I am looping thru a number of records
Seems like when I get to DUMBRK OFF +4; GO +4 it is removed and I would like to process it for the next iteration of the code
LOAD 'MYTEST.LOAD(TESTPROG)'
GETMAIN 24 SP(0) LOC(BELOW) EQUATE(RGESVE)
GETMAIN 2 SP(0) LOC (BELOW) EQUATE(DUMBRK)
DUMBRK = X'0700'
AT +4( AT DUMBRK (COPY RGESVE 14R L(16); OFF +4; GO +4): COPY 14 RGESVE L(16); RGEAVE+10=C'PARM1'; CALL TESTPROG.TESTPROG PARM(RGESVE) RETURN(DUMBRK)) TITLE('BREAK AT +4')
(1) Increase the size of DUMBRK so it can include the instruction located at +4 in TESTPROG, plus another x'0700'. Set DUMBRK to x'0700', then the instruction from TESTPROG, then another x'0700'. Assuming that TESTPROG instuction is 4 bytes in length, DUMBRK would then be 8 bytes in length.
AT +4 (COPY 14R RGESVE L(16); RGEAVE+10=C'PARM1'; CALL TESTPROG.TESTPROG PARM(RGESVE) RETURN(DUMBRK)) TITLE('BREAK AT +4'))
AT DUMBRK (COPY RGESVE 14R L(16); GO DUMBRK+2)
AT DUMBRK+6 (GO +8)
--
Walt
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to ***@listserv.ua.edu with the message: INFO IBM-MAIN
Loading...