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
