Реферат: Структурне програмування на асемблері
... (Ці команди будуть повторюватися 10 разів)
...
$ENDDO LOOP
Тут команда LOOP зменшує вміст регістра СХ на одиницю і повертає керування оператору $DO, якщо значення регістра СХ відмінне від нуля. Еквівалентом на мові Бейсік є оператори
FOR X=10 TO 1 STEP -1
...
...
NEXT X
СТРУКТУРА DO WHILE
Ця структура має загальний вигляд
$DO
$LEAVE умова
A
$ENDDO
де умова -- це умова завершення циклу. На мал. 2, б показана блок-схема структури DO WHILE.
Звернемо увагу на те, що в структурі DO WHILE умова перевіряється перед командами циклу, а не після них, як це відбувається в структурі DO UNTIL. Отже, якщо початкова умова істинна, то мікропроцесор обходить цикл, не виконавши його ні разу. Структура DO WHILE ніби сигналізує мікропроцесору: "Виконуй наступні команди, поки умова не виконується".
Потрібно користуватися структурою DO WHILE для обходу циклу, організованого за допомогою лічильника в регістрі СХ, якщо регістр СХ вже містить нуль, наприклад
$DO
$LEAVE CXZ
...
...
$ENDDO LOOP
СТРУКТУРА DO COMPLEX
Структура DO COMPLEX схожа на структуру DO WHILE, але дозволяє Вам виконати деякі дії як до перевірки в операторі LEAVE, так і після її. Тим самим забезпечується вихід із середини циклу. Ця структура має такий загальний вигляд:
$DO
А
$LEAVE умова
У
$ENDDO
Як і раніше, умова являє собою умову завершення циклу. На мал.2, в показана блок-схема структури DO COMPLEX.
Тут блок команд А підготовляє умову, а блок команд В виконує те, що потрібно зробити, якщо умова не виконується. Наприклад, для зупинки програми доти, поки користувач не введе правильний пароль, можна скористатися таким прийомом: