Personally, I never liked YREGS macro, mainly for 2 reasons - it's not
elegant and it doesn't account for already defined registers.
So here's an alternative
MACRO
MREGS
.* DEFINE GENERAL-PURPOSE REGISTERS (EXCEPT THOSE ALREADY DEFINED)
&N SETA 0
.LOOP AIF (&N GT 15).DONE
&T SETC 'R&N'
AIF (D'&T).SKIP
R&N EQU &N
.SKIP ANOP
&N SETA &N+1
AGO .LOOP
.DONE MEND
-Victor-
On Thu, 1 Aug 2013 06:30:41 -0500, Baron Carter
<[email protected]> wrote:
>And there is ASMDREG which also has equates for other registers:- Access,
>Control, Floating Point....
>
>-----Original Message-----
>From: IBM Mainframe Assembler List [mailto:[email protected]]
>On Behalf Of Paul Gilmartin
>Sent: Wednesday, July 31, 2013 16:34
>To: [email protected]
>Subject: Re: YREGS MACRO doc?
>
>On 2013-07-31 15:01, Gerhard Postpischil wrote:
>> On 7/31/2013 1:44 PM, Bernd Oppolzer wrote:
>>> When I came to the site where I am actually working 25 years ago, I
>>> was very surprised that they use RA to RF for 10 to 15 - I never met
>>> that before, but you get accustomed to that very quickly. It's always
>>> two characters, after all ...
>>
>> I first came across this form in the OS/360 reader/interpreter.
>> Personally I don't like it because searches on RB and RE get many more
>> false hits than R11 and R14.
>>
>And, of course, since there's no standard, the system macros must use pure
>numeric designators. And with a mixture of conventions, XREF doesn't
>reliably list register references.
>IATYREGS is somewhat unusual among IBM macros in that it sets a flag so it
>can exit if it's used twice, and some other JES3 macros invoke IATYREGS so
>they _can_ use register mnemonics.
>
>I think I've also seen GR0-GR15, which likewise reduces the likelihood of
>false hits in searches.
>
>CDC 6600 et al. made the register names predefined, reserved, and
mandatory.
>It was impossible to confuse L and LR; the operands distinguish them. And
>no need for unintuitive conventions such as "7" means constant 7 and "(7)"
>means register 7 in macro arguments. It was "7" or "X7". So, no need for
>such as IHBINRRA. And less incentive to print macro expansions; they did
>what they appeared to from the call.
>
>-- gil