for <byte or int variable> = <byte or int expression1> to <byte or int expression2>
next <variable>

The FOR … NEXT construct will assign the result of expression1 to the given variable, then iterate the variable until it reaches the value of expression2, executing the commands between FOR and NEXT as many times as necessary. FOR … NEXT constructs can be nested.

Note #1: the value of expression2 is evaluated only once, before starting the loop.

Note #2: it is not possible to omit the variable name after the NEXT statement.

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.