360 Assembly/360 Instructions/ACTR

From Wikibooks, open books for an open world
Jump to navigation Jump to search

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

.SYM     ACTR   value

Where

  • .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.

Example

         ACTR   30000

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.

 
360 Assembler Pseudo Instructions
Address Related ADATACNOPDROPEQULOCTRLTORGORGUSING
Code Related ALIASAMODECATTRCOM CSECTCXDDSECTDXDEND ENTRYEXTRNOPSYNRMODERSECTSTARTWXTRNXATTR
Data Related CCWCCW0CCW1DCDS
Conditional Assembly and Macro related ACTRAGOAIFAINSERTANOPAREADCOPYGBLA / GBLB / GBLCLCLA / LCLB / LCLCMACROMENDMEXITMNOTESETA / SETB / SETC
Listing, output and source related Comments*PROCESSACONTROLEJECTENDEXITCTLICTLISEQPOPPRINTPUNCHPUSHREPROSPACETITLE
 
360 Assembly Language
360 Family Introduction · Basic FAQ · 360 Family · 360 Architecture
360 Instruction Set 360 Instructions · Branch Instructions · Data Transfer Instructions · Control Flow Instructions · Arithmetic Instructions · Logic Instructions · Shift and Rotate Instructions · Priveleged Instructions · Other Instructions
Syntaxes and Assemblers 360 Assemblers· Pseudo Instructions
Instruction Extensions Floating Point · High-Level Languages