Symbols can be assigned a string value. This enables you to create aliases for character strings by equating them to symbolic names. Symbols that represent character strings are called substitution symbols. When the assembler encounters a substitution symbol, its string value is substituted for the symbol name. Unlike symbolic constants, substitution symbols can be redefined.
A string can be assigned to a substitution symbol anywhere within a program; for example:
    .asg    "AR1",  myReg         ;register AR1
    .asg    "*+XAR2 [2]",  ARG1   ;first arg
    .asg    "*+XAR2 [1]",  ARG2   ;second arg
    When you are using macros, substitution symbols are important because macro parameters are actually substitution symbols that are assigned a macro argument. The following code shows how substitution symbols are used in macros:
add2 .macro A, B ; add2 macro definition
     MOV     AL, A
     ADD     AL, B
     .endm
*add2 invocation
      add2 LOC1, LOC2      ;add "LOC1" argument to a
                           ;second argument "LOC2".
      MOV   AL,LOC1
      ADD   AL,LOC2
    See Section 6 for more information about macros.