General rules and restrictions
- Any of the symbolic parameters (see 1 in Figure 1) specified in the prototype statement of the containing macro definition
- Any SET symbols (see 2 in Figure 1) declared in the containing macro definition
- Any of the system variable symbols, such as &SYSDATE or &SYSTIME, (see 3 in Figure 1).

The number of nesting levels permitted depends on the complexity and size of the macros at the different levels; that is, the number of operands specified, the number of local-scope and global-scope SET symbols declared, and the number of sequence symbols used.
When the assembler processes a macro exit instruction, either MEXIT or MEND, it selects the next statement to process depending on the level of nesting. If the macro exit instruction is from an inner macro, the assembler processes the next statement after the statement that called the outer macro. The next statement in open code might come from the AINSERT buffer. If the macro exit instruction is from an outer macro, the assembler processes the next statement in open code, after the statement that called the outer macro.