Група 1. Мікрокоманди для роботи з регістром запитів на переривання (4 мікрокоманди)

Мікрокоманда

{ reset ir; } \ очистка IR

встановлює в “0” всі розряди регістра (всі запити на переривання знято).

{ clr ir, val; } \ очистка окремих розрядів IR сигналами з шини маски

Ця мікрокоманда (CLeaR) встановлює в нуль ті розряди IR, яким відповідають одиниці в двійковому коді val. Значення val надходить з ШД на вхід МК БПП.

Наприклад, мікрокоманда { clr ir, 01100101%; } скидає в нуль розряди: 0-й, 2-й, 5-й та 6-й регістра IR, тобто анулюються запити на переривання від ПВВ з пріоритетами 0, 2, 5, 6.

Мікрокоманда

{ clr ir, mr; } \ очистка окремих розрядів IR сигналами з регістра маски

встановлює в нуль ті розряди IR, яким відповідають одиниці в регістрі маски.

Наприклад, якщо MR = 10010010, то мікрокоманда {clr ir, mr; } встановлює в нуль 1-й, 4-й та 7-й розряди IR (анулюються запити на переривання від БПП з пріоритетами 1, 4, 7).

Мікрокоманда

{clr ir, vr; } \ очистка одного розряду IR під управлінням VR

встановлює в нуль розряд IR, номер якого записано в VR. Ця мікрокоманда використовується для зняття запиту на переривання після його обслуговування.

Наприклад, якщо VR = 011, то після виконання мікрокоманди {clr ir, vr; } в нуль буде встановлено 3-й розряд IR (знято запит на переривання від ПВВ з пріоритетом 3).

Група 2. Мікрокоманди для роботи з регістром маски (6 мікрокоманд)

Мікрокоманда

{ reset mr; } \ очистка регістра маски

встановлює в нуль всі розряди MR (всі запити на переривання розмасковано, БПП здатний обробляти запити на переривання від будь-яких ПВВ).

Мікрокоманда

{ set mr; } \ встановлення в “1” всіх розрядів MR

записує одиниці у всі розряди регістра маски. Це означає, що всі запити на переривання від ПВВ заборонено.

Мікрокоманда

{ clr mr, val; } \ очистка окремих розрядів регістра маски сигналами з

\ шини маски

скидає в нуль ті розряди регістра маски, яким відповідають одиниці в двійковому коді val. Значення val надходить з ШД на вхід МК БПП.

Наприклад, мікрокоманда { clr mr, 01010000%; } встановлює в нуль 4-й та 6-й розряди регістра маски.

Мікрокоманда

{ set mr, val; } \ встановлення в одиницю окремих розрядів регістра

\ маски сигналами з шини маски

встановлює в одиницю ті розряди МR, яким відповідають одиниці в двійковому коді val. Значення val надходить з ШД на вхід МК БПП.

Наприклад, мікрокоманда { set mr, 4; } встановлює в одиницю 2-й розряд регістра маски.

Мікрокоманда

{ load mr, val; } \ завантаження регістра маски значенням val

записує код маски (val), який встановлено на шині маски МК, в регістр маски.

Наприклад, мікрокоманда { load mr, 6; } записує код маски 00000110 в регістр маски, внаслідок чого ігноруватимуться запити на переривання від ПВВ з пріоритетами 1 та 2.

Мікрокоманда

{ read mr; } \ читання маски з регістра маски

зчитує код маски з МR на ШД.

Група 3. Мікрокоманди для роботи з регістром стану (2 мікрокоманди)

Перед початком роботи з ПВВ в регістр стану записують 3-розрядний код — поріг пріоритету, який означає, що дозволяється обслуговування тільки тих ПВВ, пріоритет який не нижчий, ніж код в SR.

Мікрокоманда

{ load sr, val; } \ завантаження регістра стану значенням val

записує в SR код порога пріоритету (val), який надходить з ШД на вхід SA БПП.

Наприклад, мікрокоманда { load sr, 2; } означає, що дозволяється обслуговувати запити на переривання від ПВВ з пріоритетами 2-7, запити на переривання від ПВВ в пріоритетами 0, 1 будуть ігноруватися.

Мікрокоманда

{ read sr; } \ читання слова з регістра стану

зчитує 3-розрядний код з SR на ШД.

Група 4. Решта мікрокоманд (4 мікрокоманди)

Мікрокоманда

{ reset; } \ загальна очистка СВП

встановлює в нуль всі регістри схеми векторних переривань.

{ ei; } \ дозвіл запитів на переривання

Ця мікрокоманда (Enable Interrupt) дозволяє фіксацію запитів на переривання від ПВВ у регістрі запитів на переривання СВП.

{ di; } \ заборона запитів на переривання

Ця мікрокоманда (Disable Interrupt) забороняє фіксацію запитів на переривання від ПВВ у регістрі запитів на переривання СВП.

Мікрокоманда

{ read vr; } \ читання вектора

забезпечує зчитування 3-розрядного вектора переривання V з регістра VR і надходження його на вихід VEC БПП, запис в регістр стану SR величини V+1, та формування сигналу вимоги загального переривання INT.

Для тих мікрокоманд СВП, де другим операндом є val, допускається й скорочена форма – без задання безпосередніх даних. У цьому випадку значення val буде надходити з ШД як результат операції.

Наприклад,

{ xor r1, r4; oey; clr mr; } \ молодший байт результату (R1) з ШД буде

\ використано для порозрядної очистка регістра

\ маски.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: