Sequence symbols
You can use a sequence symbol in the name field of a statement to branch to that statement during conditional assembly processing, thus altering the sequence in which the assembler processes your conditional assembly and macro instructions. You can select the model statements from which the assembler generates assembler language statements for processing at assembly time.
A sequence symbol consists of a period (.) followed by an alphabetic character, followed by 0 to 61 alphanumeric characters.
.BRANCHING_LABEL#1
.A
ALIAS EQU OPSYN SETC
AREAD ICTL SETA SETAF
CATTR LOCTR SETB SETCF
DXD
Also, sequence symbols cannot be used as name entries in macro prototype instructions, or in any instruction that already contains an ordinary or a variable symbol in the name field.
Sequence symbols can be specified in the operand field of an AIF or AGO instruction to branch to a statement with the same sequence symbol as a label.
- Scope:
- A sequence symbol has a local scope. Thus, if a sequence symbol is used in an AIF or an AGO instruction, the sequence symbol must be defined as a label in the same part of the program in which the AIF or AGO instruction appears; that is, in the same macro definition or in open code.
- Symbolic Parameters:
- If a sequence symbol appears in the name field of a macro instruction,
and the corresponding prototype statement contains a symbolic parameter
in the name field, the sequence symbol does not replace the symbolic
parameter wherever it is used in the macro definition. The value of
the symbolic parameter is a null character string. Example:
MACRO &NAME MOVE &TO,&FROM Statement 1 &NAME ST 2,SAVEAREA Statement 2 L 2,&FROM ST 2,&TO L 2,SAVEAREA MEND ------------------------------------------------------------------ .SYM MOVE FIELDA,FIELDB Statement 3 ------------------------------------------------------------------ + ST 2,SAVEAREA Statement 4 + L 2,FIELDB + ST 2,FIELDA + L 2,SAVEAREA
The symbolic parameter
&NAME
is used in the name field of the prototype statement (Statement 1) and the first model statement (Statement 2). In the macro instruction (Statement 3), a sequence symbol (.SYM
) corresponds to the symbolic parameter&NAME
.&NAME
is not replaced by.SYM
and, therefore, the generated statement (Statement 4) does not contain an entry in the name field.