IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> wrote on
03-07-2015 14:46:09:

> We have ended up with many of these in our code because a senior
> developer felt that too many single-usage labels cluttered the code and
> made it less readable.  (He also required that a blank line follow every
> branch statement and precede the target of every branch, whether labeled
> or not).

I used to have local labels in other assemblers and wanted them in HLASM.
However, the issue is entirely gone now that I use structured assembler. I
have not coded a branch myself for quite some time. To make the code more
compact, I enjoy the COND macro that is a short-hand for an IF/THEN with
just a single statement, eg COND HIGH,LR,R2,R3

A former co-worker once did me the favor to replace a bunch of trivial
conditional branches in old code by the *+n style after we completed the
tests. And got only one of them wrong...

> The concession we got from him was to identify every instruction
> bypassed (and yes, there were multiple instructions in some cases) by
> using, for example, Bx  *+4+2+6+4.  Now some of these have become Jx
*+....

I have seen those. The "obvious" behind that is gone next time you see it.
We have HLASM to compute offsets, why make it harder? If writing the code
slows you down, you need macros.

---
Rob van der Heij
z/VM Development, CMS Pipelines

Reply via email to