.macro IS_GR ARG
.IF equal, %TYPE(ARG) & <MACRO64$TYPE_GENREG>
.PRINT "ARG is not a general register"
.ENDC
.endm IS_GR
IS_GR F11
Initially, the first line of the IS_GR macro expands as the
following:
.IF equal, <%TYPE(F11) & MACRO64$TYPE_GENREG>
After lexical processing, the statement appears as:
.IF equal, <8192 & MACRO64$TYPE_GENREG>
In this example, 8192 is the attribute value for a floating-
point register. This value could change in subsequent releases.
Use only the predefined attribute masks described in %TYPE
Attributes. Since the attribute for a general register
MACRO64$TYPE_GENREG is 4096, the expression evaluates as 0.
<8192 & MACRO64$TYPE_GENREG>