Those were just made up instructions, not real code.

The point was that I was taught that when you branch around multiple instructions, to make it clear to someone else, you can: 1) Write the *+ information so that it was obvious that there were multiple instructions and the length you expected them to be, and, 2) Indent the instructions being branched around so that, again, it is obvious that something needed to be looked at if the code was modified.

Personally, adding an extra label when branching around one, or two instructions just makes the program more cluttered.

One place I used this a lot is when handling errors.
    BL     *+4+4+4
     L     R15,ERRNO_30303
     B     General_error_routine
    MVC    XXXXX,YYYYY
(Again, just typing some example code, not actual code.)

Of course, I also use GOTO in COBOL, so maybe I am just a non-standard person.

Tony Thigpen

Rob van der Heij wrote on 08/03/2018 12:13 PM:
I’m afraid those sequences only make sense when you wrote them, not much
later. I inherited similar attempts to code the length of data. Just don’t.

On Fri, 3 Aug 2018 at 18:03, Tony Thigpen <t...@vse2pdf.com> wrote:

I was taught that to make it easy to read, do the following:
        BL   *+4+2
         LR  R1,R2
or
        BL   *+4+2+4
         LR  R1,R2
         LA  R3,0(,r1)
It may not look right in your email, but the branched around
instructions are indented one extra character.

Tony Thigpen

Phil Smith III wrote on 08/03/2018 10:40 AM:
Peter Relson wrote:

I don't remember who taught me the technique, though it must have been
at UofW in the early 80s. I internalized it as "This isn't a 'real'
branch-that is, we aren't going very far, just skipping a single
instruction". And I would never, ever, ever consider doing it for more than
one instruction.





Reply via email to