FOR ... NEXT

Syntax:

for <byte or int variable> = <byte or int initial_value> to <byte or int end_value> [step <byte or int step>]
[statements...]
next [<variable>]

The FOR … NEXT construct will assign the result of initial_value to the given variable, then iterate the variable until it reaches the value of end_value, executing the commands between FOR and NEXT as many times as necessary.

If step is provided, the variable will be incremented or decremented with step. step defaults to 1 otherwise.

The types of initial_value, end_value and step must match that of variable.

FOR … NEXT constructs can be nested.

Note #1: end_value is evaluated only once, before starting the loop.

Note #2: the variable name after the NEXT statement is not mandatory since version 2.3.

Note #3: the runtime library will not check the consistency of your FOR … NEXT blocks. If there is a NEXT without FOR, for example, the program will likely break.