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

{ jz; } \ перехід до нульової адреси

Після виконання цієї мікрокоманди (Jump Zero) ЛМК встановлюється в “0”, а на виході А ФАМ формується адреса 000.

{ cont; } \ перехід до наступної адреси

Ця мікрокоманда (CONTinue) призводить до інкременту ЛМК, і на виході А ФАМ формується адреса A:=A+1.

{ jmap; } \ безумовний перехід за адресою, що знаходиться на ЛШ

\ (через Буфер М)

Ця мікрокоманда (Jump MAP) використовується під час емуляції системи команд і слугує для переходу в ПМК до нової мікропрограми. При цьому на ЛШ попередньо має бути сформована початкова адреса мікропрограми.

Під час виконання {jmap;} формується сигнал ME = 0, який відкриває

Буфер M, й адреса нової мікропрограми з ЛШ надходить на вхід D ФАМ і з‘являється на виході А (А:= (ЛШ)).


{ ldct val; } \ завантаження РА/ЛЦ значенням val

Значення val у цьому випадку є вмістом поля P мікрокоманди. Під час виконання LDCT (LoaD CounTer) виробляється сигнал PE = 0, який відкриває Буфер P, і значення з поля P надходить на вхід D ФАМ. Це значення являє собою кількість повторень циклу й записується в РА/ЛЦ. При цьому поле RLD повинне містити 0.

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

{ ldct 5; } \ РА/ЛЦ:=5.

Є два різновиди мікрокоманди PUSH:

{ push; } та { push cond, val; }.

Обидві мікрокоманди записують в стек наступну адресу (наприклад, якщо мікрокоманду {push;} розміщено в ПМК за адресою 2D3H, то під час її виконання в стек буде записано 2D4). Друга мікрокоманда, крім того, записує в РА/ЛЦ значення val, якщо вказана в мікрокоманді умова виконується, тобто cond=1. Звичайно, при цьому в полі RLD мікрокоманди має бути 0. Якщо умова не виконується, то запис val в РА/ЛЦ не відбувається.

Таким чином, {push cond, val; } рівноцінна двом мікрокомандам – { push; } та { ldct val; }.

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

{ push ct, 6; } \ якщо CT=1, то РА/ЛЦ:=6.


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



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