LOCTR is indeed your friend, but sometimes more than one EX has the same 
target. A clear comment of intent (*not* a translation of the instruction) is 
appropriate in that situation.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf 
of Paul Gilmartin [00000014e0e4a59b-dmarc-requ...@listserv.uga.edu]
Sent: Thursday, April 30, 2020 12:09 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: *-*

On 2020-04-30, at 08:56:41, Phil Smith III wrote:
>
> Comments should be included. But consider an EX:
>
> MVCEX    MVC   0(*-*,R2),0(R3)    Copy the parameter
>
> Now, that statement will appear by itself, not inline (unless you use the 
> "put it inline and jump around it and then do the EX *-10 or whatever it is, 
> which I've always found ugly), ...

LOCTR is the friend of the avant garde.  And it respects
USING in effect at its appearance in the text.


On 2020-04-30, at 06:54:37, Rob van der Heij wrote:
>
> I ran into some code where the programmer decided to know better and had
> defined RA-RF and used that where he made his changes (and have me scratch
> my head about something keeping an address as return code).  I did not
> friend him.
>
I ran into some code where the programmer used mnemonic
register register equates, such as:
RPARM EQU  1
    ..
RRSA  EQU  13
RLINK EQU  14
RRC   EQU  15

An expert tells me this is a Bad Idea.

In CDC 6600 assemblef, registers were identified by
unique symbols, not compatible with numeric expressions.
I believe this engendered robust coding techniques; 6600
programmers rarely listed macro expansions: "It does
what it ought to; I'd print it out only for debugging,
just like a subroutine.  But no machine instructions
relied on even-odd register pairs.

Doesn't HLASM have a register symbol type?  Could macros
rely on this rather than parentheses to indicate registers?

-- gil

Reply via email to