On 2020-06-02, at 10:58:00, David Woolbright wrote:
>
> I’’m just a humble academic so I hesitate to weigh in. I trained assembler
> programmers for one large credit card processing company for many years and
> their standard was to use EQU * as the target of all branches, mainly so new
> lines could be added easily. I’ve never had an odd address created
> accidentally using this technique, but it’s also the case that the assembler
> will warn you in cases where you do have an unfavorable address. I’m in the
> process of revising many years of teaching material into book format, so your
> opinions on this matter to me. Using EQU for targets would seem to be a
> stylistic point on which reasonable people could disagree, but perhaps I’m
> wrong.
>
LABEL DS 0H Guarantees alignment with no drawback.
LABEL EQU * Risks misalignment to save one keystroke in source.
I was once involved with a project tnat had (like):
B ENDEYECATCHER
DC C'Whatever' Eyecatcher
... more data areas ...
ENDEYECATCHER EQU *
The eyecatcher grew to an odd number of bytes (Y2K-type problem)
and code broke. Because of macro nesting, the remedy was:
B ENDEYECATCHER
DC C'Whatever' Eyecatcher
DS 0H
... more data areas ...
ENDEYECATCHER EQU *
STM R14,R13,
I pointed out that this introduced a needless slack byte
half the time. My suggestion was overruled because of
code ownership.
-- gil