POST is one of the macros that got it right with respect to level of 
indirection.. Unfortunately there are many that got it wrong (and that 
cannot be changed for compatibility reasons). A lot of these macros also 
document poorly what you put in the reg if using reg notation.

If the keyword is ASCB, then what you specify should be the ASCB (or its 
address in a reg).
If the keyword is ASCBADDR, then what you specify should be a field that 
contains the address of the ASCB.
You can debate for this second case whether what you put in a reg if using 
register notation is the address of the word or the address of the ASCB. I 
use "debate" a bit loosely because, while you can have the discussion, you 
won't change the way newer macros choose to do this -- they use the 
consistent approach of "if you specify the xxx, then what you would put in 
the reg is the address of the xxx". So if you specify the ASCB, what you 
put in the reg is the address of the ASCB. If you specify a word that 
contains the address of the ASCB, then what you put in the reg is the 
address of the word that contains the address of the ASCB. I think of it 
as the expansion doing either "LA / ST" or simply "ST" depending on which 
notation form you have used.

"Really nice" macros give you both choices (for example, if POST were such 
a macro, it would support both ASCB and ASCBADDR as mutually exclusive 
keys, and then depending on your needs you could get what you want).

Peter Relson
z/OS Core Technology Design

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to