On 2017-04-20, at 17:22, Charles Mills wrote:

> Not sure what your question is?
> 
> - Does using index registers as opposed to base registers hurt performance?
> Maybe. Who knows anymore. "It depends." They don't help. They also add an
> astonishment factor if you ever end up in AR mode.
>  
Oops.

> - Is there an AGI instruction? I don't think so, but there is an AGFI. What
> is the relevance here?
>  
Address Generation Interlock.  One of the great problems that
must be countered in the 21st Century is that there are only
17576 TLAs.  (Not "Texas/Tennessee Library Association".)


> Yes, if you had minimum wage for every hour that programmers have spent
> defining their own register equates you could retire AND buy yourself a z13
> to play with. I don't think IBM provides an official and generic set of
> equates but IIRC there is one in TCPIP.SEZACMAC.
>  
And there seems to be SYS1.MACLIB(YREGS).  And *JES3*(IATYREGS) ...
When ARs were invented IBM added calls to IATYREGS to several
JES3 macros.  IATYREGS contains conditional assembly code to
disable itself on every invocation after the first.  But the
register equates in IATYREGS conflicted with several equates in
our own register macro.  I suggested to the developer most
affected that she add similar bypass code using the same SET
symbol to our register macro.  She disliked the idea (NIH?
Misuse of IBM's SET symbol?) and did something different.
I don't remember precisely what.

But as the z grows in complexity, the hazard of using IBM's
register macro grows correspondingly,  Prefixing?  Probably not,

> Yes, if you really wanted to make life H3ll on your successors you could use
> 
> R0  EQU 5
> R1  EQU 2
> etc.
>        
I knew an ISV that used mnemonic (purpose-oriented) names for register
equates.  I believe their domain name is for sale.

-- gil

Reply via email to