VMS Help  —  MACRO  /ALPHA  Symbols  Using Symbols in the Operand Field
    A symbol in the operand field must be either a user-defined
    numeric symbol, a label, or a register name.

    User-defined numeric symbols and labels can be either local
    (internal) symbols or global (external) symbols. Whether numeric
    symbols and labels are local or global depends on their use in
    the source program.

    You can reference a local numeric symbol or label only in the
    module in which it is defined. If local numeric symbols or labels
    with the same names are defined in different modules, the symbols
    and labels are completely independent. The definition of a global
    numeric symbol or label, however, can be referenced from any
    module in the program.

    MACRO-64 treats all user-defined numeric symbols and labels as
    local unless you explicitly declare them to be global by doing
    one of the following:

    o  Use the double colon (::)  in defining a label.

    o  Use the double equal sign (==) in a direct assignment
       statement.

    o  Use the .WEAK directive.

    You can only use user-defined lexical string symbols with the
    lexical string operators. You can define a macro using the same
    name as a previously defined local numeric symbol, global numeric
    symbol, or a lexical string symbol. However, you cannot define a
    lexical string symbol and a numeric symbol using the same name.

    In addition, you cannot use the same name for both a local and
    global numeric symbol. You cannot use the same symbol name for
    both a numeric symbol (local or global) and a label (local or
    global).
Close Help