Реферат: Структурне програмування на асемблері

(видати на екран "Будь ласка, введіть ваш пароль:")

(Перевірити пароль. Якщо він правильний, покласти флаг CF

рівним 1.)

$LEAVE CF

(видати на екран "Ви схибили. спробуйте ще раз" )

$ENDDO

ДОДАТКОВІ ОПЕРАНДИ

Подібно до оператора $IF, що описаний в розд. 2, оператори $ENDDO і $LEAVE допускають вказівку операції AND (И) або OR (АБО), що дозволяє комбінувати умови. Крім того, в них можна вказувати атрибут LONG, що забезпечує можливість користуватися довгими блоками команд. Нарешті, в операторі $ENDDO можна вказувати параметр LOOP, що позбуває від необхідності зменшувати значення регістра СХ. Загальна форма цих операторів

$ENDDO [умова[,AND/OR]][,LONG]

$ENDDO [LOOPx][,LONG]

$LEAVE умова[,AND/OR][,LONG]

ПАРАМЕТР LOOP

Для циклів із заданим числом повторень, лічильником яких служить регістр СХ, у програмі SALUT можна за рахунок застосування форми $ENDDO LOOP опустити команду DEC СХ. Інакше кажучи, замість форми

$DO

...

...

DEC CX

$ENDDO CXZ

Можна використовувати більш просту форму

$DO

...

...

$ENDDO LOOP

Вона змушує програму SALUT замінити оператор $DO на мітку, а оператор $ENDDO -- на команду LOOP мітка. Команда LOOP зменшує значення регістра СХ на 1 і змушує мікропроцесор передати керування мітці, якщо значення СХ не нуль.

Щоб врахувати при ухваленні рішення про закінчення циклу стан флага нуля ZF, користуємося одним із таких операторів:

- Оператор $ENDDO -- зменшує значення регістра СХ і повертає керування на початок циклу, якщо значення регістра СХ не дорівнює 0 і прапор ZF дорівнює 1. Це дозволяє виявляти перший ненульовий результат у серії операцій.

- Оператор $ENDDO LOOPNE зменшує значення регістра СХ і повертає керування на початок циклу, якщо значення регістра СХ не дорівнює 0 і флаг ZF рівний нулю. Це дозволяє виявляти перший нульовий результат у серії операцій.

- Оператор $ENDDO LOOPZ є альтернативною формою оператора $ENDDO LOOPE.

- Оператор $ENDDO LOOPNZ є альтернативною формою оператора $ENDDO LOOPNE.

ОПЕРАЦІЇ AND І OR

Операція AND завершує цикл, якщо декілька умов виконуються одночасно, а операція OR завершує цикл, якщо виконується будь-яка з кількох умов. Наприклад, нижче показана загальна форма структури DO, що завершує цикл, якщо у відповідь на запрошення до вводу користувач відповість "Ні", набравши на клавіатурі "Н" або "н":

$DO

К-во Просмотров: 486
Бесплатно скачать Реферат: Структурне програмування на асемблері