ANOP instruction
You can specify a sequence symbol in the name field of an ANOP instruction, and use the symbol as a label for branching purposes.
- sequence_symbol
- Is a sequence symbol.
No operation is carried out by an ANOP instruction. Instead, if a branch is taken to the ANOP instruction, the assembler processes the next sequential instruction.
MACRO
&NAME MOVE &T,&F
LCLC &TYPE
AIF (T'&T EQ 'F').FTYPE Statement 1
&TYPE SETC 'E' Statement 2
.FTYPE ANOP Statement 3
&NAME ST&TYPE 2,SAVEAREA Statement 4
L&TYPE 2,&F
ST&TYPE 2,&T
L&TYPE 2,SAVEAREA
MEND
Statement 1 determines if the type attribute of the first macro
instruction operand is the letter F
. If the type attribute
is not the letter F
, Statement 2 is the next statement
processed by the assembler. If the type attribute is the letter F
,
Statement 4 should be processed next. However, because there is a
variable symbol (&NAME
) in the name field of Statement
4, the required sequence symbol (.FTYPE
) cannot be placed
in the name field. Therefore, an ANOP instruction (Statement 3) must
be placed before Statement 4.
Then, if the type attribute of the first operand is the letter F
,
the next statement processed by the assembler is the statement named
by sequence symbol .FTYPE
. The value of &TYPE
retains
its initial null character value because the SETC instruction is not
processed. Because .FTYPE
names an ANOP instruction, the
next statement processed by the assembler is Statement 4, the statement
following the ANOP instruction.