Two preprocessor directives allow you to repeatedly issue copies of the same block of assembly code.
.AREPEAT aexp
.AENDR
.AREPEAT
and .AENDR
. Specify the number of
copies as aexp (which must be an absolute expression). For
example, this repeats two assembly statements three times in succession:
.AREPEAT 3 rotcl r2 div1 r0,r1 .AENDR
.AWHILE expra cmp exprb
.AENDW
.AWHILE stra cmp strb
.AENDW
.AWHILE
.
.AENDW
marks the end of the repeated block. The conditional
comparison works exactly the same way as for .AIF
, with the same
comparison operators (see section Conditional assembly).
Since the terms of the comparison must be absolute expression,
.AWHILE
is primarily useful within macros. See section Defining your own directives.
You can use the .EXITM
preprocessor directive to break out of
loops early (as well as to break out of macros). See section Defining your own directives.