Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Инструкция, организующая программный цикл имеет вид, представленный в листинге 3.2



Листинг 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...