(gasp.info)Loops
Repetitive sections of assembly
===============================
Two preprocessor directives allow you to repeatedly issue copies of
the same block of assembly code.
`.AREPEAT AEXP'
`.AENDR'
If you simply need to repeat the same block of assembly over and
over a fixed number of times, sandwich one instance of the
repeated block between `.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'
To repeat a block of assembly depending on a conditional test,
rather than repeating it for a specific number of times, use
`.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 (*note Conditional assembly:
Conditionals.).
Since the terms of the comparison must be absolute expression,
`.AWHILE' is primarily useful within macros. Note: 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). Note: Defining your
own directives.
Next: Variables Prev: Conditionals Up: Commands
[ Dokumentation lokal installierter Software ]