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