Assembler language argument values
In general, an argument can be either the address of the data or the data itself (in assembler language terms, either a relocatable expression or an absolute expression).
A relocatable expression must not contain unmatched brackets (outside quotation marks) or unmatched quotation marks (apart from length-attribute references). If this rule is obeyed, any expression can be used, including literal constants, such as =AL2(100), forms such as 20(0,R11), and forms that use the macro-replacement facilities.
An absolute expression must be a single term that is either a length-attribute reference, or a self-defining constant.
Care must be taken with equated symbols, which should be used only when referring to registers (pointer references). If an equated symbol is used for a length, for example, it is treated as the address of the length and an unpredictable error occurs.
- data-value
- Can be replaced by a relocatable expression that is an assembler language reference to data of the correct type for the argument, or by a constant of the correct type for the argument.
- data-ref
- Can be replaced by a relocatable expression that is an assembler language reference to data of the correct type for the argument.
- data-area
- Can be replaced by a relocatable expression that is an assembler language reference to data with a type of halfword (DS H), fullword (DS F), or character string (CLn).
- ptr-ref
- Can be replaced by any absolute expression that is an assembler language reference to a register.
- cpsm-token
- Can be replaced by a relocatable expression that is an assembler language reference to data with a type of fullword (DS F).