.for

.for label, start, end, [step]

This directive is used to assemble a block of code multiple times. For example; unrolling loops or defining blocks of data programmatically.

A label is created and set to the value of start. The code is assembled between the .for directive and the matching .loop, and the value of the label is adjusted by step at the end of each loop. If it goes beyond the value of end, the label is freed and the assembler carries on.