{ 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.