Within the scope of a branch counter, the following occurs:
- Each time an AGO or AIF branch is executed, the assembler checks
the branch counter for zero or a negative value.
- If the count is not zero or negative, it is decremented by one.
- If the count is zero or negative, the assembler takes one of two
actions:
- If it is processing instructions in open code, the assembler processes
the remainder of the instructions in the source module as comments.
Errors discovered in these instructions during previous passes are
flagged.
- If it is processing instructions inside a macro definition, the
assembler terminates the expansion of that macro definition and processes
the next sequential instruction after the calling macro instruction.
If the macro definition is called by an outer macro instruction,
the assembler processes the next sequential prototype instruction
after the call; that is, it continues processing at the next outer
level of nested macros.
The assembler halves the ACTR counter value when it encounters
serious syntax errors in conditional assembly instructions.