Структурне програмування на асемблері, Детальна інформація
Структурне програмування на асемблері
Загальна форма операторів $IF і $ELSE
$IF умова [,AND/OR][,LONG]
$ELSE [LONG]
де операції AND і OR дозволяють Вам указувати додаткові умови, а атрибут LONG забезпечує можливість використання довгих блоків команд у цій структурі.
ОПЕРАЦІЇ AND І OR
Дотепер ми обговорювали структури IF, що залежать від виконання тільки однієї умови, але (як і в мові Бейсік) ми можемо домогтися того щоб у структурі IF розглядалася комбінація умов у сполученні з операціями AND і OR
Проте між умовами в мові Бейсік і умовами на мові асемблера є визначені розходження. З одного боку, мікропроцесор розглядає кожний член вираження в порядку його появи; тут немає дужок, що задають порядок дій. З іншого боку, для кожного застосування операції AND або OR потрібно окремий оператор $IF, так що між ними можна поміщати команди.
Нижче приводиться загальний вид оператора $IF із двома умовами, сполученими операцією IF:
... (Обчислити умову1)
$IF умову1,AND
... (Обчислити умову2)
$IF умову2
... (Обидві умови виконані)
...
$ENDIF
Врахуємо, що команди обчислення умови 2 виконуються тільки в тому випадку, якщо умова 1 істинна. Якщо вона хибна, то мікропроцесор пропустить всі оператори аж до оператора $ENDIF. (Звернемо увагу і на те, що ми використовували тільки один оператор $ENDIF, оскільки операція AND об'єднує оператори $IF в один складний оператор.)
За допомогою команд, що слідують за першим оператором $IF, забезпечується установка флагу (або флагів) для другого оператора $IF. Наприклад, для видачі повідомлення "Вага в нормі", якщо значення WEIGHT знаходиться між 31 і 34, треба використовувати оператори
СМР WEIGHT,31
$IF AE,AND
СМР WEIGHT,34
$IF BE
(видати повідомлення "Вага в нормі")
$ENDIF
Звичайно, ми можемо включити сюди і ELSE, щоб виконати визначені дії (наприклад, видачу повідомлення "Вага за межами норми"), якщо одна з умов не виконується.
Нижче приводиться загальний вигляд оператора $IF, в якому умови пов'язані з операцією OR:
... (Обчислити умову1)
...
$IF умова1,OR
... (Обчислити умову2)
$IF умова2
$IF умова [,AND/OR][,LONG]
$ELSE [LONG]
де операції AND і OR дозволяють Вам указувати додаткові умови, а атрибут LONG забезпечує можливість використання довгих блоків команд у цій структурі.
ОПЕРАЦІЇ AND І OR
Дотепер ми обговорювали структури IF, що залежать від виконання тільки однієї умови, але (як і в мові Бейсік) ми можемо домогтися того щоб у структурі IF розглядалася комбінація умов у сполученні з операціями AND і OR
Проте між умовами в мові Бейсік і умовами на мові асемблера є визначені розходження. З одного боку, мікропроцесор розглядає кожний член вираження в порядку його появи; тут немає дужок, що задають порядок дій. З іншого боку, для кожного застосування операції AND або OR потрібно окремий оператор $IF, так що між ними можна поміщати команди.
Нижче приводиться загальний вид оператора $IF із двома умовами, сполученими операцією IF:
... (Обчислити умову1)
$IF умову1,AND
... (Обчислити умову2)
$IF умову2
... (Обидві умови виконані)
...
$ENDIF
Врахуємо, що команди обчислення умови 2 виконуються тільки в тому випадку, якщо умова 1 істинна. Якщо вона хибна, то мікропроцесор пропустить всі оператори аж до оператора $ENDIF. (Звернемо увагу і на те, що ми використовували тільки один оператор $ENDIF, оскільки операція AND об'єднує оператори $IF в один складний оператор.)
За допомогою команд, що слідують за першим оператором $IF, забезпечується установка флагу (або флагів) для другого оператора $IF. Наприклад, для видачі повідомлення "Вага в нормі", якщо значення WEIGHT знаходиться між 31 і 34, треба використовувати оператори
СМР WEIGHT,31
$IF AE,AND
СМР WEIGHT,34
$IF BE
(видати повідомлення "Вага в нормі")
$ENDIF
Звичайно, ми можемо включити сюди і ELSE, щоб виконати визначені дії (наприклад, видачу повідомлення "Вага за межами норми"), якщо одна з умов не виконується.
Нижче приводиться загальний вигляд оператора $IF, в якому умови пов'язані з операцією OR:
... (Обчислити умову1)
...
$IF умова1,OR
... (Обчислити умову2)
$IF умова2
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021