Група 2. Мікрокоманди умовних переходів

{ cjp cond, addr; } \ умовний перехід за адресою addr, якщо cond=1

Мікрокоманда CJP (Condition JumP) дозволяє здійснювати розгалуження в мікропрограмах.

Під час виконання цієї мікрокоманди формується сигнал PE = 0, який відкриває Буфер P, і значення addr з поля P надходить на вхід D ФАМ. Якщо умова виконується (cond=1), то A:=addr, інакше A:= (ЛМК).

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

{ cjp zo, m1; } \ якщо отримано нульовий результат (ZО=1), то перейти на

\ мітку m1, інакше продовжити обчислення.

{ cjpp cond, addr; } \ умовний перехід за адресою addr, якщо cond=1, і

\ виштовхування зі стека

Ця мікрокоманда (Condition JumP and Pop) відрізняється від попередньої лише тим, що у разі виконання умови (cond=1) додатково з верхівки стека виштовхується значення. Отже, цю мікрокоманду доцільно використовувати для виходу з циклу за умовою.

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

{ cjpp no, m2; } \ якщо отримано від‘ємний результат (NO=1), то перейти

\ на мітку m2 і виштовхнути значення з верхівки стека,

\ інакше перейти до наступної мікрокоманди.

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

{ jrp cond, addr; } \ умовний перехід за адресою з addr, якщо cond=1,

\ або за адресою з РА/ЛЦ, якщо cond=0

сигнал PE = 0 відкриває Буфер P, і значення addr з поля P мікрокоманди надходить на вхід D ФАМ. Якщо умова виконується (cond=1), то A:=addr, і відбувається перехід за адресою addr, вказаною в мікрокоманді; інакше
A:= (РА/ЛЦ), і відбувається перехід за адресою, яка зберігається в РА/ЛЦ.

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

{ jrp co, m1; } \ якщо ознака переносу за межі старшого розряду

\ результату дорівнює 1, то відбувається перехід на мітку

\ m1, інакше – перехід за адресою з РА/ЛЦ.

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

{ cjv cond; } \ умовний перехід за адресою з Буфера V

(CJV – Condition Jump by Vector) дозволяє здійснити перехід на мікропрограму обслуговування переривання (драйвер). На Буфер V надходять сигнали від зовнішніх пристроїв системи. Під час виконання цієї мікрокоманди формується сигнал VE = 0, який відкриває Буфер V, і початкова адреса драйвера з виходу V буфера надходить на вхід D ФАМ.

Якщо умова виконується (cond=1), то A:= (V), інакше – A:= (ЛМК).

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

{ cjv vo; } \ якщо має місце переповнення результату, то перейти на

\ мікропрограму за адресою з Буфера V.


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



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