>They don't help. They also add an
>astonishment factor if you ever end up in AR mode.

Actually, for references in the primary address space, index register 
notation provides an opportunity for better performance because it does 
not require setting of the corresponding AR. But for clarity, the more 
complete operand with a trailing comma"or even with ",0" is best, to make 
it clearer that the author intended what was coded.
L    R1,FIELD(R12,)
L    R1,FIELD(R12,0) 
vs
L     R1,FIELD(,R12)

Of course not every instruction supports an index register.

Regarding register naming, I did not see mention of the convention that I 
personally like which is to have a meaningful name (because that *is* very 
important for code clarity, to help the reader be confident that what is 
put into the reg is what is intended, but not losing the attribute of 
"which reg is it" which is also very important (particularly when trying 
to figure out what registers are available to be used at a given point).

For example, something like
TCBPTR_R4 EQU 4
R4_TCBPTR EQU 4

I'm surprised that the JES team would have added register-name 
requirements (particularly when they conflicted with what a user might 
have already included), unless it was felt that the macro was intended 
only for use within JES's own modules. 

Peter Relson
z/OS Core Technology Design

Reply via email to