Несмотря на то что набор команд Intel включает команды организации циклов, они годятся только для одного типа циклов — FOR-циклов, которые выполняются фиксированное число раз. В общем виде любой цикл записывается в ассемблере как условный переход.
WHILE-цикл:
(команды инициализации цикла)
метка:
IF (не выполняется условие окончания цикла)
THEN
(команды тела цикла)
jmp метка
REPEAT/UNTIL-цикл:
(команды инициализации цикла)
метка:
(команды тела цикла)
IF (не выполняется условие окончания цикла)
THEN (переход на метку)
(такие циклы выполняется быстрее на ассемблере, и всегда следует
стремиться переносить проверку условия окончания цикла в конец)
LOOP/ENDLOOP-цикл:
(команды инициализации цикла)
метка:
(команды тела цикла)
IF (выполняется условие окончания цикла)
THEN jmp метка2
(команды тела цикла)
jmp метка
метка2: