繰り返しブロックを作成します。
構文 .REPEAT statements... .UNTIL cond .REPEAT statements... .UNTILCXZ [cond] .REPEAT statements... .FOREVER 例 .REPEAT CALL SUBR DEC CX .UNTIL CX > 0 .REPEAT CALL SUBR .UNTILCXZ .REPEAT inc ax .break .if sword ptr ax >= bx dec bx .FOREVER
cond には、.IF 文と同様の条件式を記述します。statements には、任意のプロセッサ命令をいくつでも記述できます。
.REPEAT 文は .WHILE 文と似ていますが、ループの内容を最低 1 回は実行する点が異なります。
.
UNTIL 文を使用すると、cond が偽である限り statements が繰り返し実行されます。
.UNTILCXZ 文を使用すると、LOOP 命令が生成されます。CX レジスタがデクリメントされ、0 になるとループが終了します。cond を指定したときは、これに加えて cond が真になったときもループが終了します。
.FOREVER 文〔LASM〕を使用すると、永久にループが続行されます。通常はループ内に .BREAK 文を記述してループを終了させます。