See the reference manual topic "Model statements" and the
following subtopics for how it works:

https://www.ibm.com/docs/en/hla-and-tf/1.6?topic=definitions-model-statements

Any model statement will initially be interpreted like a a macro
call, with any name field, operation code, operand fields and
remarks field being parsed based on the original text before any
substitution is performed.

The name, operation code and operand fields are then separately
processed for substitution.  No substitution is performed in the
remarks field.

After substitution has been performed, if the result is a
machine instruction or assembler instruction, parsing of the
operands and remarks field is done on the substituted text,
which means for example that one could have a single variable
containing multiple operands followed by a space and some
remarks.  However, any code which relies on this can cause
problems if the instruction is subsequently intercepted by a
macro, for example using OPSYN, as used by IEABRCX.

Jonathan Scott, HLASM
IBM Hursley, UK

Reply via email to