Definitely the lack of an equate for R12 should be corrected (such as by adding an equate and a BASR R12,0). I'll get that taken care of.
Almost all macros expect some amount of addressability to static data for certain invocations. That will not be stated for individual macros. That is why "baseless" coding is usually not a valid approach if using z/OS macros. You tend at least to need addressability to static data. The MGCRE example isn't even for that case; it needs addressability to get to the static data that is used (the text and consname). Macros, in general, have no way of knowing if they could use "LARL" so don't even try. An entertaining thought for an assembler enhancement would be a pseudo-op that generated "LA" or "LARL" depending on whether the target was in a CSECT or a DSECT (maybe allowing for LAY too). Peter Relson z/OS Core Technology Design