У мікроасемблері передбачено дві директиви для задання початкових
значень у вузлах БПП.
ACCEPT – директива задання значень в регістрах СВП
Директива
ACCEPT MR: <значення>
дозволяє задати значення маски в регістрі маски.
Наприклад,
accept mr: 10110100% \ задає маску B4 в МR.
Директива
ACCEPT IR: <значення>
дозволяє задати (моделювати) запити на переривання від ПВВ у регістрі запитів.
Наприклад,
accept ir: 00100010% \ задає запити на переривання від ПВВ з
\ пріоритетами 1 та 5.
LINK VEC – директива задання адреси переходу за вектором переривання
Директива дозволяє задати початкову адресу мікропрограми обслуговування переривання в перетворювачі адрес.
Для ПА входом є вектор переривання VEC[0],…,VEC[7]. Задання адреси переходу на мікропрограму обслуговування переривання можна здійснити як окремо для кожного вектора, так і для всіх векторів разом:
link vec[3]: 0c00h \ початкова адреса мікропрограми обслуговування
\ переривання від ПВВ з пріоритетом 3
link vec: 100h, 200h, 300h, 400h, 500h, 600h, 700h, 800h
\ кожному вектору переривання відповідає початкова адреса мікропрограми.
|
|
Настроювання СВП та перехід на мікропрограму обслуговування переривання виглядає так:
{ reset; } \ загальна очистка СВП
{ di;} \ тимчасова заборона переривань
{ load sr, 2; } \ встановлення порога пріоритету – запити від ЗП з
\ пріоритетами 0, 1 – ігноруються
{ load mr, 00110000%; } \ заборона запитів на переривання від ЗП з
\ пріоритетами 4 та 5
{ ei; } \ дозвіл переривання
{ read vr; } \ читання вектора
{ cjp int, m1; } \ аналіз сигналу вимоги загального переривання
{ cjp nz, m2; }
m1 { ev; jmap; } \ перехід на мікропрограму обслуговування переривання
m2 { } \ продовження мікропрограми
Мікропрограма обслуговування переривання має завершуватися мікрокомандою { clr ir, vr; }, яка скидає в нуль щойно оброблений запит на переривання.
7. ДИРЕКТИВА FIELD ЗАДАННЯ ПОЛІВ МІКРОКОМАНДИ
За допомогою директиви FIELD можна задати всі без винятку поля мікрокоманди (рис. 2). Ця директива використовується там і тоді, де не передбачені мнемоніки мікроасемблера.
Директива має вигляд:
FIELD <ім‘я поля>, <значення підполів>
і оперує з полями мікрокоманди, вказанами в табл. 10.
Наприклад, директива