HLASM Language Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


ANOP instruction

HLASM Language Reference
SC26-4940-06

You can specify a sequence symbol in the name field of an ANOP instruction, and use the symbol as a label for branching purposes.

The ANOP instruction carries out no operation itself, but you can use it to allow conditional assembly to resume assembly or conditional generation at an instruction that does not have a sequence symbol in its name field. For example, if you wanted to branch to a SETA, SETB, or SETC assignment instruction, which requires a variable symbol in the name field, you can insert a labeled ANOP instruction immediately before the assignment instruction. By branching to the ANOP instruction with an AIF or AGO instruction, you are, in effect, branching to the assignment instruction.
Read syntax diagramSkip visual syntax diagram
>>-sequence_symbol--ANOP---------------------------------------><

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.

Example:
         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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014