Специальные команды
Команда loop:
Loop <метка>
Выполняемые действия:
Ecx--; if (ecx) goto <метка>
Структура циклического участка программы:
; Подготовка цикла (формирование начальных значений параметров, счетчика)
<метка>:
; Циклический участок программы
Loop <метка>
Пример 1. Составить программу для вычисления суммы 1+2+3 +… + 100[9]
For (i=1, s=0; i<=100; i++) s+=i;
Mov eax, 0; s=0
Mov ecx, 100
For1:
Add eax, ecx
Loop for1
Команды Loopz, Loopnz дополнительно с условием ecx = 0 проверяют флаг нуля. Если флаг имеет заданное значение – то остаемся в цикле.
Команда jecxz – команда условного перехода при ecx, равном нулю – защита от “зацикливания”
Заметим, что использование команды Loop менее эффективно, чем простых команд: dec, jnz