![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Листинг 3.1. Синтаксис использования цикла
loop[<условие повторения цикла>] <метка короткого перехода>
Инструкция loop использует содержимое регистра СХ как счетчик повторений цикла. Команда loop уменьшает содержимое регистра СХ на 1 и передает управление по адресу, определяемому меткой перехода, если содержимое СХ ≠ 0, в противном случае выполняется следующая за LOOP инструкция. Подобно условным переходам инструкции этой группы могут осуществлять только короткие передачи управления, т.е. в пределах от –128 до +127.
Добавление к инструкции loop <условие повторения цикла> позволяет ввести дополнительные логические условия на повторение цикла:
1) loope/loopz – повторять, пока ноль;
2) loopne/loopnz – повторять, пока не ноль.
Проверка флага ZF осуществляется командой loop. Цикл повторяется, если содержимое СХ ≠ 0 и выполняется соответствующее условие, в противном случае выполняется следующая за loop инструкция.
Пример выполнения работы
Дан массив из десяти слов, содержащих целые числа. Требуется найти максимальное значение в массиве.
Текст решения приведен в листинге 3.2.
Data segment
max dw?
Mass dw 10,24,76,479,-347,281,-24,70,124,97
Data ends
Code segment
assume cs: code, ds: data
start: mov ax, data
Mov ds, ax
Lea bx, mass; Загрузить адрес смещения массива
Дата публикования: 2014-11-28; Прочитано: 275 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!