Всякая команда из системы команд микро ЭВМ представляет собой некоторый набор микроопераций прошитых в ПЗУ микрокоманд, которые выполняются в случае считывания данной команды в регистр команд. При этом отдельные микрооперации попадают в регистр микрокоманд, который по сути дела т выставляет управляющие сигналы ко всем управляемым элементам микро ЭВМ, обеспечивая тем самым корректное выполнение заданной отдельной микрооперации и команды в целом.
Для демонстрации порядка выполнения команд в виде некоторой последовательности микрокоманд рассмотрим формат регистра микрокоманд:
| № п/п | Название | Назначение |
| 0-3 | UI0 - UI3 | Инструкция для УСА |
| 4-15 | D0 - D11 | Адрес для перехода в СУАМ |
| 16-24 | I0 – I8 | Инструкция для МПС |
| 25 - 32 | A, B | Адресные входы БОД |
| 33 – 45 | SI0 – SI12 | Операция СУСС |
| 46 | C0 | Входной перенос в МПС |
| 47 |
| Разрешение выдачи с DI |
| 48 |
| Разрешение выдачи с ADR |
| 49 |
| Разрешение выдачи с RON |
| 50 |
| Разрешение выдачи с A, B с Рг.Мк. |
| 51 |
| Разрешение на запись в DO |
| 52 |
| Разрешение выдачи с DO |
| 53 |
| Разрешение на запись в Рг.А |
| 54 |
| Разрешение на выдачу А |
| 55 |
| Обращение к портам ОЗУ |
| 56 |
| Чтение – запись |
| 57 |
| Запрос на PDP |
| 58 |
| Запрет сдвигов |
Таким образом, разрядность регистра микрокоманд – 58 разрядов. Следовательно, для реализации ПЗУ микрокоманд потребуется 15 микросхем 556РТ14.
Рассмотрим микропрограммную реализацию некоторых команд микро ЭВМ (макрокоманд):
MOV REG, операнд
| 1) | 1110 | XXXXXXXXXXXX | 011000011 | XXXX | 0000 | XXXXXXXXXXXXX | 1111 011 001 101 |
| 2) | 1110 | XXXXXXXXXXXX | 011000111 | XXXX | XXXX | XXXXXXXXXXXXX | 0010 111 111 101 |
Аналогичным образом строятся все микрокоманды.
Разработка программы арифметической операции.
Программа вычисления ln x в командах данной микро ЭВМ будет выглядеть следующим образом:
| MOV | R1, | 1 | |
| MOV | R2, | 0 | |
| MOV | R11, | 0 | |
| MOV | R3, | 0 | |
| MOV | R4, | X | |
| DEC | R4 | ||
| M6: | MOV | R5, | R4 |
| M1: | MOV | R6, | 0 |
| MOV | R7, | R1 | |
| MOV | R12, | R4 | |
| MOV | A0, | R7 | |
| SUB | R7 | ||
| CMP | 0 | ||
| JA | MZ | ||
| MOV | R14, | 1 | |
| JMP | M3 | ||
| MZ: | MOV | R14, | 0 |
| M3: | SHL | R12 | |
| MOV | R0, | R12 | |
| SUB | R7 | ||
| CMP | 0 | ||
| JA | M4 | ||
| SHL | R6 | ||
| ADD | R7 | ||
| MOV | R12, | R0 | |
| JMP | M5 | ||
| M4: | SHL | R6 | |
| INC | R6 | ||
| MOV | R12 | R2 | |
| M5: | DEC | R8 | |
| MOV | R0, | R8 | |
| CMP | 0 | ||
| JZ | M6 | ||
| MOV | R2, | R6 | |
| MOV | R0, | R11 | |
| INC | R1 | ||
| MOV | R13, | 0 | |
| MOV | R9, | R4 | |
| MOV | R10, | R5 | |
| MOV | R0, | R9 | |
| MUL | R10 | ||
| MOV | R4, | R0 | |
| NEG | R4 | ||
| DEC | R3 | ||
| MOV | R0, | R3 | |
| CMP | 0 | ||
| JZ | M7 | ||
| JMP | M0 | ||
| M7 | |||
| END |






