360 Assembly/360 Instructions/ACTR

The ACTR pseudo-instruction is used to instruct the assembler to limit the number of AGO and AIF pseudo-instructions to be executed. The ACTR pseudo-instruction is primarily used to prevent endless loops during conditional assembly or macro processing.

Format

Where Example
 * .SYM is an optional conditional assembly label (a sequence symbol), which may be omitted, and
 * value is a numeric expression greater than zero. The value indicates the maximum number of AGO or successfully executed AIF pseudo-instructions that this macro or conditional assembly is permitted to execute.

Meaning that a maximum of 30000 AGO or successful AIF instructions may be executed before assembly is stopped (if inside a macro) or ends (if in conditional assembly). The assembler counts the number of these against the ACTR value, subtracting one for each and if the count becomes zero or negative, processing is terminated.

In a macro, if the number of AGO or successful AIF pseudo instructions that have been executed reaches this value, the macro is exited at that point. If this macro was called from another macro, assembly resumes at the place where this macro was called. This macro's ACTR value has no affect on the calling macro, if it did not have an ACTR pseudo-instruction it continues without limits. If it did have an ACTR pseudo instruction, it continues with the limit it had for whatever unused part of its limit it has remaining.

In conditional assembly outside of a macro, if the number of AGO or successful AIF instructions reaches that value, the assembly ends as if the source code file had ended at that point. The remainder of the program is treated as comments except ewrrors will be flagged.

The value supplied is divided by 2 if a serious error is detected.