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