SET symbol specifications
SET symbols can be used in model statements, from which assembler language statements are generated, and in conditional assembly instructions. The three types of SET symbols are: SETA, SETB, and SETC. A SET symbol must be a valid variable symbol.
- The first character must be an ampersand (&)
- The second character must be an alphabetic character
- The remaining characters must be 0 to 61 alphanumeric
- Do not set the first four characters to &SYS, which is used for system variable symbols
&ARITHMETICVALUE439
&BOOLEAN
&C
&EASY_TO_READ
Local SET symbols need not be declared by explicit declarations. The assembler considers any undeclared variable symbol found in the name field of a SETx instruction as a local SET symbol, and implicitly declares it to have the type specified by the SETx instruction. The instruction that declares a SET symbol determines its scope and type.
Features | SETA, SETB,
SETC symbols |
Symbolic
Parameters |
System Variable
Symbols |
---|---|---|---|
Can be used in:
Open code |
Yes
|
No
|
&SYS_HLASM_DATE &SYS_HLASM_PTF &SYS_HLASM_RPM &SYSASM &SYSDATC &SYSDATE &SYSJOB &SYSM_HSEV &SYSM_SEV &SYSOPT_CURR_OPTABLE &SYSOPT_DBCS &SYSOPT_OPTABLE &SYSOPT_RENT &SYSOPT_XOBJECT &SYSPARM &SYSSTEP &SYSSTMT &SYSTEM_ID &SYSTIME &SYSVER &SYSOPT_ASCII &SYSOPT_CA &SYSOPT_CE &SYSOPT_CODEPAGE &SYSOPT_CU &SYSOPT_EBCDIC &SYSOPT_UNICODE |
Can be used in:
Macro definitions |
Yes | Yes | All |
Scope:
Local |
Yes
|
Yes
|
&SYSADATA_DSN
&SYSADATA_MEMBER &SYSADATA_VOLUME &SYSCLOCK &SYSECT &SYSIN_DSN &SYSIN_MEMBER &SYSIN_VOLUME &SYSLIB_DSN &SYSLIB_MEMBER &SYSLIB_VOLUME &SYSLIN_DSN &SYSLIN_MEMBER &SYSLIN_VOLUME &SYSLIST &SYSLOC &SYSMAC &SYSNDX &SYSNEST &SYSPRINT_DSN &SYSPRINT_MEMBER &SYSPRINT_VOLUME &SYSPUNCH_DSN &SYSPUNCH_MEMBER &SYSPUNCH_VOLUME &SYSSEQF &SYSTERM_DSN &SYSTERM_MEMBER &SYSTERM_VOLUME |
Scope:
Global |
Yes
|
No
|
&SYS_HLASM_DATE
&SYS_HLASM_PTF &SYS_HLASM_RPM &SYSASM &SYSDATC &SYSDATE &SYSJOB &SYSM_HSEV &SYSM_SEV &SYSOPT_CURR_OPTABLE &SYSOPT_DBCS &SYSOPT_OPTABLE &SYSOPT_RENT &SYSOPT_XOBJECT &SYSPARM &SYSSTEP &SYSSTMT &SYSTEM_ID &SYSTIME &SYSVER &SYSOPT_ASCII &SYSOPT_CA &SYSOPT_CE &SYSOPT_CODEPAGE &SYSOPT_CU &SYSOPT_EBCDIC &SYSOPT_UNICODE |
Values can be
changed within scope of symbol |
Yes1
|
No, read only
value2 |
No, read only
value2 |
Notes:
|
SET symbols can be used in the name, operation, and operand fields of macro instructions. The value thus passed through the name field symbolic parameter into a macro definition is considered as a character string and is generated as such. If the COMPAT(SYSLIST) assembler option is specified, the value passed through an operand field symbolic into a macro definition is also considered a character string and is generated as such. However, if the COMPAT(SYSLIST) assembler option is not specified, SET symbols can be used to pass sublists into a macro definition.