Jon Perryman wrote:

<begin extract>
Attribute K' should have been L'. Also note that macro statements can
be used outside a macro's (no MACRO / MEND needed). In addition, macro
statements are processed different than instructions. In this case,
the  L' should be on the MVC instruction (MVC 0(L'&txt,R4),&TXT)
because L'  on macro statements require the variable be defined prior
to the SETA statement. When used on an instruction, the variable can
be anywhere in your in your code
</end extract>

and I am not sure quite what to make of it.  Much of it is otiose, and
some of it is wrong.

In

|&text    setc  'Tertium non datur'     --initialize &text
|&textk  seta  k'&text                         --get its character count

the k' is correct, and I used it advisedly.  (In general, k'<whatever>
and l'<whatever> are not interchangeable.  When a [crude] character
count is sought k' shopuld be used.)

In general the behavior of conditional-assembly statements is much the
same inside and and outside macro definitions.  There are some obvious
differences, reflective chiefly of scope; but they are neither very
important nor very interesting.  That they are processed differently
from each other and from, say, machine instructions and assembler
instructions is of course correct.  That is the point.  If they were
not, they too would be otiose.

John Gilmore, Ashland, MA 01721 - USA

Reply via email to