Пример.Написать фрагмент суммирования чисел от 1 до 10, используя счетный цикл.
mov AX,0; обнуление суммы
mov BX,1 ; первое слагаемое
mov ECX,10; загрузка счетчика
cycl: add AX,BX; суммирование
inc BX; следующее число
loop cycl; возврат в цикл
continue: ...; выход, сумма – в ax
Команда перехода по обнуленному счетчику.
JCXZ Адрес перехода
Команда передает управление по указанному адресу, если содержимое регистра ECX равно 0.
Организация счетного цикла с проверкой счетчика.
mov ECX,loop_count ; загрузка счетчика
jcxz end_of_loop; проверка счетчика
begin_loop: Операции; тело цикла
Loop begin_loop
End_of_loop: ...
Команды организации цикла с условием.
LООРE Адрес перехода
LOOPNE Адрес перехода
При выполнении обеих команд содержимое регистра ECX уменьшается на единицу, после чего они передают управление по указанному адресу при условии, что содержимое ECX отлично от нуля, причем LООРE дополнительно требует наличия флага «равно» (ZF=1), а LOOPNE – «не равно» (ZF=0).
Организация цикла со сложным условием.Конструкция Цикл со сложным условием позволяет эффективно реализовать поиск данных:
mov ECX,loop_count; загрузка счетчика
jcxz end_of_loop; проверка счетчика
begin_loop: Операции; тело цикла
cmp al,100; проверка содержимого al
Loopne begin_loop