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

Reply via email to