Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Циклы с неопределенным числом повторений




Циклы с заданным числом повторений.

LOOP метка_перехода,

которая означает ’повторить цикл’. Выполнение команды заключается в следующем:

- вычитании 1 из регистра СХ;

- сравнении регистра СХ с нулем;

- если СХ=0, то управление передается на следующую после LOOP команду, иначе перейти на метку_перехода.

LOOPE/LOOPZ метка_перехода,

которая означает “повторить цикл, пока СХ<>0 или ZF=0”. Обе команды совершенно идентичны. Отличаются эти команды от предыдущей пунктом 3 или анализом окончания цикла:

- если СХ>0 и ZF=1, управление передается на метку перехода, иначе если СХ=0 или ZF=0, то выполняется следующая после команды LOOPE/LOOPZ операция.

LOOPNE/LOOPNZ метка_перехода,

которая означает, “повторить цикл, пока СХ<>0 или ZF=1”. Обе команды совершенно идентичны. В ней пункт 3 выполняется по следующему правилу:

- если СХ>0 и ZF=0, управление передается на метку перехода, иначе если СХ=0 или ZF=1, то выполняется следующая после команды LOOPNE/LOOPNZ операция.

Общая особенность команд цикла в том, что они используют РОН СХ как счетчик числа циклов, поэтому при их использовании не забудьте до метки_перехода послать в этот регистр нужное число.

 

 

Циклы предназначены для повторения действия(команды) несколько раз.

Циклы, в которых известно количество повторений называются определенными. Если число повторений не известно - такой цикл называется неопределенным.

Неопределенные циклы

Количество вхождений в цикл определяется условием, т.е. в зависимости от выполняемого условия команда повторяется еще раз или осуществляется выход из цикла

Цикл, как известно, представляет собой важную алгоритмическую структуру, без использования которой не обходится, наверное, ни одна программа.

Организовать циклическое выполнение некоторого участка программы можно, к примеру, используя команды условной передачи управления или команду безусловного перехода jmp. При такой организации цикла все операции по его организации выполняются “вручную”. Но, учитывая важность такого алгоритмического элемента, как цикл, разработчики микропроцессора ввели в систему команд группу из трех команд, облегчающую программирование циклов. Эти команды также используют регистр ecx/cx как счетчик цикла.

Дадим краткую характеристику этим командам:

loop метка_перехода (Loop) — повторить цикл. Команда позволяет организовать циклы, подобные циклам for в языках высокого уровня с автоматическим уменьшением счетчика цикла. Работа команды заключается в выполнении следующих действий:

декремента регистра cx;

сравнения регистра ecx с нулем:

если (cx) > 0, то управление передается на метку перехода;

если (cx) = 0, то управление передается на следующую после loop команду.




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 665; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.