Група 4. Мікрокоманди для роботи з мікропідпрограмами

Система мікрокоманд ФАМ забезпечує реалізацію механізму виклику мікропідпрограм за умовою.

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

{ cjs cond, addr; } \ умовний виклик мікропідпрограми за

\ адресою addr, якщо cond=1

(Condition Jump to Subroutine) викликає мікропідпрограму, що знаходиться в ПМК за адресою addr, якщо вказана в мікрокоманді умова виконується (cond=1). Якщо cond=1, то в стек записується адреса повернення (адреса наступної за CJS мікрокоманди), а на вихідну шину A ФАМ надходить addr (з поля P через Буфер P), інакше здійснюється перехід до наступної мікрокоманди.

Приклад мікрокоманди:

{cjs rn_v, subrout1; } \ якщо N.V=1, то здійснюється виклик

\ мікропідпрограми за адресою SUBROUT1

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

{ crtn cond; } \ умовне повернення з мікропідпрограми

(Condition ReTurN) забезпечує повернення з мікропідпрограми до основної мікропрограми.

Якщо cond=1, то виконання мікропідпрограми припиняється й здійснюється повернення в основну мікропрограму за адресою з верхівки стека (A:= (стек)) і виштовхування зі стека, інакше в мікропідпрограмі відбувається перехід до наступної мікрокоманди.

Приклад мікрокоманди:

{ crtn nz; } \ безумовне повернення з мікропідпрограми.

Під час виконання мікрокоманди

{ jsrp cond, addr; } \ перехід до однієї з двох мікропідпрограм

в стек записується адреса повернення (адреса наступної за JSRP мікрокоманди) й здійснюється виклик однієї з двох мікропідпрограм – мікропідпрограми за адресою addr, якщо cond=1 (при цьому значення addr з поля P через Буфер P надходить на вихід A ФАМ), або мікропідпрограми за адресою з РА/ЛЦ (при цьому A:=(РА/ЛЦ)). Приклад мікрокоманди:

{ jsrp nxorv, subr2; }

Замість узагальненої умови cond в мікрокомандах ФАМ можна використовувати такі логічні умови:

Z – заздалегідь хибна умова (умова ніколи не виконується),

NZ – заздалегідь істинна умова (умова завжди виконується),

ZO, CO, NO, VO,

RM_Z, RM_C, RM_N, RM_V,

RN_Z, RN_C, RN_N, RN_V,

NXORV

ZORC,

L1, L2, L3, L4, L5, L6,

CT, RDM, RDD, INT, IRQ0, IRQ1, …, IRQ7,

а також те саме з префіксом NOT.

Якщо умова записується з префіксом not, то поле COM мікрокоманди встановлюється в 1.


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



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