Команди керування програмою
Команди даної групи змінюють послідовність нормального ходу програми. Сюди входять команди переходів, виклику, повернення і повторного запуску.
Команди приведені в таблиці 4.6 двох типів: умовних і безумовних переходів. Безумовні переходи просто виконують операцію, визначену лічильником команд РС; умовні - перевіряють стан одного з індикаторів МП для визначення доцільності даного розгалуження. Умови, позначені в таблиці ідентифікатором Х, уточнюються в наступній формі:
Умови (ідентифікатор Х)
| Умови (ідентифікатор Х)
|
NZ-не нуль (Z=0)
| PO-непарність (Р=0)
|
Z-нуль (Z=1)
| PE-парність (Р=1)
|
NC-немає переносу (C=0)
| P-плюс (S=0)
|
C-перенос (C=1)
| M-мінус (S=1)
|
Команди керування програмою є трибайтовими, крім команд повернення і рестарту (вони однобайтові). Другий та третій байт команди є адресою переходу. Всі команди не діють на індикатори регістра ознак.
Таблиця 4.4 - Команди маніпулювання бітами.
Операція
| Адресація
| Мнемоніка
| Формат
| Символіка
| Індикатори
|
|
|
|
|
| C
| Z
| S
| P
| А
|
1. Логічне множення
|
|
|
|
|
|
|
|
|
|
-Логічне множення А і r
| регістрова
| ANA r
| КОП
| (A) (r) (A)
|
| +
| *
| *
| -
|
-Логічне множення А і пам’ять
| Опосередкована
| ANA M
| КОП
| (A) (M(HL)) (A)
|
| +
| *
| *
| -
|
-Логічне множення А і даних
| Безпосередня
| ANI
| КОП <B2>
| (A) <B2> (A)
|
| +
| *
| *
| -
|
2.Логічне сумування
|
|
|
|
|
|
|
|
|
|
-Логічне АБО А і r
| Регістрова
| ORA r
| КОП
| (A) (r) (A)
|
| +
| *
| *
| -
|
-Логічне АБО А і пам’яті
| Опосередкована
| ORA M
| КОП
| (A) (M(HL)) (A)
|
| +
| *
| *
| -
|
-Логічне АБО А і дані
| Безпосередня
| ORI
| КОП <B2>
| (A) <B2>® (A)
|
| +
| *
| *
| -
|
3. Заперечення рівно-значності:
|
|
|
|
|
|
|
|
|
|
-Виключаюче АБО А і r
| Регістрова
| XRA r
| КОП
| (A) (r) (A)
|
| +
| *
| *
| -
|
-Виключаюче АБО А і пам’яті
| Опосередкована
| XRA M
| КОП
| (A) (M(HL)) (A)
|
| +
| *
| *
| -
|
-Виключаюче АБО А і даних
| Безпосередня
| XRI
| КОП <B2>
| (A) <B2> (A)
|
| +
| *
| *
| -
|
Операція
| Адресація
| Мнемоніка
| Формат
| Символіка
| Індикатори
| |
C
| Z
| S
| P
| А
|
4.Команди інвертуван-ня і установки переносу
|
|
|
|
|
|
|
|
|
| |
Інвертування А
| Неявна
| CMA
| КОП
| (A) (A)
| -
| -
| -
| -
| -
| |
Інвертувати
Пернос:
| Неявна
| CMC
| КОП
| (c) (c)
| +
| -
| -
| -
| -
| |
Установити перенос
| неявна
| STC
| КОП
| 1 (c)
| +
| -
| -
| -
| -
| |
5.Зсуви:
|
|
|
|
|
|
|
|
|
| |
Зсув вліво циклічно
| неявна
| RLS
| КОП
|
| +
| -
| -
| -
| -
| |
Зсув вправо циклічно
| неявна
| RRC
| КОП
|
| +
| -
| -
| -
| -
| |
Зсув вліво з переносом
| неявна
| RAL
| КОП
|
| +
| -
| -
| -
| -
| |
Зсув вправо з переносом
| неявна
| RAR
| КОП
|
| +
| -
| -
| -
| -
| |
Примітка: ()-вміст; (М())-вміст комірки пам’яті; r-регістри A, B, C, D, E, H, L; В2-другий байт команди; +- індикатор установлюється; *-індикатор установлюється, але його важко передбачити програмісту; - -індикатор не встановлюється; -операція "I"; -операція "АБО"; -операція "ВИКЛЮЧНЕ АБО".
Таблиця 4.5 - Команди керування мікропроцесором.
Операція
| Адресація
| Мнемоніка
| Формат
| Символіка
|
Дозвіл переривання
|
| ЕІ
| КОП
| Тригер переривання установлюється в ‘’1’’, переривання дозволено
|
Заборона переривання
|
| DI
| КОП
| Тригер переривання установлюється в ‘’0’’, переривання заборонено
|
Команди неробочого ходу
| Неявна
| NOP
| КОП
| Порожня операція. Програма виконується за наступною адресою (РС)=(РС)+1
|
Зупинка
| Невід’ємна (апаратна)
| HLT
| КОП
| Робота МП припиняється. (РС)=(РС)+1; (SP)=(SP)+2
|
Примітка: ()-вміст; PC-лічильник команд.
Таблиця 4.6 – Команди керування ходом програми
Операція
| Адресація
| Мнемоніка
| Формат
| Символіка
|
Перехід безумовний
Перехід за умовою
|
Безпосередня
Безпосередня
| 1.Переходи:
JMP
JX
|
КОП<B2><B3>
КОП<B2><B3>
|
<B2><B3>®(PC)
Якщо умова виконується, тоді <B2><B3>®(PC), інакше (РС)=(РС)+3
|
виклик
безпосередній
Виклик умовний
|
Безпосередня,
опосередкована
Безпосередня,
опосередкована
| 2.Виклики
процедури:
CALL
CX
|
КОП<B2><B3>
КОП<B2><B3>
|
<B2><B3>®(PC);
(PC)®(SP-1) (SP-2);
(SP)=(SP)-2
Якщо умова виконується,тоді
<B2><B3>®(PC);
(PC)®(SP-1);(SP-2);
(SP)=(SP)-2, інакше (PC)=(PC)+3
|
Повернення безумовне
Повернення умовне
|
Опосередкована
Опосередкована
| 3.Повернен
RET
RX
| ня:
КОП
КОП
|
(SP+1)(SP)®(PC), (SP)=(SP)+2
Якщо умова виконана, тоді (SP+1)(SP)®(PC); (SP)=(SP)+2, інакше (PC)=(PC)+1
|
|
Опосередкована
| 4.Повторни RCTx
| й запуск
КОП
|
(PC)®(SP-1)(SP-2);(SP)=(SP)-2; (PC)8´(NNN); X=NNN
|
Читайте также:
Воспользуйтесь поиском по сайту: