HLASM Language Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Restrictions on symbols

HLASM Language Reference
SC26-4940-06

A symbol must be defined only once in a source module with one or more control sections, with the following exceptions:

  • The symbol in the name field of a CSECT, RSECT, DSECT, or COM instruction can be the same as the name of previous CSECT, RSECT, DSECT, or COM instruction. It identifies the resumption of the control section specified by the name field.
  • z/VM and z/OS
    The symbol in the name field of a CATTR instruction can be the same as the name of a previous CATTR instruction. It identifies the resumption of the class specified by the name field.
  • The symbol in the name field of a LOCTR instruction can be the same as the name of a previous START, CSECT, RSECT, DSECT, COM, or LOCTR instruction. It identifies the resumption of the location counter specified by the name field.
  • The symbol in the name field of a labeled USING instruction can be the same as the name of a previous labeled USING instruction. It identifies the termination of the domain of the previous labeled USING instruction with the specified name.
  • A symbol can be used as an operand of a V-type constant and as an ordinary label, without duplication, because the operand of a V-type constant does not define the symbol in the symbol table.
An ordinary symbol is not defined when:
  • It is used in the name field of an OPSYN or TITLE instruction. It can, therefore, be used in the name field of any other statement in a source module.
  • It is used as the operand of a V-type address constant.
  • It is only used in the name field of a macro instruction and does not appear in the name field of a macro-generated assembler statement. It can, therefore, be used in the name field of any other statement in a source module.
  • It is only used in the name field of an ALIAS instruction and does not appear in one of the following:
    • The name field of a START, CSECT, RSECT, COM, or DXD instruction.
    • The name field of a DSECT instruction and the nominal value of a Q-type address constant.
    • The operand of an ENTRY, EXTRN, or WXTRN instruction.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014