.pg .x for .x do .x continue .x break .x end .lt ------------------------------------------------------------------------ FOR index [FROM=initial] TO=limit [BY=increment] [TYPE=type] DO CONTINUE ... BREAK END ------------------------------------------------------------------------ .el .b 3 The FOR macro will generate code to perform a loop using the ACB (add, compare and branch) assembly instruction; therefore, the loop will always execute at least once. .b If ^&initial\& is not specified, the ^&index\& is expected to already contain its initial value; otherwise, the FOR macro will generate the appropriate code to move the ^&initial\& value to the ^&index\&. .b If ^&increment\& is not specified, #1 is assumed. If ^&type\& is not specified, L is assumed. .b The BREAK macro will generate code to branch to the next instruction following the END macro. The BREAK macro is optional. .b The CONTINUE macro will generate code to branch to the instruction just before the END macro. The CONTINUE macro is optional. .b The END macro will generate the ACBx instruction to loop back to the corresponding FOR macro and generate the appropriate labels for the BREAK macro. For every FOR macro specified, a corresponding END macro must also be specified. .b For example: .b .lt for r1 from=#0 to=#10 do statement-1 end .el .b will produce the following code: .b .lt movl #0,r1 20000$: statement-1 acbl #1,#10,r1,20000$ 20001$: .el