<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://emuverse.ru/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;feed=atom</id>
	<title>Emuverse - Новые страницы [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://emuverse.ru/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B"/>
	<updated>2026-06-13T03:49:33Z</updated>
	<subtitle>Материал из Emuverse</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://emuverse.ru/wiki/.imd</id>
		<title>.imd</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/.imd"/>
		<updated>2026-05-15T17:44:42Z</updated>

		<summary type="html">&lt;p&gt;Panther: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ДИ|Автор=Dave Dunfield|Источник=http://dunfield.classiccmp.org/img/}}&lt;br /&gt;
&lt;br /&gt;
= Формат файла образа ImageDisk (.IMD) =&lt;br /&gt;
&lt;br /&gt;
ImageDisk — программа для чтения полных образов дискет в файлы (тип .IMD) и для воссоздания копии дискеты из этого образа. Выполняется детальный анализ дискеты, и информация о форматировании записывается в файл образа. Это позволяет ImageDisk работать практически с любым программно-секторированным (soft-sectored) форматом дискет, совместимым с накопителями и контроллером гибких дисков типа 765 в составе ПК.&lt;br /&gt;
&lt;br /&gt;
== 6. Формат файла образа ==&lt;br /&gt;
&lt;br /&gt;
Общая структура файла образа ImageDisk .IMD:&lt;br /&gt;
&lt;br /&gt;
 IMD v.vv: dd/mm/yyyy hh:mm:ss          (ASCII-заголовок)&lt;br /&gt;
 Комментарий (только ASCII, без ограничения размера)  &lt;br /&gt;
 1A — байт ASCII EOF                                   &lt;br /&gt;
 — Для каждой дорожки на диске:&lt;br /&gt;
    1 байт   Значение режима (Mode)              (0–5)&lt;br /&gt;
    1 байт   Цилиндр                             (0–n)&lt;br /&gt;
    1 байт   Сторона (Head)                      (0–1) (см. примечание)&lt;br /&gt;
    1 байт   Число секторов на дорожке           (1–n)&lt;br /&gt;
    1 байт   Размер сектора                      (0–6)&lt;br /&gt;
    Карта нумерации секторов                     * число секторов&lt;br /&gt;
    Карта цилиндров секторов (опционально)       * число секторов&lt;br /&gt;
    Карта сторон секторов     (опционально)      * число секторов&lt;br /&gt;
    Записи данных секторов                       * число секторов&lt;br /&gt;
 &amp;lt;Конец файла&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6.1 Значение режима (Mode) ===&lt;br /&gt;
&lt;br /&gt;
Это значение указывает скорость передачи данных и плотность записи, с которыми изначально была записана дорожка:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Значение !! Режим&lt;br /&gt;
|-&lt;br /&gt;
| 00 || 500 кбит/с FM&lt;br /&gt;
|-&lt;br /&gt;
| 01 || 300 кбит/с FM&lt;br /&gt;
|-&lt;br /&gt;
| 02 || 250 кбит/с FM&lt;br /&gt;
|-&lt;br /&gt;
| 03 || 500 кбит/с MFM&lt;br /&gt;
|-&lt;br /&gt;
| 04 || 300 кбит/с MFM&lt;br /&gt;
|-&lt;br /&gt;
| 05 || 250 кбит/с MFM&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Примечание:&amp;#039;&amp;#039;&amp;#039; кбит/с указывает скорость &amp;#039;&amp;#039;передачи&amp;#039;&amp;#039;, а не скорость данных, которая для FM-кодирования составляет 1/2 от указанной.&lt;br /&gt;
&lt;br /&gt;
=== 6.2 Размер сектора ===&lt;br /&gt;
&lt;br /&gt;
Значение размера сектора задаёт фактический размер данных сектора на дорожке:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Значение !! Размер&lt;br /&gt;
|-&lt;br /&gt;
| 00 || 128 байт/сектор&lt;br /&gt;
|-&lt;br /&gt;
| 01 || 256 байт/сектор&lt;br /&gt;
|-&lt;br /&gt;
| 02 || 512 байт/сектор&lt;br /&gt;
|-&lt;br /&gt;
| 03 || 1024 байт/сектор&lt;br /&gt;
|-&lt;br /&gt;
| 04 || 2048 байт/сектор&lt;br /&gt;
|-&lt;br /&gt;
| 05 || 4096 байт/сектор&lt;br /&gt;
|-&lt;br /&gt;
| 06 || 8192 байт/сектор&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
ImageDisk в настоящее время не поддерживает диски с секторами разного размера в пределах одной дорожки (КГМД ПК не может записывать такие диски), однако предложено расширение формата .IMD для представления дисков такого типа:&lt;br /&gt;
&lt;br /&gt;
Значение размера сектора &amp;lt;code&amp;gt;0xFF&amp;lt;/code&amp;gt; означает, что после карт нумерации секторов / цилиндров / сторон (непосредственно перед записями данных) располагается таблица размеров секторов, содержащая по одному 16-битному значению (в формате little-endian) на каждый сектор, определяющему фактический размер этого сектора.&lt;br /&gt;
&lt;br /&gt;
=== 6.3 Значение стороны (Head) ===&lt;br /&gt;
&lt;br /&gt;
Это значение указывает сторону диска, на которой находится данная дорожка (0 или 1).&lt;br /&gt;
&lt;br /&gt;
Поскольку HEAD может принимать только значения 0 или 1, ImageDisk использует старшие биты этого байта для индикации наличия опциональных элементов в данных дорожки:&lt;br /&gt;
&lt;br /&gt;
* Бит 7 (&amp;lt;code&amp;gt;0x80&amp;lt;/code&amp;gt;) — Карта цилиндров секторов (Sector Cylinder Map)&lt;br /&gt;
* Бит 6 (&amp;lt;code&amp;gt;0x40&amp;lt;/code&amp;gt;) — Карта сторон секторов (Sector Head Map)&lt;br /&gt;
&lt;br /&gt;
=== 6.4 Карта нумерации секторов ===&lt;br /&gt;
&lt;br /&gt;
Карта нумерации секторов содержит по одному байту на каждый сектор дорожки с физическим идентификатором (ID) этого сектора.&lt;br /&gt;
&lt;br /&gt;
Обратите внимание, что эти значения &amp;#039;&amp;#039;&amp;#039;могут не быть последовательными&amp;#039;&amp;#039;&amp;#039;. Диск с чередованием секторов (interleave) будет иметь карту нумерации секторов, в которой номера секторов идут в непоследовательном порядке.&lt;br /&gt;
&lt;br /&gt;
Если ImageDisk не удаётся получить все номера секторов за один оборот диска, он сообщит «Unable to determine interleave» и перестроит номера секторов в простой последовательный список.&lt;br /&gt;
&lt;br /&gt;
=== 6.5 Карта цилиндров секторов ===&lt;br /&gt;
&lt;br /&gt;
Опциональное поле. Его наличие обозначается установленным битом 7 в значении Head для дорожки.&lt;br /&gt;
&lt;br /&gt;
Если поле присутствует, это означает, что значения цилиндров, записанные в секторах, &amp;#039;&amp;#039;&amp;#039;не совпадают&amp;#039;&amp;#039;&amp;#039; с физическим цилиндром дорожки.&lt;br /&gt;
&lt;br /&gt;
Карта цилиндров секторов содержит по одной записи на каждый сектор; запись содержит логический идентификатор цилиндра для соответствующего сектора из карты нумерации секторов.&lt;br /&gt;
&lt;br /&gt;
Для чтения диска с нестандартными идентификаторами цилиндров потребуется использование режима &amp;#039;&amp;#039;&amp;#039;FULL ANALYSIS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== 6.6 Карта сторон секторов ===&lt;br /&gt;
&lt;br /&gt;
Опциональное поле. Его наличие обозначается установленным битом 6 в значении Head для дорожки.&lt;br /&gt;
&lt;br /&gt;
Если поле присутствует, это означает, что значения сторон, записанные в секторах, &amp;#039;&amp;#039;&amp;#039;не совпадают&amp;#039;&amp;#039;&amp;#039; с физическим выбором стороны для дорожки.&lt;br /&gt;
&lt;br /&gt;
Карта сторон секторов содержит по одной записи на каждый сектор; запись содержит логический идентификатор стороны для соответствующего сектора из карты нумерации секторов.&lt;br /&gt;
&lt;br /&gt;
Для чтения диска с нестандартными идентификаторами сторон может потребоваться использование режима &amp;#039;&amp;#039;&amp;#039;FULL ANALYSIS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== 6.7 Записи данных секторов ===&lt;br /&gt;
&lt;br /&gt;
Для каждого идентификатора сектора в карте нумерации секторов ImageDisk сохраняет запись данных сектора. Эти записи следуют в том же порядке, что и идентификаторы в карте нумерации секторов:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Тип !! Описание&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt; || Данные сектора недоступны — не удалось прочитать&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; .... || Обычные данные: следует (размер сектора) байт&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;02 xx&amp;lt;/code&amp;gt; || Сжатые: все байты сектора имеют одинаковое значение (&amp;lt;code&amp;gt;xx&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;03&amp;lt;/code&amp;gt; .... || Обычные данные с меткой адреса удалённых данных (Deleted-Data address mark)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;04 xx&amp;lt;/code&amp;gt; || Сжатые с меткой адреса удалённых данных&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;05&amp;lt;/code&amp;gt; .... || Обычные данные, прочитанные с ошибкой данных&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;06 xx&amp;lt;/code&amp;gt; || Сжатые, прочитанные с ошибкой данных&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;07&amp;lt;/code&amp;gt; .... || Удалённые данные, прочитанные с ошибкой данных&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;08 xx&amp;lt;/code&amp;gt; || Сжатые, удалённые, прочитанные с ошибкой данных&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Форматы файлов]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
	<entry>
		<id>https://emuverse.ru/wiki/%D0%9B1839%D0%92%D0%9C1/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA</id>
		<title>Л1839ВМ1/Справочник</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/%D0%9B1839%D0%92%D0%9C1/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA"/>
		<updated>2026-04-10T14:01:30Z</updated>

		<summary type="html">&lt;p&gt;Panther: Новая страница: «{{emuverse}}  = Внешние регистры =  == РНП &amp;amp;mdash; Регистр начального пуска ==  Находится по адресу SYSMEM[0x800000]. Состоит из двух частей:  * Биты [3:0] &amp;amp;mdash; размер памяти. Во время процедуры инициализации записываются в MEM[0xF20008] * Биты [7:4] &amp;amp;mdash; вид начального пуска:  {| class=&amp;quot;wikitable&amp;quot;...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{emuverse}}&lt;br /&gt;
&lt;br /&gt;
= Внешние регистры =&lt;br /&gt;
&lt;br /&gt;
== РНП &amp;amp;mdash; Регистр начального пуска ==&lt;br /&gt;
&lt;br /&gt;
Находится по адресу SYSMEM[0x800000]. Состоит из двух частей:&lt;br /&gt;
&lt;br /&gt;
* Биты [3:0] &amp;amp;mdash; размер памяти. Во время процедуры инициализации записываются в MEM[0xF20008]&lt;br /&gt;
* Биты [7:4] &amp;amp;mdash; вид начального пуска:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! № !! Вид начального пуска !! Разряды РНП&amp;lt;br/&amp;gt;&amp;lt;7 6 5 4&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Выход в пульт (с тестированием). ||align=center| 0 0 0 0&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Выход в пульт (без тестирования). ||align=center| 0 0 0 1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Загрузка ОС с MSCP-устройства (с тестированием). ||align=center| 0 0 1 0&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Загрузка ОС с MSCP-устройства (без тестирования). ||align=center| 0 0 1 1&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Загрузка ОС с устройства пользователя (с т.). ||align=center| 0 1 0 0&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Выполнение программы пользователя с адреса 0. ||align=center| 0 1 0 1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Пуск резидентных тестов платы. ||align=center| 0 1 1 0&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Включение ускорителя. ||align=center| 1 X X X&lt;br /&gt;
|-&lt;br /&gt;
| — || &amp;#039;&amp;#039;Резерв&amp;#039;&amp;#039; ||align=center| 7, 9–F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Электроника-32]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
	<entry>
		<id>https://emuverse.ru/wiki/VAX-11/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4</id>
		<title>VAX-11/Система команд</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/VAX-11/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4"/>
		<updated>2026-04-10T08:07:02Z</updated>

		<summary type="html">&lt;p&gt;Panther: /* Таблица команд процессора VAX-11/750 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{emuverse}} &lt;br /&gt;
= Регистры =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Номер (dec) !! Номер (hex) !! Имя !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || R0 || Общего назначения; младший результат MUL/DIV&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 || R1 || Общего назначения; старший результат MUL/DIV&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 || R2 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 3 || R3 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 4 || R4 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 5 || R5 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 6 || R6 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 7 || R7 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 8 || R8 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 9 || R9 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || R10 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 11 || B || R11 || Общего назначения&lt;br /&gt;
|-&lt;br /&gt;
| 12 || C || R12 / AP || Argument Pointer — указатель на список аргументов процедуры&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || R13 / FP || Frame Pointer — указатель на фрейм стека&lt;br /&gt;
|-&lt;br /&gt;
| 14 || E || R14 / SP || Stack Pointer — указатель стека&lt;br /&gt;
|-&lt;br /&gt;
| 15 || F || R15 / PC || Program Counter — счётчик команд&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Все регистры (R0–R15/PC) 32-битные. Доступ к частям регистра производится через операнды с типами byte/word, читающие/пишущие младшие биты с sign/zero extension.&lt;br /&gt;
&lt;br /&gt;
= Кодирование инструкций VAX-11 =&lt;br /&gt;
Инструкции представляют собой поток байтов в следующем формате:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ prefix byte ] [ opcode byte ] [ operand specifier ] [ operand specifier ] ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Prefix — только для двухбайтовых опкодов (FD, FE, FF для расширений)&lt;br /&gt;
* Opcode — 1 байт (большинство инструкций)&lt;br /&gt;
* Операнды следуют подряд, каждый описывается operand specifier-ом&lt;br /&gt;
&lt;br /&gt;
== Operand Specifier ==&lt;br /&gt;
Каждый операнд начинается с одного байта вида:&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
 7   4 3   0&lt;br /&gt;
+-----+-----+&lt;br /&gt;
| mod | reg |&lt;br /&gt;
+-----+-----+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Байт (hex) !! Режим !! Синтаксис !! Доп. байты !! Примечание&lt;br /&gt;
|-&lt;br /&gt;
| 00–3F || Short Literal || #0..#63 || — || Биты 5–0 — значение; mod=00/01/02/03&lt;br /&gt;
|-&lt;br /&gt;
| 4n || Index || [Rn] || — || Модификатор следующего спецификатора; масштаб по типу операнда&lt;br /&gt;
|-&lt;br /&gt;
| 5n || Register || Rn || — || Значение в регистре&lt;br /&gt;
|-&lt;br /&gt;
| 6n || Register Deferred || (Rn) || — || Содержимое Rn — адрес операнда&lt;br /&gt;
|-&lt;br /&gt;
| 7n || Autodecrement || -(Rn) || — || Rn уменьшается на размер типа до обращения&lt;br /&gt;
|-&lt;br /&gt;
| 8n || Autoincrement || (Rn)+ || — || Rn увеличивается на размер типа после обращения&lt;br /&gt;
|-&lt;br /&gt;
| 8F || Immediate || #imm || N байт || N = размер типа операнда; следует за спецификатором&lt;br /&gt;
|-&lt;br /&gt;
| 9n || Autoincrement Deferred || @(Rn)+ || — || Rn++ на 4 (longword-адрес)&lt;br /&gt;
|-&lt;br /&gt;
| 9F || Absolute || @#addr || 4 байта || Абсолютный 32-битный адрес&lt;br /&gt;
|-&lt;br /&gt;
| An || Byte Displacement || B^disp(Rn) || 1 байт || Знаковое смещение −128..+127&lt;br /&gt;
|-&lt;br /&gt;
| AF || Byte Relative || B^label || 1 байт || Смещение от PC после спецификатора&lt;br /&gt;
|-&lt;br /&gt;
| Bn || Byte Displacement Deferred || @B^disp(Rn) || 1 байт || Адрес берётся из памяти по смещению&lt;br /&gt;
|-&lt;br /&gt;
| BF || Byte Relative Deferred || @B^label || 1 байт ||&lt;br /&gt;
|-&lt;br /&gt;
| Cn || Word Displacement || W^disp(Rn) || 2 байта || Знаковое смещение −32768..+32767&lt;br /&gt;
|-&lt;br /&gt;
| CF || Word Relative || W^label || 2 байта ||&lt;br /&gt;
|-&lt;br /&gt;
| Dn || Word Displacement Deferred || @W^disp(Rn) || 2 байта ||&lt;br /&gt;
|-&lt;br /&gt;
| DF || Word Relative Deferred || @W^label || 2 байта ||&lt;br /&gt;
|-&lt;br /&gt;
| En || Longword Displacement || L^disp(Rn) || 4 байта || Полное 32-битное смещение&lt;br /&gt;
|-&lt;br /&gt;
| EF || Longword Relative || L^label || 4 байта ||&lt;br /&gt;
|-&lt;br /&gt;
| Fn || Longword Displacement Deferred || @L^disp(Rn) || 4 байта ||&lt;br /&gt;
|-&lt;br /&gt;
| FF || Longword Relative Deferred || @L^label || 4 байта ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Здесь n = номер регистра (0–E для R0–SP), F = PC (R15). Режимы с F в поле регистра — это PC-relative варианты соответствующих displacement-режимов, которые ассемблер выбирает автоматически по дистанции до метки.&lt;br /&gt;
&lt;br /&gt;
=== 0: Литеральный режим ===&lt;br /&gt;
&lt;br /&gt;
Если биты 7–6 = 00, весь байт трактуется как 6-битный литерал (значения 0–63), независимо от поля reg. Это экономия на маленьких константах.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 7 6  5           0&lt;br /&gt;
+---+---------------+&lt;br /&gt;
|0 0|    value      |   → short literal, 0..63&lt;br /&gt;
+---+---------------+&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4n: Индексный режим ===&lt;br /&gt;
mod=4 модифицирует следующий operand specifier. Эффективный адрес:&lt;br /&gt;
&lt;br /&gt;
 EA = base_EA + Rn * sizeof(тип операнда)&lt;br /&gt;
&lt;br /&gt;
Масштаб берётся из типа инструкции, а не из спецификатора.&lt;br /&gt;
&lt;br /&gt;
Пример: массив longword-ов&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; int32_t table[10] — массив по абсолютному адресу&lt;br /&gt;
; R3 — индекс&lt;br /&gt;
; R0 — результат&lt;br /&gt;
&lt;br /&gt;
MOVL    table[R3], R0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Кодирование:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MOVL  opcode = D0&lt;br /&gt;
&lt;br /&gt;
Операнд 1: table[R3]&lt;br /&gt;
  43        — Index, Rn=3&lt;br /&gt;
  EF        — Longword Relative (base = PC + disp)&lt;br /&gt;
  xx xx xx xx — 4 байта смещения до table от PC&lt;br /&gt;
&lt;br /&gt;
Операнд 2: R0&lt;br /&gt;
  50        — Register, R0&lt;br /&gt;
&lt;br /&gt;
Итого: D0 43 EF &amp;lt;disp32&amp;gt; 50&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Эффективный адрес = &amp;lt;code&amp;gt;&amp;amp;table + R3 * 4&amp;lt;/code&amp;gt; (MOVL → тип longword → масштаб 4)&lt;br /&gt;
&lt;br /&gt;
=== 5n &amp;amp;mdash; Регистровый ===&lt;br /&gt;
Операнд является значением в регистре. &lt;br /&gt;
&lt;br /&gt;
Кодирование &amp;lt;code&amp;gt;MOVL R2, R0&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
D0   — MOVL&lt;br /&gt;
52   — Register, Rn=2  (источник)&lt;br /&gt;
50   — Register, Rn=0  (приёмник)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ограничение: если инструкция требует операнд в памяти (например, PUSHAL, CALLS — адрес), Register не подходит — нужен адрес, а не значение.&lt;br /&gt;
&lt;br /&gt;
=== 6n &amp;amp;mdash; Регистровый косвенный ===&lt;br /&gt;
Регистр содержит адрес операнда. Одно обращение к памяти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MOVL    (R3), (R2)   ; Mem[R2] := Mem[R3]&lt;br /&gt;
&lt;br /&gt;
Кодирование:&lt;br /&gt;
&lt;br /&gt;
D0   — MOVL&lt;br /&gt;
63   — Register Deferred, Rn=3  (источник)&lt;br /&gt;
62   — Register Deferred, Rn=2  (приёмник)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7n, 8n &amp;amp;mdash; Автодекрементный и автоинкрементный ===&lt;br /&gt;
&lt;br /&gt;
* Автодекрементный: сначала регистр уменьшается на размер типа, затем используется как адрес.&lt;br /&gt;
* Автоинкрементный: Сначала используется текущее значение регистра как адрес, затем регистр увеличивается.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MOVL    -(R2), R0    ; R2 -= 4; R0 := Mem[R2]&lt;br /&gt;
MOVB    -(R2), R0    ; R2 -= 1; R0 := Mem[R2]&lt;br /&gt;
MOVW    -(R2), R0    ; R2 -= 2; R0 := Mem[R2]&lt;br /&gt;
&lt;br /&gt;
MOVL    (R2)+, R0    ; R0 := Mem[R2]; R2 += 4&lt;br /&gt;
MOVB    (R2)+, R0    ; R0 := Mem[R2]; R2 += 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Кодирование &amp;lt;code&amp;gt;MOVL -(R2), R0&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
D0   — MOVL&lt;br /&gt;
72   — Autodecrement, Rn=2&lt;br /&gt;
50   — Register R0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Пример: работа со стеком ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; PUSH longword в R1:&lt;br /&gt;
MOVL    R1, -(SP)    ; SP -= 4; Mem[SP] := R1&lt;br /&gt;
&lt;br /&gt;
; POP longword в R0:&lt;br /&gt;
MOVL    (SP)+, R0    ; R0 := Mem[SP]; SP += 4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Фактически, &amp;lt;code&amp;gt;PUSHL&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;POPL&amp;lt;/code&amp;gt; обёртки над MOVL:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PUSHL   R1     →   MOVL R1, -(SP)&lt;br /&gt;
; нет POPL — используют MOVL (SP)+, Rn&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Пример: обход массива ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; R2 = указатель на начало массива int32_t&lt;br /&gt;
; R3 = счётчик элементов&lt;br /&gt;
&lt;br /&gt;
loop:&lt;br /&gt;
    MOVL    (R2)+, R0    ; R0 := *p++&lt;br /&gt;
    ; ... обработка R0 ...&lt;br /&gt;
    SOBGTR  R3, loop     ; R3--; если R3 &amp;gt; 0 — перейти&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Каждую итерацию R2 автоматически продвигается на 4 &amp;amp;mdash; нет необходимости в ADDL.&lt;br /&gt;
&lt;br /&gt;
==== Пример: копирование массива в цикле ====&lt;br /&gt;
&lt;br /&gt;
 MOVL    (R2)+, (R3)+   ; Mem[R3] := Mem[R2]; R2+=4; R3+=4&lt;br /&gt;
&lt;br /&gt;
Оба указателя продвигаются за одну инструкцию. Порядок: сначала вычисляются оба EA, затем оба регистра обновляются.&lt;br /&gt;
&lt;br /&gt;
=== 9n &amp;amp;mdash; Автоинкрементный косвенный ===&lt;br /&gt;
Происходит двойное разыменование: регистр содержит адрес адреса операнда. После чтения регистр увеличивается на 4 (всегда — longword, потому что читается адрес, а не данные).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
EA  = Mem[Rn]     — читаем адрес из памяти&lt;br /&gt;
Rn := Rn + 4      — продвигаем на размер указателя&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Два обращения к памяти: сначала за адресом, потом за данными.&lt;br /&gt;
&lt;br /&gt;
Сравнение с Autoincrement:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MOVL    (R2)+,  R0   ; R0 := Mem[R2];        R2 += 4   — читаем данные&lt;br /&gt;
MOVL    @(R2)+, R0   ; R0 := Mem[Mem[R2]];   R2 += 4   — читаем указатель, потом данные&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Особый случай: &amp;lt;code&amp;gt;@(PC)+&amp;lt;/code&amp;gt; = Absolute 9F&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Аналогично тому как &amp;lt;code&amp;gt;(PC)+&amp;lt;/code&amp;gt; = Immediate, &amp;lt;code&amp;gt;@(PC)+&amp;lt;/code&amp;gt; = Absolute:&lt;br /&gt;
&lt;br /&gt;
 EA = Mem[PC];  PC += 4&lt;br /&gt;
&lt;br /&gt;
Следующие 4 байта в потоке команд — это сам 32-битный адрес операнда.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MOVL    @#0x1234ABCD, R0&lt;br /&gt;
; D0  9F  CD AB 34 12  50&lt;br /&gt;
;     ^^— Autoincrement Deferred PC (= Absolute)&lt;br /&gt;
;        ^^^^^^^^^^^— адрес операнда в потоке команд&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== An: С байтовым смещением ===&lt;br /&gt;
За байтом спецификатора следует 1 байт знакового смещения. Эффективный адрес:&lt;br /&gt;
&lt;br /&gt;
 EA = Rn + sign_extend(disp8)&lt;br /&gt;
&lt;br /&gt;
Смещение знаковое: диапазон −128..+127 байт от базового регистра.&lt;br /&gt;
&lt;br /&gt;
Кодирование&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+------+   +----------+&lt;br /&gt;
|  A   |  Rn  |   |  disp8   |&lt;br /&gt;
+------+------+   +----------+&lt;br /&gt;
  байт 1             байт 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MOVL    4(R2), R0     ; EA = R2 + 4&lt;br /&gt;
D0   — MOVL&lt;br /&gt;
A2   — Byte Displacement, Rn=2&lt;br /&gt;
04   — смещение +4&lt;br /&gt;
50   — Register R0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MOVL    -8(R2), R0    ; EA = R2 - 8&lt;br /&gt;
D0   — MOVL&lt;br /&gt;
A2   — Byte Displacement, Rn=2&lt;br /&gt;
F8   — смещение −8 (0xF8 = −8 в дополнительном коде)&lt;br /&gt;
50   — Register R0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Главное применение — поля структур&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// R2 = указатель на struct Point&lt;br /&gt;
MOVL    (R2),   R0    ; R0 := p-&amp;gt;x  (offset 0 — Register Deferred, 1 байт)&lt;br /&gt;
MOVL    4(R2),  R1    ; R1 := p-&amp;gt;y  (offset 4 — Byte Displacement, 2 байта)&lt;br /&gt;
MOVL    8(R2),  R3    ; R3 := p-&amp;gt;z  (offset 8 — Byte Displacement, 2 байта)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Особый случай: Byte Relative — AF&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Частный случай Byte Displacement с Rn=PC. Ассемблер использует его для переходов и обращений к статическим переменным в пределах ±127 байт от текущей инструкции:&lt;br /&gt;
&lt;br /&gt;
 MOVL    near_var, R0   ; AF &amp;lt;disp8&amp;gt;  — если near_var близко&lt;br /&gt;
&lt;br /&gt;
В момент вычисления EA PC уже указывает на следующий байт после спецификатора, поэтому смещение считается от его конца.&lt;br /&gt;
&lt;br /&gt;
=== Bn: С байтовым смещением косвенный ===&lt;br /&gt;
&lt;br /&gt;
По вычисленному адресу читается указатель, и уже он используется как EA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tmp = Rn + sign_extend(disp8)&lt;br /&gt;
EA  = Mem[tmp]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MOVL    @4(R2), R0    ; tmp = R2+4; R0 := Mem[Mem[tmp]]&lt;br /&gt;
D0   — MOVL&lt;br /&gt;
B2   — Byte Displacement Deferred, Rn=2&lt;br /&gt;
04   — смещение +4&lt;br /&gt;
50   — Register R0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cn&amp;amp;ndash;Fn: прочие режимы ===&lt;br /&gt;
&lt;br /&gt;
Режимы Cn&amp;amp;ndash;Fn полностью аналогичны байтовым режимам, за исключением размера операнда: word представляет два байта смещения в диапазоне −32768..+32767, longword &amp;amp;mdash; знаковые 4 байта.&lt;br /&gt;
&lt;br /&gt;
При этом для PC-relative смещение считается от конца своего спецификатора вместе с байтами смещения — PC к тому моменту уже прошёл их все.&lt;br /&gt;
&lt;br /&gt;
=== PC-relative ===&lt;br /&gt;
&lt;br /&gt;
PC-relative режимы (reg=F) это PC-relative addressing — assembler автоматически выбирает byte/word/longword displacement в зависимости от дистанции.&lt;br /&gt;
&lt;br /&gt;
Пример: &amp;lt;code&amp;gt;ADDL2 #5, R0&amp;lt;/code&amp;gt; &amp;amp;mdash; прибавить 5 к регистру R0, размер операнда L, команда двухадресная&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ADDL2  opcode = C0&lt;br /&gt;
&lt;br /&gt;
#5     → immediate: mod=8, reg=F → байт 8F, затем 4 байта: 05 00 00 00&lt;br /&gt;
R0     → register:  mod=5, reg=0 → байт 50&lt;br /&gt;
&lt;br /&gt;
Итого: C0 8F 05 00 00 00 50&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Таблица команд процессора VAX-11/750 =&lt;br /&gt;
&lt;br /&gt;
Сводная таблица команд процессора VAX-11/750 (реализует практически полный набор инструкций архитектуры VAX-11).&lt;br /&gt;
&lt;br /&gt;
Коды команд (opcode) указаны в шестнадцатеричном виде. Для инструкций плавающей точки формата G/H применяется двухбайтовый код с префиксом &amp;lt;code&amp;gt;FD&amp;lt;/code&amp;gt; (указан как &amp;lt;code&amp;gt;xx FD&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Обозначения типов операндов:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;.r&amp;lt;/code&amp;gt; — чтение (read)&lt;br /&gt;
* &amp;lt;code&amp;gt;.w&amp;lt;/code&amp;gt; — запись (write)&lt;br /&gt;
* &amp;lt;code&amp;gt;.m&amp;lt;/code&amp;gt; — чтение/модификация (modify)&lt;br /&gt;
* &amp;lt;code&amp;gt;.a&amp;lt;/code&amp;gt; — адрес (address)&lt;br /&gt;
* &amp;lt;code&amp;gt;.b&amp;lt;/code&amp;gt; — смещение ветвления (branch displacement)&lt;br /&gt;
* &amp;lt;code&amp;gt;.v&amp;lt;/code&amp;gt; — битовое поле (field)&lt;br /&gt;
* &amp;lt;code&amp;gt;b/w/l/q/o&amp;lt;/code&amp;gt; — байт / слово / длинное слово / квадрослово / октаслово&lt;br /&gt;
* &amp;lt;code&amp;gt;f/d/g/h&amp;lt;/code&amp;gt; — форматы плавающей точки F / D / G / H&lt;br /&gt;
&lt;br /&gt;
== Пересылка данных и адресов ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 90 || MOVB  || src.rb, dst.wb || Пересылка байта&lt;br /&gt;
|-&lt;br /&gt;
| B0 || MOVW  || src.rw, dst.ww || Пересылка слова (16 бит)&lt;br /&gt;
|-&lt;br /&gt;
| D0 || MOVL  || src.rl, dst.wl || Пересылка длинного слова (32 бита)&lt;br /&gt;
|-&lt;br /&gt;
| 7D || MOVQ  || src.rq, dst.wq || Пересылка квадрослова (64 бита)&lt;br /&gt;
|-&lt;br /&gt;
| 7D FD || MOVO || src.ro, dst.wo || Пересылка октаслова (128 бит)&lt;br /&gt;
|-&lt;br /&gt;
| 9A || MOVZBW || src.rb, dst.ww || Пересылка байта в слово с заполнением нулями&lt;br /&gt;
|-&lt;br /&gt;
| 9B || MOVZBL || src.rb, dst.wl || Пересылка байта в длинное слово с нулями&lt;br /&gt;
|-&lt;br /&gt;
| 3C || MOVZWL || src.rw, dst.wl || Пересылка слова в длинное слово с нулями&lt;br /&gt;
|-&lt;br /&gt;
| 9E || MOVAB || src.ab, dst.wl || Пересылка адреса байтового операнда&lt;br /&gt;
|-&lt;br /&gt;
| 3E || MOVAW || src.aw, dst.wl || Пересылка адреса операнда-слова&lt;br /&gt;
|-&lt;br /&gt;
| DE || MOVAL/MOVAF || src.al, dst.wl || Пересылка адреса длинного слова / F_floating&lt;br /&gt;
|-&lt;br /&gt;
| 7E || MOVAQ/MOVAD/MOVAG || src.aq, dst.wl || Пересылка адреса квадрослова / D_/G_floating&lt;br /&gt;
|-&lt;br /&gt;
| 7E FD || MOVAO/MOVAH || src.ao, dst.wl || Пересылка адреса октаслова / H_floating&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Целочисленная арифметика ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 80 / A0 / C0 || ADDB2 / ADDW2 / ADDL2 || add.rx, sum.mx || Сложение (двухоперандное), b/w/l&lt;br /&gt;
|-&lt;br /&gt;
| 81 / A1 / C1 || ADDB3 / ADDW3 / ADDL3 || add1.rx, add2.rx, sum.wx || Сложение (трёхоперандное), b/w/l&lt;br /&gt;
|-&lt;br /&gt;
| D8 || ADWC || add.rl, sum.ml || Сложение длинных слов с учётом переноса&lt;br /&gt;
|-&lt;br /&gt;
| 82 / A2 / C2 || SUBB2 / SUBW2 / SUBL2 || sub.rx, dif.mx || Вычитание (двухоперандное)&lt;br /&gt;
|-&lt;br /&gt;
| 83 / A3 / C3 || SUBB3 / SUBW3 / SUBL3 || sub.rx, min.rx, dif.wx || Вычитание (трёхоперандное)&lt;br /&gt;
|-&lt;br /&gt;
| D9 || SBWC || sub.rl, dif.ml || Вычитание длинных слов с заёмом&lt;br /&gt;
|-&lt;br /&gt;
| 84 / A4 / C4 || MULB2 / MULW2 / MULL2 || mulr.rx, prod.mx || Умножение (двухоперандное)&lt;br /&gt;
|-&lt;br /&gt;
| 85 / A5 / C5 || MULB3 / MULW3 / MULL3 || mulr.rx, muld.rx, prod.wx || Умножение (трёхоперандное)&lt;br /&gt;
|-&lt;br /&gt;
| 86 / A6 / C6 || DIVB2 / DIVW2 / DIVL2 || divr.rx, quo.mx || Деление (двухоперандное)&lt;br /&gt;
|-&lt;br /&gt;
| 87 / A7 / C7 || DIVB3 / DIVW3 / DIVL3 || divr.rx, divd.rx, quo.wx || Деление (трёхоперандное)&lt;br /&gt;
|-&lt;br /&gt;
| 7A || EMUL || mulr.rl, muld.rl, add.rl, prod.wq || Расширенное умножение 32×32→64&lt;br /&gt;
|-&lt;br /&gt;
| 7B || EDIV || divr.rl, divd.rq, quo.wl, rem.wl || Расширенное деление 64/32→32+ост&lt;br /&gt;
|-&lt;br /&gt;
| 8E / AE / CE || MNEGB / MNEGW / MNEGL || src.rx, dst.wx || Изменение знака (отрицание)&lt;br /&gt;
|-&lt;br /&gt;
| 96 / B6 / D6 || INCB / INCW / INCL || dst.mx || Инкремент&lt;br /&gt;
|-&lt;br /&gt;
| 97 / B7 / D7 || DECB / DECW / DECL || dst.mx || Декремент&lt;br /&gt;
|-&lt;br /&gt;
| 94 / B4 / D4 || CLRB / CLRW / CLRL || dst.wx || Обнуление&lt;br /&gt;
|-&lt;br /&gt;
| 7C || CLRQ || dst.wq || Обнуление квадрослова&lt;br /&gt;
|-&lt;br /&gt;
| 7C FD || CLRO || dst.wo || Обнуление октаслова&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Логические и битовые операции ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 88 / A8 / C8 || BISB2 / BISW2 / BISL2 || mask.rx, dst.mx || Установка битов (логическое ИЛИ), 2 оп.&lt;br /&gt;
|-&lt;br /&gt;
| 89 / A9 / C9 || BISB3 / BISW3 / BISL3 || mask.rx, src.rx, dst.wx || Установка битов, 3 оп.&lt;br /&gt;
|-&lt;br /&gt;
| 8A / AA / CA || BICB2 / BICW2 / BICL2 || mask.rx, dst.mx || Сброс битов (AND NOT), 2 оп.&lt;br /&gt;
|-&lt;br /&gt;
| 8B / AB / CB || BICB3 / BICW3 / BICL3 || mask.rx, src.rx, dst.wx || Сброс битов, 3 оп.&lt;br /&gt;
|-&lt;br /&gt;
| 8C / AC / CC || XORB2 / XORW2 / XORL2 || mask.rx, dst.mx || Исключающее ИЛИ, 2 оп.&lt;br /&gt;
|-&lt;br /&gt;
| 8D / AD / CD || XORB3 / XORW3 / XORL3 || mask.rx, src.rx, dst.wx || Исключающее ИЛИ, 3 оп.&lt;br /&gt;
|-&lt;br /&gt;
| 92 / B2 / D2 || MCOMB / MCOMW / MCOML || src.rx, dst.wx || Побитовая инверсия (дополнение до 1)&lt;br /&gt;
|-&lt;br /&gt;
| 93 / B3 / D3 || BITB / BITW / BITL || mask.rx, src.rx || Проверка битов (AND без записи)&lt;br /&gt;
|-&lt;br /&gt;
| B8 || BISPSW || mask.rw || Установка битов в слове состояния&lt;br /&gt;
|-&lt;br /&gt;
| B9 || BICPSW || mask.rw || Сброс битов в слове состояния&lt;br /&gt;
|-&lt;br /&gt;
| DC || MOVPSL || dst.wl || Чтение PSL в приёмник&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Сдвиги, вращения и битовые поля ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 78 || ASHL || cnt.rb, src.rl, dst.wl || Арифметический сдвиг длинного слова&lt;br /&gt;
|-&lt;br /&gt;
| 79 || ASHQ || cnt.rb, src.rq, dst.wq || Арифметический сдвиг квадрослова&lt;br /&gt;
|-&lt;br /&gt;
| 9C || ROTL || cnt.rb, src.rl, dst.wl || Циклический сдвиг длинного слова&lt;br /&gt;
|-&lt;br /&gt;
| F8 || ASHP || cnt.rb, srclen.rw, srcaddr.ab, round.rb, dstlen.rw, dstaddr.ab || Сдвиг упакованного десятичного числа&lt;br /&gt;
|-&lt;br /&gt;
| EE || EXTV   || pos.rl, size.rb, base.vb, dst.wl || Извлечение знакового битового поля&lt;br /&gt;
|-&lt;br /&gt;
| EF || EXTZV  || pos.rl, size.rb, base.vb, dst.wl || Извлечение беззнакового битового поля&lt;br /&gt;
|-&lt;br /&gt;
| F0 || INSV   || src.rl, pos.rl, size.rb, base.vb || Запись (вставка) битового поля&lt;br /&gt;
|-&lt;br /&gt;
| EC || CMPV   || pos.rl, size.rb, base.vb, src.rl || Сравнение знакового битового поля&lt;br /&gt;
|-&lt;br /&gt;
| ED || CMPZV  || pos.rl, size.rb, base.vb, src.rl || Сравнение беззнакового битового поля&lt;br /&gt;
|-&lt;br /&gt;
| EA || FFS || startpos.rl, size.rb, base.vb, findpos.wl || Поиск первого установленного бита&lt;br /&gt;
|-&lt;br /&gt;
| EB || FFC || startpos.rl, size.rb, base.vb, findpos.wl || Поиск первого сброшенного бита&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Сравнение и проверка ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 91 / B1 / D1 || CMPB / CMPW / CMPL || src1.rx, src2.rx || Сравнение двух операндов&lt;br /&gt;
|-&lt;br /&gt;
| 95 / B5 / D5 || TSTB / TSTW / TSTL || src.rx || Сравнение операнда с нулём (установка NZ)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Преобразование типов (целочисленные) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 99 || CVTBW || src.rb, dst.ww || Преобразование байта в слово (с расширением знака)&lt;br /&gt;
|-&lt;br /&gt;
| 98 || CVTBL || src.rb, dst.wl || Преобразование байта в длинное слово&lt;br /&gt;
|-&lt;br /&gt;
| 33 || CVTWB || src.rw, dst.wb || Преобразование слова в байт&lt;br /&gt;
|-&lt;br /&gt;
| 32 || CVTWL || src.rw, dst.wl || Преобразование слова в длинное слово&lt;br /&gt;
|-&lt;br /&gt;
| F6 || CVTLB || src.rl, dst.wb || Преобразование длинного слова в байт&lt;br /&gt;
|-&lt;br /&gt;
| F7 || CVTLW || src.rw, dst.wb || Преобразование длинного слова в слово&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Условные переходы (ветвления) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 12 || BNEQ / BNEQU || displ.bb || Переход, если не равно нулю (Z=0)&lt;br /&gt;
|-&lt;br /&gt;
| 13 || BEQL / BEQLU || displ.bb || Переход, если равно нулю (Z=1)&lt;br /&gt;
|-&lt;br /&gt;
| 14 || BGTR || displ.bb || Переход, если больше (знаковое)&lt;br /&gt;
|-&lt;br /&gt;
| 15 || BLEQ || displ.bb || Переход, если меньше или равно (знак.)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || BGEQ || displ.bb || Переход, если больше или равно (знак.)&lt;br /&gt;
|-&lt;br /&gt;
| 19 || BLSS || displ.bb || Переход, если меньше (знаковое)&lt;br /&gt;
|-&lt;br /&gt;
| 1A || BGTRU || displ.bb || Переход, если выше (беззнаковое)&lt;br /&gt;
|-&lt;br /&gt;
| 1B || BLEQU || displ.bb || Переход, если ниже или равно (беззнак.)&lt;br /&gt;
|-&lt;br /&gt;
| 1E || BCC / BGEQU || displ.bb || Переход, если перенос сброшен&lt;br /&gt;
|-&lt;br /&gt;
| 1F || BCS / BLSSU || displ.bb || Переход, если перенос установлен&lt;br /&gt;
|-&lt;br /&gt;
| 1C || BVC || displ.bb || Переход, если переполнение сброшено&lt;br /&gt;
|-&lt;br /&gt;
| 1D || BVS || displ.bb || Переход, если переполнение установлено&lt;br /&gt;
|-&lt;br /&gt;
| E0 || BBS || pos.rl, base.vb, displ.bb || Переход по установленному биту&lt;br /&gt;
|-&lt;br /&gt;
| E1 || BBC || pos.rl, base.vb, displ.bb || Переход по сброшенному биту&lt;br /&gt;
|-&lt;br /&gt;
| E2 || BBSS || pos.rl, base.vb, displ.bb || Переход, если бит был установлен (и установить)&lt;br /&gt;
|-&lt;br /&gt;
| E3 || BBCS || pos.rl, base.vb, displ.bb || Переход, если бит был сброшен (и установить)&lt;br /&gt;
|-&lt;br /&gt;
| E4 || BBSC || pos.rl, base.vb, displ.bb || Переход, если бит был установлен (и сбросить)&lt;br /&gt;
|-&lt;br /&gt;
| E5 || BBCC || pos.rl, base.vb, displ.bb || Переход, если бит был сброшен (и сбросить)&lt;br /&gt;
|-&lt;br /&gt;
| E6 || BBSSI || pos.rl, base.vb, displ.bb || Атомарное «установить бит и перейти, если был сброшен»&lt;br /&gt;
|-&lt;br /&gt;
| E7 || BBCCI || pos.rl, base.vb, displ.bb || Атомарное «сбросить бит и перейти, если был установлен»&lt;br /&gt;
|-&lt;br /&gt;
| E8 || BLBS || src.rl, displ.bb || Переход, если младший бит = 1&lt;br /&gt;
|-&lt;br /&gt;
| E9 || BLBC || src.rl, displ.bb || Переход, если младший бит = 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Безусловные переходы, вызовы и возвраты ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 11 || BRB || displ.bb || Безусловный переход (короткий, байт)&lt;br /&gt;
|-&lt;br /&gt;
| 31 || BRW || displ.bw || Безусловный переход (длинный, слово)&lt;br /&gt;
|-&lt;br /&gt;
| 17 || JMP || dst.ab || Переход по произвольному адресу&lt;br /&gt;
|-&lt;br /&gt;
| 10 || BSBB || displ.bb || Переход в подпрограмму (короткий)&lt;br /&gt;
|-&lt;br /&gt;
| 30 || BSBW || displ.bw || Переход в подпрограмму (длинный)&lt;br /&gt;
|-&lt;br /&gt;
| 16 || JSB || dst.ab || Переход в подпрограмму с сохранением PC&lt;br /&gt;
|-&lt;br /&gt;
| 05 || RSB || — || Возврат из подпрограммы (JSB/BSB)&lt;br /&gt;
|-&lt;br /&gt;
| FA || CALLG || arglist.ab, dst.ab || Вызов процедуры со списком аргументов в памяти&lt;br /&gt;
|-&lt;br /&gt;
| FB || CALLS || nargs.rl, dst.ab || Вызов процедуры с аргументами на стеке&lt;br /&gt;
|-&lt;br /&gt;
| 04 || RET || — || Возврат из процедуры (CALLG/CALLS)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Управление циклами и многовариантный выбор ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| F2 || AOBLSS || limit.rl, index.ml, displ.bb || Инкремент и переход, если index &amp;lt; limit&lt;br /&gt;
|-&lt;br /&gt;
| F3 || AOBLEQ || limit.rl, index.ml, displ.bb || Инкремент и переход, если index ≤ limit&lt;br /&gt;
|-&lt;br /&gt;
| F4 || SOBGEQ || index.ml, displ.bb || Декремент и переход, если index ≥ 0&lt;br /&gt;
|-&lt;br /&gt;
| F5 || SOBGTR || index.ml, displ.bb || Декремент и переход, если index &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| 9D || ACBB || limit.rb, add.rb, index.mb, displ.bw || Add-Compare-Branch для байта&lt;br /&gt;
|-&lt;br /&gt;
| 3D || ACBW || limit.rw, add.rw, index.mw, displ.bw || Add-Compare-Branch для слова&lt;br /&gt;
|-&lt;br /&gt;
| F1 || ACBL || limit.rl, add.rl, index.ml, displ.bw || Add-Compare-Branch для длинного слова&lt;br /&gt;
|-&lt;br /&gt;
| 8F || CASEB || selector.rb, base.rb, limit.rb, displ.bw-list || Многовариантный переход по байту&lt;br /&gt;
|-&lt;br /&gt;
| AF || CASEW || selector.rw, base.rw, limit.rw, displ.bw-list || Многовариантный переход по слову&lt;br /&gt;
|-&lt;br /&gt;
| CF || CASEL || selector.rl, base.rl, limit.rl, displ.bw-list || Многовариантный переход по длинному слову&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Работа со стеком ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| DD || PUSHL || src.rl || Занесение длинного слова в стек&lt;br /&gt;
|-&lt;br /&gt;
| 9F / 3F / DF || PUSHAB / PUSHAW / PUSHAL || src.ax || Занесение адреса в стек&lt;br /&gt;
|-&lt;br /&gt;
| 7F || PUSHAQ / PUSHAD / PUSHAG || src.aq || Занесение адреса квадрослова / D_/G_&lt;br /&gt;
|-&lt;br /&gt;
| 7F FD || PUSHAO / PUSHAH || src.ao || Занесение адреса октаслова / H_&lt;br /&gt;
|-&lt;br /&gt;
| BB || PUSHR || mask.rw || Занесение группы регистров в стек&lt;br /&gt;
|-&lt;br /&gt;
| BA || POPR || mask.rw || Извлечение группы регистров из стека&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Работа с очередями ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 0E || INSQUE || entry.ab, pred.ab || Вставка элемента в абсолютную очередь&lt;br /&gt;
|-&lt;br /&gt;
| 0F || REMQUE || entry.ab, addr.wl || Удаление элемента из абсолютной очереди&lt;br /&gt;
|-&lt;br /&gt;
| 5C || INSQHI || entry.ab, header.aq || Атомарная вставка в голову самовыравн. очереди&lt;br /&gt;
|-&lt;br /&gt;
| 5D || INSQTI || entry.ab, header.aq || Атомарная вставка в хвост самовыравн. очереди&lt;br /&gt;
|-&lt;br /&gt;
| 5E || REMQHI || header.aq, addr.wl || Атомарное удаление из головы очереди&lt;br /&gt;
|-&lt;br /&gt;
| 5F || REMQTI || header.aq, addr.wl || Атомарное удаление из хвоста очереди&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Обработка символьных строк ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 28 || MOVC3 || len.rw, src.ab, dst.ab || Копирование строки (одинаковая длина)&lt;br /&gt;
|-&lt;br /&gt;
| 2C || MOVC5 || slen.rw, src.ab, fill.rb, dlen.rw, dst.ab || Копирование строки с дополнением&lt;br /&gt;
|-&lt;br /&gt;
| 2E || MOVTC || srclen.rw, src.ab, fill.rb, tbl.ab, dstlen.rw, dst.ab || Копирование с трансляцией через таблицу&lt;br /&gt;
|-&lt;br /&gt;
| 2F || MOVTUC || srclen.rw, src.ab, esc.rb, tbl.ab, dstlen.rw, dst.ab || Трансляция до символа-ограничителя&lt;br /&gt;
|-&lt;br /&gt;
| 29 || CMPC3 || len.rw, s1.ab, s2.ab || Сравнение строк одинаковой длины&lt;br /&gt;
|-&lt;br /&gt;
| 2D || CMPC5 || s1len.rw, s1.ab, fill.rb, s2len.rw, s2.ab || Сравнение строк разной длины&lt;br /&gt;
|-&lt;br /&gt;
| 3A || LOCC || char.rb, len.rw, addr.ab || Поиск символа в строке&lt;br /&gt;
|-&lt;br /&gt;
| 3B || SKPC || char.rb, len.rw, addr.ab || Поиск первого отличного символа&lt;br /&gt;
|-&lt;br /&gt;
| 2A || SCANC || len.rw, addr.ab, tbl.ab, mask.rb || Поиск по маске через таблицу&lt;br /&gt;
|-&lt;br /&gt;
| 2B || SPANC || len.rw, addr.ab, tbl.ab, mask.rb || Пропуск символов, соответствующих маске&lt;br /&gt;
|-&lt;br /&gt;
| 39 || MATCHC || objlen.rw, obj.ab, srclen.rw, src.ab || Поиск подстроки&lt;br /&gt;
|-&lt;br /&gt;
| 0B || CRC || tbl.ab, inicrc.rl, strlen.rw, str.ab || Вычисление контрольной суммы CRC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Упакованная десятичная арифметика ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 20 || ADDP4 || alen.rw, aaddr.ab, blen.rw, baddr.ab || Сложение упакованных чисел (4 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 21 || ADDP6 || alen.rw, aaddr.ab, blen.rw, baddr.ab, rlen.rw, raddr.ab || Сложение упакованных (6 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 22 || SUBP4 || alen.rw, aaddr.ab, blen.rw, baddr.ab || Вычитание упакованных (4 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 23 || SUBP6 || alen.rw, aaddr.ab, blen.rw, baddr.ab, rlen.rw, raddr.ab || Вычитание упакованных (6 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 25 || MULP || mulrlen.rw, mulraddr.ab, muldlen.rw, muldaddr.ab, prodlen.rw, prodaddr.ab || Умножение упакованных&lt;br /&gt;
|-&lt;br /&gt;
| 27 || DIVP || divrlen.rw, divraddr.ab, divdlen.rw, divdaddr.ab, quolen.rw, quoaddr.ab || Деление упакованных&lt;br /&gt;
|-&lt;br /&gt;
| 35 || CMPP3 || len.rw, src1.ab, src2.ab || Сравнение упакованных (равная длина)&lt;br /&gt;
|-&lt;br /&gt;
| 37 || CMPP4 || src1len.rw, src1.ab, src2len.rw, src2.ab || Сравнение упакованных&lt;br /&gt;
|-&lt;br /&gt;
| 34 || MOVP  || len.rw, src.ab, dst.ab || Пересылка упакованного числа&lt;br /&gt;
|-&lt;br /&gt;
| 24 || CVTPT || srclen.rw, src.ab, tbl.ab, dstlen.rw, dst.ab || Упакованное → числовой (trailing)&lt;br /&gt;
|-&lt;br /&gt;
| 26 || CVTTP || srclen.rw, src.ab, tbl.ab, dstlen.rw, dst.ab || Числовой (trailing) → упакованное&lt;br /&gt;
|-&lt;br /&gt;
| 08 || CVTPS || srclen.rw, src.ab, dstlen.rw, dst.ab || Упакованное → числовой (separate)&lt;br /&gt;
|-&lt;br /&gt;
| 09 || CVTSP || srclen.rw, src.ab, dstlen.rw, dst.ab || Числовой (separate) → упакованное&lt;br /&gt;
|-&lt;br /&gt;
| F9 || CVTLP || src.rl, dstlen.rw, dst.ab || Длинное слово → упакованное&lt;br /&gt;
|-&lt;br /&gt;
| 36 || CVTPL || srclen.rw, src.ab, dst.wl || Упакованное → длинное слово&lt;br /&gt;
|-&lt;br /&gt;
| 38 || EDITPC || srclen.rw, src.ab, pattern.ab, dst.ab || Форматирование упакованного числа по шаблону&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Плавающая точка, формат F (одинарная точность) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 50 || MOVF  || src.rf, dst.wf || Пересылка F_floating&lt;br /&gt;
|-&lt;br /&gt;
| 51 || CMPF  || src1.rf, src2.rf || Сравнение F_floating&lt;br /&gt;
|-&lt;br /&gt;
| 52 || MNEGF || src.rf, dst.wf || Отрицание F_floating&lt;br /&gt;
|-&lt;br /&gt;
| 53 || TSTF  || src.rf || Сравнение F_floating с нулём&lt;br /&gt;
|-&lt;br /&gt;
| 40 || ADDF2 || add.rf, sum.mf || Сложение F_floating (2 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 41 || ADDF3 || add1.rf, add2.rf, sum.wf || Сложение F_floating (3 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 42 || SUBF2 || sub.rf, dif.mf || Вычитание F_floating (2 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 43 || SUBF3 || sub.rf, min.rf, dif.wf || Вычитание F_floating (3 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 44 || MULF2 || mulr.rf, prod.mf || Умножение F_floating (2 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 45 || MULF3 || mulr.rf, muld.rf, prod.wf || Умножение F_floating (3 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 46 || DIVF2 || divr.rf, quo.mf || Деление F_floating (2 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 47 || DIVF3 || divr.rf, divd.rf, quo.wf || Деление F_floating (3 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 4C || CVTBF || src.rb, dst.wf || Преобразование байта в F&lt;br /&gt;
|-&lt;br /&gt;
| 4D || CVTWF || src.rw, dst.wf || Преобразование слова в F&lt;br /&gt;
|-&lt;br /&gt;
| 4E || CVTLF || src.rl, dst.wf || Преобразование длинного слова в F&lt;br /&gt;
|-&lt;br /&gt;
| 48 || CVTFB || src.rf, dst.wb || Преобразование F в байт&lt;br /&gt;
|-&lt;br /&gt;
| 49 || CVTFW || src.rf, dst.ww || Преобразование F в слово&lt;br /&gt;
|-&lt;br /&gt;
| 4A || CVTFL || src.rf, dst.wl || Преобразование F в длинное слово&lt;br /&gt;
|-&lt;br /&gt;
| 4B || CVTRFL || src.rf, dst.wl || Преобразование F в длинное слово с округлением&lt;br /&gt;
|-&lt;br /&gt;
| 56 || CVTFD || src.rf, dst.wd || Преобразование F_floating в D_floating&lt;br /&gt;
|-&lt;br /&gt;
| 54 || EMODF || mulr.rf, mulrx.rb, muld.rf, int.wl, fract.wf || Расширенное модульное умножение F&lt;br /&gt;
|-&lt;br /&gt;
| 55 || POLYF || arg.rf, degree.rw, tbl.ab || Вычисление полинома по коэффициентам F&lt;br /&gt;
|-&lt;br /&gt;
| 4F || ACBF  || limit.rf, add.rf, index.mf, displ.bw || Add-Compare-Branch для F_floating&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Плавающая точка, формат D (двойная точность) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 70 || MOVD  || src.rd, dst.wd || Пересылка D_floating&lt;br /&gt;
|-&lt;br /&gt;
| 71 || CMPD  || src1.rd, src2.rd || Сравнение D_floating&lt;br /&gt;
|-&lt;br /&gt;
| 72 || MNEGD || src.rd, dst.wd || Отрицание D_floating&lt;br /&gt;
|-&lt;br /&gt;
| 73 || TSTD  || src.rd || Сравнение D_floating с нулём&lt;br /&gt;
|-&lt;br /&gt;
| 60 || ADDD2 || add.rd, sum.md || Сложение D (2 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 61 || ADDD3 || add1.rd, add2.rd, sum.wd || Сложение D (3 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 62 || SUBD2 || sub.rd, dif.md || Вычитание D (2 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 63 || SUBD3 || sub.rd, min.rd, dif.wd || Вычитание D (3 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 64 || MULD2 || mulr.rd, prod.md || Умножение D (2 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 65 || MULD3 || mulr.rd, muld.rd, prod.wd || Умножение D (3 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 66 || DIVD2 || divr.rd, quo.md || Деление D (2 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 67 || DIVD3 || divr.rd, divd.rd, quo.wd || Деление D (3 оп.)&lt;br /&gt;
|-&lt;br /&gt;
| 6C || CVTBD || src.rb, dst.wd || Преобразование байта в D&lt;br /&gt;
|-&lt;br /&gt;
| 6D || CVTWD || src.rw, dst.wd || Преобразование слова в D&lt;br /&gt;
|-&lt;br /&gt;
| 6E || CVTLD || src.rl, dst.wd || Преобразование длинного слова в D&lt;br /&gt;
|-&lt;br /&gt;
| 68 || CVTDB || src.rd, dst.wb || Преобразование D в байт&lt;br /&gt;
|-&lt;br /&gt;
| 69 || CVTDW || src.rd, dst.ww || Преобразование D в слово&lt;br /&gt;
|-&lt;br /&gt;
| 6A || CVTDL || src.rd, dst.wl || Преобразование D в длинное слово&lt;br /&gt;
|-&lt;br /&gt;
| 6B || CVTRDL || src.rd, dst.wl || Преобразование D в длинное слово с округлением&lt;br /&gt;
|-&lt;br /&gt;
| 76 || CVTDF || src.rd, dst.wf || Преобразование D_floating в F_floating&lt;br /&gt;
|-&lt;br /&gt;
| 74 || EMODD || mulr.rd, mulrx.rb, muld.rd, int.wl, fract.wd || Расширенное модульное умножение D&lt;br /&gt;
|-&lt;br /&gt;
| 75 || POLYD || arg.rd, degree.rw, tbl.ab || Вычисление полинома в D&lt;br /&gt;
|-&lt;br /&gt;
| 6F || ACBD || limit.rd, add.rd, index.md, displ.bw || Add-Compare-Branch для D_floating&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Плавающая точка, форматы G и H (двухбайтовые коды FD) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 40 FD / 41 FD || ADDG2 / ADDG3 || как ADDD2/3 (G_floating) || Сложение G_floating&lt;br /&gt;
|-&lt;br /&gt;
| 42 FD / 43 FD || SUBG2 / SUBG3 || как SUBD2/3 (G_floating) || Вычитание G_floating&lt;br /&gt;
|-&lt;br /&gt;
| 44 FD / 45 FD || MULG2 / MULG3 || как MULD2/3 (G_floating) || Умножение G_floating&lt;br /&gt;
|-&lt;br /&gt;
| 46 FD / 47 FD || DIVG2 / DIVG3 || как DIVD2/3 (G_floating) || Деление G_floating&lt;br /&gt;
|-&lt;br /&gt;
| 50 FD || MOVG || src.rg, dst.wg || Пересылка G_floating&lt;br /&gt;
|-&lt;br /&gt;
| 51 FD || CMPG || src1.rg, src2.rg || Сравнение G_floating&lt;br /&gt;
|-&lt;br /&gt;
| 52 FD || MNEGG || src.rg, dst.wg || Отрицание G_floating&lt;br /&gt;
|-&lt;br /&gt;
| 53 FD || TSTG || src.rg || Сравнение G_floating с нулём&lt;br /&gt;
|-&lt;br /&gt;
| 4F FD || ACBG || limit.rg, add.rg, index.mg, displ.bw || Add-Compare-Branch для G&lt;br /&gt;
|-&lt;br /&gt;
| 54 FD || EMODG || как EMODD, но G || Расширенное модульное умножение G&lt;br /&gt;
|-&lt;br /&gt;
| 55 FD || POLYG || arg.rg, degree.rw, tbl.ab || Вычисление полинома в G&lt;br /&gt;
|-&lt;br /&gt;
| 56 FD || CVTGH || src.rg, dst.wh || Преобразование G в H&lt;br /&gt;
|-&lt;br /&gt;
| 60 FD – 67 FD || ADDH2/3 ... DIVH2/3 || как ADDD/... (H_floating) || Арифметика H_floating&lt;br /&gt;
|-&lt;br /&gt;
| 70 FD || MOVH || src.rh, dst.wh || Пересылка H_floating&lt;br /&gt;
|-&lt;br /&gt;
| 71 FD || CMPH || src1.rh, src2.rh || Сравнение H_floating&lt;br /&gt;
|-&lt;br /&gt;
| 72 FD || MNEGH || src.rh, dst.wh || Отрицание H_floating&lt;br /&gt;
|-&lt;br /&gt;
| 73 FD || TSTH || src.rh || Сравнение H_floating с нулём&lt;br /&gt;
|-&lt;br /&gt;
| 6F FD || ACBH || limit.rh, add.rh, index.mh, displ.bw || Add-Compare-Branch для H&lt;br /&gt;
|-&lt;br /&gt;
| 74 FD || EMODH || как EMODD, но H || Расширенное модульное умножение H&lt;br /&gt;
|-&lt;br /&gt;
| 75 FD || POLYH || arg.rh, degree.rw, tbl.ab || Вычисление полинома в H&lt;br /&gt;
|-&lt;br /&gt;
| 76 FD || CVTHF || src.rh, dst.wf || Преобразование H в F&lt;br /&gt;
|-&lt;br /&gt;
| 77 FD || CVTHD || src.rh, dst.wd || Преобразование H в D&lt;br /&gt;
|-&lt;br /&gt;
| 32 FD / 33 FD || CVTFH / CVTFG || src.rf, dst.wh/g || F → H / F → G&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Вспомогательные и прочие операции ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 01 || NOP || — || Пустая операция&lt;br /&gt;
|-&lt;br /&gt;
| 0A || INDEX || subscript.rl, low.rl, high.rl, size.rl, indexin.rl, indexout.wl || Вычисление и проверка индекса массива&lt;br /&gt;
|-&lt;br /&gt;
| FC || XFC || — || Расширенный код (зарезервирован для микрокода)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Системные и привилегированные команды ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Код !! Мнемоника !! Операнды !! Назначение&lt;br /&gt;
|-&lt;br /&gt;
| 00 || HALT || — || Останов процессора (только в режиме ядра)&lt;br /&gt;
|-&lt;br /&gt;
| 02 || REI || — || Возврат из исключения/прерывания&lt;br /&gt;
|-&lt;br /&gt;
| 03 || BPT || — || Точка останова (программная ловушка)&lt;br /&gt;
|-&lt;br /&gt;
| BC || CHMK || code.rw || Смена режима на Kernel (системный вызов)&lt;br /&gt;
|-&lt;br /&gt;
| BD || CHME || code.rw || Смена режима на Executive&lt;br /&gt;
|-&lt;br /&gt;
| BE || CHMS || code.rw || Смена режима на Supervisor&lt;br /&gt;
|-&lt;br /&gt;
| BF || CHMU || code.rw || Смена режима на User&lt;br /&gt;
|-&lt;br /&gt;
| DA || MTPR || src.rl, procreg.rl || Запись в регистр процессора&lt;br /&gt;
|-&lt;br /&gt;
| DB || MFPR || procreg.rl, dst.wl || Чтение регистра процессора&lt;br /&gt;
|-&lt;br /&gt;
| 06 || LDPCTX || — || Загрузка контекста процесса&lt;br /&gt;
|-&lt;br /&gt;
| 07 || SVPCTX || — || Сохранение контекста процесса&lt;br /&gt;
|-&lt;br /&gt;
| 0C || PROBER || mode.rb, len.rw, base.ab || Проверка доступа к памяти для чтения&lt;br /&gt;
|-&lt;br /&gt;
| 0D || PROBEW || mode.rb, len.rw, base.ab || Проверка доступа к памяти для записи&lt;br /&gt;
|-&lt;br /&gt;
| FD FF || BUGL  || msg.rl || Системная ошибка (длинное сообщение)&lt;br /&gt;
|-&lt;br /&gt;
| FE FF || BUGW  || msg.rw || Системная ошибка (короткое сообщение)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&lt;br /&gt;
* VAX-11/750 реализует полный пользовательский набор VAX-11, а микрокод содержит также привилегированные инструкции; часть инструкций формата G/H и десятичные/строковые команды на 750 реализованы через ловушку в эмулятор (RSTRING/RPOLY и др.).&lt;br /&gt;
* Для инструкций, мнемоника которых заканчивается на `x` (например, `ADDx2`), подставляются суффиксы `B` (байт), `W` (слово), `L` (длинное слово) и соответствующий опкод из тройки `80/A0/C0`, `81/A1/C1` и т. д.&lt;br /&gt;
* Операнды указаны в «ассемблерном» порядке DEC (`источник, приёмник`).&lt;br /&gt;
* Двухбайтовые опкоды с префиксом `FD` (расширение G/H_floating) добавлены позднее базовой архитектуры VAX-11/780; VAX-11/750 поддерживает их частично, остальные эмулируются.&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.cs.rit.edu/~icss352/document/vax_pkt.pdf Computer Organization — VAX Architecture &amp;amp; Assembly Reference (RIT, 0603-352)] — основной справочник по опкодам (секции 2.4.1–2.4.4).&lt;br /&gt;
* [https://agimcami.wordpress.com/wp-content/uploads/2012/05/vax-instruction-set-from-cod-apendix.pdf Another Alternative to RISC: The VAX Architecture (Patterson &amp;amp; Hennessy, Appendix E] — обзор классов инструкций и примеры.&lt;br /&gt;
* [https://docs.vmssoftware.com/vsi-openvms-vax-macro-and-instruction-set-reference-manual/ VAX MACRO and Instruction Set Reference Manual (VSI)] — полное официальное описание команд и режимов адресации.&lt;br /&gt;
* [https://www.ece.lsu.edu/ee4720/doc/vax.pdf VAX MACRO and Instruction Set Reference Manual (PDF, LSU)] — альтернативная копия официального руководства DEC.&lt;br /&gt;
* [https://bitsavers.trailing-edge.com/pdf/dec/vax/archSpec/EY-3459E-DP_VAX_Architecture_Reference_Manual_1987.pdf VAX Architecture Reference Manual (Bitsavers)] — подробная спецификация архитектуры VAX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Электроника-32]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
	<entry>
		<id>https://emuverse.ru/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_32</id>
		<title>Электроника 32</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_32"/>
		<updated>2026-04-09T12:37:20Z</updated>

		<summary type="html">&lt;p&gt;Panther: /* Документация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Emuverse}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;«Электроника 32»&amp;#039;&amp;#039;&amp;#039; — VAX11-совместимая инженерная рабочая станция на основе БИС МПК КЛ1839.&lt;br /&gt;
&lt;br /&gt;
== Документация ==&lt;br /&gt;
* [[Микросхемы интегральные Л1839ВМ1. Техническое описание]]&lt;br /&gt;
* [[Л1839ВМ1/Справочник]]&lt;br /&gt;
* [[VAX-11/Система команд]]&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* {{www}} [https://ru.wikipedia.org/wiki/%D0%9A1839 К1839 в Википедии]&lt;br /&gt;
* {{www}} [http://155la3.ru/k1839.htm К1839 на сайте Музея электронных раритетов]&lt;br /&gt;
* {{www}} [http://www.155la3.ru/datafiles/1839series_ep.pdf Статья из журнала &amp;quot;Электронная промышленность&amp;quot; за 1990 год]&lt;br /&gt;
* {{www}} [https://gid.pdp-11.ru/books/vax/00.index.htm VAX: Программирование на языке ассемблера и архитектура. Перевод с английского, 1991]&lt;br /&gt;
* {{www}} [https://documentation.help/VAX11/ VAX11 Assembly Reference]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Электроника-32]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
	<entry>
		<id>https://emuverse.ru/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D1%85%D0%B5%D0%BC%D1%8B_%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%9B1839%D0%92%D0%9C1._%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5</id>
		<title>Микросхемы интегральные Л1839ВМ1. Техническое описание</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D1%85%D0%B5%D0%BC%D1%8B_%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%9B1839%D0%92%D0%9C1._%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5_%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5"/>
		<updated>2026-04-09T08:53:54Z</updated>

		<summary type="html">&lt;p&gt;Panther: /* 1. Команды для работы с целыми числами и логические команды */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ДИ}}&lt;br /&gt;
== 1.1. Общие характеристики ==&lt;br /&gt;
&lt;br /&gt;
1.1.1. ЦПР предназначен для выполнения в составе ЭВМ операций по чтению и обработке команд, вычислению и преобразованию адреса операндов, чтению из памяти, временному хранению на внутренних регистрах и записи операндов, а также для выполнения ариôметических и логических операций над этими операндами.&lt;br /&gt;
&lt;br /&gt;
ЦПР изготавливается по КМОП технологии с двойной металлизацией. Размер кристалла – 9,5x9,95 мм. Напряжение питания микросхем +5В. Частота тактового сигнала синхронизации до 10 МГц.&lt;br /&gt;
&lt;br /&gt;
В качестве накопителя микрокоманд используется внешнее ПЗУ. Для обеспечения максимального быстродействия это ПЗУ должно иметь время чтения не более 60 нс при цикле обращения 200 нс.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     Основные характеристики ЦПР следующие:&lt;br /&gt;
&lt;br /&gt;
Разрядность операнда, бит                         – 8,16,32,64;&lt;br /&gt;
Разрядность виртуального адреса, бит              – 32;&lt;br /&gt;
Разрядность физического адреса, бит               – 24;&lt;br /&gt;
Разрядность адреса микрокоманды, бит              – 14;&lt;br /&gt;
Разрядность слова микрокоманды, бит               – 32;&lt;br /&gt;
Объем накопителя микрокоманд, К двойных слов      – 16;&lt;br /&gt;
Количество регистров общего назначения            – 16;&lt;br /&gt;
Время цикла выполнения микрокоманды&lt;br /&gt;
(микроцикла), нс                                  – 200;&lt;br /&gt;
Минимальное количество микроциклов, необходимое&lt;br /&gt;
для выполнения команды                            – 1;&lt;br /&gt;
Быстродействие (операции типа &amp;quot;сложение&amp;quot; в&lt;br /&gt;
формате &amp;quot;регистр-регистр&amp;quot;), млн. оп/с             – до 5.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Условное графическое обозначение ЦПР представлено на рис.1. Назначение выводов представлено в табл.1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic1.png|300px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Таблица 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| Номер         | Обозна-   | Тип вывода | Наименование                                                |&lt;br /&gt;
| вывода        | чение     |            |                                                             |&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| H3            | OV        |            | Общий вывод                                                 |&lt;br /&gt;
| J2            | OV        |            | Общий вывод                                                 |&lt;br /&gt;
| M7            | OV        |            | Общий вывод                                                 |&lt;br /&gt;
| H12           | OV        |            | Общий вывод                                                 |&lt;br /&gt;
| G12           | OV        |            | Общий вывод                                                 |&lt;br /&gt;
| B8            | OV        |            | Общий вывод                                                 |&lt;br /&gt;
| H2            | U         |            | Вывод питания от источника напряжения                       |&lt;br /&gt;
| G13           | U         |            | Вывод питания от источника напряжения                       |&lt;br /&gt;
| C8            | U         |            | Вывод питания от источника напряжения                       |&lt;br /&gt;
| C7            | U         |            | Вывод питания от источника напряжения                       |&lt;br /&gt;
| G3            | U         |            | Вывод питания от исто иника напряжения                      |&lt;br /&gt;
| P7            | MC0       | Вход       | Нулевой разряд микрокоманды                                 |&lt;br /&gt;
| N7            | MC1       | Вход       | Первый разряд микрокоманды                                  |&lt;br /&gt;
| P8            | MC2       | Вход       | Второй разряд микрокоманды                                  |&lt;br /&gt;
| N8            | MC3       | Вход       | Третий разряд микрокоманды                                  |&lt;br /&gt;
| P9            | MC4       | Вход       | Четвертый разряд микрокоманды                               |&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| N9            | MC5       | Вход       | Пятый разряд микрокоманды                                   |&lt;br /&gt;
| P10           | MC6       | Вход       | Шестой разряд микрокоманды                                  |&lt;br /&gt;
| M9            | MC7       | Вход       | Седьмой разряд микрокоманды                                 |&lt;br /&gt;
| P11           | MC8       | Вход       | Восьмой разряд микрокоманды                                 |&lt;br /&gt;
| P12           | MC9       | Вход       | Девятый разряд микрокоманды                                 |&lt;br /&gt;
| P13           | MC10      | Вход       | Десятый разряд микрокоманды                                 |&lt;br /&gt;
| N10           | MC11      | Вход       | Одиннадцатый разряд микрокоманды                            |&lt;br /&gt;
| M11           | MC12      | Вход       | Двенадцатый разряд микрокоманды                             |&lt;br /&gt;
| M10           | MC13      | Вход       | Тринадцатый разряд микрокоманды                             |&lt;br /&gt;
| P14           | MC14      | Вход       | Четырнадцатый разряд микрокоманды                           |&lt;br /&gt;
| N11           | MC15      | Вход       | Пятнадцатый разряд микрокоманды                             |&lt;br /&gt;
| M12           | MC16      | Вход       | Шестнадцатый разряд микрокоманды                            |&lt;br /&gt;
| N12           | MC17      | Вход       | Семнадцатый разряд микрокоманды                             |&lt;br /&gt;
| N13           | MC18      | Вход       | Вос мнадцатый разряд микрокоманды                           |&lt;br /&gt;
| N14           | MC19      | Вход       | Девятнадцатый разряд микрокоманды                           |&lt;br /&gt;
| L12           | MC20      | Вход       | Двадцатый разряд микрокоманды                               |&lt;br /&gt;
| L14           | MC21      | Вход       | Двадцать первый разряд микрокоманды                         |&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| M13           | MC22      | Вход       | Двадцать второй разряд микрокоманды                         |&lt;br /&gt;
| K14           | MC23      | Вход       | Двадцать третий разряд микрокоманды                         |&lt;br /&gt;
| L13           | MC24      | Вход       | Двадцать четвертый разряд м крокоманды                      |&lt;br /&gt;
| J12           | MC25      | Вход       | Двадцать пятый разряд микрокоманды                          |&lt;br /&gt;
| K13           | MC26      | Вход       | Двадцать шестой разряд микрокоманды                         |&lt;br /&gt;
| J14           | MC27      | Вход       | Двадцать седьмой разряд микрокоманды                        |&lt;br /&gt;
| J13           | MC28      | Вход       | Двадцать восьмой разряд микрокоманды                        |&lt;br /&gt;
| H14           | MC29      | Вход       | Двадцать девятый разряд микрокоманды                        |&lt;br /&gt;
| H13           | MC30      | Вход       | Тридцатый разряд микрокоманды                               |&lt;br /&gt;
| G14           | MC31      | Вход       | Тридцать первый разряд микрокоманды                         |&lt;br /&gt;
| A10           | SAS       | Вход       | Сигнал подтверждения приема адреса подчиненным устройством  |&lt;br /&gt;
| B12           | SDS       | Вход       | Сигнал обработки данных подчиненным устройством             |&lt;br /&gt;
| C11           | DMRQ      | Вход       | Сигнал запроса на прямой доступ к памяти                    |&lt;br /&gt;
| B{0|9}        | ACTR      | Вход       | Сигнал захвата магистрали акселератором                     |&lt;br /&gt;
| P3            | INRA      | Вход       | Сигнал &amp;quot;Прерывание от адаптера магистрали&amp;quot;                  |&lt;br /&gt;
| P5            | INRC      | Вход       | Сигнал &amp;quot;Прерывание от контроллера памяти&amp;quot;                   |&lt;br /&gt;
| M6            | MCH       | Вход       | Сигнал &amp;quot;Машинный сбой&amp;quot;                                      |&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| P6            | HALT      | Вход       | Сигнал &amp;quot;Переход в пультовый режим&amp;quot;                          |&lt;br /&gt;
| M5            | MSDS      | Вход       | Сигнал сопровождения микрокоманды                           |&lt;br /&gt;
| P4            | ACRA      | Вход       | Сигнал готовности акселератора                              |&lt;br /&gt;
| F13           | ACN       | Вход       | Признак &amp;quot;Результат отрицателен&amp;quot; от акселератора             |&lt;br /&gt;
| E14           | ACZ       | Вход       | Признак &amp;quot;Результат равен нулю&amp;quot; от акселератора              |&lt;br /&gt;
| E13           | ACV       | Вход       | Признак &amp;quot;Переполнение&amp;quot; от акселератора                      |&lt;br /&gt;
| F12           | ACC       | Вход-выход | Признак &amp;quot;Расширение&amp;quot; от акселератора                        |&lt;br /&gt;
| C12           | TEST      | Вход       | Признак тестирования                                        |&lt;br /&gt;
| H1            | SR        | Вход       | Сигнал установки в исходное состояние                       |&lt;br /&gt;
| N6            | CLC1      | Вход       | Сигнал тактовой частоты                                     |&lt;br /&gt;
| G2            | AD0       | Вход-выход | Нулевой разряд адреса-данных 32-разрядной шины              |&lt;br /&gt;
| G1            | AD1       | Вход-выход | Первый разряд адреса-данных 32-разрядной шины               |&lt;br /&gt;
| F2            | AD2       | Вход-выход | Второй разряд адреса-данных 32-разрядной шины               |&lt;br /&gt;
| F1            | AD3       | Вход-выход | Третий разряд адреса-данных 32-разрядной шины               |&lt;br /&gt;
| E2            | AD4       | Вход-выход | Четвертый разряд адреса-данных 32-разрядной шины            |&lt;br /&gt;
| F3            | AD5       | Вход-выход | Пятый разряд адреса-данных 32-разрядной шины                |&lt;br /&gt;
| D2            | AD6       | Вход-выход | Шестой разряд адреса-данных 32-разрядной шины               |&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| E1            | AD7       | Вход-выход | Седьмой разряд адреса-данных 32-разрядной шины              |&lt;br /&gt;
| C2            | AD8       | Вход-выход | Восьмой разряд адреса-данных 32-разрядной шины              |&lt;br /&gt;
| D3            | AD9       | Вход-выход | Девятый разряд адреса-данных 32-разрядной шины              |&lt;br /&gt;
| A1            | AD10      | Вход-выход | Десятый разряд адреса-данных 32-разрядной шины              |&lt;br /&gt;
| B2            | AD11      | Вход-выход | Одиннадцатый разряд адреса-данных 32-разрядной шины         |&lt;br /&gt;
| B3            | AD12      | Вход-выход | Двенадцатый разряд адреса-данных 32-разрядной шины          |&lt;br /&gt;
| B4            | AD13      | Вход-выход | Тринадцатый разряд адреса-данных 32-разрядной шины          |&lt;br /&gt;
| C5            | AD14      | Вход-выход | Четырнадцатый разряд адреса-данных 32-разрядной шины        |&lt;br /&gt;
| C4            | AD15      | Вход-выход | Пятнадцатый разряд адреса-данных 32-разрядной шины          |&lt;br /&gt;
| B5            | AD16      | Вход-выход | Шестнадцатый разряд адреса-данных 32-разрядной шины         |&lt;br /&gt;
| A2            | AD17      | Вход-выход | Семнадцатый разряд адреса-данных 32-разрядной шины          |&lt;br /&gt;
| A3            | AD18      | Вход-выход | Восемнадцатый разряд адреса-данных 32-разрядной шины        |&lt;br /&gt;
| C6            | AD19      | Вход-выход | Девятнадцатый разряд адреса-данных 32-разрядной шины        |&lt;br /&gt;
| A5            | AD20      | Вход-выход | Двадцатый разряд адреса-данных 32-разрядной шины            |&lt;br /&gt;
| B6            | AD21      | Вход-выход | Двадцать первый разряд адреса-данных 32-разрядной шины      |&lt;br /&gt;
| A6            | AD22      | Вход-выход | Двадцать второй разряд адреса-данных 32-разрядной шины      |&lt;br /&gt;
| B7            | AD23      | Вход-выход | Двадцать третий разряд адреса-данных 32-разрядной шин[обрыв]|&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| B13           | AD24      | Вход-выход | Двадцать четвертый разряд адреса-данных 32-разрядной шины   |&lt;br /&gt;
| D12           | AD25      | Вход-выход | Двадцать пятый разряд адреса-данных 32-разрядной шины       |&lt;br /&gt;
| D13           | AD26      | Вход-выход | Двадцать шестой разряд адреса-данных 32-разрядной шины      |&lt;br /&gt;
| C13           | AD27      | Вход-выход | Двадцать седьмой разряд адреса-данных 32-разрядной шины     |&lt;br /&gt;
| C14           | AD28      | Вход-выход | Двадцать восьмой разряд адреса-данных 32-разрядной шины     |&lt;br /&gt;
| E12           | AD29      | Вход-выход | Двадцать девятый разряд адреса-данных 32-разрядной шины     |&lt;br /&gt;
| D14           | AD30      | Вход-в ход | Тридцатый разряд адреса-данных 32-разрядной шины            |&lt;br /&gt;
| B14           | AD31      | Вход-выход | Тридцать первый разряд адреса-данных 32-разрядной шины      |&lt;br /&gt;
| J1            | AM0       | Выход      | Нулевой разряд адреса микрокоманды                          |&lt;br /&gt;
| K2            | AM1       | Выход      | Первый разряд адреса микрокоманды                           |&lt;br /&gt;
| J3            | AM2       | Выход      | Второй разряд адреса микрокоманды                           |&lt;br /&gt;
| L2            | AM3       | Выход      | Третий разряд адреса микрокоманды                           |&lt;br /&gt;
| K1            | AM4       | Выход      | Четвертый разряд адреса микрокоманды                        |&lt;br /&gt;
| M2            | AM5       | Выход      | Пятый разряд адреса микрокоманды                            |&lt;br /&gt;
| M1            | AM6       | Выход      | Шестой разряд адреса микрокоманды                           |&lt;br /&gt;
| L3            | AM7       | Выход      | Седьмой разряд адреса микрокоманды                          |&lt;br /&gt;
| K3            | AM8       | Выход      | Восьмой разряд адреса микрокоманды                          |&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| P1            | AM9       | Выход      | Девятый разряд адреса микрокоманды                          |&lt;br /&gt;
| N2            | AM10      | Выход      | Десятый разряд адреса микрокоманды                          |&lt;br /&gt;
| N3            | AM11      | Выход      | Одиннадцатый разряд адреса микрокоманды                     |&lt;br /&gt;
| M3            | AM12      | Выход      | Двенадцатый разряд адреса микрокоманды                      |&lt;br /&gt;
| N4            | AM13      | Выход      | Тринадцатый разряд адреса микрокоманды                      |&lt;br /&gt;
| A8            | MAS       | Выход      | Сигнал сопровождения адреса от главного устройства          |&lt;br /&gt;
| A9            | MDS       | Выход      | Сигнал сопровождения данных от главного устройства          |&lt;br /&gt;
| B10           | PCRQ      | Выход      | Сигнал запроса команды по счетчику команд                   |&lt;br /&gt;
| C9            | PGB       | Выход      | Сигнал &amp;quot;Граница страницы памяти&amp;quot;                            |&lt;br /&gt;
| A11           | DMAK      | Выход      | Сигнал предоставления прямого доступа к памяти              |&lt;br /&gt;
| A13           | SEL       | Выход      | Сигнал чтения регистра внешних условий                      |&lt;br /&gt;
| P2            | MMAS      | Выход      | Сигнал сопровождения адреса для накопителя микрокоманд      |&lt;br /&gt;
| M4            | ACR       | Выход      | Сигнал сброса акселератора                                  |&lt;br /&gt;
| B11           | SP        | Выход      | Резервный                                                   |&lt;br /&gt;
| L1            | -         |            | Не используется                                             |&lt;br /&gt;
| N5            | U         |            | Вывод питания от источника напряжения                       |&lt;br /&gt;
| N1            | OV        |            | Общий вывод                                                 |&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
| M8            | -         |            | Не используется                                             |&lt;br /&gt;
| M14           | -         |            | Не используется                                             |&lt;br /&gt;
| K12           | -         |            | Не используется                                             |&lt;br /&gt;
| F14           | -         |            | Не используется                                             |&lt;br /&gt;
| A14           | -         |            | Не используется                                             |&lt;br /&gt;
| A12           | -         |            | Не используется                                             |&lt;br /&gt;
| C10           | U         |            | Вывод питания от источника напряжения                       |&lt;br /&gt;
| A4            | -         |            | Не используется                                             |&lt;br /&gt;
| A7            | U         |            | Вывод питания от источника напряжения                       |&lt;br /&gt;
| B1            | -         |            | Не используется                                             |&lt;br /&gt;
| C3            | OV        |            | Общий вывод                                                 |&lt;br /&gt;
| C1            | -         |            | Не используется                                             |&lt;br /&gt;
| E3            | -         |            | Не используется                                             |&lt;br /&gt;
| D1            | -         |            | Не используется                                             |&lt;br /&gt;
+---------------+-----------+------------+-------------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таблица 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Наименование параметра,       | Буквенное |   Норма         | Темпера-  |&lt;br /&gt;
| единица измерения,            | обозначе- +--------+--------+ тура,     |&lt;br /&gt;
| режим измерения               | ние       | не     | не     | °C        |&lt;br /&gt;
|                               |           | менее  | более  |           |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Выходное напряжение низкого   |           |        | 0,45   | 25+10     |&lt;br /&gt;
| уровня, В                     | U_OL      | -      +--------+-----------+&lt;br /&gt;
| при I_OL = 2,5 мА             |           |        | 0,5    | -60       |&lt;br /&gt;
|                               |           |        |        | 85        |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Выходное напряжение высокого  |           | 4,05   |        | 25+10     |&lt;br /&gt;
| уровня, В                     | U_OH      +--------+ -      +-----------+&lt;br /&gt;
| при IоН = - 0,2 мА            |           | 4,0    |        | -60       |&lt;br /&gt;
|                               |           |        |        | 85        |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Ток потребления, мА           |           |        | 8,0    | 25+10     |&lt;br /&gt;
|                               | I_CC      | -      +--------+-----------+&lt;br /&gt;
|                               |           |        | 10,0   | -60       |&lt;br /&gt;
|                               |           |        |        | 85        |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Ток потребления динамический, |           |        | 170    | 25+10     |&lt;br /&gt;
| мА                            | I_CCO     | -      +--------+-----------+&lt;br /&gt;
|                               |           |        | 200    | -60       |&lt;br /&gt;
|                               |           |        |        | 85        |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Ток утечки на входе, мкА      |           |        | 3,0    | 25+10     |&lt;br /&gt;
|                               | I_LI      |        +--------+-----------+&lt;br /&gt;
|                               |           |        | 10,0   | -60       |&lt;br /&gt;
|                               |           |        |        | 85        |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Ток утечки на выходе, мкА     |           |        | 10,0   | 25+10     |&lt;br /&gt;
|                               | I_LO      |        +--------+-----------+&lt;br /&gt;
|                               |           |        | 50,0   | -60       |&lt;br /&gt;
|                               |           |        |        | 85        |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Частота следования импульсов  |           |        |        | 25+10     |&lt;br /&gt;
| тактовых сигналов, МГц        | f_C       |        | 10,0   | -60       |&lt;br /&gt;
|                               |           |        |        | 85        |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Входная емкость, пФ           | C_I       | -      | 12,0   | 25+10     |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Выходная емкость, пФ          | C_O       | -      | 12,0   | 25+10     |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Емкость входа/выхода, пФ      | C_I/O     | -      | 14,0   | 25+10     |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
| Время выполнения операции     |           |        |        | 25+10     |&lt;br /&gt;
| &amp;quot;сложение&amp;quot; при регистровом    | t_ADD     | -      | 200    | -60       |&lt;br /&gt;
| методе адресации, нс          |           |        |        | 85        |&lt;br /&gt;
+-------------------------------+-----------+--------+--------+-----------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Таблица 3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Наименование параметра,       | Буквенное   |           Норма            |&lt;br /&gt;
| единица измерения             | обозначение +-------------+--------------+&lt;br /&gt;
|                               |             | не менее    | не более     |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Напряжение питания, В         | U_CC        | 4,5         | 5,5          |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Входное напряжение высокого   |             |             |              |&lt;br /&gt;
| уровня, В                     | U_IH        | (0,85·U_CC)*| U_CC**       |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Входное напряжение низкого    |             |             |              |&lt;br /&gt;
| уровня, В                     | U_IL        | 0           | 0,8*         |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Напряжение на любом входе , В | U_I         | 0           | Ucc**        |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Выходной ток низкого уровня,  |             |             |              |&lt;br /&gt;
| мА                            | I_OL        | -           | 2,5          |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Выходной ток высокого уровня, |             |             |              |&lt;br /&gt;
| мА                            | I_OH        | -           | 0,2          |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Емкость нагрузки, пФ          | C_L         | -           | 100          |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
| Время фронта нарастания и     |             |             |              |&lt;br /&gt;
| спада входных сигналов, нс    | t_LH, t_HL  | -           | 0,1·T_CLCI   |&lt;br /&gt;
+-------------------------------+-------------+-------------+--------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;*&amp;#039;&amp;#039;&amp;#039; - с учетом всех видов помех&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;**&amp;#039;&amp;#039;&amp;#039; - но не более конкретного значения напряжения питания, приложенного к микросхеме&lt;br /&gt;
&lt;br /&gt;
1.1.2. Электрические параметры, условия эксплуатации&lt;br /&gt;
&lt;br /&gt;
1.1.2.1. Напряжение питания микросхем Л1839ВМ1  +5В±10%.&lt;br /&gt;
&lt;br /&gt;
1.1.2.2. Электрические параметры приведены в табл.2.&lt;br /&gt;
&lt;br /&gt;
1.1.2.3. Предельно допустимые режимы эксплуатации приведены в табл.3.&lt;br /&gt;
&lt;br /&gt;
1.1.2.4. Внешние воздействующие факторы:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Синусоидальная вибрация:&lt;br /&gt;
     диапазон частот, Гц ......................... от 1 до 5000&lt;br /&gt;
     амплитуда ускорения, м.с⁻² ( g ) ........... 400(40)&lt;br /&gt;
Механический удар:&lt;br /&gt;
     одиночного действия:&lt;br /&gt;
          пиковое ударное ускорение, м.с⁻² ( g ) .... 15000(1500)&lt;br /&gt;
          длительность действия ударного ускорения,мс от 0,1 до 2,0&lt;br /&gt;
     многократного действия:&lt;br /&gt;
          пиковое ударное ускорение, м.с⁻² ( g ) .... 1500(150)&lt;br /&gt;
          длительность действия ударного ускорения,мс от 1 до 5&lt;br /&gt;
Линейное ускорение, м.с⁻² ( g ) .................. 5000(500)&lt;br /&gt;
Акустический шум:&lt;br /&gt;
     диапазон частот, Гц ......................... 50-10000&lt;br /&gt;
     уровень звукового давления (относительно&lt;br /&gt;
2·10⁻⁵ Па), дБ ................................... 170&lt;br /&gt;
Атмосферное пониженное давление:&lt;br /&gt;
     рабочее, Па (мм рт.ст.) ..................... 1,3·10⁻⁴(10⁻⁶)&lt;br /&gt;
     предельное, Па (мм рт.ст.) .................. 1,3·10⁻⁴(10⁻⁶)&lt;br /&gt;
Атмосферное повышенное рабочее давление, ата ...... 3&lt;br /&gt;
Повышенная температура среды:&lt;br /&gt;
     рабочая, °С .................................. 85&lt;br /&gt;
     предельная, °С ............................... 125&lt;br /&gt;
Пониженная температура среды:&lt;br /&gt;
     рабочая, °С .................................. минус 60&lt;br /&gt;
     предельная, °С ............................... минус 60&lt;br /&gt;
Смена температур:&lt;br /&gt;
     от пониженной предельной температуры среды, °С   минус 60&lt;br /&gt;
     до повышенной предельной температуры среды, °С   125&lt;br /&gt;
Повышенная относительная влажность при 35°С, % ..... 98&lt;br /&gt;
Атмосферные конденсированные осадки (роса, иней)&lt;br /&gt;
Соляной (м{о|о}рской) туман&lt;br /&gt;
Плесневые грибы&lt;br /&gt;
Контрольные среды (среды заполнения):&lt;br /&gt;
     объемная доля компонентов контрольной среды, %:&lt;br /&gt;
          гелиево-воздушная ........................ 90&lt;br /&gt;
          аргоно-воздушная ......................... 90&lt;br /&gt;
          аргоно-азотная ........................... 90&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1.1.2.5. Минимальная наработка микросхем 100000 часов, а в облегченном режиме при  Ucc = 5В ± 3% – 120000 часов.&lt;br /&gt;
&lt;br /&gt;
1.1.2.6. Интенсивность отказов в течение наработки не более 1.10⁻⁶ 1/ч.&lt;br /&gt;
&lt;br /&gt;
1.1.2.7. Гамма-процентный срок сохраняемости – 25 лет.&lt;br /&gt;
&lt;br /&gt;
1.1.3. Архитектура ЦПР позволяет работать с широким диапазоном типов данных, с эффективным набором способов адресации и с большим пространством виртуальных адресов (4 Гбайт).&lt;br /&gt;
&lt;br /&gt;
Система команд микропроцессора совместима с системой команд ЭВМ семейства  VAX-11.&lt;br /&gt;
&lt;br /&gt;
Инструкции, обрабатываемые ЦПР, могут быть сгруппированы на основании их функций по следующим классам:&lt;br /&gt;
&lt;br /&gt;
1) арифметические и логические, для обработки целых чисел, чисел с плавающей запятой, упакованных десятичных строк символов и инструкций для работы с переменными битовыми полями;&lt;br /&gt;
&lt;br /&gt;
2) управление путями выполнения программы;&lt;br /&gt;
&lt;br /&gt;
3) обработка данных специального вида:&lt;br /&gt;
* инструкции манипуляции очередью;&lt;br /&gt;
* инструкции обработки адресов;&lt;br /&gt;
* программируемые пользователем инструкции загрузки и сохранения универсальных регистров;&lt;br /&gt;
&lt;br /&gt;
4) для быстрого выполнения особых функций операционной системы, позволяющие: загружать и сохранять переменные контексты, найти операционной системе выполняемый процесс с наивысшим приоритетом;&lt;br /&gt;
&lt;br /&gt;
5) предназначенные специально для языка высокого уровня.&lt;br /&gt;
&lt;br /&gt;
ЦПР оперирует со следующими типами данных:&lt;br /&gt;
* Целое: байт (8 бит), слово (16 бит), длинное слово (32 бита), четверное слово (64 бита).&lt;br /&gt;
* Плавающая запятая: 4 байта (F-формат), 8 байтов (D-формат), 8 байтов (G-формат).&lt;br /&gt;
* Упакованное десятичное: строка байтов (до 31 десятичной цифры, по две цифры в байте).&lt;br /&gt;
* Строка символов: строка байтов, интерпретируемая как коды символов (до 64 Кбайт). Числовая строка является строкой символьных кодов для десятичных чисел (до 31 цифры).&lt;br /&gt;
* Биты и поля битов: длина поля переменна от 0 до 32 бит (определяется пользователем).&lt;br /&gt;
&lt;br /&gt;
Так как ЦПР полностью реализует архитектуру центральной части ЭВМ VAX-II/750, включая эмуляцию системы команд, то на его основе могут создаваться вычислительные средства, совместимые по математическому обеспечению на уровне операционных систем с ЭВМ ряда  VAX.&lt;br /&gt;
&lt;br /&gt;
1.1.4. Микросхемы ЦПР ЛП839ВМ1 соответствуют техническим условиям АЕЯР.431200.005-01 ТУ.&lt;br /&gt;
&lt;br /&gt;
1.1.5. В микропроцессоре реализован конвейерный метод обработки команд на макро- и микро-программном уровнях. Осуществляется опережающий прием команд в количестве трех 32-разрядных слов команды. В пределах страницы (512 байт) прием команд безадресной с циклом 200 нс. Совмещение операций при выполнении команд регистр-регистр показано на рис.2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic2.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь цифрами (1-4) обозначены номера последовательно выполняемых команд, а буквами - операции:&lt;br /&gt;
&lt;br /&gt;
* А - прием команды;&lt;br /&gt;
* Б - дешифрация команды;&lt;br /&gt;
* В - выборка микрокоманды;&lt;br /&gt;
* Г - исполнение операции.&lt;br /&gt;
&lt;br /&gt;
Данные принимаются в процессор на буфер, который организован в виде стека &amp;quot;первый вошел - первый вышел&amp;quot;. Этот стек состоит из четырех 32-разрядных ячеек и его применение позволяет производить накопление данных при выполнении операции с памятью. Если в команде много операндов, это позволяет сократить время выполнения команды.&lt;br /&gt;
&lt;br /&gt;
Преобразование виртуального адреса в физический в блоке диспетчера памяти выполняется полностью аппаратно, параллельно с другими операциями процессора. Прием и модификация описателей страниц (PTE) автоматически вставляется в общий поток обменов по внешней магистрали. В ДП имеется ассоциативный буфер PTE на 16 ячеек. Как показали исследования фирмы  DEC, такого объема буфера достаточно для эффективного выполнения типовых программ.&lt;br /&gt;
&lt;br /&gt;
В микропроцессоре имеются аппаратные и микропрограммные средства для организации эффективной связи с дополнительной микросхемой, на которой аппаратно выполняются операции умножения и деления целых чисел и операции над числами в формате с плавающей запятой.&lt;br /&gt;
&lt;br /&gt;
== 1.2. Структурная схема и общие принципы функционирования ==&lt;br /&gt;
&lt;br /&gt;
ЦПР состоит из следующих функциональных блоков (рис.3):&lt;br /&gt;
* дешифратор команд (ДШК);&lt;br /&gt;
* блок приема и формирования микрокоманд (БПМК);&lt;br /&gt;
* операционный блок (ОБ);&lt;br /&gt;
* интерфейсный блок (ИБ);&lt;br /&gt;
* диспетчер памяти (ДП);&lt;br /&gt;
* блок анализа приоритетов прерываний (БПР).&lt;br /&gt;
&lt;br /&gt;
Блоки ДШК, ОБ и ДП связаны с внутренней 32-разрядной магистралью процессора, по которой они могут обмениваться ин - формацией как между собой, так и с внешней магистралью. Внутренняя магистраль связана с внешней элементами входа-выхода, которые управляются интерфейсным блоком (ИБ). По этой магистрали передаются адреса, данные и команды.&lt;br /&gt;
&lt;br /&gt;
Передача различного типа информации мультиплексирована по времени. Для приема микрокоманд в микропроцессоре имеются раздельные каналы выдачи адреса микрокоманды (14 разрядов) и приема микрокоманды (32 разряда). Этими каналами управляет БПМК.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic3.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Начальный пуск микропроцессора выполняется микропрограммно. По переходу сигнала на выводе SR из низкого в высокий уровень в ДШК вырабатывается первый адрес микропрограммы начального пуска и процессор переходит к выполнению этой микропрограммы.&lt;br /&gt;
&lt;br /&gt;
Прием первой команды выполняется всегда в процедуре &amp;quot;адресное чтение&amp;quot;. Физический адрес этой команды запоминается контроллером памяти в счетчике физического адреса команды. Дальнейший прием команд идет по этому счетчику, который автоматически инкрементируется на четыре после чтения каждой команды. Переход адреса команды на новую страницу отслеживается в процессоре и при каждом таком переходе прием команды выполняется в процедуре адресного чтения с проверкой доступности страницы в диспетчере памяти.&lt;br /&gt;
&lt;br /&gt;
При выполнении команд, если количество операндов не больше четырех, сначала выполняется адресация всех операндов и прием их на буфер данных. Операнды могут находиться в памяти по адресам данных, в регистрах общего назначения (РОН) процессора или в теле команды. Данные из памяти всегда принимаются в буферный регистр данных (БРД). В формате &amp;quot;регистр-регистр&amp;quot; и &amp;quot;регистр-память&amp;quot; данные из РОН  не пересылаются в БРД, действия над ними выполняются непосредственно в РОН. Во всех остальных случаях данные пересылаются в БРД. Если операнд находится в теле команды, то при дешифрации он выделяется из команды на специальный регистр и затем пересылается в БРД. Если количество операндов больше четырех, то выполняется прием четырех операндов, затем процесс адресации прерывается для освобождения БРД, после чего прием продолжается. Максимальное количество операндов - 6.&lt;br /&gt;
&lt;br /&gt;
При выполнении косвенной адресации адрес из памяти принимается не в БРД, а в специальный регистр косвенной адресации (РКА), из которого он затем пересылается в регистр виртуального адреса (РВА). Это сделано потому, что принятый адрес нужно сразу же после приема использовать для продолжения адресации, а из БРД данные доступны по чтению только последовательно в порядке их приема, поскольку БРД организован по принципу стека.&lt;br /&gt;
&lt;br /&gt;
Команды принимаются на буфер команд, который также организован как стек из трех 32-разрядных ячеек. Команды принимаются в буфер без выравнивания по началу слова, т.е. команда может начинаться с любого из четырех байт принимаемого 32-разрядного слова. За один цикл ДШК анализирует от 1 до 4 байт слова команды. Для начала обработки команды в буфере должны быть загружены две ячейки, поскольку анализируемые байты могут находиться в первой и второй ячейках, третья нужна для опережающего приема команды.&lt;br /&gt;
&lt;br /&gt;
Счетчик команд (СК) в процессоре состоит из трех регистров. В первом регистре хранится виртуальный адрес начала команды, во втором - адрес анализируемого кода операции или моды адресации, и в третьем - адрес анализируемой в текущем цикле ДШК группы байтов команды. При завершении обработки кода операции или моды адресации содержимое третьего регистра переписывается во второй, а при завершении обработки всей команды содержимое второго регистра переписывается в первый. При начальном приеме команды все три регистра загружаются одним и тем же значением адреса команды. Для адресации команд СК используется только в командах ветвления. Для адресации переходов в командах ветвления и для адресации операндов в соответствующих модах адресации используется второй регистр СК. Для отслеживания границы страницы и адресации команды на этой границе используется специальный регистр-счетчик виртуального адреса команды (РВАК). Этот регистр загружается одновременно с загрузкой СК и инкрементируется на четыре после каждого цикла приема команды. Если адрес команды находится внутри страницы, прием команд выполняется в безадресном цикле обмена. Когда адрес команды совпадает с адресом последнего слова в странице, в РВАК вырабатывается специальный сигнал, по которому адрес, соответствующий адресу первого слова в следующей странице, переписывается из РВАК в РВА и инициируется адресный обмен с преобразованием адреса в ДП.&lt;br /&gt;
&lt;br /&gt;
Все блоки процессора синхронизируются единым сигналом тактовой частоты и связаны между собой сигналами управления, обеспечивающими конвейерную микропрограммно-аппаратную обработку команд.&lt;br /&gt;
&lt;br /&gt;
== 1.3. Дешифрация команд ==&lt;br /&gt;
&lt;br /&gt;
1.3.1. Функции дешифратора команд&lt;br /&gt;
&lt;br /&gt;
1) формирование начального адреса микропрограммы содержательной обработки команды;&lt;br /&gt;
&lt;br /&gt;
2) формирование начального адреса микропрограммы адресации очередного операнда команды;&lt;br /&gt;
&lt;br /&gt;
3) управление по выделению из области программы смещений адресации и констант;&lt;br /&gt;
&lt;br /&gt;
4) управление мультиплексором буфера команд для загрузки полей кода операции и кода моды адресации очередного операнда.&lt;br /&gt;
&lt;br /&gt;
1.3.2. Типы команд по дешифрации&lt;br /&gt;
&lt;br /&gt;
1) команды &amp;quot;без операндов&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*(HALT;NOP;REI;BPT;RET;LDPCTX;SVPCTX;XFC;RSB);&lt;br /&gt;
&lt;br /&gt;
2) простые команды - команды с количеством операндов от 1 до 3;&lt;br /&gt;
&lt;br /&gt;
3) длинные команды - команды с количеством операндов больше трех;&lt;br /&gt;
&lt;br /&gt;
4) команды перехода по смещению и без операндов&lt;br /&gt;
&lt;br /&gt;
* (BRB;BRW;BEQL...);&lt;br /&gt;
&lt;br /&gt;
5) команды перехода по смещению и с операндами&lt;br /&gt;
&lt;br /&gt;
* (ACBB,SOBGEQ...).&lt;br /&gt;
&lt;br /&gt;
На рис. 4  показан общий алгоритм дешифрации команд.&lt;br /&gt;
&lt;br /&gt;
На рис. 4  приняты следующие обозначения:&lt;br /&gt;
&lt;br /&gt;
* ПУ    - передача управления;&lt;br /&gt;
* ЗпКОП - загрузить регистр - &amp;quot;поле КОП&amp;quot; на входе ПЛМ-ДШК;&lt;br /&gt;
* RUN   - поле кода режима на входе ПЛМ;&lt;br /&gt;
* ПР    - прерывание;&lt;br /&gt;
* НПР   - нет прерываний;&lt;br /&gt;
* F2    - признак кода команды из пространства расширения;&lt;br /&gt;
* БО    - команды без операндов;&lt;br /&gt;
* ПК    - простые команды;&lt;br /&gt;
* ДК    - длинные команды;&lt;br /&gt;
* КПО   - команды перехода с операндами;&lt;br /&gt;
* КПС   - команды перехода по смещению (байт или слово);&lt;br /&gt;
* РР    - расположение операндов - все на регистрах;&lt;br /&gt;
* П     - расположение операндов - хотя бы один в памяти;&lt;br /&gt;
* СО    - счетчик операндов;&lt;br /&gt;
* КО    - количество операндов;&lt;br /&gt;
* STA   - старт адресации.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic4.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1.4. Операционный блок ==&lt;br /&gt;
&lt;br /&gt;
Операционный блок (ОБ) предназначен для формирования адресов команд и операндов, для выполнения арифметических и логических операций над операндами, а также для хранения адресов, операндов и результатов выполнения операций на регистрах. Операционный блок состоит из операционной части, регистровой части и схем управления.&lt;br /&gt;
&lt;br /&gt;
=== Операционная часть операционного блока ===&lt;br /&gt;
&lt;br /&gt;
Операционная часть операционного блока выполняет арифметические и логические операции над операндами, осуществляет временное хранение результатов операций, формирует состояния N , Z , V , С по результатам операций. Операционная часть ОБ состоит:&lt;br /&gt;
&lt;br /&gt;
# Буферные регистры;&lt;br /&gt;
# Арифметико-логическое устройство (АЛУ);&lt;br /&gt;
# Регистр результата операции (РРОП);&lt;br /&gt;
# Схема формирования состояний (СФС);&lt;br /&gt;
# Дешифраторы.&lt;br /&gt;
&lt;br /&gt;
Работой ОБ управляет блок синхронизации ОБ (БСОБ). Временная диаграмма работы операционной части ОБ представлена на рис. 5.&lt;br /&gt;
&lt;br /&gt;
Структурная схема операционной части ОБ представлена на рис. 6.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic5.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic6.png|700px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По сигналу *SRD1&amp;amp;φ* (чтение 1) на шину X и Y̅ в соответствии с адресами, указанными в поле чтения ( *RFX0* - *RFX4* , *RFY0* - *RFY4* ) тела микрокоманды, читаются регистры (в одноадресной микрокоманде на шину Y̅ читается ячейка блока констант). Информация на шинах X и Y̅ защелкивается квазистатическими триггерами, стоящими на входе буферных регистров, после чего чтение регистров (блока констант) прекращается. Подброс шин X и Y̅, а следовательно и сброс защелки осуществляется сигналом *SETXY* . Одновременно с сигналами чтения регистров вырабатываются сигналы записи, по которым операнды с шин X и Y̅ записываются в буферные регистры. В соответствии с кодом операции (OCIR-OC3R) в буферные регистры записываются прямые или инверсные значения операндов. По сигналу *SALU&amp;amp;φ̅* (разрешение запуска АЛУ) запускается арифметико-логическое устройство, которое в зависимости от кода операции ( *RFY4* , *OC1R* - *OC3R* , *AROPWC* ) и формата микрокоманды ( *MFCOR,MFC1R* ) выполняет над операндами ту или иную операцию. Результат выполнения операции сигналом *SWTOPR&amp;amp;φ* записывается в регистр результата операции. РРОП кроме функции временного хранения результата выполняет функцию сдвигателя в микрокомандах сдвига. На основе полученного результата СФС формирует признаки N̄*, Z̄*, V̄*, C̄* , которые подаются на регистр состояний (РСП) и на схему образования условий ветвления.&lt;br /&gt;
&lt;br /&gt;
Результат выполнения операции с РРОП через усилители подается на парафазную шину X* , Y̅* , откуда по сигналу *SWT2&amp;amp;φ̅* (запись 2) , в соответствии с адресом, указанным в поле записи ( *WF0* - *WF4* ) тела микрокоманды, записывается в регистр.&lt;br /&gt;
&lt;br /&gt;
== 1.5. Прерывания и исключительные состояния ==&lt;br /&gt;
&lt;br /&gt;
1.5.1. При работе системы в ней могут возникать особые ситуации, которые приводят к изменениям в текущем выполняемом процессе. При этом процессор выполняет два основных действия:&lt;br /&gt;
&lt;br /&gt;
# сохраняет информацию о текущем процессе (в основном, это делается путем занесения в стек счетчика команд ( *program counter* - PC) и длинного слова состояния процессора (*processor status longword* - PSL ) с целью последующего возобновления данного процесса);&lt;br /&gt;
# передает управление от потока команд текущего процесса к определенным участкам программного обеспечения для обслуживания возникших событий.&lt;br /&gt;
&lt;br /&gt;
Эти действия выполняются микропрограммно. Существует два основных типа подобных событий: прерывания ( *interrupt* ) и исключительные состояния ( *exceptions* ).&lt;br /&gt;
&lt;br /&gt;
Прерывания - это асинхронные события, которые являются главными по отношению к другим (не текущим процессам) или даже по отношению к целой системе и они, соответственно, обслуживаются в контексте всей системы.&lt;br /&gt;
&lt;br /&gt;
Исключительные состояния - это синхронные события, которые являются главными по отношению к текущему процессу и обычно обслуживаются в контексте текущего процесса.&lt;br /&gt;
&lt;br /&gt;
Прерывания являются асинхронными событиями, поэтому для возможности обработки одновременно возникших запросов прерываний, в процессоре существует логика приоритетов. Приоритет, связанный с прерыванием, называется &amp;quot;уровнем приоритета прерывания&amp;quot; (IPL - *interrupt priority level* ). В любой момент времени будет обслуживаться прерывание с наивысшим приоритетом. IPL изменяется от 0 до 1F, то есть существует 32 уровня приоритета прерывания.&lt;br /&gt;
&lt;br /&gt;
1.5.2. Для исключительных состояний (кроме особых фатальных ситуаций, влияющих на работу всей системы - им сопоставляется наивысший IPL , равный 1F) логика приоритетов не нужна, так как эти события синхронны по своей природе, и поэтому, возникают только в определенных, обусловленных набором выполняющихся команд, точках.&lt;br /&gt;
&lt;br /&gt;
Существует три типа исключительных состояний:&lt;br /&gt;
&lt;br /&gt;
# &amp;quot;ловушка&amp;quot; ( *trap* ) - это исключительное состояние, которое возникает в конце команды, которая ее вызвала. Поэтому PC, сохраняемый в стеке, указывает на следующую команду, которая должна была бы нормально выполняться. Любая программа может разрешить или запретить некоторые из ловушек для какой-то конкретной команды;&lt;br /&gt;
# &amp;quot;нарушение&amp;quot; ( *fault* ) - это исключительное состояние, которое возникает во время выполнения команды и оставляет регистры и память в таком состоянии, что при устранении условий для возникновения этой ситуации и рестарте, эта команда будет давать правильные результаты;&lt;br /&gt;
# &amp;quot;прекращение&amp;quot; ( *abort* ) - это исключительное состояние, также возникающее во время выполнения команды, но, в отличие от нарушений, оставляющее регистры и память в неопределенном состоянии. Поэтому команда не может быть правильно завершена (даже при условии ее рестарта).&lt;br /&gt;
&lt;br /&gt;
В табл. 4 приведены возможные уровни приоритета прерываний процессора и соответствующие им аппаратные события.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Таблица 4.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Уровни приоритета прерываний&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
|           П р е р ы в а н и я         | Уровень приоритета |&lt;br /&gt;
|                                       | прерывания IPL_16  |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Контроль аппаратных средств           |                    |&lt;br /&gt;
| Недействительность стека ядра         |        1F          |&lt;br /&gt;
| Недействительность стека прерываний   |                    |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Сбой питания                          |        1E          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
|                                       |        1D          |&lt;br /&gt;
| Ошибки процессора, памяти             |        1C          |&lt;br /&gt;
| или шины                          }   |        1B          |&lt;br /&gt;
|                                       |        1A          |&lt;br /&gt;
|                                       |        19          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Таймер                                |        18          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
|                                       |        17          |&lt;br /&gt;
|                                       |        16          |&lt;br /&gt;
|                                       |        15          |&lt;br /&gt;
| Прерывания устройств              }   |        14          |&lt;br /&gt;
|                                       |        13          |&lt;br /&gt;
|                                       |        12          |&lt;br /&gt;
|                                       |        11          |&lt;br /&gt;
|                                       |        10          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| События математического обеспечения   |                    |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
|                                       |        0F          |&lt;br /&gt;
|                                       |        0E          |&lt;br /&gt;
| Р е з е р в                           |        0D          |&lt;br /&gt;
|                                       |        0C          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
|                                       |        0B          |&lt;br /&gt;
|                                   }   |        0A          |&lt;br /&gt;
| Драйверы устройств                    |        09          |&lt;br /&gt;
|                                       |        08          |&lt;br /&gt;
|                                       |                    |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Таймер процесса                       |        07          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Очередь AST                           |        06          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Резерв                                |        05          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Почта ввода/вывода                    |        04          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Планировщик процесса                  |        03          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Передача AST                          |        02          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Резерв                                |        01          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
| Уровень пользовательского процесса    |        00          |&lt;br /&gt;
+---------------------------------------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1.6. Состояние процессора ==&lt;br /&gt;
&lt;br /&gt;
При обслуживании особых ситуаций состояние процессора должно быть сохранено для того, чтобы прерванный процесс мог нормально продолжиться. В основном это делается путем сохранения в стеке PC (который указывает либо на команду, которая выполнялась, либо на следующую) и *PSL* . PC и *PSL* в дальнейшем восстанавливаются по команде возврата из прерывания или исключительной ситуации ( *REI* ).&lt;br /&gt;
&lt;br /&gt;
Одной из главных характеристик текущего процесса или текущего состояния процессора является длинное слово состояния процессора. Это слово состоит из *processor status word* (PSW) - слова состояния процессора (разряды &amp;lt;0-15&amp;gt; PSL ), которое доступно пользователю и слово привилегированного состояния (разряды &amp;lt;16-31&amp;gt; PSL ), которое доступно привилегированному программному обеспечению. PSL приводится на рис. 7.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic7.png|600px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Значения полей PSL следующие:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Разряды        Поле         Значение&lt;br /&gt;
&lt;br /&gt;
&amp;lt;3-0&amp;gt;          N,Z,V,C      Коды условий&lt;br /&gt;
&amp;lt;4&amp;gt;            T            Бит разрешения трассы&lt;br /&gt;
&amp;lt;5&amp;gt;            IV           Бит разрешения ловушки целочисленного переполнения&lt;br /&gt;
&amp;lt;6&amp;gt;            FU           Бит разрешения ловушки плавающего недополнения&lt;br /&gt;
&amp;lt;7&amp;gt;            DV           Бит разрешения ловушки десятичного переполнения&lt;br /&gt;
&amp;lt;15-8&amp;gt;         0            Резерв, должны быть нулями&lt;br /&gt;
&amp;lt;20-16&amp;gt;        IPL          Уровень приоритета прерывания&lt;br /&gt;
&amp;lt;21&amp;gt;           0            Резерв, должен быть нуль&lt;br /&gt;
&amp;lt;23-22&amp;gt;        PRM          Режим предыдущего доступа (Previous access mode )&lt;br /&gt;
&amp;lt;25-24&amp;gt;        CRM          Режим текущего доступа (Current access mode )&lt;br /&gt;
&amp;lt;26&amp;gt;           IS           Бит использования стека прерываний (Interrupt stack )&lt;br /&gt;
&amp;lt;27&amp;gt;           FPD          Первая часть выполнена (First part done )&lt;br /&gt;
&amp;lt;29-28&amp;gt;        0            Резерв, должны быть нулями&lt;br /&gt;
&amp;lt;30&amp;gt;           TP           Запрос трассы&lt;br /&gt;
&amp;lt;31&amp;gt;           CM           Признак режима совместимости&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Микропрограммная процедура обработки прерываний и исключительных состояний использует в основном поля *IS* , CRM и IPL, поэтому рассмотрим их подробнее:&lt;br /&gt;
&lt;br /&gt;
1) IS . Если IS = 1, то процессор работает со стеком прерываний. При этом необходимо, чтобы CRM = 0 и IPL &amp;gt; 0. Если IS = 0, то процессор работает со стеком, который определен полем CRM в PSL .&lt;br /&gt;
&lt;br /&gt;
2) CRM. Возможны следующие режимы доступа из текущего выполняемого процесса:&lt;br /&gt;
&lt;br /&gt;
* 0 - ядро ( *kernel* )&lt;br /&gt;
* 1 - исполнитель ( *executive* )&lt;br /&gt;
* 2 - супервизор ( *supervisor* )&lt;br /&gt;
* 3 - пользователь ( *user* )&lt;br /&gt;
&lt;br /&gt;
3) PRM. Это поле загружается из поля текущего режима при исключительных состояниях и командами СНМХ, сбрасывается прерываниями и восстанавливается командой REI.&lt;br /&gt;
&lt;br /&gt;
4) IPL . Текущий приоритет процессора меняется в пределах от 0 до 1F. Процессор будет разрешать прерывания только на уровнях больших, чем текущий уровень процессора.&lt;br /&gt;
&lt;br /&gt;
== 1.7. Различия между прерываниями и исключительными состояниями ==&lt;br /&gt;
&lt;br /&gt;
В целом, по-своему влиянию на работу всей системы, прерывания и исключительные состояния очень похожи. Но существует ряд отличий между ними, которые можно свести к следующим:&lt;br /&gt;
&lt;br /&gt;
1) Исключительное состояние (синхронное событие) возникает при выполнении текущей команды, в то время как прерывание (асинхронное событие) возникает из-за чьей-либо активности в вычислительной системе и это действие может быть независимо от текущей команды.&lt;br /&gt;
&lt;br /&gt;
2) Исключительное состояние, как правило, обрабатывается в контексте процесса, в котором она возникла, в то время как прерывание обслуживается независимо от текущего выполняющегося процесса.&lt;br /&gt;
&lt;br /&gt;
3) IPL процессора обычно не изменяется, когда возникает исключительное состояние. При прерывании IPL всегда повышается.&lt;br /&gt;
&lt;br /&gt;
4) Подпрограммы, обслуживающие исключительные состояния, обычно работают со стеком процесса (стеком режима ядра - KSP), а подпрограммы, обслуживающие прерывания, со стеком процессора (стеком прерываний - ISP ).&lt;br /&gt;
&lt;br /&gt;
5) Разрешенные исключительные состояния всегда инициируются немедленно, независимо от IPL процессора, а прерывания откладываются до тех пор, пока IPL процессора не станет ниже IPL запрашивающего прерывания.&lt;br /&gt;
&lt;br /&gt;
6) Большинство исключительных состояний не может быть запрещено. Однако, если причина этого состояния возникает, когда эта ситуация запрещена, то инициация данного исключительного состояния не происходит даже после того, когда запрет отменяется. Если же возникает условие прерывания в тот момент, когда оно запрещено или IPL запроса меньше или равно IPL процессора, то данное прерывание в конечном итоге будет удовлетворено, как только возникнет подходящая ситуация, если условие прерывания еще существует.&lt;br /&gt;
&lt;br /&gt;
7) При прерывании поле PRM в PSL всегда устанавливается в режим ядра, а при исключительном состоянии в него переписывается поле CRM .&lt;br /&gt;
&lt;br /&gt;
8) Вследствие асинхронного характера условие прерывания всегда фиксируется аппаратно и переход на соответствующую микропрограмму обработки осуществляется с помощью аппаратных средств. Для исключительного состояния, наряду с таким способом перехода на микропрограмму обработки, возможен и чисто микропрограммный переход. Это связано с синхронностью исключительных состояний - можно заранее определить точки в микропрограммах, из которых возможен переход на микропрограмму обработки соответствующего исключительного состояния.&lt;br /&gt;
&lt;br /&gt;
== 1.8. Основные параметры прерываний и исключительных состояний ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Векторы&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Переход на подпрограммы обслуживания особых ситуаций осуществляется с помощью специальных векторов, которые представляют собой длинные слова, интерпретируемые следующим образом:&lt;br /&gt;
&lt;br /&gt;
1) Биты &amp;lt;1:0&amp;gt; содержат интерпретируемый код:&lt;br /&gt;
&lt;br /&gt;
* 0 - обслужить событие через стек ядра. Если работа уже выполняется через стек прерываний, то обслужить событие через стек прерываний.&lt;br /&gt;
* 1 - обслужить событие через стек прерываний. Если это событие является исключительным состоянием, то IPL повышается до 1F;&lt;br /&gt;
* 2 - обслужить событие в перезаписываемой управляющей памяти. Если эта память не используется, то процессор переходит на команду останова HALT;&lt;br /&gt;
* 3 - процессор переходит на HALT.&lt;br /&gt;
&lt;br /&gt;
2) Биты &amp;lt;31:2&amp;gt; содержат виртуальный адрес подпрограммы обслуживания - для кодов 0 и 1.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Системный управляющий блок (SCB).&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Все векторы обслуживания прерываний и исключительных состояний находятся в системном управляющем блоке ( SCB - *System Control Block* ), который представляет собой две смежных страницы памяти. Физический адрес первой страницы содержится в привилегированном регистре - базе системного управляющего блока SCBB ( *SCB base* ).&lt;br /&gt;
&lt;br /&gt;
Векторы устройств на *UNIBUS* находятся во второй странице, адрес которой получается добавлением к адресу, содержащемуся в SCBB, константы (200)₁₆. Разрешенными для этих устройств считаются только векторы (200-3FC)₁₆.&lt;br /&gt;
&lt;br /&gt;
Основные параметры прерываний и исключительных состояний приведены в табл.5.&lt;br /&gt;
&lt;br /&gt;
Таблица 5&lt;br /&gt;
&lt;br /&gt;
Таблица основных параметров особых ситуаций&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| Наименование особых  | Тип        | Уровень приори-  | Вектор | Источник  | Код  | Параметры, загру-  |&lt;br /&gt;
| ситуаций             | ситуации   | тета прерывания  | 16     | (а/МП)*   | 16   | жаемые в стек      |&lt;br /&gt;
|                      |            | IPL_16           |        |           |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 1. Машинный сбой     | Прекращение| 1F**             | 04     | Контроллер|  6?  | См.Примечание 1    | &amp;lt;Неразборчиво, 4 зачеркнуто, исправлено на 6 или 8&amp;gt;&lt;br /&gt;
|                      | / ловушка  |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 2. Недостоверный стек| Прекращение| 1F**             | 08     | Процессор |  2   | РНК***, PSL        | &amp;lt;D зачеркнуто, исправлено на 2&amp;gt;&lt;br /&gt;
| ядра                 |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 3. Недостоверный стек| Прекращение| 1F**             | -      | Процессор |  2   | РНК, PSL и причи-  | &amp;lt;1 зачеркнуто, исправлено на 2&amp;gt;&lt;br /&gt;
| прерываний           |            |                  |        | (а)       |      | на останова оста-  |&lt;br /&gt;
|                      |            |                  |        |           |      | ются на регистрах  |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 4. Сбой питания      | Прерывание | 1E               | 0C     | Адаптер   |  D   | PC,PSL             | &amp;lt;5 зачеркнуто, исправлено на D&amp;gt;&lt;br /&gt;
|                      |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 5. Резервная/привиле-| Нарушение  | -                | 10     | Процессор | -    | РНК, PSL           |&lt;br /&gt;
| гированная команда   |            |                  |        | (МП)      |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 6. Резервная команда | Нарушение  | -                | 14     | Процессор | -    | РНК, PSL           |&lt;br /&gt;
| пользователя         |            |                  |        | (МП)      |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 7. Резервный операнд | Нарушение/ | -                | 18     | Процессор | 7    | РНК, PSL           | &amp;lt;E зачеркнуто, исправлено на 7&amp;gt;&lt;br /&gt;
|                      | прекращение|                  |        | (а/МП)    |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 8. Резервный метод   | Нарушение  | -                | 10C    | Процессор | -    | РНК, PSL           |&lt;br /&gt;
| адресации            |            |                  |        | (МП)      |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 9. Нарушение управле-| Нарушение  | -                | 20     | Процессор |  4   | См.Примечание 2    | &amp;lt;2 зачеркнуто, исправлено на 4&amp;gt;&lt;br /&gt;
| ния доступом         |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 10. Запрет трансляции| Нарушение  | -                | 24     | Процессор |  5   | См.Примечание 2    | &amp;lt;3 зачеркнуто, исправлено на 5&amp;gt;&lt;br /&gt;
|                      |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 11. Трассировка      | Нарушение  | -                | 28     | Процессор |  E   | РНК, PSL           | &amp;lt;7 зачеркнуто, исправлено на E&amp;gt;&lt;br /&gt;
|                      |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 12. Команда ВРТ      | Нарушение  | -                | 2C     | Процессор | -    | РНК, PSL           |&lt;br /&gt;
|                      |            |                  |        | (МП)      |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 13. Арифметические   | Ловушка    | -                | 34     | Процессор |8-A   | См.Примечание 3    | &amp;lt;B зачеркнуто, исправлено на A&amp;gt;&lt;br /&gt;
| ловушки              |            |                  |        | (а/МП)    |нрзб,A|                    | &amp;lt;неразборчиво&amp;gt;&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 14. Команды:  СНМК   | Ловушка    | -                | 40     | Процессор.| -    | См.Примечание 4    |&lt;br /&gt;
|               СНМЕ   |            |                  | 44     | (МП)      |      |                    |&lt;br /&gt;
|               СНМS   |            |                  | 48     |           |      |                    |&lt;br /&gt;
|               СНМИ   |            |                  | 4C     |           |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 15. Зависание по     | Прерывание | 1D               | 60     | Контроллер| C    | PC, PSL            |&lt;br /&gt;
| записи в память      |            |                  |        |           |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 16. Исправимые ошибки| Прерывание | 1A               | 54     | Контроллер| C    | PC,PSL             |&lt;br /&gt;
| памяти               |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 17. Таймер           | Прерывание | 18               | C0     | Адаптер   |  D   | PC, PSL            | &amp;lt;5 зачеркнуто, исправлено на D&amp;gt;&lt;br /&gt;
|                      |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 18. Консольный       | Прерывание | 14               | F8     | Адаптер   |  D   | PC,PSL             | &amp;lt;5 зачеркнуто, исправлено на D&amp;gt;&lt;br /&gt;
| терминал (приемник)  |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 19. Консольный       | Прерывание | 14               | FC     | Адаптер   |  D   | PC, PSL            | &amp;lt;5 зачеркнуто, исправлено на D&amp;gt;&lt;br /&gt;
| терминал (передатчик)|            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 20. Программные      | Прерывание | 1...F            | 84...BC| Адаптер   | D?   | PC, PSL            |  &amp;lt;&amp;quot;-&amp;quot; исправлено на D?&amp;gt;&lt;br /&gt;
| прерывания           |            |                  |        | (а)       |      |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
| 21. Прерывания       | Прерывание | 14-17            |200-3FC | Адаптер   |      | PC, PSL            |  &amp;lt;5-6 зачеркнуто, исправлено на D&amp;gt;&lt;br /&gt;
| устройств            |            |                  |        | (а)       | D    |                    |&lt;br /&gt;
+----------------------+------------+------------------+--------+-----------+------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;*&amp;#039;&amp;#039;&amp;#039; - аппаратный/микропрограммный характер соответствующего события;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;**&amp;#039;&amp;#039;&amp;#039; - для этих событий IPL = 1F, если 1:0 разряды вектора равны 1;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;***&amp;#039;&amp;#039;&amp;#039; - РНК - регистр начала команды. Он указывает на код операции команды, при выполнении которой произошло нарушение или прекращение.&lt;br /&gt;
&lt;br /&gt;
П р и м е ч а н и я  к табл.5:&lt;br /&gt;
&lt;br /&gt;
1. При машинном сбое в стеке сохраняются следующие параметры:&lt;br /&gt;
&lt;br /&gt;
* (SP)     Параметр длины (равен 28₁₆).&lt;br /&gt;
* (SP)+4   Код ошибки (для ошибок памяти, например, равен 2).&lt;br /&gt;
* (SP)+8   Регистр виртуального адреса (РКВА).&lt;br /&gt;
* (SP)+C   PC во время сбоя.&lt;br /&gt;
* (SP)+10  Регистр данных памяти (MDR).&lt;br /&gt;
* (SP)+14  Сохраненный регистр режима ( SMR).&lt;br /&gt;
* (SP)+18  Регистр зависания по чтению-модификации-записи (RLTO).&lt;br /&gt;
* (SP)+1C  Регистр групповой четности буфера трансляции (TBGPR).&lt;br /&gt;
* (SP)+20  Регистр ошибок КЭШ-памяти (CAER).&lt;br /&gt;
* (SP)+24  Регистр ошибок шины (BER).&lt;br /&gt;
* (SP)+28  Регистр суммарных ошибок при машинном сбое (MCESR).&lt;br /&gt;
* (SP)+2C  PC, указывающий на код операции.&lt;br /&gt;
* (SP)+30  PSL.&lt;br /&gt;
&lt;br /&gt;
2. При исключительных состояниях от диспетчера памяти в стеке сохраняются:&lt;br /&gt;
&lt;br /&gt;
* (SP)     Регистр суммарных ошибок диспетчера памяти.&lt;br /&gt;
* (SP)+4   Виртуальный адрес в странице нарушения (РКВА).&lt;br /&gt;
* (ST)+8   РНК.&lt;br /&gt;
* (SP)+C   PSL.&lt;br /&gt;
&lt;br /&gt;
3. При арифметических ловушках в стеке, кроме PC, также сохраняется код арифметической ловушки, который имеет следующие значения:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     Код     Тип арифметической ловушки&lt;br /&gt;
&lt;br /&gt;
      1       Целочисленное переполнение&lt;br /&gt;
      2       Целочисленное деление на 0&lt;br /&gt;
      3       Плавающее  переполнение&lt;br /&gt;
      4       Плавающее/десятичное деление на 0&lt;br /&gt;
      5       Плавающее обнуление&lt;br /&gt;
      6       Десятичное переполнение&lt;br /&gt;
      7       Диапазон приписки&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. При выполнении команд смены режима в стек, кроме PC, PSL загружается операнд команды ( *code* ) с расширенным знаком.&lt;br /&gt;
&lt;br /&gt;
Вся аппаратура, связанная с обработкой прерываний и исключительных состояний, располагается в контроллере памяти, адаптере магистрали и в процессоре.&lt;br /&gt;
&lt;br /&gt;
Контроллер фиксирует аппаратные ошибки, связанные с работой памяти и сообщает об этом процессору с помощью сигналов *INRC* (прерывание контроллера) и MCH (машинный сбой). Адаптер фиксирует все остальные прерывания, проводит разбор приоритетов между ними и сообщает процессору о наличии запроса прерывания сигналом *INRA* (прерывание адаптера). Кроме этого в адаптере находится часть внутренних регистров системы, которые связаны с обработкой прерываний.&lt;br /&gt;
&lt;br /&gt;
В процессоре находится, собственно блок прерываний (БПР), который наряду с прерываниями контроллера и адаптера, обрабатывает все аппаратные исключительные состояния, проводит окончательный разбор приоритетов и формирует код особой ситуации, с помощью которого осуществляется формирование начального адреса соответствующей микропрограммы обработки.&lt;br /&gt;
&lt;br /&gt;
== 1.9. Блок прерываний БПР ==&lt;br /&gt;
&lt;br /&gt;
1.9.1. На рис.8 приведена структурная схема БПР процессора. Ниже перечислены основные блоки, входы и выходы БПР.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic8.png|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1) БСБПР - блок синхронизации БПР.&lt;br /&gt;
&lt;br /&gt;
2) БРП   - блок разбора приоритетов.&lt;br /&gt;
&lt;br /&gt;
3) ДШРИП - дешифратор сброса источника прерываний и исключительных состояний.&lt;br /&gt;
&lt;br /&gt;
4) РИП   - регистр источников прерываний и исключительных состояний.&lt;br /&gt;
&lt;br /&gt;
5) Входы:&lt;br /&gt;
&lt;br /&gt;
* КК    - признак конца команды;&lt;br /&gt;
* PA    - выход элемента ИЛИ, на входах которого собраны все нарушения и прекращения;&lt;br /&gt;
* 1T    - выход элемента ИЛИ, на входах которого собраны все прерывания и ловушки;&lt;br /&gt;
* 5CN   - запрос недостоверного стека ядра;&lt;br /&gt;
* SINN - запрос недостоверного стека прерываний;&lt;br /&gt;
* НУД   - запрос нарушения управления доступом;&lt;br /&gt;
* ЗТ    - запрос запрета трансляции;&lt;br /&gt;
* MCH   - запрос машинного сбоя;&lt;br /&gt;
* REZ   - запрос резервного операнда;&lt;br /&gt;
* INRA  - запрос адаптера;&lt;br /&gt;
* HALT  - запрос останова;&lt;br /&gt;
* T     - запрос трассировки;&lt;br /&gt;
* FUZ   - запрос ловушки плавающего недополнения;&lt;br /&gt;
* DVV   - запрос ловушки десятичного переполнения;&lt;br /&gt;
* IVV   - запрос ловушки целочисленного переполнения;&lt;br /&gt;
* FVV   - запрос ловушки плавающего переполнения;&lt;br /&gt;
* INRC  - запрос прерывания контроллера;&lt;br /&gt;
* РИП   - сигнал сброса источника прерывания.&lt;br /&gt;
&lt;br /&gt;
6) Выходы:&lt;br /&gt;
&lt;br /&gt;
* RA        - сигнал запроса сбоя;&lt;br /&gt;
* IRQ       - сигнал запроса прерывания;&lt;br /&gt;
* ЗРПП      - сигнал записи регистра признака прерывания и исключительного состояния (РПП);&lt;br /&gt;
* ЗРИП      - сигнал записи РИП;&lt;br /&gt;
* РПП(0-3)  - код прерываний и исключительных состояний;&lt;br /&gt;
* 5РИП      - сигнал сброса конкретного источника (в соответствии с кодом).&lt;br /&gt;
&lt;br /&gt;
1.9.2. Алгоритм работы БПР&lt;br /&gt;
&lt;br /&gt;
При поступлении в БПР сигналов прерываний - ловушек или сигналов нарушений-прекращений запускается БСБПР - по сигналу IT или PA соответственно. PA может возникать в любой момент выполнения команды, IT возникает лишь после окончания команды, перед выполнением следующей команды. БСБПР вырабатывает сигналы RA или IRQ , которые поступают на ПЛМ ДШК, ЗРИП, по которому производится запись в РИП всех имеющихся к этому времени запросов. В БРП, в соответствии с самым высокоприоритетным запросом, формируется код, который поступает на входы РПП (находящегося в блоке управления ПЗУ) и на входы ДШ КИП для последующего сброса источника запроса по сигналу РИП&lt;br /&gt;
&lt;br /&gt;
Запись в РПП производится сигналом ЗРПП, также выработанным БСБПА.&lt;br /&gt;
&lt;br /&gt;
Содержимое РПП затем используется микрокомандой перехода по регистру для выхода на конкретные микропрограммы обработки прерываний и исключительных состояний.&lt;br /&gt;
&lt;br /&gt;
В табл. 5 в графе &amp;quot;Код₁₆&amp;quot; приведены шестнадцатеричные коды аппаратных особых ситуаций.&lt;br /&gt;
&lt;br /&gt;
Приоритетность между прерываниями и ловушками в БПР принята следующая (в порядке убывания приоритетов):&lt;br /&gt;
&lt;br /&gt;
# Арифметические ловушки.&lt;br /&gt;
# Прерывания контроллера.&lt;br /&gt;
# Прерывания адаптера.&lt;br /&gt;
#  Ловушка трассы.&lt;br /&gt;
&lt;br /&gt;
На рис. 9 приведена временная диаграмма работы БПР.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic9.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1.9.3. Алгоритм обработки прерываний и исключительных состояний&lt;br /&gt;
&lt;br /&gt;
Микропрограммная процедура обработки ситуаций сводится, в основном, к двум действиям:&lt;br /&gt;
&lt;br /&gt;
1) сохранению текущего состояния (PC(РНК), *PSL* , параметры (если нужно));&lt;br /&gt;
&lt;br /&gt;
2) формированию нового состояния (загрузка PC начальным адресом программы обработки особой ситуации, формирование нового *PSL* ).&lt;br /&gt;
&lt;br /&gt;
Более подробно эти два действия, и другие описаны в алгоритме обработки прерываний и исключительных состояний на рис.10.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic10.png|600px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 1.10. Временные диаграммы процессора, идентификаторы обменов ==&lt;br /&gt;
&lt;br /&gt;
1.10.1. Ко всем временным диаграммам относится следующее:&lt;br /&gt;
&lt;br /&gt;
1) Если на вход тестирования *TEST* подан низкий уровень, то новый обмен по микрокомандной магистрали не начнется, пока ответный сигнал *MSDS* от накопителя микрокоманд не закончится. По магистрали AD(0-31) не начнется новый обмен, пока не закончатся ответные сигналы *SAS* и *SDS* от предыдущего обмена. Если на входе *TEST* высокий уровень, то новые обмены по магистралям начинаются независимо от окончания ответных сигналов. При этом окончание сигналов *SAS* и *SDS* должно происходить асинхронно с минимальным временем задержки по окончании сигналов *MAS* и *MDS* . Представленные ниже временные диаграммы справедливы для высокого уровня на входе *TEST*.&lt;br /&gt;
&lt;br /&gt;
2) Интерфейсные сигналы при магистрали AD(0-31): *MAS* , *PGB* , *PCRQ* , *MDS* , *SEL* , *DMAK* вырабатываются выходами с тремя состояниями. На эти выходы необходимо ставить резисторы 2,7 кОм к шине источника питания + Ucc. После окончания сигналов в процедурах обменов на этих выходах осуществляется &amp;quot;подброс в &amp;quot;1&amp;quot; на время 0,5 T*CLC* , причем на выходах *MAS*, *PCRQ* , *DMAK* в отрицательной фазе CLC, а на выходах *PGB* , *MDS* и *SEL* - в положительной. Также в состояние активного высокого уровня эти выходы приводятся от низкого уровня на входе *SR* при начальном пуске ЦПР, причем для активного высокого уровня на выходе *MAS* необходимо наличие высокого уровня на входе *ACTR*.&lt;br /&gt;
&lt;br /&gt;
3) Выходы AD(0-31) также имеют три состояния. В третьем состоянии выходы AD(0-31) находятся при приеме команд или данных, от низкого уровня на входе *SR* , в процедуре &amp;quot;Запись с перехватом&amp;quot; и при предоставлении прямого доступа к памяти.&lt;br /&gt;
&lt;br /&gt;
В состояние активного высокого уровня выходы AD(0-31) приводятся между обменами по окончании сигнала *MDS* .&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма процедуры &amp;quot;Чтение микрокоманды&amp;quot; представлена на рис. 11. Минимальный цикл приема микрокоманды составляет 2 T*CLC* . [зачёркнуто: Ответный сигнал *MSDS* от накопителя микрокоманд может быть также статическим низким уровнем - в отличие от представленного на рис. 11.]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic11.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На временной диаграмме представлен дополнительно внутренний сигнал ЦПР *WBMC* - запись в буфер микрокоманд.&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма процедуры &amp;quot;Адресное чтение&amp;quot; представлена на рис. *12*. Минимальный цикл адресного чтения 3T*CLC*. Низкий уровень сигнала *SAS* принимается в отрицательной фазе *CLC* , затем выдается сигнал *MDS* низкого уровня и открывается внутренняя магистраль MD(0-31) для приема данных. В целях обеспечения быстродействия на частоте 10 МГц низкий уровень сигнала *SAS* необходимо подавать в течение первых 25 нс отрицательной фазы *CLC* . Низкий уровень сигнала *SDS* принимается также в отрицательной фазе *CLC* , и в следующей положительной фазе *CLC* заканчивается сигнал *MDS* . Для обеспечения быстродействия необходимо выполнить такие же требования, как и для сигнала *SAS* .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic12.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма &amp;quot;Безадресное чтение команды&amp;quot; представлена на рис. *13* . Минимальный цикл процедуры 2 T*CLC* . Прием сигнала *SDS* происходит также, как и при адресном чтении и требования для обеспечения быстродействия те же.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic13.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма процедуры &amp;quot;Запись&amp;quot; представлена на рис. *14* . Минимальный цикл процедуры - 4T*CLC* . Прием сигналов *SAS* и *SDS* и требования по обеспечению быстродействия как и при адресном чтении.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic14.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма процедуры &amp;quot;Чтение-модификация-запись&amp;quot; представлена на рис. *15* . Минимальный цикл процедуры - 7 T*CLC* . Прием сигналов *SAS* и *SDS* и требования по обеспечению быстродействия такие как и при адресном чтении.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic15.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма процедуры передачи адреса при пересечении данными границы страницы представлена на рис. *16* . Сигнал *PGB* при первом появлении сопровождает адрес перед границей страницы, при втором появлении сопровождает адрес начала новой страницы. Между двумя адресами (рис. *16* ) возможно выполнение обменов, например, &amp;quot;Чтение PTE&amp;quot;, если пуст &amp;quot;Буфер трансляции&amp;quot;, или &amp;quot;Безадресное чтение команды&amp;quot;. Для обеспечения быстродействия на частоте 10 МГц требования к сигналам *SAS* и *SDS* такие же, как и при адресном чтении.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic16.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма отказа от записи в процедуре &amp;quot;Чтение-модификация-запись PTE&amp;quot; представлена на рис. *17*. Отказ от записи *PTE* происходит, когда страница уже модифицировалась (бит модификации М &amp;lt;26&amp;gt; регистра PTE установлен в &amp;quot;1&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic17.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Временные диаграммы процедур чтения и записи внутренних регистров *IPR* , размещенных в процессоре ( *POBR* , *POLR* , *P1BR* , *P1LR* , *SBR*, *SLR*, *MAPEN* , *TBIA* , *TBIS* , *ACCS* ) представлены на рис. *18,19*. Внешние сигналы *SAS* , *SDS* не требуются, вместо них в процессоре вырабатываются внутренние сигналы такого же назначения.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic18.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic19.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма чтения внешнего регистра начальных условий представлена на рис. *20* . Для чтения этого регистра предназначен выход *SEL* . Сигнал *SEL* возникает при чтении системной памяти (A31, A30 = &amp;quot;1&amp;quot;) и при A23 = &amp;quot;1&amp;quot;. На временной диаграмме сигнал *SEL* аналогичен сигналу *MDS* .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic20.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма сигналов сопровождения процедуры захвата магистрали при прямом доступе к памяти представлена на рис. *21*.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic21.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Сигнал *DMR* магистрали *Q-BUS* преобразуется микросхемой адаптера магистрали КЛ839ВВ1 в сигнал *DMRQ* , поступающий на процессор. При отсутствии обменов процессор принимает сигнал *DMRQ* в низкой фазе *CLC* и через период *CLC* выдает сигнал разрешения прямого доступа к памяти *DMAK* , который микросхема АМ преобразует в сигнал *DMGO* магистрали *Q-BUS*. Окончание сигнала *DMAK* происходит в той же фазе низкого уровня CLC в какой принимается окончание сигнала *DMRQ* . На временной диаграмме также представлен перевод выходов магистрали AD(0-31) в третье состояние и выход из третьего состояния. При наличии обмена сигнал *DMAK* появится только по его окончании.&lt;br /&gt;
&lt;br /&gt;
Временные диаграммы адресного чтения и адресной записи с перехватом сопроцессором обменов с памятью представлены на рис. *22, 23* . Обмен с перехватом происходит при A31 = &amp;quot;0&amp;quot;, A30 = &amp;quot;1&amp;quot;. О том, что микросхема сопроцессора начинает обмен с памятью, свидетельствует сигнал *ACTR* . Приняв асинхронно этот сигнал, процессор переводит выход *MAS* в третье состояние, предоставляя возможность сопроцессору выставить активный низкий уровень *MAS*спрц и далее сопроцессор читает данные из памяти или записывает данные в память также, как выполняет эти процедуры процессор. При записи с перехватом выходы AD(0-31) процессора переводятся в третье состояние по окончании адреса в низкой фазе· *CLC* и выходят из третьего состояния (подброс в &amp;quot;1&amp;quot;) по окончании низкого уровня на шине *MDS* .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Рис. 22 отсутствует&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic23.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма процедуры &amp;quot;Чтение-модификация-запись с перехватом&amp;quot; представлена на рис. *24*.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic24.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма процедуры &amp;quot;Двойное адресное чтение&amp;quot; представлено на рис. *25*.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic25.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Временная диаграмма процедуры &amp;quot;Двойная запись&amp;quot; представлена на рис. *26*.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic26.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Двойное чтение и запись выполняются при обменах с четверными словами.&lt;br /&gt;
&lt;br /&gt;
На рис. *27-30* представлены временные диаграммы различных обменов с внешними и внутренними сигналами процессора.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic27.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic28.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic29.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic30.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
К внутренним сигналам процессора относятся:&lt;br /&gt;
&lt;br /&gt;
* WBMC  - запись в буфер микрокоманд;&lt;br /&gt;
* WMCE  - запись в регистр микрокоманд;&lt;br /&gt;
* NRFW  - сигнал записи поля чтения;&lt;br /&gt;
* SRDI  - сигнал чтения источника;&lt;br /&gt;
* SWT2  - сигнал записи в приемник;&lt;br /&gt;
* WTWA  - запись в регистр виртуального адреса;&lt;br /&gt;
* WTPA  - запись в регистр физического адреса;&lt;br /&gt;
* ADRE  - сигнал разрешения выдачи адреса в системную магистраль AD(0-31);&lt;br /&gt;
* DTIE  - сигнал приема команд и данных на внутреннюю магистраль MD(0-31);&lt;br /&gt;
* WCE   - сигнал записи в буферные регистры команд;&lt;br /&gt;
* WTBDR - сигнал записи в буферные регистры данных;&lt;br /&gt;
* DTOE  - сигнал выдачи данных в системную магистраль AD(0-31) при записи;&lt;br /&gt;
* DATL  - сигнал выдачи данных с выходного буферного регистра данных во внутреннюю магистраль MD(0-31).&lt;br /&gt;
&lt;br /&gt;
1.10.2. Идентификаторы обменов&lt;br /&gt;
&lt;br /&gt;
Старший байт физического адреса содержит идентификаторы обменов. В таблицах, приведенных ниже, даны логические значения кодов и электрические уровни на магистрали AD .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+----+----+----+----+----+----+----+----+&lt;br /&gt;
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |&lt;br /&gt;
+----+----+----+----+----+----+----+----+&lt;br /&gt;
|         |         |                   |&lt;br /&gt;
| Направ- | Формат  |    Код обмена     |&lt;br /&gt;
| ление   | данных  |                   |&lt;br /&gt;
| обмена  |         |                   |&lt;br /&gt;
+---------+---------+-------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1.10.2.1. Направление обмена&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------------+---------+------------+---------+-------------------------------+&lt;br /&gt;
| 31 разряд            | 30 разряд            | Направление обмена            |&lt;br /&gt;
+------------+---------+------------+---------+                               |&lt;br /&gt;
| логические | уровень | логические | уровень |                               |&lt;br /&gt;
| значения   |         | значения   |         |                               |&lt;br /&gt;
+------------+---------+------------+---------+-------------------------------+&lt;br /&gt;
| 0          | высокий | 0          | высокий | Основная память, регист-      |&lt;br /&gt;
|            |         |            |         | ры внешних устройств          |&lt;br /&gt;
+------------+---------+------------+---------+-------------------------------+&lt;br /&gt;
| 0          | высокий | 1          | низкий  | Основная память, с            |&lt;br /&gt;
|            |         |            |         | перехватом магистрали         |&lt;br /&gt;
|            |         |            |         | сопроцессором                 |&lt;br /&gt;
+------------+---------+------------+---------+-------------------------------+&lt;br /&gt;
| 1          | низкий  | 0          | высокий | Внутренние регистры           |&lt;br /&gt;
+------------+---------+------------+---------+-------------------------------+&lt;br /&gt;
| 1          | низкий  | 1          | низкий  | Системная память              |&lt;br /&gt;
+------------+---------+------------+---------+-------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1.10.2.2. Формат данных&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------------+---------+------------+---------+------------------+&lt;br /&gt;
| 29 разряд            | 28 разряд            | Формат данных    |&lt;br /&gt;
+------------+---------+------------+---------+                  |&lt;br /&gt;
| логические | уровень | логические | уровень |                  |&lt;br /&gt;
| значения   |         | значения   |         |                  |&lt;br /&gt;
+------------+---------+------------+---------+------------------+&lt;br /&gt;
| 0          | высокий | 0          | высокий | Двойное слово    |&lt;br /&gt;
+------------+---------+------------+---------+------------------+&lt;br /&gt;
| 0          | высокий | 1          | низкий  | Слово            |&lt;br /&gt;
+------------+---------+------------+---------+------------------+&lt;br /&gt;
| 1          | низкий  | 0          | высокий | Четверное слово  |&lt;br /&gt;
+------------+---------+------------+---------+------------------+&lt;br /&gt;
| 1          | низкий  | 1          | низкий  | Байт             |&lt;br /&gt;
+------------+---------+------------+---------+------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1.10.2.3. Код обмена&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+--------+------+--------+------+--------+------+--------+-----------+&lt;br /&gt;
| 27 разряд     | 26 разряд     | 25 разряд     | 24 разряд     | Обмен     |&lt;br /&gt;
+------+--------+------+--------+------+--------+------+--------+           |&lt;br /&gt;
| лог. | уровень| лог. | уровень| лог. | уровень| лог. | уровень|           |&lt;br /&gt;
| знач |        | знач |        | знач |        | знач |        |           |&lt;br /&gt;
+------+--------+------+--------+------+--------+------+--------+-----------+&lt;br /&gt;
| 0    | высокий| X    | X      | 0    | высокий| 1    | низкий | Чтение    |&lt;br /&gt;
|      |        |      |        |      |        |      |        | данных    |&lt;br /&gt;
+------+--------+------+--------+------+--------+------+--------+-----------+&lt;br /&gt;
| 1    | низкий | X    | X      | 0    | высокий| 1    | низкий | Чтение    |&lt;br /&gt;
|      |        |      |        |      |        |      |        | команд    |&lt;br /&gt;
+------+--------+------+--------+------+--------+------+--------+-----------+&lt;br /&gt;
| 0    | высокий| X    | X      | 1    | низкий | 0    | высокий| Запись    |&lt;br /&gt;
+------+--------+------+--------+------+--------+------+--------+-----------+&lt;br /&gt;
| 0    | высокий| X    | X      | 1    | низкий | 1    | низкий | Чтение-   |&lt;br /&gt;
|      |        |      |        |      |        |      |        | модифика- |&lt;br /&gt;
|      |        |      |        |      |        |      |        | ция -     |&lt;br /&gt;
|      |        |      |        |      |        |      |        | запись    |&lt;br /&gt;
+------+--------+------+--------+------+--------+------+--------+-----------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где X - безразличное значение, остальные комбинации 24-27 разрядов - резервные.&lt;br /&gt;
&lt;br /&gt;
== 1.11. Функциональные и электрические схемы входных и выходных каскадов ==&lt;br /&gt;
&lt;br /&gt;
Функциональные схемы входных и выходных каскадов представлены на рис. 31-39.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic31.png|400px]] [[Файл:1839VM1 TO Pic32.png|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic33.png|400px]] [[Файл:1839VM1 TO Pic34.png|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic35.png|400px]] [[Файл:1839VM1 TO Pic36.png|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic37.png|400px]] [[Файл:1839VM1 TO Pic38.png|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic39.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
На всех рисунках численное значение около логических элементов обозначает ширину транзисторов элементов в мкм: сверху р-типа, снизу п-типа.&lt;br /&gt;
&lt;br /&gt;
Внутренние тактовые сигналы синхронизации φ , φ̄ соответствуют следующим фазам входного сигнала CLCI: φ соответствует CLCI; φ̄ - CLCI̅.&lt;br /&gt;
&lt;br /&gt;
Электрические схемы входов и входов/выходов представлены на рис. 40,41.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic40.png|400px]] [[Файл:1839VM1 TO Pic41.png|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1.12. Система микрокоманд ==&lt;br /&gt;
&lt;br /&gt;
В микропроцессорной системе &amp;quot;Электроника 32&amp;quot; имеется несколько форматов микрокоманд.&lt;br /&gt;
&lt;br /&gt;
=== Микрокоманды МА, МВ, МС ===&lt;br /&gt;
&lt;br /&gt;
Форматы МА, МВ, МС это содержательные микрокоманды операционного блока (ОБ), остальные форматы микрокоманд не воспринимаются ОБ и служат для управления выборкой микрокоманд из ПЗУ-микрокода, а также для управления ПЛМ-дешифратора команд (ПЛМ ДШК).&lt;br /&gt;
&lt;br /&gt;
Форматы микрокоманд операционного блока МА, МВ, МС приведены на рис. 42.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic42.png|600px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифруем значение полей содержательных микрокоманд.&lt;br /&gt;
&lt;br /&gt;
==== ФМК ====&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;ФМК&amp;quot; - формат микрокоманды&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------+----+----------------------------------------------+-------------+&lt;br /&gt;
| Разряды МК | Наименование формата микрокоманды            | Обобщенное  |&lt;br /&gt;
+-----+------+                                              | обозначение |&lt;br /&gt;
| 31  |  30  |                                              |             |&lt;br /&gt;
+-----+------+----------------------------------------------+-------------+&lt;br /&gt;
|  0  |  0   | Одноадресная  ОБ                             |     MA      |&lt;br /&gt;
+-----+------+----------------------------------------------+-------------+&lt;br /&gt;
|  0  |  1   | Двухадресная  ОБ                             |     MB      |&lt;br /&gt;
+-----+------+----------------------------------------------+-------------+&lt;br /&gt;
|  I  |  0   | Трехадресная  ОБ                             |     MC      |&lt;br /&gt;
+-----+------+----------------------------------------------+-------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ФД ====&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;ФД&amp;quot; - формат данных&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------+----+-------------------------------------------------------+&lt;br /&gt;
| Разряды МК | Формат данных в ОБ                                    |&lt;br /&gt;
+-----+------+                                                       |&lt;br /&gt;
| 29  |  28  |                                                       |&lt;br /&gt;
+-----+------+-------------------------------------------------------+&lt;br /&gt;
|  0  |  0   | Двойное слово (ДС) - 32 разряда                       |&lt;br /&gt;
+-----+------+-------------------------------------------------------+&lt;br /&gt;
|  0  |  1   | Слово (СЛ) - 16 разрядов (возможно изменение          |&lt;br /&gt;
|     |      | только мл.части РСП)                                  |&lt;br /&gt;
+-----+------+-------------------------------------------------------+&lt;br /&gt;
|  1  |  1   | Байт  (БТ) - 8 разрядов                               |&lt;br /&gt;
+-----+------+-------------------------------------------------------+&lt;br /&gt;
|  1  |  0   | Резервный код &amp;quot;ФД&amp;quot; , признак подсветки приема         |&lt;br /&gt;
|     |      | в регистр косвенной адресации (РКА)                   |&lt;br /&gt;
+-----+------+-------------------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== КОП2 ====&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;КОП2&amp;quot; - коды операций двухадресных и трехадресных микрокоманд&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|   КОП2       |                  |                  |                      |&lt;br /&gt;
+ Разряды  МК  +  Обозначение     |  Обозначение     |  Операция            |&lt;br /&gt;
| 27 | 26 | 25 |                  |                  |                      |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|  0 |  0 |  0 |   Y → X          |   X → Z          | Пересылка            |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|  0 |  0 |  1 |   X+Y → X        |   X+Y → Z        | Сложение             |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|  0 |  1 |  0 |   X-Y → X        |   X-Y → Z        | Вычитание            |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|  0 |  1 |  1 |   Y-X → X        |   Y-X → Z        | Обр.вычитание        |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|  1 |  0 |  0 |   X⊕Y → X       |   X⊕Y → Z        | MOD2                 |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|  1 |  0 |  I |   X ∨ Y → X      |   X ∨ Y → Z      | Дизъюнкция           |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|  1 |  1 |  0 |   X &amp;amp; Ȳ → X      |   X &amp;amp; Ȳ → Z      | Конъюнкция с         |&lt;br /&gt;
|    |    |    |                  |                  | отрицанием           |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
|  1 |  1 |  1 |   X &amp;amp; Y → X      |   X &amp;amp; Y → Z      | Конъюнкция           |&lt;br /&gt;
+----+----+----+------------------+------------------+----------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь: Для двухадресных микрокоманд:&lt;br /&gt;
       Х - операнд в поле Х (МК 19-15),&lt;br /&gt;
       Y - операнд в поле У (МК 24-20),&lt;br /&gt;
&lt;br /&gt;
Для трехадресных микрокоманд:&lt;br /&gt;
   Х - операнд в поле Х (МК 19-15),&lt;br /&gt;
   Y - операнд в поле У (МК 24-20),&lt;br /&gt;
   Z - операнд в поле Z (МК 11-7 ).&lt;br /&gt;
&lt;br /&gt;
==== КОП1 ====&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;КОП1&amp;quot; - коды операций одноадресных микрокоманд&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|      КОП1         |                  |                                    |&lt;br /&gt;
+    Разряды МК     +   Обозначение    |         О п е р а ц и я            |&lt;br /&gt;
| 27 | 26 | 25 | 24 |                  |                                    |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  O |  O |  O |  O |   M → X          | Пересылка                          |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  O |  O |  O |  1 |                  | Резерв                             |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  O |  O |  1 |  O |   X + M → X      | Сложение                           |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  O |  O |  1 |  1 |   X → X          | Пересылка                          |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  O |  1 |  O |  O |   X - M → X      | Вычитание                          |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  O |  1 |  O |  1 |                  | Резерв                             |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  O |  1 |  1 |  O |   M - X → X      | Обратное вычитание                 |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  O |  1 |  1 |  1 |   X → X̄          | Инверсия                           |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  1 |  O |  O |  O |   X⊕M → X        | MOD2                               |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  1 |  O |  O |  1 |   АЛ(Х)          | Арифметический сдвиг               |&lt;br /&gt;
|    |    |    |    |                  | влево                              |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  1 |  O |  1 |  O |   X ∨ M → X      | Дизъюнкция                         |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  1 |  O |  1 |  1 |   ЦЛ(Х)          | Циклический сдвиг влево            |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  1 |  1 |  O |  O |   X &amp;amp; M̄ → X      | Конъюнкция с отрицанием            |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  1 |  1 |  O |  1 |   АП(Х)          | Арифметический сдвиг               |&lt;br /&gt;
|    |    |    |    |                  | вправо                             |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  1 |  1 |  1 |  O |   X &amp;amp; M → X      | Конъюнкция                         |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
|  1 |  1 |  1 |  1 |   ЦП(Х)          | Циклический сдвиг вправо           |&lt;br /&gt;
+----+----+----+----+------------------+------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Здесь  Х - операнд по адресу в поле Х (МК 19-15), М - модификатор, или константа, по адресу в поле АМ (МК 23-20), (т.е. в одноадресной микроинструкции константа читается по полю &amp;quot;Y&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==== ПС ====&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;ПС&amp;quot; - прием состояния&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------+----+------------------------------------------+&lt;br /&gt;
|      ПС    |                                          |&lt;br /&gt;
+------------+          Прием  состояния                |&lt;br /&gt;
| разряды МК |                                          |&lt;br /&gt;
+----+--+----+                                          |&lt;br /&gt;
| 14 |  13   |                                          |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  O |  O    | Запись признаков  N, Z, V, C        (ЗС) |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  1 |  O    | Запись  N, Z, V  ; Сохранение  C    (МС) |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  O |  1    | Запись  N, Z ,обнуление  V, C       (НV) |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  1 |  1    | Нет записи состояния                (НЗС)|&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ВА ====&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;ВА&amp;quot; - запись в регистр виртуального адреса (РВА)&lt;br /&gt;
* ВА (МК 12) = 0  -  адрес в фазе чтения&lt;br /&gt;
* ВА (МК 12) = I  -  адрес в фазе записи.&lt;br /&gt;
&lt;br /&gt;
Если поле ВА (МК 12):=0   в одноадресных  микроинструкциях циклических сдвигов, то сдвиг осуществляется минуя разряд &amp;quot;С&amp;quot; в регистре состояния процессора (РСП) (см. рис. 43).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic43.png|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Однако, при любых микрооперациях сдвигов, арифметических либо циклических, выдвигаемый разряд заносится в &amp;quot;С&amp;quot; РСП.  Кроме того, необходимо учесть, что при арифметическом сдвиге влево, если поле ВА:=0 , то данная микрооперация трансформируется в циклический левый сдвиг.&lt;br /&gt;
&lt;br /&gt;
==== НО ====&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;НО&amp;quot; - направление обмена&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------+----+------------------------------------------+&lt;br /&gt;
|     НО     |                                          |&lt;br /&gt;
+------------+            Тип  обмена                   |&lt;br /&gt;
| Разряды МК |                                          |&lt;br /&gt;
+----+--+----+                                          |&lt;br /&gt;
| 11 |  10   |                                          |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  0 |  0    | Обмен с основной памятью (ПМ)            |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  0 |  1    | Обмен с памятью с перехватом в БРА (ПП)  |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  1 |  0    | Обмен с системными регистрами (СР)       |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  1 |  1    | Обмен с системной памятью (СП)           |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ФО ====&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;ФО&amp;quot; - формата обмена&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------+----+------------------------------------------+&lt;br /&gt;
|      ФО    |                                          |&lt;br /&gt;
+------------+         Тип формата  обмена              |&lt;br /&gt;
| Разряды МК |                                          |&lt;br /&gt;
+----+-------+                                          |&lt;br /&gt;
|  9 |  8    |                                          |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  0 |  0    | Длинное слово обмена        (ДСО)        |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  0 |  1    | Слово обмена                (СЛО)        |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  1 |  1    | Байт обмена                 (БО)         |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
|  1 |  0    | Четверное слово обмена      (ЧСО)        |&lt;br /&gt;
+----+-------+------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I) Если  в  микрокоманде  поле  &amp;quot;ФО&amp;quot; (МК ⟨9,8⟩) : = ⟨1,0⟩ , то за одну такую микрокоманду можно осуществить сложение/вычитание с переносом (БИТ &amp;quot;С&amp;quot; РСП), используя выходной признак  CARRY⟨===⟩  МК⟨9,8⟩:=⟨1,0⟩ (см. синтаксические таблицы микроассемблера). Сложение/вычитание с переносом блокируется, если в данной микрокоманде инициирован обмен.&lt;br /&gt;
&lt;br /&gt;
2) Если в микрокоманде поле &amp;quot;ФО&amp;quot; (МК ⟨9,8⟩ ):= ⟨1,0⟩ , то при использовании микроопераций сдвигов влево (АЛ, ЦЛ) в специальном флажке запоминается признак &amp;quot;V&amp;quot; - переполнение. Логика установления данного флажка такова: если любой из выдвигаемых (на место знакового) разрядов не совпадает со знаковым разрядом, то V:=1, иначе V:=0.&lt;br /&gt;
&lt;br /&gt;
По флагу записи состояния соответствующим образом (в соответствии с данным флажком) устанавливается бит &amp;quot;V&amp;quot; в РСП.&lt;br /&gt;
&lt;br /&gt;
Накопленный признак &amp;quot;V&amp;quot; (флаг переполнения) сбрасывается по концу команды (КК). В противном случае (если поле &amp;quot;ФО&amp;quot; (МК ⟨9,8⟩ ) :≠ ⟨1,0⟩ ) блокируется установка &amp;quot;V&amp;quot; при сдвигах.&lt;br /&gt;
&lt;br /&gt;
==== КОБ ====&lt;br /&gt;
&lt;br /&gt;
Рассмотрим теперь поле кода обмена (&amp;quot;КОБ&amp;quot;) в формате микрокоманды. Для осуществления двойных обменов (обмены 64-разрядными данными) необходимо использовать формат обмена (&amp;quot;ФО&amp;quot;) ЧСО (МК ⟨9,8⟩ : = ⟨I,0⟩ ).&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;КОБ&amp;quot; - кода обмена&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------+----+------------------------------------------+&lt;br /&gt;
|    КОБ     |                                          |&lt;br /&gt;
+------------+           Тип  обмена                    |&lt;br /&gt;
| Разряды МК |                                          |&lt;br /&gt;
+----+--+----+                                          |&lt;br /&gt;
|  7 | 6 | 5 |                                          |&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
|  0 | 0 | 0 | Нет обмена (НОБ)                         |&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
|  0 | 0 | 1 | Чтение данных (ЧД)                       |&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
|  0 | 1 | 0 | Запись данных (ЗД)                       |&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
|  0 | 1 | 1 | Чтение-модификация-запись (ЧЗ)           |&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
|  1 | 0 | 0 | Запись в регистр-аккумулятор R(17) (WDAK)|&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
|  1 | 0 | 1 | Чтение команды (ЧК)                      |&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
|  1 | 1 | 0 | Резерв                                   |&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
|  1 | 1 | 1 | Запись смещения в БРД (ЗпЧТ)             |&lt;br /&gt;
+----+---+---+------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Процедура чтение-модификация-запись (ЧМЗ) для работы с 64-разрядными данными имеет свои особенности, а именно:&lt;br /&gt;
&lt;br /&gt;
ЧМЗ трансформируется в чтение 64-разрядных данных, а адрес записи аппаратно помещается в регистр-аккумулятор процессора R(17) и для завершения процедуры ЧМЗ необходимо проинициировать запись по адресу, находящемуся : R(17), т.е. тип обмена ЧМЗ 64-разрядными данными фактически не является неделимой операцией.&lt;br /&gt;
&lt;br /&gt;
==== Прочие поля ====&lt;br /&gt;
&lt;br /&gt;
Разряд (МК0) служит для останова выборки микрокоманд из ПЗУ микрокода (S-бит). Если в микрокоманде МК0:=1, то после выборки этой микрокоманды выборка микрокоманд из ПЗУ приостанавливается до следующей записи в регистр адреса ПЗУ, т.е. если установлен S-бит и заполнены хотя бы две ячейки буфера команд (готовность буфера команд), то блок синхронизации дешифратора команд (БС ПЛМ ДШК) запускает новый цикл ПЛМ.&lt;br /&gt;
&lt;br /&gt;
Разряд (МК 4) - признак приема данных - ПД; используется при чтении с буферного регистра данных (БРД). ПД:=1 в случае использования в переменных полях ПХ, ПУ микрокоманды номера регистра - 1F (БРД). (ПД:=1 - признак продвижения БРД).&lt;br /&gt;
&lt;br /&gt;
Разряды (МК 1-3) управляют выдачей переменных полей микрокоманды. Если признак равен 1, то соответствующее поле микрокоманды выдается не из буфера ПЗУ, а из соответствующего регистра переменного поля, который загружается при дешифрации команды.&lt;br /&gt;
&lt;br /&gt;
Признаки: &lt;br /&gt;
* ПХ:=1 — заменить переменное поле Х;&lt;br /&gt;
* ПУ:=1 —             то же —            У;&lt;br /&gt;
* ПZ:=1 —             то же —             Z;&lt;br /&gt;
* ПО:=1 —             то же —        обмена от ПЛМ.&lt;br /&gt;
&lt;br /&gt;
=== Микрокоманды безусловного ветвления ===&lt;br /&gt;
&lt;br /&gt;
Рассмотрим формат микрокоманды безусловного ветвления и ветвления по коду прерывания (см. рис. 44 )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic44.png|600px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Расшифруем значение полей данного формата.&lt;br /&gt;
&lt;br /&gt;
Поле &amp;quot;ФМК&amp;quot; - формат микрокоманды&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-----------------------------------+-----------------------------+-------------+&lt;br /&gt;
|     Разряды МК                    | Наименование формата        | Обобщенное  |&lt;br /&gt;
+--------+----------+---------+-----+ микрокоманды                | обозначение |&lt;br /&gt;
| Поле &amp;quot;ФМК&amp;quot;   |     Нули     | &amp;quot;Пр&amp;quot;|                             |             |&lt;br /&gt;
+----+----+----+----+----+----+-----+                             |             |&lt;br /&gt;
| 31 | 30 | 29 | 28 | 27 | 26 | 25  |                             |             |&lt;br /&gt;
+----+----+----+----+----+----+-----+-----------------------------+-------------+&lt;br /&gt;
|  1 |  1 |  1 |  0 |  0 |  0 |  0  | Безусловное ветвление       |     БП      |&lt;br /&gt;
|    |    |    |    |    |    |     |                             |             |&lt;br /&gt;
+----+----+----+----+----+----+-----+-----------------------------+-------------+&lt;br /&gt;
|  1 |  1 |  1 |  0 |  0 |  0 |  1  | Ветвление по коду           |   УПР_КП    |&lt;br /&gt;
|    |    |    |    |    |    |     | прерывания                  |             |&lt;br /&gt;
+----+----+----+----+----+----+-----+-----------------------------+-------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Микрокоманды данного формата в ДБ не передаются (Сигнал ЗпМК - не вырабатывается). Назначение этих микрокоманд - безусловный переход по микроадресу, указанному в разрядах 15-2 микрокоманды. Если разряд модификации микроадреса MADR - установлен (МК 16:=1), то адрес микроперехода формируется следующим образом:&lt;br /&gt;
&lt;br /&gt;
разряды 5-0 адреса заменяются разрядами 5-0 из регистра ОБ с адресом 18, а разряды 13-6 - непосредственно из тела микрокоманды. Далее регистр адреса ПЗУ микрокода (РА) загружается адресом перехода.&lt;br /&gt;
&lt;br /&gt;
Далее, если разряд RETURN установлен (МК 17:=0) , то одновременно с загрузкой регистра адреса ПЗУ микрокода в регистре возврата запоминается адрес микрокоманды, следующей за микрокомандой безусловного перехода. Это предусматривает использование механизма микроподпрограмм с единичным уровнем вложенности. Возврат из микропрограммы осуществляется микроинструкцией типа RTS , которая будет описана ниже. Если же МК 17:=1, то в регистр возврата записи не происходит.&lt;br /&gt;
&lt;br /&gt;
Тот факт, что разряд МК 25:=1 указывает на то, что в качестве индикатора младшей части микроадреса используется четырохразрядный код из регистра - кода прерываний (РКП). Четвертый и пятый разряды адреса микрокоманды - нули. Разряды 13-6 - из тела микрокоманды, т.е. в этом случае осуществляется переход по регистру кода прерываний (УПР_КП).&lt;br /&gt;
&lt;br /&gt;
=== Микрокоманды условного ветвления ===&lt;br /&gt;
&lt;br /&gt;
Рассмотрим формат микрокоманды перехода по условиям (см. рис. 45). Поле &amp;quot;ФМК&amp;quot;: МК ⟨31, 30, 29⟩ : = ⟨1, 1, 0⟩&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic45.png|600px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При выборке микрокоманды перехода по условию в ОБ не выполняются никаких содержательных операций. Происходит только анализ признаков N, Z, V, C, вырабатываемых в ОБ, и анализ некоторых флагов состояния и выработка сигнала ветвления (&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;BR&amp;lt;/span&amp;gt;). Сигнал &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;BR&amp;lt;/span&amp;gt; вырабатывается схемой образования условия ветвления и затем поступает на блок управления приемом и обработкой микрокоманд (БПМК), где и формируется сигнал СВМС, который настраивает мультиплексор регистра адреса пуска ПЗУ - микрокода на определенное направление. После выдачи микрокоманды условного перехода она тормозится до появления сигнала готовности ОБ. Если при появлении сигнала готовности ОБ сигнал &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;BR&amp;lt;/span&amp;gt; переходит в низкий уровень, то следующая микрокоманда выбирается по адресу, указанному в поле микрокоманды (МК 15-2) и далее из адресов, следующих за этим адресом по порядку. Если сигнал &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;BR&amp;lt;/span&amp;gt; при появлении сигнала готовности ОБ остается на высоком уровне, то следующая микрокоманда выбирается по адресу, следующему за микрокомандой ветвления.&lt;br /&gt;
&lt;br /&gt;
Приведем расшифровку разрядов в данном формате микрокоманды:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;УВ&amp;quot; (МК 28):=1/0 - условие ветвления по признакам и флагам;&lt;br /&gt;
* &amp;quot;N&amp;quot; (МК 27):=1   - ветвление по признаку отрицательного результата;&lt;br /&gt;
* &amp;quot;Z&amp;quot; (МК 26):=1   - ветвление по признаку нулевого результата;&lt;br /&gt;
* &amp;quot;V&amp;quot; (МК 25):=1  - ветвление по признаку переполнения;&lt;br /&gt;
* &amp;quot;C&amp;quot; (МК 24):=1   - ветвление по признаку переноса.&lt;br /&gt;
&lt;br /&gt;
Т.е. коды условий (N,Z,V,C) задаются в поле признаков (МК 27-24) установкой в 1 соответствующего разряда. Если единицами заданы сразу несколько признаков, то они объединяются по схеме &amp;quot;ИЛИ&amp;quot; при анализе, если разряд УВ:=1 (если разряд УВ:=0, то результирующее условие ветвления формируется по конъюнкции).&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;FP&amp;quot; (МК 23):=1  - ветвление по универсальному флагу перехода в микропрограмме (Установка/сбhос флага перехода реализуется микропрограммно при помощи микрокоманды &amp;quot;SRF&amp;quot;, которая будет описана ниже);&lt;br /&gt;
* &amp;quot;FPD&amp;quot; (МК 22):=1 - ветвление по флагу разрешения прерывания в &amp;quot;длинных&amp;quot; командах (First Part Done );&lt;br /&gt;
* &amp;quot;PRB&amp;quot; (МК 21):=1  - ветвление по флагу PRB для команды PROBEX (флаг PRB взводится аппаратурой диспетчера памяти процессора, если запрещена процедура преобразования адреса);&lt;br /&gt;
* &amp;quot;RST&amp;quot; (МК 20):=1 - ветвление по флагу рестарта;&lt;br /&gt;
* &amp;quot;RD&amp;quot; (МК 19):=1  - ветвление по признаку &amp;quot;регистр-приемник&amp;quot; (Признак &amp;quot;RD&amp;quot; взводится ПЛМ_ДШК при дешифрации команды и используется также для модификации адреса микропрограммы содержательной обработки);&lt;br /&gt;
* &amp;quot;RETURN&amp;quot; (МК 17):=1 - нет записи в регистр возврата;&amp;lt;br/&amp;gt;(МК 17):=0 - запись в регистр возврата (Подробнее см. описание формата микрокоманды безусловного ветвления);&lt;br /&gt;
* &amp;quot;ЖС&amp;quot; (МК 16):=1  - признак &amp;quot;ждать состояния&amp;quot; кодов условий N,Z,V,C.&lt;br /&gt;
&lt;br /&gt;
Т.е. поле &amp;quot;ЖС&amp;quot; (МК 16) задает режим анализа. Если ЖС:=0, то анализируются те признаки, которые хранятся в РСП в момент приема микрокоманды ветвления. Если ЖС:=1, то анализируются признаки, выработанные в предыдущей микрокоманде, независимо от того, записываются они в РСП или нет (признаки берутся из схемы формирования состояния). В микрокомандах условного ветвления нет возможности модификации младшей части микроадреса в отличии от микроинструкций безусловного перехода и некоторых других, которые будут описаны ниже.&lt;br /&gt;
&lt;br /&gt;
=== Прочие микрокоманды ===&lt;br /&gt;
&lt;br /&gt;
Рассмотрим остальные форматы микрокоманд (см. рис. 46 ).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic46.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ЗСЧ, ПСЧ ====&lt;br /&gt;
&lt;br /&gt;
Для организации управления циклами в микропрограмме служат микрокоманды форматов ЗСЧ (загрузка микропрограммного счечика) и ПСЧ (ветвление по счетчику). Микропрограммный счетчик находится в блоке управления ПЗУ микрокода. Этот счетчик загружается микрокомандой формата ЗСЧ (см. рис. 46). После выборки микрокоманды этого формата  в счетчик загружается константа, содержащаяся  в разрядах  9-2 микрокоманды. Если разряд модификации константы установлен, т.е. МСС (МК 16):=1 , то разряды 5-0    константы заменяются разрядами 5-0 регистра R(18) ОБ. Разряды 7-6 константы берутся непосредственно из микрокоманды.&lt;br /&gt;
&lt;br /&gt;
При выборке микрокоманды ветвления по счетчику (ПСЧ) анализируется состояние счетчика. После анализа состояния  счетчика его содержимое декрементируется н_ единицу. Если содержимое счетчика не равно нулю при анализе, то происходит ветвление по адресу, указанному в разрядах 15-2 микрокоманды. При этом, если разряд модификации адреса микроперехода установлен, т.е.  MADR  (МК 16):=1, то разряды 5-0 микроадреса перехода заменяются разрядами 5-0 регистра  R(I8) ОБ. Разряды микроадреса 13-6 берутся непосредственно из микрокоманды. Если содержимое счетчика равно нулю при анализе, то выбирается следующая микрокоманда.&lt;br /&gt;
&lt;br /&gt;
==== NOP ====&lt;br /&gt;
&lt;br /&gt;
При выборке микрокоманды   NOP (см. рис. 46 ) не производится никаких содержательных операций (пустой заполнитель в микропрограмме).&lt;br /&gt;
&lt;br /&gt;
==== ACC ====&lt;br /&gt;
&lt;br /&gt;
Микрокоманды формата АСС (см. рис. 46 ) - микрокоманды, выполняющие аппаратным ускорителем команд расширенной арифметики и плавающей точки (формат АСС будет раскрыт в другом источнике - отчет по НИР &amp;quot;Электроника 32 С&amp;quot;). После выборки микрокоманд этого формата в блоке управления приемом и обработкой микрокоманд вырабатывается сигнал торможения приема микрокоманды (блокируется сигнал WMCE). Это торможение сбрасывается внешним сигналом готовности ускорителя (АССЕ).&lt;br /&gt;
&lt;br /&gt;
==== RTS ====&lt;br /&gt;
&lt;br /&gt;
После выборки микрокоманды формата RTS (см. рис. 46 ) - возврат из микроподпрограммы, в регистр адреса  ПЗУ - микрокода загружается содержимое регистра возврата (РВ), т.е. адрес микрокоманды, следующей за последней выполняемой микрокомандой безусловного/условного ветвления.&lt;br /&gt;
&lt;br /&gt;
==== ЧКА ====&lt;br /&gt;
&lt;br /&gt;
После выборки микрокоманды формата ЧКА (см.рис. 46 ) по адресу, указанному в разрядах 15-2 микрокоманды читается 32-разрядная адресная константа и помещается в регистре констант ПЗУ (RC), который доступен микропрограммно по адресу, указанному по полю чтения константы (поле &amp;quot;Y&amp;quot; в одноадресном формате). Если разряд модификации адреса константы установлен, т.е. MADR (МК 16):=1, то адрес константы формируется следующим образом:&lt;br /&gt;
&lt;br /&gt;
* разряды 5-0 адреса заменяются разрядами 5-0 регистра 18 ОБ;&lt;br /&gt;
* разряды 13-6 берутся непосредственно из микрокоманды.&lt;br /&gt;
&lt;br /&gt;
==== ЧЛК ====&lt;br /&gt;
&lt;br /&gt;
После выборки микрокоманды формата ЧЛК (см. рис. 46) в регистр констант ⟨RC⟩(в разряды 23-0) загружается содержимое микрокоманды из разрядов 25-2. Разряды 31-24  ⟨RC⟩ загружаются нулями, если признак СБ:=0 (МК 1), и единицами, если СБ:=1.&lt;br /&gt;
&lt;br /&gt;
Регистр констант доступен микропрограммно по адресу, указанному по полю чтения константы. Для чтения  литеральных и адресных констант используется адрес ⟨6⟩ в блоке констант (БК).&lt;br /&gt;
&lt;br /&gt;
==== SRF ====&lt;br /&gt;
&lt;br /&gt;
Микрокоманды формата SRF  (см. рис. 46) используются для установки/сброса некоторых функциональных флагов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
| Наименование флага | Состояние |             Назначение                 |&lt;br /&gt;
| (вых. признак)     |           |                                        |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|                    |           | Устанавливает торможение по            |&lt;br /&gt;
|       WTMM         | МК 25:=1  | приему микрокоманды (блоки-            |&lt;br /&gt;
|                    |           | рует WMCE) до конца работы             |&lt;br /&gt;
|                    |           | диспетчера памяти                      |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|       SFП1         | МК 21:=1  | Установка универсального               |&lt;br /&gt;
|                    |           | флага перехода                         |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|       RFП1         | МК 20:=1  | Сброс универсального флага             |&lt;br /&gt;
|                    |           | перехода                               |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|       ИНК          | МК 1:=1   | Инкремент номера регистра              |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|       ДЕК          | МК 5:=1   | Декремент номера регистра              |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|                    |           | Сброс конвейера приема ко-             |&lt;br /&gt;
|       ОСТ          | МК 4:=1   | манд, буфера команд, оста-             |&lt;br /&gt;
|                    |           | нов ДШК                                |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|                    |           | Устанавливает торможение по            |&lt;br /&gt;
|                    |           | приему микрокоманды (блоки-            |&lt;br /&gt;
|      ЖДЗРА         | МК 2:=1   | рует WMCE)  до конца вы -              |&lt;br /&gt;
|                    |           | полнения микрокоманды за -             |&lt;br /&gt;
|                    |           | грузки регистра адреса                 |&lt;br /&gt;
|                    |           | (R(18)ОБ).                             |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При использовании микроинструкций ветвления и некоторых других допускающих модификацию младшей части микроадреса (УП, ЧКА, БП, ПСЧ), а также микроинструкций, допускающих модификацию младшей части константы, загружаемой в микропрограммный счетчик, необходимо загрузить регистр-модификатор адреса ОБ, который имеет адрес записи (1·100X)₂, т.е.  18₁₆ или 19₁₆. Флажок торможения  ЖДЗРА  сбрасывается по факту записи в R(19)ОБ, т.е. по окончании выполнения данной микроинструкции ОБ.&lt;br /&gt;
&lt;br /&gt;
Поясним алгоритм установки/адреса такого типа торможения по приему микрокоманды следующей временной диаграммой (см. рис. 47).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic47.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Кроме того регистр-модификатор R(18)ОБ может быть использован в качестве обычного аккумулятора; нулевой разряд R(18)ОБ можно прочитать по адресу 0F₁₆  в блоке констант, но на месте&lt;br /&gt;
второго разряда:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic47_1.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== FLAG ====&lt;br /&gt;
&lt;br /&gt;
В отличие от формата SRF, формат микрокоманд FLAG (см. рис. 46) служит для установки некоторых функциональных флагов, привязанных к циклу операционного блока (ОБ):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
| Наименование флага | Состояние |             Назначение                 |&lt;br /&gt;
| (вых.признаки)     |           |                                        |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|      INTMS         | МК 23:=1  | Подсветка микропрограммы               |&lt;br /&gt;
|                    |           | обработки прерываний                   |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|      RCPU          | МК 22:=1  | Микропрограммный сброс                 |&lt;br /&gt;
|                    |           | процессора                             |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|      SIVV          | МК 21:=1  | Блокировка целочисленного              |&lt;br /&gt;
|                    |           | переполнения (сброс по &amp;quot;КК&amp;quot;)           |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|      CCFPU         | МК 20:=1  | Принять состояние от аппа-             |&lt;br /&gt;
|                    |           | ратного ускорителя команд              |&lt;br /&gt;
|                    |           | расширенной арифметики и               |&lt;br /&gt;
|                    |           | плавающей точки                        |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|      PROB          | МК 19:=1  | Флаг для команды PROBE                 |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|      SIU           | МК 17:=1  | Микропрограммный опрос бло-            |&lt;br /&gt;
|                    |           | ка прерываний (БПР)                    |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|      TOU           | МК 16:=1  | Торможение операционного               |&lt;br /&gt;
|                    |           | блока (ОБ) до конца работы             |&lt;br /&gt;
|                    |           | диспетчера памяти (ДП)                 |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
|      COPWT         | МК 15:=1  | Перепись  копий РСП и СК               |&lt;br /&gt;
+--------------------+-----------+----------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
INTMS  - устанавливает два аппаратных флага:&lt;br /&gt;
* INVRD  - чтение вектора прерываний по физическому адресу. Флаг INVRD - сбрасывается первой одноадресной микроинструкцией.&lt;br /&gt;
* SKF    - признак использования стека ядра/прерываний. Флаг SKF - сбрасывается по концу команды (КК).&lt;br /&gt;
&lt;br /&gt;
Микропрограммный сброс процессора по флагу RCPU  осуществляется по следующей схеме:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic47_2.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
По факту установки флага   PROB   обеспечивается холостой цикл диспетчера памяти для пробирования адреса. Если адрес недоступен, то аппаратура диспетчера памяти взводит флажок PRB, по которому производится ветвление.&lt;br /&gt;
&lt;br /&gt;
По факту установки флага   COPWT  (и по &amp;quot;КК&amp;quot;)  обеспечивается аппаратная перепись копий РСП и СК:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic47_3.png|300px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== REST ====&lt;br /&gt;
&lt;br /&gt;
При выборке микрокоманды   REST   (см. рис. 46) происходит восстановление РОНа из стека-рестарта и декрементируется счетчик рестарта (Запись  с стек  рестарта происходит аппаратно в фазе адресации операндов, при использовании одноадресной микроинструкции, микроопераций инкремент/декремент, употребления по полю чтения-Х микрокоманды 4-х разрядного номера регистра общего назначения).&lt;br /&gt;
&lt;br /&gt;
Алгоритм восстановления регистров-указателей операндов из стека рестарта приведен на рис. 48. (глубина стека рестарта равна 6, в соответствии с максимальным количеством операндов в команде).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic48.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 1.13. Описание ресурсов микропрограммного уровня процессора ==&lt;br /&gt;
&lt;br /&gt;
К ресурсам микропрограммиста будем относить такие регистры операционного блока (ОБ), как регистры общего назначения (РОНк), регистр-указатель стекового кадра, регистр-указатель аргумента, регистр-указатель стека, регистры-аккумуляторы, регистры виртуального адреса, счетчик команд, слово состояния процессора, буферный регистр данных и т.д., а также некоторые внутренние регистры процессора. Все регистры, используемые в проекте &amp;quot;Электроника 32&amp;quot;, сведены в табл. 6.&lt;br /&gt;
&lt;br /&gt;
Микропрограммно доступен также блок констант операционного блока (БК). Константы ОБ приведены в табл. 7.&lt;br /&gt;
&lt;br /&gt;
Микропрограммно доступна любая ячейка виртуального адресного пространства. Виртуальный адрес содержит 32 разряда и определяет ячейку длиной в байт в адресном пространстве.&lt;br /&gt;
&lt;br /&gt;
Для программиста этот адрес обеспечивает адресацию линейной матрицы объемом в 4 294 967 296 байтов. Виртуальное адресное пространство разделено на страницы по 512 байтов каждая. Страница является объектом перемещения и защиты. Виртуальное адресное пространство показано на рис. 49 . Виртуальная память разделена на 2 части. Первая половина, занимающая младшую часть адресов, предназначена для распределения процессов и для каждого процесса, выполняемого в комплексе, она своя. Вторая половина виртуальной памяти, занимающая старшую часть адресов, предназначена для размещения системы, и эта область разделяется всеми процессами.&lt;br /&gt;
&lt;br /&gt;
Область процессов в свою очередь делится на две равные части: программную область (P0-регион) и управляющую область (P1-регион).&lt;br /&gt;
&lt;br /&gt;
=== Регистры процессора ===&lt;br /&gt;
&lt;br /&gt;
Таблица 6. Регистры процессора&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| Мнемоника| Адрес(16) |      Назначение        |    Доступ     |   Сфера   |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| R0-RB    | 00-0B     | Регистры общего        | ч на X,ȳ /    |           |&lt;br /&gt;
|          |           | назначения (РОН)       | з с X*, ȳ*    |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| AP       | 0C        | Указатель аргумента    |               |           |&lt;br /&gt;
+----------+-----------+------------------------+               |           |&lt;br /&gt;
| FP       | 0D        | Указатель кадра        |               |           |&lt;br /&gt;
+----------+-----------+------------------------+               |           |&lt;br /&gt;
| SP       | 0E        | Указатель стека        |               |           |&lt;br /&gt;
+----------+-----------+------------------------+               |           |&lt;br /&gt;
| PC       | 0F        | Счетчик команд         |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| АК6      | 10        |                        |               |           |&lt;br /&gt;
+----------+-----------+                        |               |           |&lt;br /&gt;
| АК4      | 11        |                        |               |           |&lt;br /&gt;
+----------+-----------+                        |               |           |&lt;br /&gt;
| АК3      | 12        |                        |               |           |&lt;br /&gt;
+----------+-----------+                        | ч на X, ȳ /   | ОБ про-   |&lt;br /&gt;
| АК5      | 13        | Регистры-аккумуляторы  | з с X*, ȳ*    | цессора   |&lt;br /&gt;
+----------+-----------+                        |               |           |&lt;br /&gt;
| АК0      | 14        |                        |               |           |&lt;br /&gt;
+----------+-----------+                        |               |           |&lt;br /&gt;
| АК1      | 15        |                        |               |           |&lt;br /&gt;
+----------+-----------+                        |               |           |&lt;br /&gt;
| АК2      | 16        |                        |               |           |&lt;br /&gt;
+----------+-----------+                        |               |           |&lt;br /&gt;
| АК7      | 18        |                        |               |           |&lt;br /&gt;
|          | (адрес    |                        |               |           |&lt;br /&gt;
|          | записи    |                        |               |           |&lt;br /&gt;
|          | 11ØØX₂)   |                        |               |           |&lt;br /&gt;
+----------+-----------+                        +---------------+           |&lt;br /&gt;
| АК8      | 17        |                        | ч на X, ȳ /   |           |&lt;br /&gt;
|          |           |                        | з с X*,ȳ*,X   |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| РКА      | 1D        | Регистр косвенной      | ч на X/з с    |           |&lt;br /&gt;
|          | (адрес    | адресации              | МД            |           |&lt;br /&gt;
|          | чтения)   |                        |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| РКВА     | 19        | Регистр копия вирту-   | ч на ȳ /      |           |&lt;br /&gt;
|          | (адрес    | ального адреса         | з с РВА       |           |&lt;br /&gt;
|          | чтения)   |                        |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| РВА      | 1A(адрес  | Регистр виртуального   | ч на X,ȳ /    |           |&lt;br /&gt;
|          | чтения)   | адреса                 | з с X,ȳ*,РВАК |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| РВАК     | 1B(адрес  | Регистр виртуально-    | ч на ȳ /      |           |&lt;br /&gt;
|          | чтения)   | го адреса команды      | з с X*, ȳ*    |           |&lt;br /&gt;
|          | 0F(адрес  |                        |               |           |&lt;br /&gt;
|          | записи)   |                        |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| РНК      | 1C(адрес  | Регистр начала ко -    | ч на ȳ /      |           |&lt;br /&gt;
|          | чтения)   | манды                  | з с  СК       |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| КРСП     | 1D(адрес  | Копия регистра со-     | ч на ȳ /      |           |&lt;br /&gt;
|          | чтения)   | стояния процессора     | з с  РСП      |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+ ОБ про-   |&lt;br /&gt;
| PSL      | 1E        | Слово состояния про-   | ч на X,ȳ /    | цессора   |&lt;br /&gt;
|          |           | цессора                | з с X*,ȳ*     |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| БО       | 1F        | Буферный регистр       | ч на X,ȳ /    |           |&lt;br /&gt;
|          |           | данных (БРД)           | з с X*,ȳ*; МД |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Внутренние регистры процессора ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| Мнемоника| Адрес (16)|      Назначение        |    Доступ     |   Сфера   |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| KSP      | 00        | Указатель стека ре-    | ч/з           |           |&lt;br /&gt;
|          |           | режима ядра            |               | -         |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| ESP      | 01        | Указатель стека ре-    | ч/з           | Адаптер   |&lt;br /&gt;
|          |           | жима исполнения        |               | Q-BUS     |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| SSP      | 02        | Указатель стека ре-    | ч/з           |           |&lt;br /&gt;
|          |           | жима супервизора       |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| USP      | 03        | Указатель стека ре-    | ч/з           |           |&lt;br /&gt;
|          |           | жима пользователя      |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| ISP      | 04        | Указатель стека пре-   | ч/з           | (область  |&lt;br /&gt;
|          |           | рываний                |               | сист.рег. |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
|          | 05...07   | Резерв                 | ч/з           |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| P0BR     | 08        | Регистр базн Р0        | ч/з           |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| P0LR     | 09        | Регистр длины Р0       | ч/з           | Диспетчер |&lt;br /&gt;
+----------+-----------+------------------------+---------------+ памяти    |&lt;br /&gt;
| P1BR     | 0A        | Регистр базы P1        | ч/з           | процессо- |&lt;br /&gt;
+----------+-----------+------------------------+---------------+ ра        |&lt;br /&gt;
| P1LR     | 0B        | Регистры длины P1      | ч/з           |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| SBR      | 0C        | Регистр базы системы   | ч/з           |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| SLR      | 0D        | Регистр длины системы  | ч/з           |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
|          | 0E...0F   | Резерв                 | ч/з           |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| PCBB     | 10        | Регистр базы блока     | ч/з           | Адаптер   |&lt;br /&gt;
|          |           | управления процесса    |               | Q-BUS     |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| SCBB     | 11        | Регистр базы блока     | ч/з           | Адаптер   |&lt;br /&gt;
|          |           | управления системы     |               | Q-BUS     |&lt;br /&gt;
|          |           |                        |               | (обл.си-  |&lt;br /&gt;
|          |           |                        |               | ст.рег.)  |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| IPL      | 12        | Уровень приоритета пре-| ч/з           | Процессор |&lt;br /&gt;
|          |           | рывания                |               | (разряды  |&lt;br /&gt;
|          |           |                        |               | 20+I6 PSL)|&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| ASTR     | 13        | Уровень AST            | ч/з           |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+ Адаптер   |&lt;br /&gt;
| SIRR     | 14        | Регистр запроса на про-| з             | Q-BUS     |&lt;br /&gt;
|          |           | граммное прерывание    |               | (обл.си-  |&lt;br /&gt;
+----------+-----------+------------------------+---------------+ ст.рег.)  |&lt;br /&gt;
| SISR     | 15        | Регистр программного   | ч/з           |           |&lt;br /&gt;
|          |           | прерывания             |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
|          | 16        | Резерв                 |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| MCSR     | 17        | Регистр состояния сбоя | ч             | Контрол-  |&lt;br /&gt;
|          |           | машины                 |               | лер па -  |&lt;br /&gt;
|          |           |                        |               | мяти      |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| ICCS     | 18        | Регистр состояния      | ч/з           |           |&lt;br /&gt;
|          |           | таймера                |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| NICR     | 19        | Регистр счета сле-     | з             | Адаптер   |&lt;br /&gt;
|          |           | дующего интервала      |               | Q-BUS     |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| ICR      | 1A        | Регистр-счетчик        | ч             | (обл.сист.|&lt;br /&gt;
|          |           | интервалов             |               | рег.)     |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| TODR     | 1B        | Регистр времени        | ч/з           |           |&lt;br /&gt;
|          |           | дня                    |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
|          | 1C...1F   | Резерв                 |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| RXCS     | 20        | Регистр состояния      | ч/з           |           |&lt;br /&gt;
|          |           | консольного при -      |               |           |&lt;br /&gt;
|          |           | емника                 |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| RXDB     | 21        | Регистр данных кон-    | ч             |           |&lt;br /&gt;
|          |           | сольного приемника     |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| TXCS     | 22        | Регистр состояния      | ч/з           |           |&lt;br /&gt;
|          |           | консольного пере -     |               |           |&lt;br /&gt;
|          |           | датчика                |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| TXDB     | 23        | Регистр данных кон-    | з             |           |&lt;br /&gt;
|          |           | сольного передатчика   |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| TBDR     | 24        | Отключение групп бу-   | ч/з           |           |&lt;br /&gt;
|          |           | фера трансляции(при    |               |           |&lt;br /&gt;
|          |           | обращении читаются     |               |           |&lt;br /&gt;
|          |           | нули)                  |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| CADR     | 25        | Регистр отключения     | ч/з           | Контроллер|&lt;br /&gt;
|          |           | КЭШ-памяти             |               | памяти    |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| MCESR    | 26        | Регистр ошибок при     | ч/з           |           |&lt;br /&gt;
|          |           | машинном сбое          |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+           |&lt;br /&gt;
| CAER     | 27        | Регистр ошибок КЭШ-    | ч/з           |           |&lt;br /&gt;
|          |           | памяти                 |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| ACCS     | 28        | Регистр состояния      | ч             | БИС со -  |&lt;br /&gt;
|          |           | ускорителя команд      |               | процес -  |&lt;br /&gt;
|          |           | П.З.                   |               | сора      |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
|          | 29...36   | Резерв                 |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| IORESET  | 37        | Регистр сброса         | з             | Адаптер   |&lt;br /&gt;
|          |           | UNIBUS                 |               | Q-BUS     |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| MME      | 38        | Регистр включения      | ч/з           | Диспетчер |&lt;br /&gt;
| (MAPEN)  |           | диспетчера памяти      |               | памяти про-|&lt;br /&gt;
|          |           |                        |               | цессора   |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| TBIA     | 39        | Регистр обнуления      | з             | Диспетчер |&lt;br /&gt;
|          |           | всего буфера тран-     |               | памяти    |&lt;br /&gt;
|          |           | сляции                 |               | процессора|&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| TBIS     | 3A        | Регистр обнуления      | з             | Диспетчер |&lt;br /&gt;
|          |           | записи в буфере        |               | памяти    |&lt;br /&gt;
|          |           | трансляции             |               | процессора|&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
|          | 3B...3C   | Резерв                 |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| PMI      | 3D        | Регистр включения      | ч/з           | Адаптер   |&lt;br /&gt;
|          |           | исполнительного        |               | Q-BUS     |&lt;br /&gt;
|          |           | монитора               |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
| SID      | 3E        | Регистр идентифика-    | ч/з           | Процессор |&lt;br /&gt;
|          |           | ции системы            |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
|          |           | Резерв                 |               |           |&lt;br /&gt;
+----------+-----------+------------------------+---------------+-----------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Константы ОБ ===&lt;br /&gt;
&lt;br /&gt;
Таблица 7. Константы ОБ&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
| Адрес (16) | Значение (16) |                  Назначение                   |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    00      |   00000004    | Инкремент                                     |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    01      |   00000002    | Инкремент                                     |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    02      |   00000008    | Инкремент                                     |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    03      |   00000001    | Инкремент                                     |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    04      |   00000000    | Обнуление                                     |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    05      |       -       | РСМ                                           |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    06      |       -       | Литера ПЗУ, адресные                          |&lt;br /&gt;
|            |               | константы                                     |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    07      |   00000066    | Константа перевода в код                      |&lt;br /&gt;
|            |               | с избытком 6                                  |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    08      |   0000000*    | [1:0] = РСП (CRM), [2] - IS                   |&lt;br /&gt;
|            |               | (Чтение СRM из РСП)                           |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    09      |   00C00000    | Маски  CRM  в РСП                             |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    0A      |   FFFFFFFF    |                                               |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    0B      |   00IF0000    | Маски  IPL  в РСП                             |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    0C      |   04000000    | Маски  IS   в РСП                             |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    0D      |   0000000*    | [2:0] = MPL                                   |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    0E      |   000000**    | Десятичная коррекция                          |&lt;br /&gt;
|            |               | [7:0] = { AA,A0                               |&lt;br /&gt;
|            |               |         { 0A,00                               |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
|    0F      |   0000000*    | второй разряд = нулевой                       |&lt;br /&gt;
|            |               | разряд R18 выбор стека                        |&lt;br /&gt;
|            |               | при прерываниях                               |&lt;br /&gt;
+------------+---------------+-----------------------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Адресное пространство ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic49.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Системное ОЗУ ===&lt;br /&gt;
&lt;br /&gt;
Для организации системного ОЗУ (СОЗУ), некоторых внутренних системных регистров, хранения карты адресов Q-BUS  БИС адаптера магистралей обеспечивает управление (чтение, запись) четырех микросхем статического ЗУ с организацией 2Кх8.&lt;br /&gt;
&lt;br /&gt;
Системное ОЗУ и системные регистры доступны микропрограммно.&lt;br /&gt;
&lt;br /&gt;
== 1.14. Система команд ==&lt;br /&gt;
&lt;br /&gt;
В данном разделе очень кратко будут описаны те инструкции, которые используются в любом программном обеспечении при всех применениях вычислительной системы &amp;quot;Электроника 32&amp;quot;. Главная цель архитектуры вычислительной системы - обеспечить набор команд, который симметричен по отношению к типам данных. Например, существуют команды сложения (ADD) для семи типов данных (байт, слово, длинное слово, F , D , G  и H -floating), причем каждая команда имеет варианты для двух и трех операндов. Симметричными командами являются также команды пересылки, преобразования тестирования и вычислений (в микропроцессорной системе &amp;quot;Электроника 32&amp;quot; команды работы со I28-разрядными данными,&lt;br /&gt;
такими как H-floating и Octal integer, выполняются эмуляцией на программном уровне).&lt;br /&gt;
&lt;br /&gt;
В числе команд пересылок входят также команды пересылки с арифметическим отрицанием и логическим дополнением. Здесь команды отрицания и дополнения включают в себя пересылку и не изменяют исходный операнд.&lt;br /&gt;
&lt;br /&gt;
Команды арифметических вычислений включают в себя сложение, вычитание, умножение и деление. Логические команды работают с тремя типами данных (байт, слово, длинное слово) и включают в себя: установку и сброс битов, логическое сложение MOD 2.  Команды арифметических и логических вычислений доступны как в двух, так и в трехоперандной формах для каждого допустимого типа данных. Трехоперандная форма принимает первые два операнда и сохраняет результат по адресу третьего операнда.&lt;br /&gt;
&lt;br /&gt;
Для задач целочисленного программирования имеется  команда записи в стек длинного слова.&lt;br /&gt;
&lt;br /&gt;
Для каждого типа целочисленных данных существуют операции инкремента и декремента.&lt;br /&gt;
&lt;br /&gt;
Существуют специальные команды сложения, вычитания, умножения и деления с многократной точностью.&lt;br /&gt;
&lt;br /&gt;
Для реализации математиоеских функций введены команды вычисления показателей степени и полиномов.&lt;br /&gt;
&lt;br /&gt;
В систему команд входят также команды обработки чисел в формате с плавающей запятой. Команды с плавающей запятой работают с данными четырех типов (F, D , G  и H-формат). Для всех четырех типов данных с плавающей запятой имеются стандартные арифметические операции сложения, вычитания, умножения и деления (ADD, SUB, MUL, DIV). Кроме того имеются две составные операции EMOD и POLY, также применимые ко всем четырем типам данных с плавающей запятой. EMOD вырабатывает произведение двух операндов, а затем разделяет результат на целую и дробную части. POLY подсчитывает значение полинома по заданной степени, аргументу и  указателю таблицы коэффициентов.&lt;br /&gt;
&lt;br /&gt;
Имеется полный набор команд преобразования из целочисленного типа данных во все форматы с плавающей запятой, и наоборот. Также имеется набор команд преобразования из одного типа данных с плавающей запятой в другой, за исключением преобразований из формата D  в формат G  и наоборот.&lt;br /&gt;
&lt;br /&gt;
Для всех типов данных с плавающей запятой существует класс команд пересылок (MOV, MNEG), очистки (CLR), сравнения (СМР) и тестирования (TST). И, наконец, существует класс команд АСВ (сложение, сравнение и переход).&lt;br /&gt;
&lt;br /&gt;
В процессоре имеется широкий набор команд ветвлений и переходов (команды управления). Довольно часто требуется передача управления, основанная на значении переменной, для поддержки таких конструкций в языках высокого уровня как &amp;quot;GOTO&amp;quot; в языке FORTRAN  и &amp;quot;CASE&amp;quot; в языке PASCAL . Вследствии этого система команд включает в себя команду CASE , позволяющую эффективно реализовать эти структуры управления. Команда CASE не только производит передачу управления, но также управляет инициализацией и контролем границ для переменной типа INDEX. Цепь команды CASE состоит в передаче управления одной из n ячеек на основании значения целочисленного операнда-селектора.&lt;br /&gt;
&lt;br /&gt;
Существует также ряд важных команд, предназначенных для работы со специфическими типами данных, такими как поле бит переменной длины, символьная строка, строка десятичных цифр, строка упакованных десятичных цифр, очередь (типы данных приведены на рис. 50).&lt;br /&gt;
&lt;br /&gt;
В системе команд имеется несколько категорий команд, которые обладают в точно определенных условиях большими привилегиями, чем обычное программное обеспечение.&lt;br /&gt;
&lt;br /&gt;
Это привилегированные команды и особые (специальные) команды, которые не попадают под какую-либо классификацию. Некоторые из этих инструкций предназначены для работы со специализированной частью архитектуры вычислительной системы (например: диспетчеризация памяти, прерывания и исключительные ситуации, диспетчеризация процессов, внутренние регистры процессора).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic50.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для наглядности представления системы команд, на основании изложенного выше, разделим набор инструкций на 13 основных разделов:&lt;br /&gt;
&lt;br /&gt;
# Команды для работы с целыми числами и логические команды.&lt;br /&gt;
# Команды для работы со стеками и адресами памяти.&lt;br /&gt;
# Команды управления.&lt;br /&gt;
# Команды для работы с переменными битовыми полями.&lt;br /&gt;
# Команды вызова процедур и подпрограмм.&lt;br /&gt;
# Привилегированные команды.&lt;br /&gt;
# Специальные команды.&lt;br /&gt;
# Команды работы с очередями.&lt;br /&gt;
# Команды плавающей арифметики.&lt;br /&gt;
# Команды обработки строк символов.&lt;br /&gt;
# Команды десятичной строки цифр.&lt;br /&gt;
# Команды контроля циклической избыточности.&lt;br /&gt;
# Команды редактирования.&lt;br /&gt;
&lt;br /&gt;
Ниже будет приведено краткое описание инструкций (см. табл. 8).&lt;br /&gt;
&lt;br /&gt;
Внутри каждого раздела близкие по свойствам инструкции объединены в группы и вместе описываются. Описание групп инструкций состоит из следующих пунктов: название группы; код команды; формат каждой инструкции в группе.&lt;br /&gt;
&lt;br /&gt;
В табл.8 приводится мнемоника команды, определяются название и тип каждого спецификатора операнда инструкции и порядок, в котором они появляются в инструкции.&lt;br /&gt;
&lt;br /&gt;
Таблица 8&lt;br /&gt;
&lt;br /&gt;
СИСТЕМА КОМАНД&lt;br /&gt;
&lt;br /&gt;
=== 1. Команды для работы с целыми числами и логические команды ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  58 | ADAWI     | КОП add.rw,sum.mw             | Сложение выровненных             |&lt;br /&gt;
|     |           |                               | слов с блокировкой па-          |&lt;br /&gt;
|     |           |                               | мяти                             |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  80 | ADDB2     | КОП add.rx,sum.mx             | Сложение байтов двух -           |&lt;br /&gt;
|     |           |                               | операндное                       |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A0 | ADDW2     | -&amp;quot;-                           | Сложение слов двухопе-           |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C0 | ADDL2     | -&amp;quot;-                           | Сложение двойных слов            |&lt;br /&gt;
|     |           |                               | двухоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  81 | ADDB3     | КОП add1.rx,add2.rx,          | Сложение байтов трех -           |&lt;br /&gt;
|     |           | sum.mx                        | операндное                       |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A1 | ADDW3     | -&amp;quot;-                           | Сложение слов трехопе-           |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C1 | ADDL3     | -&amp;quot;-                           | Сложение двойных слов            |&lt;br /&gt;
|     |           |                               | трехоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D8 | ADWC      | КОП add.rl,sum.ml             | Сложение с переносом             |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  78 | ASHL      | КОП cnt.rb,src.rx,            | Арифметический сдвиг             |&lt;br /&gt;
|     |           | dst.wx                        | двойного слова                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  79 | ASHQ      | -&amp;quot;-                           | Арифметический сдвиг             |&lt;br /&gt;
|     |           |                               | квадрослова                      |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  8A | BICB2     | КОП mask.rx,dst.mx            | Очистка разрядов байта           |&lt;br /&gt;
|     |           |                               | двухоперандная                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  AA | BICW2     | -&amp;quot;-                           | Очистка разрядов слова           |&lt;br /&gt;
|     |           |                               | двухоперандная                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  CA | BICL2     | -&amp;quot;-                           | Очистка разрядов двой -          |&lt;br /&gt;
|     |           |                               | ного слова двухоперанд-          |&lt;br /&gt;
|     |           |                               | ная                              |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  8B | BICB3     | КОП mask.rx,                  | Очистка разрядов байта           |&lt;br /&gt;
|     |           | src.rx,dst.mx                 | трехоперандная                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  AB | BICW3     | -&amp;quot;-                           | Очистка разрядов слова           |&lt;br /&gt;
|     |           |                               | трехоперандная                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  CB | BICL3     | -&amp;quot;-                           | Очистка разрядов двойно-         |&lt;br /&gt;
|     |           |                               | го слова трехоперандная          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  88 | BISB2     | КОП mask.rx,                  | Установка разрядов байта         |&lt;br /&gt;
|     |           | dst.mx                        | двухоперандная                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A8 | BISW2     | -&amp;quot;-                           | Установка разрядов слова         |&lt;br /&gt;
|     |           |                               | двухоперандная                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C8 | BISL2     | -&amp;quot;-                           | Установка разрядов двойно-       |&lt;br /&gt;
|     |           |                               | го слова двухоперандная          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  89 | BISB3     | КОП mask.rx,src.rx,           | Установка разрядов байта         |&lt;br /&gt;
|     |           | dst.mx                        | трехоперандная                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A9 | BISW3     | -&amp;quot;-                           | Установка разрядов слова         |&lt;br /&gt;
|     |           |                               | трехоперандная                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C9 | BISL3     | -&amp;quot;-                           | Установка разрядов двой -        |&lt;br /&gt;
|     |           |                               | ного слова трехоперандная        |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  93 | BITB      | КОП mask.rx,src.rx            | Проверка разрядов байта          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B3 | BITW      | -&amp;quot;-                           | Проверка разрядов слова          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D3 | BITL      | -&amp;quot;-                           | Проверка разрядов двойно-        |&lt;br /&gt;
|     |           |                               | го слова                         |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  94 | CLRB      | КОП dst.wx                    | Очистка байта                    |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B4 | CLRW      | -&amp;quot;-                           | Очистка слова                    |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D4 | CLRL      | -&amp;quot;-                           | Очистка двойного слова           |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  7C | CLRQ      | -&amp;quot;-                           | Очистка квадрослова              |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  91 | CMPB      | КОП src1.rx,src2.rx           | Сравнение байтов                 |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B1 | CMPW      | -&amp;quot;-                           | Сравнение слов                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D1 | CMPL      | -&amp;quot;-                           | Сравнение двойных слов           |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  99 | CVTBW     | КОП src.rx,dst.my             | Преобразование байта в           |&lt;br /&gt;
|     |           |                               | слово                            |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  98 | CVTBL     | -&amp;quot;-                           | Преобразование байта в           |&lt;br /&gt;
|     |           |                               | двойное слово                    |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  33 | CVTWB     | -&amp;quot;-                           | Преобразование слова в           |&lt;br /&gt;
|     |           |                               | байт                             |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  32 | CVTWL     | -&amp;quot;-                           | Преобразование слова в           |&lt;br /&gt;
|     |           |                               | двойное слово                    |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F6 | CVTLB     | -&amp;quot;-                           | Преобразование двойно-           |&lt;br /&gt;
|     |           |                               | го слова в байт                  |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F7 | CVTLW     | -&amp;quot;-                           | Преобразование двойно-           |&lt;br /&gt;
|     |           |                               | го слова в слово                 |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  97 | DECB      | КОП dif.mx                    | Декремент на один байт           |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B7 | DECW      | -&amp;quot;-                           | Декремент на одно слово          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D7 | DECL      | -&amp;quot;-                           | Декремент на одно двой-          |&lt;br /&gt;
|     |           |                               | ное слово                        |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  86 | DIVB2     | КОП divr.rx,quo.mx            | Деление байтов двухопе-          |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A6 | DIVW2     | -&amp;quot;-                           | Деление слов двухопе -           |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C6 | DIVL2     | -&amp;quot;-                           | Деление двойных слов             |&lt;br /&gt;
|     |           |                               | двухоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  87 | DIVB3     | КОП divr.rx,divd.rx,          | Деление байтов трехопе-          |&lt;br /&gt;
|     |           | quo.wx                        | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A7 | DIVW3     | -&amp;quot;-                           | Деление слов трехопе -           |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C7 | DIVL3     | -&amp;quot;-                           | Деление двойных слов             |&lt;br /&gt;
|     |           |                               | трехоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  7B | EDIV      | КОП divr.rl,divd.rq,          | Расширенное деление              |&lt;br /&gt;
|     |           | quo.wl,rem.wl                 |                                  |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  7A | EMUL      | КОП mulr.rl,muld.rl,          | Расширенное умножение            |&lt;br /&gt;
|     |           | add.rl,prod.wq                |                                  |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  96 | INCB      | КОП sum.mx                    | Инкремент на один байт           |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B6 | INCW      | -&amp;quot;-                           | Инкремент на одно слово          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D6 | INCL      | -&amp;quot;-                           | Инкремент на одно двой-          |&lt;br /&gt;
|     |           |                               | ное слово                        |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  92 | MCOMB     | КОП src.rx,dst.wx             | Пересылка байта с инвер-         |&lt;br /&gt;
|     |           |                               | сией                             |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B2 | MCOMW     | -&amp;quot;-                           | Пересылка слова с инвер-         |&lt;br /&gt;
|     |           |                               | сией                             |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D2 | MCOML     | -&amp;quot;-                           | Пересылка двойного слова         |&lt;br /&gt;
|     |           |                               | с инверсией                      |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  8E | MNEGB     | -&amp;quot;-                           | Пересылка байта с ариф -         |&lt;br /&gt;
|     |           |                               | метическим отрицанием            |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  AE | MNEGW     | -&amp;quot;-                           | Пересылка слова с ариф -         |&lt;br /&gt;
|     |           |                               | метическим отрицанием            |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  CE | MNEGL     | -&amp;quot;-                           | Пересылка двойного слова         |&lt;br /&gt;
|     |           |                               | с арифметическим отрица-         |&lt;br /&gt;
|     |           |                               | нием                             |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  90 | MOVB      | -&amp;quot;-                           | Пересылка байта                  |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B0 | MOVW      | -&amp;quot;-                           | Пересылка слова                  |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D0 | MOVL      | -&amp;quot;-                           | Пересылка двойного слова         |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  7D | MOVQ      | -&amp;quot;-                           | Пересылка квадрослова            |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  9B | MOVZBW    | КОП src.rx,dst.wy             | Пересылка байта с допол-         |&lt;br /&gt;
|     |           |                               | нением ведущими нулями           |&lt;br /&gt;
|     |           |                               | до слова                         |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  9A | MOVZBL    | -&amp;quot;-                           | Пересылка байта с допол-         |&lt;br /&gt;
|     |           |                               | нением ведущими нулями           |&lt;br /&gt;
|     |           |                               | до двойного слова                |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  BC | MOVZWL    | -&amp;quot;-                           | Пересылка слова с допол-         |&lt;br /&gt;
|     |           |                               | нением ведущими нулями           |&lt;br /&gt;
|     |           |                               | до двойного слова                |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  84 | MULB2     | КОП mulr.rx,prod.mx           | Умножение байтов двух-           |&lt;br /&gt;
|     |           |                               | операндное                       |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A4 | MULW2     | -&amp;quot;-                           | Умножение слов двухопе-          |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C4 | MULL2     | -&amp;quot;-                           | Умножение двойных слов           |&lt;br /&gt;
|     |           |                               | двухоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  85 | MULB3     | КОП mulr.rx,muld.rx,          | Умножение байтов трех-           |&lt;br /&gt;
|     |           | prod.wx                       | операндное                       |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A5 | MULW3     | -&amp;quot;-                           | Умножение слов трехопе-          |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C5 | MULL3     | -&amp;quot;-                           | Умножение двойных слов           |&lt;br /&gt;
|     |           |                               | трехоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  DD | PUSHL     | КОП src.rl,{-(SP).wl}         | Занесение двойного сло-          |&lt;br /&gt;
|     |           |                               | ва в стек                        |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  9C | ROTL      | КОП cnt.rb,src.rl,dst.wl      | Циклический сдвиг двой-          |&lt;br /&gt;
|     |           |                               | ного слова                       |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D9 | SBWC      | КОП sub.rl,dif.ml             | Вычитание с переносом            |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  82 | SUBB2     | КОП sub.rx,dif.mx             | Вычитание байтов двух -          |&lt;br /&gt;
|     |           |                               | операндное                       |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A2 | SUBW2     | -&amp;quot;-                           | Вычитание слов двухопе-          |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C2 | SUBL2     | -&amp;quot;-                           | Вычитание двойных слов           |&lt;br /&gt;
|     |           |                               | двухоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  83 | SUBB3     | КОП sub.rx,min.rx,            | Вычитание байтов трех-           |&lt;br /&gt;
|     |           | dif.wx                        | операндное                       |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  A3 | SUBW3     | -&amp;quot;-                           | Вычитание слов трехопе-          |&lt;br /&gt;
|     |           |                               | рандное                          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  C3 | SUBL3     | КОП sub.rx,min.rx,            | Вычитание двойных слов           |&lt;br /&gt;
|     |           | dif.wx                        | трехоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  95 | TSTB      | КОП src.rx                    | Проверка разрядов байта          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B5 | TSTW      | -&amp;quot;-                           | Проверка разрядов слова          |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D5 | TSTL      | -&amp;quot;-                           | Проверка разрядов двойно-        |&lt;br /&gt;
|     |           |                               | го слова                         |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  8C | XORB2     | КОП mask.rx,dst.mx            | Сложение байтов по MOD2          |&lt;br /&gt;
|     |           |                               | двухоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  AC | XORW2     | -&amp;quot;-                           | Сложение слов по MOD2            |&lt;br /&gt;
|     |           |                               | двухоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  CC | XORL2     | -&amp;quot;-                           | Сложение двойных слов по         |&lt;br /&gt;
|     |           |                               | MOD2 двухоперандное              |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  8D | XORB3     | КОП mask.rx,src.rx,           | Сложение байтов по MOD2          |&lt;br /&gt;
|     |           | dst.wx                        | трехоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  AD | XORW3     | -&amp;quot;-                           | Сложение слов по MOD2            |&lt;br /&gt;
|     |           |                               | трехоперандное                   |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  CD | XORL3     | -&amp;quot;-                           | Сложение двойных слов по         |&lt;br /&gt;
|     |           |                               | MOD2 трехоперандное              |&lt;br /&gt;
+-----+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. Команды работы со стеками и адресами памяти  ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  9E  | MOVAB     | КОП src.ax,dst.wl             | Пересылка адреса байта           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  3E  | MOVAW     | -&amp;quot;-                           | Пересылка адреса слова           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  DE  | MOVAL,    | -&amp;quot;-                           | Пересылка адреса двойного        |&lt;br /&gt;
|      | MOVAF     |                               | слова /или слова формата         |&lt;br /&gt;
|      |           |                               | F/                               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  7E  | MOVAQ,    | КОП src.ax,dst.wl             | Пересылка адреса четвер-         |&lt;br /&gt;
|      | MOVAD,    |                               | ного слова /или слов             |&lt;br /&gt;
|      | MOVAG     |                               | форматов D, G  /                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 7FFD | MOVAO,    | -&amp;quot;-                           | Пересылка адреса восьмер-        |&lt;br /&gt;
|      | MOVAH     |                               | ного слова /или слова            |&lt;br /&gt;
|      |           |                               | формата H/                       |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  BF  | PUSHAB    | КОП src.ax,{-(SP).wl}         | Пересылка адреса байта           |&lt;br /&gt;
|      |           |                               | в стек                           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  3F  | PUSHAW    | -&amp;quot;-                           | Пересылка адреса слова           |&lt;br /&gt;
|      |           |                               | в стек                           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  DF  | PUSHAL,   | -&amp;quot;-                           | Пересылка адреса двой-           |&lt;br /&gt;
|      | PUSHAF    |                               | ного слова /или слова            |&lt;br /&gt;
|      |           |                               | формата F / в стек               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  7F  | PUSHAQ,   | -&amp;quot;-                           | Пересылка адреса чет -           |&lt;br /&gt;
|      | PUSHAD,   |                               | верного слова /или слов          |&lt;br /&gt;
|      | PUSHAG    |                               | форматов D ; G / в               |&lt;br /&gt;
|      |           |                               | стек                             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 7FFD | PUSHAO,   | -&amp;quot;-                           | Пересылка адреса вось-           |&lt;br /&gt;
|      | PUSHAH    |                               | мерного слова/или сло-           |&lt;br /&gt;
|      |           |                               | ва формата H/ в стек             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Команды управления ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  9D  | ACBB      | КОП limit.rx,add.rx,          | Сложение байтов со               |&lt;br /&gt;
|      |           | index.mx,displ.bw             | сравнением и переход             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  3D  | ACBW      | -&amp;quot;-                           | Сложение слов со                 |&lt;br /&gt;
|      |           |                               | сравнением и переход             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F1  | ACBL      | КОП limit.rx,add.rx,          | Сложение двойных слов со         |&lt;br /&gt;
|      |           | index.mx,displ.bw             | сравнением и переход             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  4F  | ACBF      | -&amp;quot;-                           | Сложение слов формата F          |&lt;br /&gt;
|      |           |                               | со сравнением и переход          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  6F  | ACBD      | -&amp;quot;-                           | Сложение слов формата D          |&lt;br /&gt;
|      |           |                               | со сравнением и переход          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 4FFD | ACBG      | -&amp;quot;-                           | Сложение слов формата G          |&lt;br /&gt;
|      |           |                               | со сравнением и переход          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 6FFD | ACBH      | -&amp;quot;-                           | Сложение слов формата H          |&lt;br /&gt;
|      |           |                               | со сравнением и переход          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F3  | AOBLEQ    | КОП limit.rx,index.ml,        | Прибавить единицу и пере-        |&lt;br /&gt;
|      |           | displ.bb                      | ход, если меньше или             |&lt;br /&gt;
|      |           |                               | равно                            |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F2  | AOBLSS    | -&amp;quot;-                           | Прибавить единицу и пере-        |&lt;br /&gt;
|      |           |                               | ход, если меньше                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  19  | BLSS      | КОП displ.bb                  | Переход, если  N = I             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  15  | BLEQ      | -&amp;quot;-                           | Переход, если {NORZ}=1           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  13  | BEQL,BEQLU| -&amp;quot;-                           | Переход, если  Z = I             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  12  | BNEQ,BNEQU| -&amp;quot;-                           | Переход, если  Z = 0             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  I8  | BGEQ      | -&amp;quot;-                           | Переход, если  N = 0             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  14  | BGTR      | -&amp;quot;-                           | Переход, если {NORZ} = 0         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  1F  | BLSSU,BCS | -&amp;quot;-                           | Переход, если  C = I             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  1B  | BLEQU     | -&amp;quot;-                           | Переход, если {COR Z}= I         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  1E  | BGEQU,BCC | -&amp;quot;-                           | Переход, если  C = 0             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  1A  | BGTRU     | -&amp;quot;-                           | Переход, если {CORZ} = 0         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  1D  | BVS       | -&amp;quot;-                           | Переход, если  V = I             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  1C  | BVC       | -&amp;quot;-                           | Переход, если  V = 0             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E0  | BBS       | КОП pos.rl,base.vb,           | Ветвление по биту /указан-       |&lt;br /&gt;
|      |           | disp l.bb,{field.rv}          | ный разряд равен I/              |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E1  | BBC       | -&amp;quot;-                           | Ветвление по биту /указан-       |&lt;br /&gt;
|      |           |                               | ный разряд равен 0/              |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E2  | BBSS      | -&amp;quot;-                           | Ветвление по установлен-         |&lt;br /&gt;
|      |           |                               | ному биту и установить /без      |&lt;br /&gt;
|      |           |                               | блокировки памяти/               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E4  | BBSC      | -&amp;quot;-                           | Ветвление по установлен-         |&lt;br /&gt;
|      |           |                               | ному биту и очистить /без        |&lt;br /&gt;
|      |           |                               | блокировки памяти/               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E5  | BBCC      | -&amp;quot;-                           | Ветвление по очищенному          |&lt;br /&gt;
|      |           |                               | биту и очистить /без бло -       |&lt;br /&gt;
|      |           |                               | кировки памяти/                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E3  | BBCS      | -&amp;quot;-                           | Ветвление по очищенному          |&lt;br /&gt;
|      |           |                               | биту и установить /без           |&lt;br /&gt;
|      |           |                               | блокировки памяти/               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E6  | BBSSI     | -&amp;quot;-                           | Ветвление по установлен-         |&lt;br /&gt;
|      |           |                               | ному биту и установить с         |&lt;br /&gt;
|      |           |                               | блокировкой памяти               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E7  | BBCCI     | -&amp;quot;-                           | Ветвление по сброшенному         |&lt;br /&gt;
|      |           |                               | биту и очистить с блоки -        |&lt;br /&gt;
|      |           |                               | ровкой памяти                    |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E8  | BLBS      | КОП src.rl,displ.bb           | Ветвление, если установлен       |&lt;br /&gt;
|      |           |                               | младший бит                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  E9  | BLBC      | -&amp;quot;-                           | Ветвление, если сброшен          |&lt;br /&gt;
|      |           |                               | младший бит                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  II  | BRB       | КОП displ.bx                  | Безусловный переход с бай-       |&lt;br /&gt;
|      |           |                               | товым смещением                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  3I  | BRW       | -&amp;quot;-                           | Безусловный переход со сме-      |&lt;br /&gt;
|      |           |                               | щением в одно слово              |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  I0  | BSBB      | КОП displ.bx,{-(SP).wl}       | Переход к подпрограмме с         |&lt;br /&gt;
|      |           |                               | байтовым смещением               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  30  | BSBW      | -&amp;quot;-                           | Переход к подпрограмме со        |&lt;br /&gt;
|      |           |                               | смещением в одно слово           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  8F  | CASEB     | КОП selector.rx,base.rx,      | Многофункциональный пере-        |&lt;br /&gt;
|      |           | limit.rx,displ.bw-list        | ход с байтовым смещением         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  AF  | CASEW     | -&amp;quot;-                           | Многофункциональный пере-        |&lt;br /&gt;
|      |           |                               | ход со смещением в одно          |&lt;br /&gt;
|      |           |                               | слово                            |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  CF  | CASEL     | -&amp;quot;-                           | Многофункциональный пере-        |&lt;br /&gt;
|      |           |                               | ход со смещением в одно          |&lt;br /&gt;
|      |           |                               | двойное слово                    |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  I7  | JMP       | КОП dst.ab                    | Абсолютный безусловный           |&lt;br /&gt;
|      |           |                               | переход                          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  I6  | JSB       | КОП dst.ab,{-(SP).wl}         | Абсолютный переход к под-        |&lt;br /&gt;
|      |           |                               | программе                        |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  05  | RSB       | КОП {(SP)+.rl}                | Возврат из подпрограммы          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F4  | SOBGEQ    | КОП index.ml,displ.bb         | Вычесть единицу и переход,       |&lt;br /&gt;
|      |           |                               | если больше или равно            |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F5  | SOBGTR    | -&amp;quot;-                           | Вычесть единицу и переход,       |&lt;br /&gt;
|      |           |                               | если больше                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Команды для работы с переменными битовыми полями ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  EC  | CMPV      | КОП pos.rl,size.rb,base.vb,   | Сравнение полей                  |&lt;br /&gt;
|      |           | {field.rv},src.rl             |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  ED  | CMPZV     | -&amp;quot;-                           | Сравнение полей с рас-           |&lt;br /&gt;
|      |           |                               | ширением ведущими нулями         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  EE  | EXTV      | КОП pos.rl,size.rb,           | Выделить поле                    |&lt;br /&gt;
|      |           | base.vb,{field.rv},dst.wl     |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  EF  | EXTZV  -  | -&amp;quot;-                           | Выделить поле, расши -           |&lt;br /&gt;
|      |           |                               | ренное ведущими нулями           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  EA  | FFS       | КОП startpos.rl,              | Поиск первого установ-           |&lt;br /&gt;
|      |           | size.rb,base.vb,              | ленного разряда                  |&lt;br /&gt;
|      |           | {field.rv},findpos.wl         |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  EB  | FFC       | -&amp;quot;-                           | Поиск первого сброшен-           |&lt;br /&gt;
|      |           |                               | ного разряда                     |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F0  | INSV      | КОП src.rl,pos.rl,            | Вставка поля                     |&lt;br /&gt;
|      |           | size.rb,base.vb,              |                                  |&lt;br /&gt;
|      |           | {field.wv}                    |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. Команды вызова процедур и подпрограмм ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  FA  | CALLG     | КОП arglist.ab,               | Вызов процедуры с                |&lt;br /&gt;
|      |           | dst.ab,{-(SP).w*}             | произвольным списком             |&lt;br /&gt;
|      |           |                               | аргументов                       |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  FB  | CALLS     | КОП numg.rg.rl,               | Вызов процедуры со               |&lt;br /&gt;
|      |           | dst.ab,{-(SP).w*}             | списком аргументов в             |&lt;br /&gt;
|      |           |                               | стеке                            |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  04  | RET       | КОП {(SP)+.r*}                | Возврат из процедуры             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. Привилегированные команды ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  0C  | PROBER    | КОП mode.rb,len.rw,           | Проверка доступности по          |&lt;br /&gt;
|      |           | base.ab                       | чтению                           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  0D  | PROBEW    | -&amp;quot;-                           | Проверка доступности по          |&lt;br /&gt;
|      |           |                               | записи                           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  BC  | CHMK      | КОП param.rw,{-(ySP).w*},     | Смена режима на режим            |&lt;br /&gt;
|      |           | где: y=MINU(x,PSL &amp;lt;текущий    | ядра                             |&lt;br /&gt;
|      |           | реж.&amp;gt;)                        |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  BD  | CHME      | -&amp;quot;-                           | Смена режима на режим            |&lt;br /&gt;
|      |           |                               | исполнения                       |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  BE  | CHMS      | -&amp;quot;-                           | Смена режима на режим            |&lt;br /&gt;
|      |           |                               | супервизора                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  BF  | CHMU      | -&amp;quot;-                           | Смена режима на режим            |&lt;br /&gt;
|      |           |                               | пользователя                     |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  02  | REI       | КОП {(SP)+.r*}                | Возврат из исключитель-          |&lt;br /&gt;
|      |           |                               | ной ситуации или пре -           |&lt;br /&gt;
|      |           |                               | рывания                          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  06  | LDPCTX    | КОП {PCB.r*,-(кSP).w*},       | Загрузка контекста               |&lt;br /&gt;
|      |           | где PCB - регистр             | процесса                         |&lt;br /&gt;
|      |           | управления процес-            |                                  |&lt;br /&gt;
|      |           | сором                         |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  07  | SVPCTX    | КОП {(SP)+.r*,PCB.w*}         | Сохранение контекста             |&lt;br /&gt;
|      |           |                               | процесса                         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  DA  | MTPR      | КОП src.rl,procreg.rl         | Пересылка в процессор-           |&lt;br /&gt;
|      |           |                               | ный регистр                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  DB  | MFPR      | КОП procreg.rl,dst.wl         | Пересылка из процессор-          |&lt;br /&gt;
|      |           |                               | ного регистра                    |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. Специальные команды ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B9  | BICPSW    | КОП mask.rw                   | Сброс разрядов в слове           |&lt;br /&gt;
|      |           |                               | состояния процессора             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  B8  | BISPSW    | -&amp;quot;-                           | Установка разрядов в             |&lt;br /&gt;
|      |           |                               | слове состояния процес-          |&lt;br /&gt;
|      |           |                               | сора                             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  03  | BRT       | КОП {-(кSP).w*}               | Ошибка ветвления                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  00  | HALT      | -&amp;quot;-                           | Останов                          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  0A  | INDEX     | КОП subscript.rl,low.rl,      | Вычисление индекса               |&lt;br /&gt;
|      |           | high.rl,size.rl,indexin.rl,   |                                  |&lt;br /&gt;
|      |           | indexout.wl                   |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  DC  | MOVPSL    | КОП dst.wl                    | Пересылка из длинного            |&lt;br /&gt;
|      |           |                               | слова состояния процес-          |&lt;br /&gt;
|      |           |                               | сора                             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  01  | NOP       | КОП                           | Пустой оператор                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  BB  | PUSHR     | КОП mask.rw,{-(SP).w*}        | Пересылка содержимого            |&lt;br /&gt;
|      |           |                               | регистров в стек                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  BA  | POPR      | КОП mask.rw,{(SP)+.r*}        | Удаление содержимого             |&lt;br /&gt;
|      |           |                               | регистров из стека               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  FC  | XFC       | КОП                           | Расширенный вызов                |&lt;br /&gt;
|      |           |                               | функции                          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| FEFF | BUGW      | КОП message.bx                | Проверить слово на на-           |&lt;br /&gt;
|      |           |                               | личие ошибок                     |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| FDFF | BUGL      | -&amp;quot;-                           | Проверить двойное сло-           |&lt;br /&gt;
|      |           |                               | во на наличие ошибок             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. Команды работы с очередями ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  5C  | INSQHI    | КОП entry.ab,header.aq        | Занесение элемента в             |&lt;br /&gt;
|      |           |                               | &amp;quot;голову&amp;quot; очереди с               |&lt;br /&gt;
|      |           |                               | блокировкой памяти               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  5D  | INSQTI    | КОП entry.ab,header.aq        | Занесение элемента в             |&lt;br /&gt;
|      |           |                               | &amp;quot;хвост&amp;quot; очереди с бло-           |&lt;br /&gt;
|      |           |                               | кировкой памяти                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  0E  | INSQUE    | КОП entry.ab,pred.ab          | Занесение элемента в             |&lt;br /&gt;
|      |           |                               | очередь                          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  5E  | REMQHI    | КОП header.aq,addr.wl         | Удаление элемента из             |&lt;br /&gt;
|      |           |                               | &amp;quot;головы&amp;quot; очереди с бло-          |&lt;br /&gt;
|      |           |                               | кировкой памяти                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  5F  | REMQTI    | -&amp;quot;-                           | Удаление элемента из             |&lt;br /&gt;
|      |           |                               | &amp;quot;хвоста&amp;quot; очереди с бло-          |&lt;br /&gt;
|      |           |                               | кировкой памяти                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  0F  | REMQUE    | КОП entry.ab,addr.wl          | Удаление элемента из             |&lt;br /&gt;
|      |           |                               | очереди                          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. Команды плавающей арифметики ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  40  | ADDF2     | КОП addr.rx,sum.mx            | Сложение двухоперанд-            |&lt;br /&gt;
|      |           |                               | ное в формате F                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  60  | ADDD2     | -&amp;quot;-                           | Сложение двухоперанд-            |&lt;br /&gt;
|      |           |                               | ное в формате D                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 40FD | ADDG2     | -&amp;quot;-                           | Сложение двухоперанд-            |&lt;br /&gt;
|      |           |                               | ное в формате G                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 60FD | ADDH2     | -&amp;quot;-                           | Сложение двухоперанд-            |&lt;br /&gt;
|      |           |                               | ное в формате H                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  4I  | ADDF3     | КОП add1.rx,add2.rx,          | Сложение трехоперанд-            |&lt;br /&gt;
|      |           | sum.wx                        | ное в формате F                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  6I  | ADDD3     | -&amp;quot;-                           | Сложение трехоперанд-            |&lt;br /&gt;
|      |           |                               | ное в формате D                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 4IFD | ADDG3     | КОП add1.rx,add2.rx,          | Сложение трехоперандное          |&lt;br /&gt;
|      |           | sum.wx                        | в формате G                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 6IFD | ADDH3     | -&amp;quot;-                           | Сложение трехоперандное          |&lt;br /&gt;
|      |           |                               | в формате H                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  D4  | CLRL,CLRF | КОП dst.wx                    | Очистка двойного слова           |&lt;br /&gt;
|      |           |                               | /или слова формата F/            |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  7C  | CLRQ,CLRD,| -&amp;quot;-                           | Очистка четверного слова         |&lt;br /&gt;
|      | CLRG      |                               | /или слов форматов D ,G/         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 7CFD | CLRO,CLRH | -&amp;quot;-                           | Очистка октослова /или           |&lt;br /&gt;
|      |           |                               | слова формата H/                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  5I  | CMPF      | КОП src1.rx,src2.rx           | Сравнение слов формата F         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  7I  | CMPD      | -&amp;quot;-                           | Сравнение слов формата D         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 5IFD | CMPG      | -&amp;quot;-                           | Сравнение слов формата G         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 7IFD | CMPH      | -&amp;quot;-                           | Сравнение слов формата H         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  4B  | CVTRFL    | КОП src.rx,dst.wl             | Преобразование слова             |&lt;br /&gt;
|      |           |                               | формата F в двойное сло-         |&lt;br /&gt;
|      |           |                               | во с округлением                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  6B  | CVTRDL    | -&amp;quot;-                           | Преобразование слова             |&lt;br /&gt;
|      |           |                               | формата D  в двойное             |&lt;br /&gt;
|      |           |                               | слово с округлением              |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 4BFD | CVTRGL    | -&amp;quot;-                           | Преобразование слова             |&lt;br /&gt;
|      |           |                               | формата G  в двойное             |&lt;br /&gt;
|      |           |                               | слово с округлением              |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 6BFD | CVTRHL    | -&amp;quot;-                           | Преобразование слова             |&lt;br /&gt;
|      |           |                               | формата H в двойное              |&lt;br /&gt;
|      |           |                               | слово с округлением              |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  48  | CVTFB     | КОП src.rx,dst.wy             | Преобразование слова             |&lt;br /&gt;
|      |           |                               | формата F в байт                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  56  | CVTFD     | КОП src.rx,dst.wy             | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата F в слово формата D         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 99FD | CVTFG     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата F в слово формата G         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 98FD | CVTFH     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата F в слово формата H         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  4A  | CVTFL     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата F в двойное слово           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  49  | CVTFW     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата F в слово                   |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 48FD | CVTGB     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата G  в байт                   |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 33FD | CVTGF     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата G  в слово формата F        |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 56FD | CVTGH     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата G  в слово формата H        |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 4AFD | CVTGL     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата G  в двойное слово          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 49FD | CVTGW     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата G  в слово                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 68FD | CVTHB     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата H в байт                    |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| F7FD | CVTHD     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата H в слово формата D         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 56FD | CVTHF     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата H в слово формата F         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 76FD | CVTHG     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата H в слово формата G         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 6AFD | CVTHL     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата H в двойное слово           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 69FD | CVTHW     | -&amp;quot;-                           | Преобразование слова фор-        |&lt;br /&gt;
|      |           |                               | мата H в слово                   |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  68  | CVTDB     | КОП src.rx,dst.wy             | Преобразование слова форма-      |&lt;br /&gt;
|      |           |                               | та D  в байт                     |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  76  | CVTDF     | -&amp;quot;-                           | Преобразование слова форма-      |&lt;br /&gt;
|      |           |                               | та D  в слово формата F          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 32FD | CVTDH     | -&amp;quot;-                           | Преобразование слова форма-      |&lt;br /&gt;
|      |           |                               | та D  в слово формата H          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  6A  | CVTDL     | -&amp;quot;-                           | Преобразование слова форма-      |&lt;br /&gt;
|      |           |                               | та D  в двойное слово            |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  69  | CVTDW     | -&amp;quot;-                           | Преобразование слова форма-      |&lt;br /&gt;
|      |           |                               | та D  в слово                    |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  6C  | CVTBD     | -&amp;quot;-                           | Преобразование байта в сло-      |&lt;br /&gt;
|      |           |                               | во формата D                     |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  4C  | CVTBF     | -&amp;quot;-                           | Преобразование байта в сло-      |&lt;br /&gt;
|      |           |                               | во формата F                     |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 4CFD | CVTBG     | -&amp;quot;-                           | Преобразование байта в           |&lt;br /&gt;
|      |           |                               | слово формата G                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 6CFD | CVTBH     | -&amp;quot;-                           | Преобразование байта в           |&lt;br /&gt;
|      |           |                               | слово формата H                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  6D  | CVTWD     | -&amp;quot;-                           | Преобразование слова в           |&lt;br /&gt;
|      |           |                               | слово формата D                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  4D  | CVTWF     | -&amp;quot;-                           | Преобразование слова в           |&lt;br /&gt;
|      |           |                               | слово формата F                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 4DFD | CVTWG     | -&amp;quot;-                           | Преобразование слова в           |&lt;br /&gt;
|      |           |                               | слово формата G                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 6DFD | CVTWH     | -&amp;quot;-                           | Преобразование слова в           |&lt;br /&gt;
|      |           |                               | слово формата H                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  6E  | CVTLD     | -&amp;quot;-                           | Преобразование двойного          |&lt;br /&gt;
|      |           |                               | слова в слово формата D          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  4E  | CVTLF     | -&amp;quot;-                           | Преобразование двойного          |&lt;br /&gt;
|      |           |                               | слова в слово формата F          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 4EFD | CVTLG     | -&amp;quot;-                           | Преобразование двойного          |&lt;br /&gt;
|      |           |                               | слова в слово формата G          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 6EFD | CVTLH     | КОП rc.rx,dst.wy              | Преобразование двойного          |&lt;br /&gt;
|      |           |                               | слова в слово формата H          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  46  | DIVF2     | КОП divr.rx,quo.mx            | Деление двухоперандное           |&lt;br /&gt;
|      |           |                               | в формате F                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  66  | DIVD2     | -&amp;quot;-                           | Деление двухоперандное           |&lt;br /&gt;
|      |           |                               | в формате D                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 46FD | DIVG2     | -&amp;quot;-                           | Деление двухоперандное           |&lt;br /&gt;
|      |           |                               | в формате G                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 66FD | DIVH2     | -&amp;quot;-                           | Деление двухоперандное           |&lt;br /&gt;
|      |           |                               | в формате H                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  47  | DIVF3     | КОП divr.rx,divd.rx,          | Деление трехоперандное           |&lt;br /&gt;
|      |           | quo.wx                        | в формате F                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  67  | DIVD3     | -&amp;quot;-                           | Деление трехоперандное           |&lt;br /&gt;
|      |           |                               | в формате D                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 47FD | DIVG3     | -&amp;quot;-                           | Деление трехоперандное           |&lt;br /&gt;
|      |           |                               | в формате G                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 67FD | DIVH3     | -&amp;quot;-                           | Деление трехоперандное           |&lt;br /&gt;
|      |           |                               | в формате H                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  54  | EMODF     | КОП mulr.rx,mulrx.rb,         | Расширенное умножение            |&lt;br /&gt;
|      |           | muld.rx,int.wl,fract.wx       | в формате F с выделе-            |&lt;br /&gt;
|      |           |                               | нием целой части                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  74  | EMODD     | -&amp;quot;-                           | Расширенное умножение            |&lt;br /&gt;
|      |           |                               | в формате D  с вы-               |&lt;br /&gt;
|      |           |                               | делением целой части             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 54FD | EMODG     | КОП mulr.rx,mulrx.rw,         | Расширенное умножение            |&lt;br /&gt;
|      |           | muld.rx,int.wl,fract.wx       | в формате G с выделе-            |&lt;br /&gt;
|      |           |                               | нием целой части                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 74FD | EMODH     | -&amp;quot;-                           | Расширенное умножение            |&lt;br /&gt;
|      |           |                               | в формате H с выделе-            |&lt;br /&gt;
|      |           |                               | нием целой части                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  52  | MNEGF     | КОП src.rx,dst.wx             | Пересылка с арифметическим       |&lt;br /&gt;
|      |           |                               | отрицанием в формате F           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  72  | MNEGD     | -&amp;quot;-                           | Пересылка с арифметическим       |&lt;br /&gt;
|      |           |                               | отрицанием в формате D           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 52FD | MNEGG     | -&amp;quot;-                           | Пересылка с арифметическим       |&lt;br /&gt;
|      |           |                               | отрицанием в формате G           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 72FD | MNEGH     | -&amp;quot;-                           | Пересылка с арифметическим       |&lt;br /&gt;
|      |           |                               | отрицанием в формате H           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  50  | MOVF      | -&amp;quot;-                           | Пересылка слов формата F         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  70  | MOVD      | -&amp;quot;-                           | Пересылка слов формата D         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 50FD | MOVG      | -&amp;quot;-                           | Пересылка слов формата G         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 70FD | MOVH      | -&amp;quot;-                           | Пересылка слов формата H         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  44  | MULF2     | КОП mulr.rx,                  | Умножение двухоперандное         |&lt;br /&gt;
|      |           | prod.mx                       | в формате F                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  64  | MULD2     | -&amp;quot;-                           | Умножение двухоперандное         |&lt;br /&gt;
|      |           |                               | в формате D                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 44FD | MULG2     | -&amp;quot;-                           | Умножение двухоперандное         |&lt;br /&gt;
|      |           |                               | в формате G                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 64FD | MULH2     | -&amp;quot;-                           | Умножение двухоперандное         |&lt;br /&gt;
|      |           |                               | в формате H                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  45  | MULF3     | КОП mulr.rx,                  | Умножение трехоперандное         |&lt;br /&gt;
|      |           | muld.rx,prod.wx               | в формате F                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  65  | MULD3     | -&amp;quot;-                           | Умножение трехоперандное         |&lt;br /&gt;
|      |           |                               | в формате D                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 45FD | MULG3     | -&amp;quot;-                           | Умножение трехоперандное         |&lt;br /&gt;
|      |           |                               | в формате G                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 65FD | MULH3     | -&amp;quot;-                           | Умножение трехоперандное         |&lt;br /&gt;
|      |           |                               | в формате H                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  55  | POLYF     | КОП arg.rf,degree.rw,         | Вычисление значения поли-        |&lt;br /&gt;
|      |           | tbladdr.ab,{R0-3.wl}          | нома в формате F                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  75  | POLYD     | КОП arg.rd,degree.rw,         | Вычисление значения поли-        |&lt;br /&gt;
|      |           | tbladdr.ab,{R0-5.wl}          | нома в формате D                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 55FD | POLYG     | КОП arg.rg,degree.rw,         | Вычисление значения поли-        |&lt;br /&gt;
|      |           | tbladdr.db,{R0-5.wl}          | нома в формате G                 |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 75FD | POLYH     | КОП adg.rh,degree.rw,         | Вычисление значения поли-        |&lt;br /&gt;
|      |           | tbladdr.ab,                   | нома в формате H                 |&lt;br /&gt;
|      |           | {R0-5.wl,-16(SP):-1(SP).wb}   |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  42  | SUBF2     | КОП sub.rx,dif.mx             | Вычитание двухоперандное         |&lt;br /&gt;
|      |           |                               | в формате F                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  62  | SUBD2     | -&amp;quot;-                           | Вычитание двухоперандное         |&lt;br /&gt;
|      |           |                               | в формате D                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 42FD | SUBG2     | -&amp;quot;-                           | Вычитание двухоперандное         |&lt;br /&gt;
|      |           |                               | в формате G                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 62FD | SUBH2     | -&amp;quot;-                           | Вычитание двухоперандное         |&lt;br /&gt;
|      |           |                               | в формате H                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  43  | SUBF3     | КОП sub.rx,min.rx,dif.wx      | Вычитание трехоперандное         |&lt;br /&gt;
|      |           |                               | в формате F                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  63  | SUBD3     | -&amp;quot;-                           | Вычитание трехоперандное         |&lt;br /&gt;
|      |           |                               | в формате D                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 43FD | SUBG3     | -&amp;quot;-                           | Вычитание трехоперандное         |&lt;br /&gt;
|      |           |                               | в формате G                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 63FD | SUBH3     | -&amp;quot;-                           | Вычитание трехоперандное         |&lt;br /&gt;
|      |           |                               | в формате H                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  53  | TSTF      | КОП src.rx                    | Тестирование в формате F         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  73  | TSTD      | -&amp;quot;-                           | Тестирование в формате D         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 53FD | TSTG      | -&amp;quot;-                           | Тестирование в формате G         |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| 73FD | TSTH      | КОП src.rx                    | Тестирование в форма-            |&lt;br /&gt;
|      |           |                               | те H                             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. Команды обработки строк символов ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  29  | CMPC3     | КОП len.rw,src1addr.ab,       | Трехоперандное сим -             |&lt;br /&gt;
|      |           | src2addr.ab,{R0-3.wl}         | вольное сравнение                |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  2D  | CMPC5     | КОП src1len.rw,src1addr.ab,   | Пятиоперандное сим -             |&lt;br /&gt;
|      |           | fill.rb,src2len.rw,           | вольное сравнение                |&lt;br /&gt;
|      |           | src2addr.ab,{R0-3.wl}         |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  3A  | LOCC      | КОП char.rb,len.rw,addr.ab,   | Поиск символа                    |&lt;br /&gt;
|      |           | {R0-1.wl}                     |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  39  | MATCHC    | КОП len1.rw,addr1.ab,len2.rw, | Поиск подстроки                  |&lt;br /&gt;
|      |           | addr2.ab,{R0-3.wl}            |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  28  | MOVC3     | КОП len.rw,srcaddr.ab,        | Трехоперандная пере-             |&lt;br /&gt;
|      |           | dstaddr.ab,{R0-5.wl}          | сылка символов                   |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  2C  | MOVC5     | КОП srclen.rw,srcaddr.ab,     | Пятиоперандная пере-             |&lt;br /&gt;
|      |           | fill.rb,dstlen.rw,dstaddr.ab  | сылка символов                   |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  2E  | MOVTC     | КОП srclen.rw,srcaddr.ab,     | Пересылка символов с             |&lt;br /&gt;
|      |           | fill.rb,tbladdr.ab,dstlen.rw, | трансляцией                      |&lt;br /&gt;
|      |           | dstaddr.ab,{R0-5.wl}          |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  2F  | MOVTUC    | КОП srclen.rw,srcaddr.ab,     | Пересылка символов с             |&lt;br /&gt;
|      |           | esc.rb,tbladdr.ab,            | трансляцией и выходом            |&lt;br /&gt;
|      |           | dstlen.rw,dstaddr.ab,         | по указанному символу            |&lt;br /&gt;
|      |           | {R0-5.ml}                     |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  2A  | SCANC     | КОП len.rw,addr.ab,           | Сканирование символов            |&lt;br /&gt;
|      |           | tbladdr.ab,mask.rb,{R0-3.wl}  |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  3B  | SKPC      | КОП char.rb,len.rw,addr.ab,   | Пропуск символов                 |&lt;br /&gt;
|      |           | {R0-1.wl}                     |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  2B  | SPANC     | КОП len.rw,addr.ab,           | Поиск символа                    |&lt;br /&gt;
|      |           | tbladdr.ab,mask.rb,           |                                  |&lt;br /&gt;
|      |           | {R0-3.wl}                     |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 11. Команды десятичной строки цифр ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  20  | ADDP4     | КОП addlen.rw,addaddr.ab,     | Четырехоперандное сло-           |&lt;br /&gt;
|      |           | sumlen.rw,sumaddr.ab,         | жение в упакованном              |&lt;br /&gt;
|      |           | {R0-3.wl}                     | формате                          |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  21  | ADDP6     | КОП add1len.rw,add1addr.ab,   | Шестиоперандное сложе-           |&lt;br /&gt;
|      |           | add2len.rw,add2addr.ab,       | ние в упакованном фор-           |&lt;br /&gt;
|      |           | sumlen.rw,sumaddr.ab,         | мате                             |&lt;br /&gt;
|      |           | {R0-5.wl}                     |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F8  | ASHP      | КОП cnt.rb,srclen.rw,         | Арифметический сдвиг и           |&lt;br /&gt;
|      |           | srcaddr.ab,round.rb,dstlen.rw,| округление в упакован -          |&lt;br /&gt;
|      |           | dstaddr.ab,{R0-3.wl}          | ном формате                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  35  | CMPP3     | КОП len.rw,src1addr.ab,       | Трехоперандное сравне -          |&lt;br /&gt;
|      |           | src2addr.ab,{R0-3.wl}         | ние в упакованном фор -          |&lt;br /&gt;
|      |           |                               | мате                             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  37  | CMPP4     | КОП src1len.rw,src1addr.ab,   | Четырехоперандное срав-          |&lt;br /&gt;
|      |           | src2len.rw,src2addr.ab,       | нение в упакованном фор-         |&lt;br /&gt;
|      |           | {R0-3.wl}                     | мате                             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  F9  | CVTLP     | КОП src.rl,dstlen.rw,         | Преобразование двойно-           |&lt;br /&gt;
|      |           | dstaddr.ab,{R0-3.wl}          | го слова в упакованный           |&lt;br /&gt;
|      |           |                               | формат                           |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  36  | CVTPL     | КОП srclen.rw,srcaddr.ab,     | Преобразование упакован-         |&lt;br /&gt;
|      |           | {R0-3.wl},dst.wl              | ного формата в двойное           |&lt;br /&gt;
|      |           |                               | слово                            |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  08  | CVTPS     | КОП srclen.rw,srcaddr.ab,     | Преобразование упако -           |&lt;br /&gt;
|      |           | dstlen.rw,dstaddr.ab,         | ванного формата в чис-           |&lt;br /&gt;
|      |           | {R0-3.wl}                     | ловой с выделенным ве-           |&lt;br /&gt;
|      |           |                               | дущим знаком                     |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  24  | CVTPT     | КОП srclen.rw,srcaddr.ab,     | Преобразование из упа-           |&lt;br /&gt;
|      |           | tbladdr.ab,dstlen.rw,         | кованного формата в              |&lt;br /&gt;
|      |           | dstaddr.ab,{R0-3.wl}          | усеченный числовой               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  09  | CVTSP     | КОП srclen.rw,srcaddr.ab,     | Преобразование из чис-           |&lt;br /&gt;
|      |           | dstlen.rw,dstaddr.ab,         | лового формата с выде-           |&lt;br /&gt;
|      |           | {R0-3.wl}                     | ленным ведущим знаком            |&lt;br /&gt;
|      |           |                               | в упакованный                    |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  26  | CVTTP     | КОП srclen.rw,srcaddr.ab,     | Преобразование из усе-           |&lt;br /&gt;
|      |           | tbladdr.ab,dstlen.rw,         | ченного числового фор-           |&lt;br /&gt;
|      |           | dstaddr.ab,{R0-3.wl}          | мата в упакованный               |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  27  | DIVP      | КОП divrlen.rw,divraddr.ab,   | Деление в упакованном            |&lt;br /&gt;
|      |           | divdln.rw,divdaddr.ab,        | формате                          |&lt;br /&gt;
|      |           | quolen.rw,quoaddr.ab,         |                                  |&lt;br /&gt;
|      |           | {R0-5.wl,-16(SP):-1(SP).wb}   |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  34  | MOVP      | КОП len.rw,srcaddr.ab,        | Пересылка в упакован-            |&lt;br /&gt;
|      |           | dstaddr.ab,{R0-3.wl}          | ном формате                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  25  | MULP      | КОП mulrlen.rw,mulraddr.ab,   | Умножение в упакован-            |&lt;br /&gt;
|      |           | muldlen.rw,muldaddr.ab,       | ном формате                      |&lt;br /&gt;
|      |           | prodlen.rw,prodaddr.ab,       |                                  |&lt;br /&gt;
|      |           | {R0-5.wl}                     |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  22  | SUBP4     | КОП sublen.rw,subaddr.ab,     | Четырехоперандное                |&lt;br /&gt;
|      |           | diflen.rw,difaddr.ab,         | вычитание в упакован-            |&lt;br /&gt;
|      |           | {R0-3.wl}                     | ном формате                      |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  23  | SUBP6     | КОП sublen.rw,subaddr.ab,     | Шестиоперандное                  |&lt;br /&gt;
|      |           | minlen.rw,minaddr.ab,         | вычитание в упакован-            |&lt;br /&gt;
|      |           | diflen.rw,difaddr.ab,         | ном формате                      |&lt;br /&gt;
|      |           | {R0-5.wl}                     |                                  |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 12. Контроль циклической избыточности ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  0B  | CRC       | КОП tbl.ab,inicrc.rl,         | Вычисление циклического          |&lt;br /&gt;
|      |           | strlen.rw,stream.ab           | полинома для проверки            |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 13. Редактирование ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
| Код  | Мнемоника |            Формат             |           Назначение             |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
|  38  | EDITPC    | КОП srclen.rw,                | Редактирование упако-            |&lt;br /&gt;
|      |           | srcaddr.ab,pattern.ab,        | ванной строки в символь-         |&lt;br /&gt;
|      |           | dstaddr.ab                    | ную                              |&lt;br /&gt;
+------+-----------+-------------------------------+----------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Формат команды ==&lt;br /&gt;
&lt;br /&gt;
В вычислительной системе &amp;quot;Электроника 32&amp;quot; используется формат команды переменной длины. Длина формата может быть от одного байта и выше в зависимости от типа команды. Обобщенная схема формата команды приведена на рис. 51.&lt;br /&gt;
&lt;br /&gt;
Общая схема формата команды&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| Код операции (1 или 2 байта)  |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| Спецификатор операнда 1       |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| Спецификатор операнда 2       |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
|              .                |&lt;br /&gt;
|              .                |&lt;br /&gt;
|              .                |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
| Спецификатор операнда N       |&lt;br /&gt;
+-------------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рис. 51.&lt;br /&gt;
&lt;br /&gt;
Каждая команда состоит из кода операции и следующих за ним от 0 до 6 спецификаторов операндов, количество и тип которых зависят от кода операции. Код операции точно определяет как требуемая операция будет выполняться. Под код операции может отводиться один или два байта, в зависимости от содержимого байта с адресом &amp;quot;А&amp;quot;. Два байта будут использоваться под код операции при условии, что значение числа, содержащегося в этом байте, находится в диапазоне от FC(16) до FF(16). Формат кода операции приведен на рис. 52.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:1839VM1 TO Pic52.png|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Каждый из спецификаторов операнда имеет одинаковый формат, т.е. метод адресации плюс дополнительная информация. Эта дополнительная информация содержит до двух переменных: указателя регистра и адрес; указатель регистра и данные; указатель регистра и смещение. Использование операнда определяется косвенно из кода операции и называется типом операнда.&lt;br /&gt;
&lt;br /&gt;
Спецификатор операнда описывается следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
⟨Название⟩ ,   ⟨тип доступа⟩   ⟨тип данных⟩&lt;br /&gt;
                 \___________/&lt;br /&gt;
                 тип операнда&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
где&lt;br /&gt;
&lt;br /&gt;
⟨Название⟩ - определяет операнд в контексте инструкции.&lt;br /&gt;
&lt;br /&gt;
⟨Тип доступа⟩ - спецификатора операнда обозначается одной&lt;br /&gt;
буквой:&lt;br /&gt;
&lt;br /&gt;
* a - вычисляется эффективный адрес операнда. Адрес формируется в двойном слове, которое является фактическим операндом инструкции. Контекст вычисления адреса является типом данных, т.е. величиной, используемой для автоинкрементации, автодекрементации и индексации;&lt;br /&gt;
* b - нет ссылок на операнд. Спецификатор операнда представляет собой смещение перехода. Размер смещения переходаопределяется типом данных;&lt;br /&gt;
* m - операнд считывается, может быть модифицирован и записывается. Если операнд фактически не модифицируется, то он может и не записываться обратно. Несмотря на это, операнды с таким типом доступа всегда проверяются на возможность как чтения, так и записи;&lt;br /&gt;
* r - операнд только читается;&lt;br /&gt;
* v - вычисляется эффективный адрес операнда (доступ &amp;quot;поле&amp;quot;). Если эффективный адрес формируется в памяти, то он сохраняется в двойном слове, которое является фактическим операндом инструкции. Если эффективным адресом является регистр Rn, то операндом является R[n] или R[n+1]&amp;#039;R[n];&lt;br /&gt;
* w - операнд доступен только по записи.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
⟨Тип данных⟩ - обозначают следующим образом:&lt;br /&gt;
&lt;br /&gt;
* b  - байт&lt;br /&gt;
* d  - плавающее слово типа D&lt;br /&gt;
* f  - плавающее слово типа F&lt;br /&gt;
* g  - плавающее слово типа G&lt;br /&gt;
* h  - плавающее слово типа H&lt;br /&gt;
* l  - двойное слово&lt;br /&gt;
* o  - восьмерное слово&lt;br /&gt;
* q  - четверное слово&lt;br /&gt;
* w  - слово&lt;br /&gt;
* x  - {первый тип данных определяется инструкцией}&lt;br /&gt;
* y  - {второй тип данных определяется инструкцией}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Адресация операндов ===&lt;br /&gt;
&lt;br /&gt;
Методы адресации совместно с шестнадцатью регистрами общего назначения обеспечивают удобный метод работы с данными, так как они точно определяют, каким образом конкретные регистры используются с целью доступа, обработки и хранения данных и команд в памяти. Регистры общего назначения могут быть использованы командой любым из следующих способов:&lt;br /&gt;
&lt;br /&gt;
* как аккумуляторы;&lt;br /&gt;
* как указатели (содержимое регистра - адрес операнда, а не сам операнд);&lt;br /&gt;
* как индексные регистры.&lt;br /&gt;
&lt;br /&gt;
Адресация может быть разделена на две категории: основные методы адресации и адресация по условному переходу. Табл. 9 дает краткое описание методов адресации через регистры общего назначения и через программный счетчик. В табл. 9 приняты следующие обозначения:&lt;br /&gt;
* D    - смещение;&lt;br /&gt;
* I    - любой метод адресации, допускающий индексирование;&lt;br /&gt;
* &amp;amp;ndash;    - логически невозможно;&lt;br /&gt;
* РМА  - ошибка по резервной моде адресации;&lt;br /&gt;
* АС   - адресация через счетчик команд;&lt;br /&gt;
* НП   - непредсказуемый результат;&lt;br /&gt;
* НЧ   - непредсказуемый  результат для  Q(0)слова, D(G,H) форматов, а также для поля бит переменной длины, если &amp;quot;позиция&amp;quot; плюс &amp;quot;размер&amp;quot; больше 32;&lt;br /&gt;
* НВ   - непредсказуемый результат для Q-слова и формата H;&lt;br /&gt;
* НИР  - непредсказуемый результат для индексного регистра, такого как базовый регистр;&lt;br /&gt;
* ДА   - всегда действительный метод адресации;&lt;br /&gt;
* Ч    - доступ по чтению;&lt;br /&gt;
* З    - доступ по записи;&lt;br /&gt;
* М    - доступ по чтению-модификации-записи;&lt;br /&gt;
* А    - доступ по адресу;&lt;br /&gt;
* БА   - доступ по базовому адресу поля бит переменной длины.&lt;br /&gt;
&lt;br /&gt;
Таблица 9&lt;br /&gt;
&lt;br /&gt;
Краткий обзор методов адресации&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+--------------------------------------------------------------------------------+&lt;br /&gt;
|                         Общая регистровая адресация                            |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
| Мода | Название метода| Ассемблер |          Доступ           | Использование  |&lt;br /&gt;
| (16) | адресации      |           +-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|      |                |           |  Ч  |  М  |  З  |  А  | БА|  PC | SP | ИНД |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  1   |       2        |     3     |  4  |  5  |  6  |  7  | 8 |  9  | 1O |  11 |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
| 0-3  | Литеральный    | S↑Literal | ДА  | РМА | РМА | РМА |РМА|  -  | -  | РМА |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  4   | Индексный      | I [Rx]    | ДА  | ДА  | ДА  | ДА  | ДА| РМА | ДА | РМА |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  5   | Регистровый    | Rn        | ДА  | ДА  | ДА  | РМА | ДА| НП  | НЧ | РМА |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  6   | Косвенно-      | (Rn)      | ДА  | ДА  | ДА  | ДА  | ДА| НП  | ДА | ДА  |&lt;br /&gt;
|      | -регистровый   |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  7   | Автодекремент- | -(Rn)     | ДА  | ДА  | ДА  | ДА  | ДА| НП  | ДА | НИР |&lt;br /&gt;
|      | ный            |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  8   | Автоинкремент- | (Rn)+     | ДА  | ДА  | ДА  | ДА  | ДА| АС  | ДА | НИР |&lt;br /&gt;
|      | ный            |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  9   | Косвенно-авто- | @(Rn)+    | ДА  | ДА  | ДА  | ДА  | ДА| АС  | ДА | НИР |&lt;br /&gt;
|      | инкрементный   |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  A   | С байтовым сме-| B↑D(Rn)   | ДА  | ДА  | ДА  | ДА  | ДА| АС  | ДА | ДА  |&lt;br /&gt;
|      | щением         |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  B   | Косвенный с бай| @↑BD(Rn)  | ДА  | ДА  | ДА  | ДА  | ДА| АС  | ДА | ДА  |&lt;br /&gt;
|      | товым смещением|           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  C   | Со словным сме-| W↑D(Rn)   | ДА  | ДА  | ДА  | ДА  | ДА| АС  | ДА | ДА  |&lt;br /&gt;
|      | щением         |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  D   | Косвенный со   | @↑D(Rn)   | ДА  | ДА  | ДА  | ДА  | ДА| АС  | ДА | ДА  |&lt;br /&gt;
|      | словным смеще -|           |     |     |     |     |   |     |    |     |&lt;br /&gt;
|      | нием           |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  E   | С двухсловным  | L↑D(Rn)   | ДА  | ДА  | ДА  | ДА  | ДА| АС  | ДА | ДА  |&lt;br /&gt;
|      | смещением      |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
|  F   | Косвенный с    | @L↑D(Rn)  | ДА  | ДА  | ДА  | ДА  | ДА| АС  | ДА | ДА  |&lt;br /&gt;
|      | двухсловным    |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
|      | смещением      |           |     |     |     |     |   |     |    |     |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+---+-----+----+-----+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------------------------------------------------------------------------------+&lt;br /&gt;
|                         Адресация через программный счетчик                  |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
| Мо-  | Название мето- | ААссемблер|          Доступ            |  Использо-  |&lt;br /&gt;
| да   | да адресации   |           +-----+-----+-----+-----+----+  вание      |&lt;br /&gt;
| (16) |                |           |  Ч  |  М  |  З  |  А  | БА | PC | SP |ИНД|&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
|  8   | Непосредствен- | I↑# Const | ДА  | НП  | НП  | ДА  | ДА |  - |  - | ДА|&lt;br /&gt;
|      | ный            |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
|  9   | Абсолютный     | @#adress  | ДА  | ДА  | ДА  | ДА  | ДА |  - |  - | ДА|&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
|  A   | Относительный  | B↑adress  | ДА  | ДА  | ДА  | ДА  | ДА |  - |  - | ДА|&lt;br /&gt;
|      | байтовый       |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
|  B   | Косвенно-отно- | @B↑adress | ДА  | ДА  | ДА  | ДА  | ДА |  - |  - | ДА|&lt;br /&gt;
|      | сительный бай- |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
|      | товый          |           |     |     |     |     |    |    |  - |   |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
|  C   | Относительный  | W↑adress  | ДА  | ДА  | ДА  | ДА  | ДА |  - |  - | ДА|&lt;br /&gt;
|      | словный        |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
|  D   | Косвенно-отно- | @↑adress  | ДА  | ДА  | ДА  | ДА  | ДА |  - |  - | ДА|&lt;br /&gt;
|      | сительный      |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
|      | словный        |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
|  E   | Относительный  | L↑adress  | ДА  | ДА  | ДА  | ДА  | ДА |  - |  - | ДА|&lt;br /&gt;
|      | двухсловный    |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
|  F   | Косвенно-отно- | @L↑adress | ДА  | ДА  | ДА  | ДА  | ДА |  - |  - | ДА|&lt;br /&gt;
|      | сительный      |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
|      | двухсловный    |           |     |     |     |     |    |    |    |   |&lt;br /&gt;
+------+----------------+-----------+-----+-----+-----+-----+----+----+----+---+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Время выполнения типовых команд (Timing) ==&lt;br /&gt;
&lt;br /&gt;
Времена выполнения команд (групп команд) микропроцессором ЛI839ВМI определены в микроциклах (1 микроцикл равен двум периодам тактовой частоты 2T_CLC), при условии идеальной памяти, пренебрегая временем на сбои конвейера адресных/безадресных подкачек команд, не учитывая внутренних торможений, обусловленных особенностями конвейера команд (это торможение по занятости регистра смещения - ТСМ, торможение по занятости буфера обмена данных и торможения приема микрокоманды). Данная процедура определения времени выполнения групп команд проводится для случая регистровых мод адресации для всех операндов команды. В случае, если применение регистровой моды адресации недопустимо, не имеет смысла, либо не является показательным в плане оценки времени выполнения, приводится время выполнения (в микроциклах) только содержательной микрообработки, исключая этап микропрограммной адресации операндов, а также время аппаратной дешифрации команд, что обычно скрыто конвейером выполнения команд. Процедура TIMING - чисто качественная оценка времен выполнения типовых команд.&lt;br /&gt;
&lt;br /&gt;
Сокращения, применяемые ниже по тексту:&lt;br /&gt;
* Р   - регистр;&lt;br /&gt;
* П   - память;&lt;br /&gt;
* РР  - формат регистр-регистр;&lt;br /&gt;
* ПП  - формат память-память;&lt;br /&gt;
* РП  - формат регистр-память.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 1. Команда ADAWI &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Случай РР - один микроцикл, особого смысла не имеет, так как в этом случае ADAWI эквивалентно простому сложению ADDW, поскольку не реализуется блокировка памяти.&lt;br /&gt;
* Случай ПП - восемь микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 2. Группа команд ADDB2, ADDW2, ADDL2, ADDB3, ADDW3, ADDL3, SUBB2, SUBW2, SUBL2, SUBB3,  SUBW3, SUBL3 &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 3. Группа команд ADWC, SBWC &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 4. Команда ASHL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Случаи регистр-приемник и приемник-память почти эквивалентны. Даже в случае регистровых мод адресации выполняется адресация операндов.&lt;br /&gt;
&lt;br /&gt;
Параметр сдвига равен I:  ~20 микроциклов.*&lt;br /&gt;
&lt;br /&gt;
При параметре сдвига, равном n (до 2⁸ сдвигов):&lt;br /&gt;
&lt;br /&gt;
* T = 20 + 3(n - 1) микроциклов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 5. Команда ASHQ &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Случаи регистр-приемник и приемник-память почти эквивалентны. Даже в случае регистровых мод адресации выполняется адресация операндов.&lt;br /&gt;
&lt;br /&gt;
Параметр сдвига равен 1:  28 микроциклов.*&lt;br /&gt;
&lt;br /&gt;
При параметре сдвига, равном n (до 2⁸ сдвигов):&lt;br /&gt;
&lt;br /&gt;
* T = 28 + 4(n - 1) микроциклов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 6. Группа команд BICB2, BICW2, BICL2, BICB3, BICW3, BICL3, BISB2, BISW2, BISL2, BISB3, BISW3, BISL3 &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР, РРР - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 7. Группа команд BITB, BITW , BITL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 8. Группа команд CLRB, CLRW , CLRL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Р - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 9. Команда CLRQ &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Память-приемник: два микроцикла.*&lt;br /&gt;
&lt;br /&gt;
Регистр-приемник: три микроцикла.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 10. Группа команд CMPB, CMPW , CMPL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР - max пять микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 11. Группа команд CVTBW, CVTBL , CVTWL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР, РП - max девять микроциклов.*&lt;br /&gt;
&lt;br /&gt;
Случаи регистр-приемник и память-приемник почти эквивалентны.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 12. Группа команд CVTLB, CVTLW , CVTWB &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР, РП - max  I3 микроциклов.*&lt;br /&gt;
&lt;br /&gt;
Случаи регистр-приемник и память-приемник почти эквивалентны.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 13. Группа команд DECB, DECW , DECL , INCB, INCW , INCL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Р, П - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 14. Группа команд MCOMB, MCOMW , MCOML, MNEGB, MNEGW , MNEGL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР - три микроцикла.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 15. Группа команд MOVB, MOVW, MOWL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 16. Команда MOVQ &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Случаи РП, РР - почти эквивалентны;&lt;br /&gt;
* - max восемь микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 17. Группа команд MOVZBL , MOVZBW , MOVZWL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР - шесть микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 18. Команда PUSHL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Р - четыре микроцикла.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 19. Команда PUSHR &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Упрятывание в стек всех регистров (РОНов), т.е. все разряды операнда mask⟨0...I4⟩ установлены в единицу: 65 микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 20. Команда POPR &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Восстановление из стека всех регистров (РОНов), т.е. все разряды операнда mask⟨0...I4⟩ установлены в единицу: 65 микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 21. Команда ROTL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Случаи регистр-приемник и память-приемник почти эквивалентны. Даже в случае регистровых мод адресации выполняется микропрограммно этап адресации операндов.&lt;br /&gt;
&lt;br /&gt;
Параметр сдвига равен 1:  I8 микроциклов.*&lt;br /&gt;
&lt;br /&gt;
При параметре сдвига, равном n (до 2⁸ сдвига):&lt;br /&gt;
&lt;br /&gt;
* T = 18 + 3(n - 1) микроциклов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 22. Группа команд TSTB, TSTW , TSTL &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Р, П - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 23. Группа команд XORB2, XORW2, XORL2, XORB3, XORW3, XORL3 &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
РР, РРР - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 24. Группа команд MOVAB, MOVAW, MOVAL , MOVAF, MOVAQ, MOVAD,MOVAG &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Независимо от моды адресации операнда - источника выполняется микропрограммная адресация операндов (адресный тип доступа).&lt;br /&gt;
&lt;br /&gt;
РР, ПП - один микроцикл.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 25. Группа команд PUSHAB, PUSHAW , PUSHAL , PUSHAF, PUSHAQ, PUSHAD , PUSHAG &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Независимо от моды адресации операнда-источника выполняется микропрограммная адресация операндов (адресный тип доступа). &lt;br /&gt;
* - четыре микроцикла.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 26. Группа команд CALLS, CALLG &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Случай сохранения всех РОНов в кадре вызова процедуры: &lt;br /&gt;
* ~115 микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 27. Команда RET &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Случай загрузки всех РОНов из кадра вызова процедуры: &lt;br /&gt;
* ~126 микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 28. Группа команд BICPSW, BISPSW &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Независимо от моды адресации операнда ⟨mask⟩ выполняется микропрограммная адресация операндов: &lt;br /&gt;
* ~ пять микроциклов.*&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 29. Команда INDEX &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Независимо от моды адресации операндов выполняется микропрограммная адресация операндов:&lt;br /&gt;
&lt;br /&gt;
* ~225 микроциклов (случай микропрограммной реализации операции умножения при отсутствии сопроцессора);&lt;br /&gt;
* ~45 микроциклов (случай реализации операции умножения на сопроцессоре).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 30. Группа команд MOVPSL, NOP &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Один микроцикл.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 31. Команды работы с очередями &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
От 80 до I20 микроциклов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 32. Команды обработки строк символов &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Min 30 микроциклов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 33. Команды для работы с переменными битовыми полями &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
От 80 до I00 микроциклов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 34. Команды ветвлений (Branches):&lt;br /&gt;
&lt;br /&gt;
Простые: AOBLEQ, AOBLSS , BLSS , BLEQ, BEQL, BEQLU , BNEQ, BHEQU , BGEQ, BGTR, BLSSU , BCS , BLEQU , BGEQU , BCC, BGTRU, BVS, BVC, BLBS , BLBC, BRB, BRW,  BSBB, BSBW, JMP,  SOBGEQ, SOBGTR  &lt;br /&gt;
* - от пяти до восьми микроциклов.&lt;br /&gt;
&lt;br /&gt;
Сложные: ACBB, ACBW , ACBL , ACBF, ACBD , ACBG, ACBH, BBS, BBC, BBSS , BBSC, BBCC, BBCS , BBSSI, BBCCI, CASEB, CASEW , CASEL, JSB  &lt;br /&gt;
* - от 10 до 60 микроциклов.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; 35. Время реакции на прерывания &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Время реакции на прерывания - это время от момента восприятия центральным процессором запроса на прерывание до начала выполнения первой команды соответствующей программы обработки прерываний. На тактовой частоте I0 МГц это время составляет I0-I2 мкс. Наибольшее значение (для случая машинного сбоя) составляет I6 мкс. В основном, это связано с большим числом параметров (I2), сохраняемых в стеке (и соответственно, таким же числом обменов записей в ОЗУ) для данного типа прерываний.&lt;br /&gt;
&lt;br /&gt;
Примечание:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;*&amp;quot; - только содержательная микрообработка, без учета адресации операндов.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Электроника-32]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
	<entry>
		<id>https://emuverse.ru/wiki/%D0%98%D1%80%D0%B8%D1%88%D0%B0/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_%D0%9D%D0%93%D0%9C%D0%94_RTV*001.89_%D0%A2%D0%9E</id>
		<title>Ириша/Модуль контроллера НГМД RTV*001.89 ТО</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/%D0%98%D1%80%D0%B8%D1%88%D0%B0/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_%D0%9D%D0%93%D0%9C%D0%94_RTV*001.89_%D0%A2%D0%9E"/>
		<updated>2026-03-31T16:35:22Z</updated>

		<summary type="html">&lt;p&gt;Panther: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ДИ|Источник=http://oldpc.su/pc/Irisha/irisha.html}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ПЭВМ &amp;quot;ИРИША-М&amp;quot;&lt;br /&gt;
&lt;br /&gt;
МОДУЛЬ КОНТРОЛЛЕРА НГМД «RTV*001.89»&lt;br /&gt;
&lt;br /&gt;
(Техническое описание)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;АННОТАЦИЯ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Настоящий паспорт, объединённый с техническим описанием и инструкцией по эксплуатации, является документом, удостоверяющим гарантированные изготовителем основные параметры и технические характеристики модуля КНГМД «RTV*001.89».&lt;br /&gt;
&lt;br /&gt;
Кроме того, настоящее руководство позволяет ознакомиться с устройством и принципом работы модуля КНГМД и устанавливает правила его эксплуатации, соблюдение которых обеспечивает постоянную готовность модуля к работе.&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
= 1. Назначение и основные технические характеристики модуля контроллера НГМД «RTV*001.89» =&lt;br /&gt;
&lt;br /&gt;
1.1. Модуль контроллера накопителей на гибких магнитных дисках (НГМД) «RTV*001.89» предназначен для оснащения ПЭВМ «ИРИША» или её модификаций накопителями на гибких магнитных дисках.&lt;br /&gt;
&lt;br /&gt;
1.2. Модуль позволяет работать с одно- или двухсторонними механизмами НГМД, имеющими стандартный интерфейс SHUGART. Одновременно контроллер может обслуживать до 2-х накопителей 133 мм и 75 мм формата, обеспечивающих двойную плотность записи (MFM).&lt;br /&gt;
&lt;br /&gt;
1.3. Модуль позволяет расширить объем ОЗУ базовой модели ПЭВМ на 128-512 К байт в зависимости от типа установленных микросхем динамической памяти (К565РУ5, К565РУ71, К565РУ72, К565РУ7 в различных комбинациях).&lt;br /&gt;
&lt;br /&gt;
1.4. Модуль содержит 3 розетки для установки микросхем ПЗУ типа К573РФ4 (К573РФ6) или К573РФ7. Допускается также применение микросхем ПЗУ иностранного производства: I2764, I2728 или I27256. Общий объем постоянной памяти модуля может изменяться от 8 до 96 К байт.&lt;br /&gt;
&lt;br /&gt;
1.5. Модуль занимает 26 адресов в адресном пространстве ПЭВМ. Доступ процессора и памяти модуля осуществляется через два «окна» по 16 К каждое, в общем адресном пространстве процессора под контролем схемы управления расширением памяти.&lt;br /&gt;
&lt;br /&gt;
1.6. Временные диаграммы обмена информацией с модулем через системную магистраль приведены на рис. 1.1, 1.2.&lt;br /&gt;
&lt;br /&gt;
1.7. Питание модуля осуществляется от двух источников питающих напряжений +5 В (1 А) и +12 В (100 мА), без учета тока потребления механизмами НГМД.&lt;br /&gt;
&lt;br /&gt;
1.8. Конструктивно модуль контроллера представляет собой печатную плату размером 230×150×23 мм. Модуль снабжен устройством его монтажа в системный блок ПЭВМ. На задней панели модуля находится разъем (Х2: вилка СН053-60-23) для подключения механизмов НГМД. Назначение его сигналов приведено в табл. 1.1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 1-1.jpg|400px]] [[Файл:RTV-01-89 1-2.jpg|410px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Таблица 1.1 – Назначение сигналов разъема Х2 модуля КНГМД&lt;br /&gt;
|-&lt;br /&gt;
! Контакт !! Сигнал !! Назначение !! Примечание&lt;br /&gt;
|-&lt;br /&gt;
| 4-56 чётные || ОВ || Общий вывод ||&lt;br /&gt;
|-&lt;br /&gt;
| 3 || MOT.ON1 || Включение двигателя B || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 7 || INDEX || Индекс || от НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 9 || DR.SEL0 || Выбор дисковода А || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 11 || DR.SEL1 || Выбор дисковода В || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 15 || MOT.ON0 || Включение двигателя А || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 17 || DIRECTION || Направление перем. гол. || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 19 || STEP || Шаг перемещения гол. || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 21 || WR.DATA || Данные для записи || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 23 || WR.EN || Разрешение записи || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 25 || TRACK0 || Дорожка 00 || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 27 || WR.PROT. || Защита записи || от НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 29 || RAW.READ || Данные чтения || от НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 31 || SIDE SEL. || Выбор рабочей стороны || от НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 33 || READY || Готовность || от НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 35 || FAULT RES. || || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 37 || FAULT || || от НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 39 || TWO SIDES || || от НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 58, 60 || +12B || Питание двигателя НГМД || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 59 || +5B || Питание схемы НГМД || к НГМД&lt;br /&gt;
|-&lt;br /&gt;
| 1, 22, 5, 13, 41-55 неч. || || Не используются&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 2. Порядок установки модуля контроллера в ПЭВМ и работа с ним =&lt;br /&gt;
&lt;br /&gt;
2.1. Для монтажа модуля контроллера «RTV*001.89» в ПЭВМ необходимо вынуть его из упаковки, проверить правильность установки перемычек и микросхем ПЗУ, а затем установить модуль в системный блок ПЭВМ на любое свободное место, зафиксировав его винтами.&lt;br /&gt;
&lt;br /&gt;
2.2. Заводом-изготовителем модуль поставляется настроенным с помощью перемычек на работу со 133 мм НГМД с двойной плотностью записи. Перемычки выбора типа микросхем памяти ПЗУ должны быть настроены на работу с микросхемами К573РФ4 или К573РФ6 или их зарубежным аналогом I2764. Число рабочих сторон и дорожек на диске от типа поставляемого дисковода и указывается в сертификате на панели модуля.&lt;br /&gt;
&lt;br /&gt;
2.3. Схема расположения перемычек на модуле показана на рис. 2.1. Они показаны в таком положении, в каком должны находиться после выпуска и настройки модуля изготовителем. В розетке Х6 должна быть установлена микросхема D52 (К573РФ4 или К573РФ6)с &amp;quot;прошитой&amp;quot; в нее программной ядра операционной системы *RTV*CP/M 20.&lt;br /&gt;
&lt;br /&gt;
2.4. Для разбора порядка работы с модулем контроллера НГМД рассмотрим его внутреннюю организацию, показанную на функциональной схеме, которая приведена на рис. 2.2.&lt;br /&gt;
&lt;br /&gt;
2.5. Модуль содержит в своем составе интерфейсный узел с расширенным ПЗУ, узел ОЗУ и узел собственно контроллера НГМД. Со стороны процессора модуль представлен как набор на 26 регистров в области адресов ввода-вывода системной магистрали (20Н-39Н) и как один или несколько банков памяти протяженностью до 64 К байт. Назначение адресов ввода-вывода приведено в таблице 2.1.&lt;br /&gt;
&lt;br /&gt;
2.6. Селектор адресов памяти выполнен на базе БИС 2-х входового ОЗУ, представляющего собой с точки зрения программиста, регистровый файл из 16-ти четырехбитных регистров (рабочие адреса - 20Н - 2FH). Лог. &amp;quot;0&amp;quot; в любом из битов означает включение в работу одного из банков ОЗУ или ПЗУ. Естественно, ситуация, при которой в любом из регистров содержится более одного логического нуля, является ошибочной и должна быть исключена при работе с модулем. Номер каждого из регистров отвечает за определенный сегмент памяти системной магистрали. Так: регистр с адресом 20Н отвечает за страницу памяти системной магистрали в нулевой странице, начиная с адреса 0000Н до 3FFFH. Упрощенная схема регистра показана на рис. 2.3.&lt;br /&gt;
&lt;br /&gt;
Если требуется включить в эту область ОЗУ или ПЗУ, то в соответствующий бит регистра с этим номером должна быть занесена информация с нулем в одном из битов включения памяти. В табл. 2.1 приведено соответствие номеров регистров с адресами памяти системной магистрали.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 2-2.jpg|600px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 2-3.jpg|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Таблица 2.1 — Рабочие адреса модуля&lt;br /&gt;
|-&lt;br /&gt;
! Адрес !! Тип операции !! Назначение !! Примечание&lt;br /&gt;
|-&lt;br /&gt;
| 20Н || rowspan=16 | Запись/чтение || Рег. 0 (00000Н) || rowspan=&amp;quot;16&amp;quot; | Файл&amp;lt;br/&amp;gt;управления&amp;lt;br/&amp;gt;ОЗУ&lt;br /&gt;
|-&lt;br /&gt;
| 21Н || Рег. 1 (04000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 22Н || Рег. 2 (08000Н) &lt;br /&gt;
|-&lt;br /&gt;
| 23Н || Рег. 3 (0С000Н) &lt;br /&gt;
|-&lt;br /&gt;
| 24Н || Рег. 4 (10000Н) &lt;br /&gt;
|-&lt;br /&gt;
| 25Н || Рег. 5 (14000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 26Н || Рег. 6 (18000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 27Н || Рег. 7 (1С000Н) &lt;br /&gt;
|-&lt;br /&gt;
| 28Н || Рег. 8 (20000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 29Н || Рег. 9 (24000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 2АН || Рег. 10 (28000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 2ВН || Рег. 11 (2С000Н) &lt;br /&gt;
|-&lt;br /&gt;
| 2СН || Рег. 12 (30000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 2DН || Рег. 13 (34000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 2EН || Рег. 14 (38000Н)&lt;br /&gt;
|-&lt;br /&gt;
| 2FН || Рег. 15 (3С000Н) &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Регистры управления НГМД&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 30Н || Запись || Регистр команд || rowspan=&amp;quot;10&amp;quot; | БИС&amp;lt;br/&amp;gt;КНГМД&amp;lt;br/&amp;gt;КР1810ВГ93&lt;br /&gt;
|-&lt;br /&gt;
| Чтение || Регистр статуса &lt;br /&gt;
|-&lt;br /&gt;
| 31Н || rowspan=3 | Запись/чтение || Регистр номера трека &lt;br /&gt;
|-&lt;br /&gt;
| 32Н || Регистр номера сектора &lt;br /&gt;
|-&lt;br /&gt;
| 33Н || Регистр данных. Обмен без схемы автосинхронизации &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 34Н || Запись || То же, что в 30Н &lt;br /&gt;
|-&lt;br /&gt;
| Чтение || То же, что в 30Н &lt;br /&gt;
|-&lt;br /&gt;
| 35Н || rowspan=3 | Запись/чтение || То же, что и 31Н &lt;br /&gt;
|-&lt;br /&gt;
| 36Н || То же, что и 32Н &lt;br /&gt;
|-&lt;br /&gt;
| 37Н || Регистр данных. Схема автосинхронизации включена &lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; | Служебные регистры&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 38Н || Запись || Дополнительный регистр управления модулем &lt;br /&gt;
|-&lt;br /&gt;
| Чтение || Вспомогательный регистр состояния модуля &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=2 | 39Н || Запись || Регистр выбора подбанка ОЗУ &lt;br /&gt;
|-&lt;br /&gt;
| Чтение || Регистр состояния триггера контроля ошибки чтения &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.7. При включении машины состояние регистрового файла неопределено и информация в нем должна быть сформирована стартовой программой инициализации. Чтобы не было ложных включений памяти при &amp;quot;холодном&amp;quot; старте, специальная схема блокирует работу памяти модуля до первого обращения к дополнительному регистру управления с адресом 38Н. Программа начального старта должна сначала записать в файл управления необходимую информацию, а затем включить память модуля в работу, записав байт управления в регистр с адресом 38Н. Информация в регистровой файл может как записываться, так считываться из него.&lt;br /&gt;
&lt;br /&gt;
2.8. При использовании модуля в составе ПЭВМ &amp;quot;ИРИША-М&amp;quot; с операционной системой СР/М 2.2 память модуля размещается в первой странице с адресом 10000Н до 1FFFFH. Поскольку размер этой страницы равен 64 К байт, для работы с полным объемом памяти используется внутреннее переключение банков путем перезаписи содержимого файла управления.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
Замечание от Emuverse:&lt;br /&gt;
&lt;br /&gt;
В реальности имеет смысл адресовать только регистры 24H&amp;amp;mdash;27H, так как только страница 1 полного адресного пространства доступна для свободного использования. Страница 0 принадлежит ПЗУ BIOS, 2 &amp;amp;mdash; основная память на видеоконтроллере, то есть использование этих страниц приведет к конфликту с другими устройствами. 3 &amp;amp;mdash; не используется в стандартной прошивке ПЗУ диспетчера памяти и на шине не может быть получена без замены этого ПЗУ.&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.9. Для работы с ОЗУ емкостью до 512 Кбайт модуль содержит дополнительный регистр - регистр выбора подбанка (адрес - 39Н), при помощи которого внутри выбранного банка памяти организуются 4 подбанка размером 64 К байт. Указанный регистр доступен как для записи, так и для чтения.&lt;br /&gt;
&lt;br /&gt;
2.10. Модуль контролирует информацию, записанную в ОЗУ по четности в каждой байте. При обнаружении ошибки включается триггер ошибки памяти, состояние этого триггера может быть считано из регистра с адресом 39Н (бит D7). Сброс триггера осуществляется при выполнении операции записи в регистр выбора подбанка, имеющий такой же адрес (39Н). Структура этого регистра показана на рис. 2.4.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 2-4.jpg|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.11. Управление механизмом НГМД осуществляется БИС КНГМД. Работа с этим БИС осуществляется через 8 регистров, (рабочие адреса - 30Н-37Н), причем 6 из них имеют попарно одинаковые функции (30Н и 34Н; 31Н и 35Н; 32 и 36Н). Назначение регистров БИС КНГМД показано в табл. 2.1. Разница между регистрами с адресом 33Н и 37Н заключается в том, что при обращении к адресу 37Н запускается в работу система автосинхронизации обмена данными по получению сигналов DRQ и INTRQ от БИС КНГМД. Более подробно ознакомиться с назначением регистров можно в описании БИС КНГМД, приведённом в приложении А настоящего описания.&lt;br /&gt;
&lt;br /&gt;
2.12. Кроме регистров БИС КНГМД, модуль имеет дополнительный регистр управления и вспомогательный регистр статуса. Их структура показана на рис. 2.5 и рис. 2.6. Через дополнительный регистр управления могут программироваться номер рабочего накопителя, номер стороны диска и некоторые другие функции.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 2-5.jpg|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2.13. В настоящем техническом описании не рассматриваются вопросы о способах и форматах записи на магнитный диск, а также организация работы операционной системы СР/М с контроллером. С этими вопросами пользователь может ознакомиться самостоятельно в специальной литературе.&lt;br /&gt;
&lt;br /&gt;
= 3. Устройство и работа модуля =&lt;br /&gt;
&lt;br /&gt;
3.1. В модуле контроллера «RTV*001.89» можно выделить три основные части:&lt;br /&gt;
&lt;br /&gt;
* узел контроллера НГМД;&lt;br /&gt;
* узел оперативной памяти;&lt;br /&gt;
* интерфейсная часть с дополнительным ПЗУ.&lt;br /&gt;
&lt;br /&gt;
Информационное взаимодействие узлов между собой осуществляется через внутреннюю магистраль.&lt;br /&gt;
&lt;br /&gt;
== 3.2 Узел контроллера НГМД ==&lt;br /&gt;
&lt;br /&gt;
3.2.1. Узел контроллера НГМД выполнен на базе БИС КР1818ВГ93 (аналог микросхемы WD1793 фирмы Western Digital). Упрощённая схема узла приведена на рис. 3.1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 3-1.jpg|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.2.2. БИС КР1818ВГ93 содержит все необходимое для управления работой маханизмами накопителей и цепи, выполняющие преобразование потока байтов данных из ЭВМ в соответствующую последовательность битов для записи на диск, а также цепи обратного преобразования. БИС позволяет работать как с одинарной (FM), так и с двойной плотностью записи (MFM), но в данной конкретной реализации БИС КНГМД используется только в режиме с двойной плотностью записи (MFM). Однако, для работы БИС требуются внешние схемы сепаратора данных и прекомпенсации, цепи выбора накопителя и рабочей стороны диска.&lt;br /&gt;
&lt;br /&gt;
3.2.3. Выход сигналов на интерфейс дисковых накопителей осуществляется через буферные усилители на мощных формирователях с открытым коллектором D62 и D68. Приём сигналов с дискового интерфейса производится через буферные микросхемы D58 и D59. Сигнал READY подаётся непосредственно на одноименный вход БИС (вывод 32). Сигнал чтения данных RAW.READ поступает на вход сепаратора данных. Состояние линии FAULT и TWO SIDES транслируется на входы вспомогательного регистра состояния и может быть проанализировано процессором по адресу 38H (биты D2, D1; см. рис. 2.6.).&lt;br /&gt;
&lt;br /&gt;
3.2.4. Схема сепаратора данных (далее сепаратор данных) выполнена на микросхемах D46, D55-D57 и D61-D63. Сепаратор данных вырабатывает сигнал синхронизации чтения данных RCLC, подаваемый на соответствующий вход БИС КНГМД (вход 26). Фронты этого сигнала располагаются между импульсами данных, считываемых с диска.&lt;br /&gt;
&lt;br /&gt;
Выходном формирователь собран на одновибраторе D55.2, запускающемся отрицательным фронтом импульсов входного потока данных. Он вырабатывает импульсы длительностью около 1 мкс, необходимые для работы фазового компаратора, который собран на микросхемах D46-2, D61, D62-3. Фазовый компаратор сравнивает частоту и фазу сигнала входного потока данных с сигналом генератора, управляемого напряжением (ГУН), и по их разнице вырабатывает соответствующий сигнал управления. ГУН выполнен на микросхеме КР531ГГ1 (D63). Средняя частота ГУН равна 4 МГц. Выходной сигнал ГУН подается на делитель частоты (микросхема D65), с выводов которого снимаются сигналы 500 кГц для фазового компаратора и 250 кГц для подачи на вход RCLC.&lt;br /&gt;
&lt;br /&gt;
При отсутствии обращения к диску (на выходе 33 БИС КР1818ВГ93 - высокий уровень) на вход сепаратора данных подается сигнала опорной частотью 500 кГц, устанавливающий частоту ГУН вблизи заданного значения.&lt;br /&gt;
&lt;br /&gt;
Переменный резистор R26 служит для установки средней частоты ГУН. Средняя частота 4 МГц должна вырабатываться при напряжении на входе 3 микросхемы ГУН около 3.3 В.&lt;br /&gt;
&lt;br /&gt;
Рис. 3.2 поясняет работу схемы сепаратора данных.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 3-2.jpg|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.2.5. Схема прекомпенсации работает при записи информации на диск. Она выполнена на сдвиговом регистре D66 и элементах D56.1 и D57.1. Управление работой схемы осуществляется самой БИС КНГМД с помощью сигналов SR (выход 18) и SL (выход 17). При высоком уровне сигнала SR положение информационного импульса в выходном потоке задерживается в зависимости от положения перемычек П20, П21 и П22 на 125-250 или 500 нс, соответственно. При высоком уровне на выходе SL дополнительный импульс выдается на аналогичное время раньше. Если оба сигнала неактивны, то изменение положения импульса не производится.&lt;br /&gt;
&lt;br /&gt;
На выходе схемы прекомпенсации установлен выходной формирователь D67.2, фиксирующий длительность импульсов записи в районе 250-300 нс независимо от времени прекомпенсации. Если время прекомпенсации устанавливается равным 250 нс, то выходной формирователь может не устанавливаться. В этом случае перемычка П23 должна быть замкнута.&lt;br /&gt;
&lt;br /&gt;
3.2.6. БИС КНГМД вырабатывает сигнал для включения двигателя накопителя HLD (выход 28). Этот сигнал запускает одновибратор задержки D70-1, блокирующий через ввод HLT (вывод 23) БИС отработку алгоритма выполнения команды на время разгона двигателя. Двигатель включается сразу же при получении команды, но одновибратором D70-2 удерживается во включенном состояния еще 2-3 сек. Если за этот промежуток времени обращения к диску не было, то его двигатель выключается. В противном случае - одновибратор перезапускается и двигатель остается во включенном состояния. В запущенном состоянии одновибратор D70-2 блокирует одновибратор задержки D70.1 на время разгона двигателя, что обеспечивает максимальную скорость работы с диском. Таким образом, при частых обращениях к диску двигатель его механизма постоянно включен и никаких дополнительных задержек не возникает.&lt;br /&gt;
Кроме того, указанная схема уменьшает число разгонов двигателя, при которых потребляется повышенный ток.&lt;br /&gt;
&lt;br /&gt;
3.2.7. Выбор накопителя и выбор рабочей стороны диска производится через дополнительный регистр управления D71 (адрес обращения 38Н - см. рис. 2.5). Поскольку многие типы накопителей не имеют возможности индикации состояния, когда двигатель накопителя включён, а индицируют только выбор накопителя, то соответствующие сигналы выбора стробируются на выходных формирователях D62 сигналом включения мотора MOT.ON. Таким образом, сигналы выбора накопителя активны только при обращении к диску.&lt;br /&gt;
&lt;br /&gt;
3.2.8. Контроллер «RTV*001.89» имеет ряд отличий от аналогичного модуля контроллера «RTV*070.87» в котором описываемый узел выполнен на базе БИС WD2793 импортного производства. Контроллер «RTV*001.89» в отличие от контроллера «RTV*070.87», работающего со всеми типами дисков, может обслуживать только два накопителя на 133 мм или 75 мм дисках. Он работает только с двойной плотностью записи на диск (MFM). Однако, указанные ограничения, не сказываются на эксплуатационных характеристиках стандартных комплектов ПЭВМ &amp;quot;ИРИША-М&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== 3.3. Узел ОЗУ модуля ==&lt;br /&gt;
&lt;br /&gt;
3.3.1. Модуль КНГМД «RTV*001.89» содержит от 128 до 512 К байт оперативной памяти (ОЗУ), обычно используемой для организации электронного диска. Это ОЗУ выполнено на БИС динамической памяти К565РУ5Д (ёмкость 64 К бит), К565РУ71Д или К565РУ72Д (ёмкость 128 К бит) или К565РУ7Д (ёмкость 256 К бит). Возможно также применение и более быстродействующих микросхем памяти серии К565 с последними буквами &amp;quot;Г&amp;quot;, &amp;quot;В&amp;quot;, или &amp;quot;Б&amp;quot;. В зависимости от типа устанавливаемых микросхем будет изменяться и общий объем ОЗУ моделя. С точки зрения программиста это ОЗУ представляет несколько банков памяти, которые могут включаться на любое из мест адресного пространства системной магистрали. Принципиальная схема узла ОЗУ приведена на рис. 3.3.&lt;br /&gt;
&lt;br /&gt;
3.3.2. Микросхемы динамической памяти используют принцип мультиплексирования входного адреса, который передаётся в два приема: сначала передаётся 8-ми или 9-ти разрядный адрес строки, а затем - адрес столбца той же разрядности. Девятибитные адреса используются при применении памяти К565РУ7Д емкостью 256 К бит. Для реализации механизма мультиплексной передачи требуются два вспомогательных стробирующих сигнала: RAS (Row address strobe) и CAS (Column address strobe). Временные соотношения между сменой частей адреса и стробирующих сигналов достаточно жестко детерминированы.&lt;br /&gt;
&lt;br /&gt;
Особенность динамической памяти является то, что её содержимое необходимо периодически регенерировать. Этот процесс реализуется либо выполнением 128 циклов чтения за 1 или 2 мс с перебором всех адресов столбцов, либо выполнением такого же числа циклов, но без подачи сигнала CAS. Время регенерации определеяется быстродействием микросхем примененной памяти. Для микросхем с последней буквой &amp;quot;Д&amp;quot; эта время составляет 1 мс, для всех остальных типов оно равно 2 мс. Регенерация можно производить лавинно, когда последовательно выполняются все циклы с исключением возможности доступа к памяти со стороны внешних устройств или распределенно, когда циклы регенерации вставляются между циклами обращения к памяти. В последнем случае, учитывая, что процессор не обращается к памяти в каждом возможном его цикле, прозрачность доступа может быть обеспечена максимально возможной. Среднее время между циклами регенерации во втором случае должно быть около 8 мкс для микросхем с 1 мс временем регенерации и около 16 мкс для остальных типов микросхем. В описываемом модуле используется более прогрессивный второй принцип регенерации. Переключение времени регенерации производится перестановкой перемычек П13 и П12.&lt;br /&gt;
&lt;br /&gt;
3.3.3. Указанные особенности БИС динамической памяти требуют для их работы специальной схемы обрамления, задающей временные соотношения между сигналами синхронизации и управления. Обычно такую схему называют контроллером ОЗУ. Контроллер ОЗУ, кроме указанной выше функции, осуществляет арбитраж между запросами на регенерацию и обмен информацией с внешней магистралью.&lt;br /&gt;
&lt;br /&gt;
3.3.4. Контроллер ОЗУ включает в себя четыре триггера управления (микросхемы D37 и D39), сдвиговый регистр (микросхемы D35 и D36), таймер регенерации D47 и некоторую логику обрамления. Он работает следующим образом: при отсутствии обращений триггер запроса находится в неактивном состоянии, а его низкий выходной уровень блокирует по входу «Сброс» работу сдвигового регистра D35 и D36, задающего временные сдвиги между сигналами синхронизации. Запросы цикла памяти поступают либо от триггера запроса (сигнал MEM), либо от таймера регенерации (сигнал RFSH). При получении какого-либо запроса по заднему фронту тактирующего сигнала CLC16M активируется триггер запроса, снимается сигнал «Сброс» со сдвигового регистра и начинается выполнение цикла памяти. Одновременно триггер типа цикла D37-2 фиксирует, какой именно цикл должен выполняться: цикл памяти или цикл регенерации. Во время исполнения цикла памяти сигнал синхронизации на триггер типа цикла не подается, и таким образом изменение его состояния в этот период блокировано. После снятия блокирующего сигнала со сдвигового регистра в него по каждому положительному фронту тактирующего сигнала CLC16M начинает «вдвигаться» логическая единица. По мере заполнения регистра единицами формируются необходимые сигналы управления и синхронизации. После восьми тактирующих импульсов сигнал с выхода сдвигового регистра сбрасывает триггер запроса, обнуляет сдвиговый регистр, и цикл памяти завершается. Временная диаграмма, иллюстрирующая этот процесс, приведена на рис. 3.4.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 3-4.jpg|400px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запрос регенерации RFSH имеет более низкий приоритет по сравнению с запросом со стороны процессора, поэтому при одновременном поступлении обоих запросов сначала будет выполняться цикл памяти. Если какой-либо запрос поступает во время выполнения цикла, то арбитраж производится только по завершении текущего цикла памяти.&lt;br /&gt;
&lt;br /&gt;
В циклах регенерации с помощью микросхем D48 и D50 формирование сигналов CAS и WE запрещается. Кроме того, в циклах указанного выше типа сигнал RAS вырабатывается для обоих банков памяти одновременно. Это означает, что регенерация информации в обоих банках также выполняется одновременно. При обмене информацией с ОЗУ модуля сигнал RAS формируется только для рабочего банка, и, таким образом, осуществляется их селекция.&lt;br /&gt;
&lt;br /&gt;
3.3.5. В узел ОЗУ входит счётчик D45, вырабатывающий сигналы опорных частот для контроллера ОЗУ и узла контроллера НГМД. На этот счётчик подаётся сигнал опорной частоты 16 МГц с системной магистрали ПЭВМ.&lt;br /&gt;
&lt;br /&gt;
3.3.6. Запросы на обращение к памяти поступают с системной магистрали асинхронно, поэтому для организации обмена данными с ней требуются ещё два триггера D39: триггер запроса и триггер готовности. Триггер запроса D39-1 фиксирует требование на обмен информацией с памятью (активен высокий уровень сигнала MEM) и удерживает его до того момента, когда запрос будет удовлетворён. Этот триггер сбрасывается за 62 нс до момента завершения соответствующего цикла памяти. Одновременно со сбросом триггера запроса взводится триггер готовности D39-2, вырабатывающий сигнал MRDY интерфейсной части модуля и управляющий выходным буферным усилителем данных. В интерфейсной части из сигнала готовности памяти MRDY формируется сигнал готовности RDY, подаваемый на системную магистраль. Триггер готовности сбрасывается, когда сигнал разрешения обмена данными по системной магистрали TE становится неактивным, т.е. по завершению цикла обмена.&lt;br /&gt;
&lt;br /&gt;
3.3.7. Адресный мультиплексор модуля выполнен на микросхемах D41, D42 и D48-3, D48-4, D44-4. Две первые имеют выход с тремя состояниями, который активируется только при выполнении циклов обмена с системной магистралью. Остальные микросхемы необходимы только в том случае, если в модуль установлены микросхемы динамической памяти с информационной ёмкостью более 64 К бит. Они мультиплексируют 9-й разряд адреса. На вход этого разряда мультиплексора поступает информация с регистра выбора подбанка памяти.&lt;br /&gt;
&lt;br /&gt;
3.3.8. Узел регенерации вырабатывает адреса памяти при выполнении регенерации содержимого памяти. Он состоит из 8-ми разрядного счётчика D49 и выходного буферного регистра D51 с тремя состояниями на выходе. На время выполнения цикла регенерации информация защёлкивается в регистре и выдаётся на линии адреса микросхем памяти.&lt;br /&gt;
&lt;br /&gt;
3.3.9. Регистр выбора подбанка памяти выполнен на микросхеме D12. Он служит для увеличения объёма рабочей памяти свыше 128 К байт за счёт введения в пределах этого адресного пространства ещё 4-х подбанков. Адрес регистра подбанка памяти — 39Н. Информация из этого регистра может быть прочитана по тому же адресу. В седьмом бите при этом будет передаваться информация о состоянии бита ошибки по паритету. Данные во внутреннюю магистраль передаются через буферный формирователь D13 с тремя состояниями на выходе.&lt;br /&gt;
&lt;br /&gt;
3.3.10. Поскольку цикл обращения к памяти имеет фиксированную длительность, то при выполнении операций чтения данные на выходе микросхем памяти будут появляться лишь на короткий промежуток времени. Регистр D11 позволяет запомнить считанные данные и сохранить их на шине данных неограниченное время. На время действия сигнала MRDY выходы этого регистра переводятся в третье состояние, освобождая шину данных для приёма информации из памяти. По окончании действия сигнала MRDY (цикл чтения окончен) считанная информация защёлкивается в регистре и выдаётся на шину данных.&lt;br /&gt;
&lt;br /&gt;
3.3.11. ОЗУ модуля имеет схему контроля правильности записанной информации. Каждый записываемый байт сопровождается специальным битом, хранимым в отдельном разряде ОЗУ. Поэтому разрядность ОЗУ равна девяти. При считывании информации производится контроль её правильности с использованием бита чётности. Если обнаруживается ошибка, то взводится соответствующий триггер в схеме контроля паритета (чётности). Эта схема состоит из специализированной ИС D4 (КП531ИП5), логики D3.1, D5.1, D5.4 и D10.2 и триггера ошибки паритета D14-2. Состояние последнего через формирователь с тремя состояниями на выходе D13-3 может быть передано во внутреннюю магистраль и проанализировано процессором. Адрес чтения такой же как и адрес регистра выбора подбанка памяти — 39Н. Информация передаётся в бите D7 считываемого байта. Логическая единица в этом бите указывает на то, что была обнаружена ошибка. Сброс триггера производится при выполнении записи в регистр выбора подбанка.&lt;br /&gt;
&lt;br /&gt;
3.3.12. По сравнению с разработанным ранее модулем *RTV*070.87 модуль *RTV*001.89 допускает увеличение объёма памяти до 512 К байт. Поскольку адресация такого большого объёма только средствами, содержащимися в модуле *RTV*070.87 невозможна, то в новый модуль введён дополнительный регистр выбора подбанка памяти. В программном отношении эти модули снизу вверх совместимы. Т.е., программы, написанные для работы с модулем *RTV*070.87, будут работать и с модулем *RTV*001.89, но не всегда наоборот.&lt;br /&gt;
&lt;br /&gt;
== 3.4. Интерфейсная часть модуля ==&lt;br /&gt;
&lt;br /&gt;
3.4.1. Интерфейсная часть модуля отвечает за взаимодействие с системной магистралью ПЭВМ. Она состоит из селектора адресов устройств ввода-вывода, селектора адресов памяти и схемы синхронизации обмена. Кроме того, она содержит буферный двунаправленный формирователь, через который осуществляется обмен между шинами данных системной и внутренней магистралей. Он выполнен на микросхеме КР580ВА86 (D1). В состав интерфейсной части входит также ПЗУ, в котором обычно хранится ядро операционной системы и некоторые наиболее часто употребляемые программы. Упрощённая схема узла приведена на рис. 3.5.&lt;br /&gt;
&lt;br /&gt;
3.4.2. Селектор адресов ввода-вывода выделяет область рабочих регистров модуля и вырабатывает необходимые сигналы управления для остальных его узлов. Селектор выполнен на ПЗУ К556РТ4 (D7). Он выделяет адреса в диапазоне от 20Н до 39Н. При обращении по любому из этих адресов на выходе 9 микросхемы D7 устанавливается низкий уровень (активен сигнал IDS), и через элементы D16-3, D16.2, D2.4 выдаётся сигнал на включение буферного формирователя данных D1 и на генерацию в системную магистраль сигнала готовности READY посредством элементов D16.3, D6.4 и D40.3. На выходе 10 D7 низкий уровень устанавливается при обращении к группе адресов 20–2FН, относящихся к селектору адресов памяти. Аналогично, на выходе 11 ПЗУ выделяется группа адресов 30–37Н, относящаяся к БИС КНГМД. На выходе 12 низкий уровень возникает при обращении к дополнительным регистрам модуля. Логика D9, D15 и D3 служит для окончательной селекции и генерации управляющих сигналов и стробов, поскольку младший разряд адреса на ПЗУ не поступает.&lt;br /&gt;
&lt;br /&gt;
3.4.3. При обращении к адресу 37Н сигнал IDS и, соответственно, сигнал готовности READY вырабатываются только в том случае, если хотя бы один из сигналов: DRQ либо INTRQ, поступающих на вход ПЗУ, установлен высоким уровнем. Таким способом достигается автосинхронизация при обмене данными с БИС КНГМД при чтении или записи сектора. По своим функциям адрес 33Н аналогичен адресу 37Н, но автосинхронизация не производится.&lt;br /&gt;
&lt;br /&gt;
3.4.4. Селектор адресов памяти выполнен на основе БИС двухвходового ОЗУ D8 (КР1802ИР1). Это ОЗУ имеет организацию 16×4 бит. Канал А этой БИС подключён к внутренней шине данных (младшие биты) модуля. 16 ячеек этого ОЗУ по каналу А адресуются как регистры ввода-вывода. Информация, используемая затем в канале В, заносится в ОЗУ через канал А.&lt;br /&gt;
&lt;br /&gt;
В качестве адресов канала В используются 4 старшие разряда адресной шины системной магистрали. Этот канал работает только в режиме считывания. Низкий уровень на выходных линиях канала В позиционно управляет выборкой одного из двух банков ПЗУ или ОЗУ. Естественно, ситуация при которой более одного выхода находятся в низком уровне является запрещённой, так как при этом возникнут столкновения на шине данных. При обращении к ПЗУ сигнал готовности формируется через те же элементы, как и в случае с группой внешних устройств без задержек. При обращении к ОЗУ сигнал готовности формируется элементом D40-3 только после выполнения соответствующего цикла памяти.&lt;br /&gt;
&lt;br /&gt;
3.4.5. При включении питания содержимое ОЗУ управления памятью неопределено D8, поэтому оно может быть включено в работу только после занесения в него соответствующей информации. Обычно, эта операция осуществляется программой инициализации модуля. Блокировка работы селектора адресов памяти выполняется соответствующим триггером D14.1. Он сбрасывается при получении модулем сигнала RESET с системной магистрали и его выходной сигнал MEMON становится неактивным, блокируя работу селектора. Активация триггера происходит при выполнении операции записи в дополнительный регистр управления диском.&lt;br /&gt;
&lt;br /&gt;
3.4.6. Модуль имеет 3 розетки для установки микросхем ПЗУ. Общая ёмкость ПЗУ модуля определяется типом применённых микросхем и их количеством и может варьироваться в пределах от 8-ми до 96 К байт. Селектор адресов модуля позволяет работать с двумя банками ПЗУ. Минимальный размер банка составляет 16 К байт, но дальнейшая селекция до 8 К байт проводится только в пределах одного банка.&lt;br /&gt;
Тип применяемых микросхем задаётся с помощью перемычек П6 – П11 одновременно для всех розеток модуля. На рис. 3.5 показано их расположение для ПЗУ различных типов.&lt;br /&gt;
&lt;br /&gt;
= 4. Меры предосторожности при работе с модулем контроллера НГМД =&lt;br /&gt;
&lt;br /&gt;
4.1. Модуль контроллера НГМД представляет собой сложное электронное устройство, в котором использованы интегральные микросхемы, изготовленные по МОП-технологии. Поэтому при транспортировке, установке в системный блок ПЭВМ, эксплуатации и ремонте модуля следует обеспечивать необходимые условия, исключающие воздействие на него статического электричества.&lt;br /&gt;
&lt;br /&gt;
4.2. Транспортировка модуля должна производиться в специальной упаковке, защищающей его элементы от механических и электрических воздействий. Контакты разъёма X1, предназначенного для подключения модуля к системной магистрали, должны быть закорочены транспортной перемычкой-заглушкой.&lt;br /&gt;
&lt;br /&gt;
4.3. К эксплуатации модуля допускаются лица, изучившие настоящее описание. Регулировка и ремонт модуля производится лицами, прошедшими специальную подготовку на заводе-изготовителе.&lt;br /&gt;
&lt;br /&gt;
4.4. Все монтажные и ремонтные работы: установка модуля в системный блок ПЭВМ, подключение механизмов НГМД, замена вышедших из строя микросхем, установка перемычек и микросхем ПЗУ, производятся только при полном отсутствии питающих напряжений.&lt;br /&gt;
&lt;br /&gt;
4.5. При эксплуатации, ремонте и транспортировке следует не допускать механических повреждений модуля.&lt;br /&gt;
&lt;br /&gt;
4.6. Следует оберегать контакты разъёмов, особенно розеток (X3 – X6) для установки БИС КНГМД и ПЗУ, от попадания на них пыли и грязи, что может привести к снижению надёжности работы модуля. При очистке от загрязнений использовать растворители, не повреждающие материал платы и не смывающие маркировочные надписи с деталей, например, этиловый спирт.&lt;br /&gt;
&lt;br /&gt;
4.7. При эксплуатации, транспортировке и хранении недопустимо прямое попадание воды на детали модуля. В случае, если это произошло, следует удалить воду и просушить модуль перед включением в работу в течении 1–2 часов до полного высыхания.&lt;br /&gt;
&lt;br /&gt;
= 5. Проверка модуля =&lt;br /&gt;
&lt;br /&gt;
5.1. Изготовителем модуль контроллера поставляется настроенным с помощью перемычек на работу со 133 мм механизмами НГМД с двойной плотностью записи на диск, с установленной микросхемой D52 (К573РФ4, К573РФ6 или I2764) в розетке X6 с &amp;quot;зашитой&amp;quot; в неё программой ядра операционной системы *RTV*CP/M 20.&lt;br /&gt;
&lt;br /&gt;
5.2. Проверка работоспособности модуля в условиях потребителя производится путём оценки реакции ПЭВМ и самого модуля КНГМД на команды, подаваемые с клавиатуры.&lt;br /&gt;
&lt;br /&gt;
5.2.1. При включении питания ПЭВМ во время отработки программы &amp;quot;холодного старта&amp;quot; на экране монитора должно появиться сообщение, загружаемое из ПЗУ модуля процессора. Если при этом машина &amp;quot;зависает&amp;quot;, необходимо проверить правильность установки микросхем резидентного ПЗУ на модуле процессора и его селектора адреса. Эти ПЗУ должны позволять работать с модулем КНГМД *RTV*001.89 (BOOT7 или DDT3, CONOUT3 и селектор адреса МА). Проверить надёжность их установки в розетках и правильность установки перемычек на плате модуля процессора. Если указанные действия не приведут к восстановлению работоспособности ПЭВМ, следует обратиться к полной проверке ПЭВМ.&lt;br /&gt;
&lt;br /&gt;
5.2.1. При выборе варианта дисковой загрузки программа ядра операционной системы, &amp;quot;зашитая&amp;quot; в ПЗУ модуля КНМД, производит определение объёма и тестирование памяти, установленной на плате КНГМД, и выводит сообщение на экран монитора; ставит промпт о загрузке операционной системы или выдаёт сообщение об ошибке. Если этого не происходит, следует убедиться в отсутствии механических повреждений на плате модуля, проверить правильность установки перемычек в соответствии с рис. 2.1 настоящего описания, надёжность установки микросхемы ПЗУ в розетку X6. Если указанные действия не приведут к восстановлению работоспособности модуля, его следует отправить для ремонта изготовителю.&lt;br /&gt;
&lt;br /&gt;
5.3. Более полное тестирование модуля может быть произведено специальной тестовой программой, которая загружается в ПЭВМ либо с диска (если это возможно), либо с магнитофонной ленты. Эта программа производит диагностику модуля КНГМД с точностью до узла. Для работы с программой теста необходимо пользоваться её описанием.&lt;br /&gt;
&lt;br /&gt;
5.4. При групповых поставках возможна комплектация ПЭВМ дополнительной платой ПЗУ с &amp;quot;зашитой&amp;quot; тестовой программой.&lt;br /&gt;
&lt;br /&gt;
5.5. При передаче технической документации в состав комплекта может входить описание стенда по наладке и проверке модуля котроллера НГМД.&lt;br /&gt;
&lt;br /&gt;
= ПРИЛОЖЕНИЕ 1 =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Файл:RTV-01-89 APP-1.jpg|500px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ПРИЛОЖЕНИЕ 2. Рекомендации по монтажу модуля КНГМД =&lt;br /&gt;
&lt;br /&gt;
Монтаж модуля контроллера НГМД можно начинать после изготовления печатной платы по фотошаблону 1893. Изготовленная плата не должна иметь разрывов проводников и коротких замыканий проводников между собой и на шины питания. Перед запайкой деталей необходимо установить перемычки, соединив одноимённые контакты, маркированные на плате цифрами 1 и 1.....8, проводником (см. рис. 2.1).&lt;br /&gt;
&lt;br /&gt;
Подобрать комплектующие изделия в соответствии с перечнем элементов, приведённым в разделе 6 настоящего описания. Микросхему ПЗУ (D7) запрограммировать по таблице, приведённой в приложении 1 (карта &amp;quot;прошивки&amp;quot; FDCSA1.) Установку микросхем производить в соответствии с монтажной схемой, приведённой на рис. Пр2.1. Желательно соблюдать следующий порядок установки комплектующих изделий:&lt;br /&gt;
&lt;br /&gt;
— сначала запаять резисторы, транзисторы, резисторные сборки, конденсаторы и микросхемы, за исключением микросхем памяти D17–D34, после чего следует тщательно отмыть плату модуля от остатков флюса.&lt;br /&gt;
&lt;br /&gt;
— Запаять разъёмы X1, X2 и розетки X4–X6 для установки микросхем ПЗУ D52–D54 и БИС КНГМД (D64). Отмыть места пайки, избегая попадания промывочной жидкости в розетки, так как это приводит к значительному снижению качества контактов при установке микросхем.&lt;br /&gt;
&lt;br /&gt;
— запаять микросхемы памяти, соблюдая меры предосторожности от воздействия статического электричества; удалить остатки флюса.&lt;br /&gt;
&lt;br /&gt;
— в розетку X6 установить микросхему ППЗУ (К573РФ4 (РФ6) или их зарубежный аналог I2764 с запрограммированным в неё ядром операционной системы и имеющей карту &amp;quot;прошивки&amp;quot; *RTV*CP/M 20.&lt;br /&gt;
&lt;br /&gt;
Ещё раз проверить установку комплектующих изделий согласно рис. Пр2.1, убедиться внешним осмотром в отсутствии коротких замыканий на плате и провести наладку модуля.&lt;br /&gt;
&lt;br /&gt;
= Дополнительная информация для пользователей ОС &amp;quot;ИРИША&amp;quot; =&lt;br /&gt;
&lt;br /&gt;
Версия BIOS – 20 для модуля КНГМД на МС К1818ВГ93.&lt;br /&gt;
&lt;br /&gt;
Версия операционной системы CP/M для ПЭВМ &amp;quot;ИРИША&amp;quot; номер версии BIOS – 20 предназначена для программной поддержки модуля контроллера накопителей на гибких дисках *RTV*001.89. Программа размещена в МС ПЗУ типа К573РФ4 (или I2764). Программа размещена в розетку на плате контроллера, которая устанавливается согласно техническому описанию модуля.&lt;br /&gt;
&lt;br /&gt;
Версия 20 программно совместима с предыдущими версиями BIOS. Формат файлов и алгоритм работы с накопителями на гибких магнитных дисках, расположение и назначение стартовых конфигурационных перемычек полностью соответствует описанию BIOS версии 10. Более подробная информация приводится в дополнительном материале по версии 10.&lt;br /&gt;
&lt;br /&gt;
Для программного изменения конфигурации системы можно использовать программу CONFIG версия 10. Форматирование дисков выполняется с помощью программы FORMAT версия 20. Программы форматирования ранних версий не будут работать с модулем *RTV*001.89.&lt;br /&gt;
&lt;br /&gt;
Операционная система версии 20 не будет работать при установке её в модуль КНГМД *RTV*071.86.&lt;br /&gt;
&lt;br /&gt;
Основное отличие версии 20 от предыдущих заключается в способности программно поддерживать расширенную память модуля *RTV*001.89. При этом объём квазидиска в зависимости от типа установленных микросхем может изменяться от 128 до 512 Кбайт. При старте операционная система автоматически определяет объём имеющейся памяти и соответственно конфигурирует системные параметры квазидиска.&lt;br /&gt;
&lt;br /&gt;
== Старт операционной системы ==&lt;br /&gt;
&lt;br /&gt;
Если в стартовом меню ПЭВМ выбирается диск, то управление передаётся программе ОС. Прежде всего программа определяет, является ли данный старт первым после включения ПЭВМ в работу. Для этого программа тестирует 5 специфических байт, расположенных в зоне входного вектора BIOS. После первого включения ПЭВМ в этих ячейках находится случайная информация, что является признаком &amp;quot;холодного&amp;quot; старта. Если же операционная система была ранее загружена, и начальный старт был вызван нажатием клавиши сброса без выключения питания, то по этим адресам находится код 0С3Н.&lt;br /&gt;
&lt;br /&gt;
Поскольку версия 20 автоматически распознаёт ситуации &amp;quot;холодного&amp;quot; старта и рестарта, то, в отличие от предыдущих версий, никакого запроса на очистку квазидиска не выводится. Если система зарегистрировала необходимость холодного старта, то проводится начальный тест памяти, определяются исправные банки памяти, которые затем объединяются в квазидиск. Тип установленных МС памяти значения не имеет. Более того, если отдельные участки памяти неисправны, то соответствующие сегменты ОЗУ размером 16 Кбайт будут исключены из общего распределения памяти и не включаются в квазидиск.&lt;br /&gt;
&lt;br /&gt;
Во время тестирования памяти ОС выводит на экран дисплея символ II на каждый тестируемый трек.&lt;br /&gt;
&lt;br /&gt;
Результаты тестирования и объём квазидиска, зафиксированный ОС, выводятся на экран в сообщении:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RAM – disk tracks:XX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где XX – число исправных сегментов (треков) размером 16 Кбайт каждый, включённых в пространство квазидиска. Объём квазидиска в килобайтах вычисляется путём умножения числа зафиксированных системой треков на 16.&lt;br /&gt;
&lt;br /&gt;
В действительности число исправных сегментов памяти равно XX+1, однако 1 сегмент ОС резервирует для системных нужд (в нём размещается буфер сектора НГМД и т.д.) и не включает его в состав квазидиска.&lt;br /&gt;
&lt;br /&gt;
Иногда после начального теста может появляться сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fatal error&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это сообщение обусловлено одной из двух причин:&lt;br /&gt;
&lt;br /&gt;
а). число исправных сегментов меньше 2-х.&lt;br /&gt;
&lt;br /&gt;
б). среди исправных сегментов нет ни одного, подходящего для использования его в системных целях (в силу особенностей физического распределения памяти только некоторые треки пригодны для системного использования).&lt;br /&gt;
&lt;br /&gt;
В любом случае дальнейшая работа операционной системы невозможна, и после появления этой ошибки ПЭВМ останавливается. Если такая ошибка возникла, попробуйте выключить ПЭВМ и, включив её снова, ещё раз запустить ОС. При дальнейшем появлении такой ошибки замените неисправные микросхемы памяти или обратитесь к поставщику ПЭВМ для устранения неисправности.&lt;br /&gt;
&lt;br /&gt;
В ситуации повторного старта без выключения питания тест памяти и реконфигурация квазидиска не производится. Модуль BIOS не перегружается из ПЗУ, поэтому ОС считает, что действительна конфигурация, установленная ранее. При этом все изменения конфигурации, сделанные с помощью программы CONFIG (изменение принтера, форматы НГМД и т.д.), в отличие от предыдущих версий сохраняются.&lt;br /&gt;
&lt;br /&gt;
Естественно, что при этом информация, записанная в квазидиске также сохраняется.&lt;br /&gt;
&lt;br /&gt;
Попытка перезапустить ОС после сброса с клавиатуры при условии, что тест памяти после холодного старта диагностировал фатальную ошибку, приводит к непредсказуемым результатам.&lt;br /&gt;
&lt;br /&gt;
== Новые сообщения об ошибках ==&lt;br /&gt;
&lt;br /&gt;
Операционная система версии BIOS – 20 поддерживает аппаратно реализованный в модуле *RTV*001.89 механизм контроля исправности памяти по дополнительному биту чётности. Это обеспечивает пользователю дополнительную защиту информации при работе с квазидиском, а также при чтении с НГМД.&lt;br /&gt;
&lt;br /&gt;
В случае возникновения такой ошибки операционная система выводит сообщение:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Parity error&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Флаг ошибки передаётся также модулю BDOS, который сообщает далее на каком диске произошёл сбой.&lt;br /&gt;
&lt;br /&gt;
Контроль чётности не даёт абсолютной гарантии правильности считанной информации, однако существенно уменьшает вероятность искажений. Тем не менее, при установке микросхем памяти обязательно необходимо проверить их исправность с помощью тестовой программы, для чего обратитесь к поставщику ПЭВМ.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Ириша]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
	<entry>
		<id>https://emuverse.ru/wiki/%D0%98%D1%80%D0%B8%D1%88%D0%B0/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F</id>
		<title>Ириша/Техническая информация</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/%D0%98%D1%80%D0%B8%D1%88%D0%B0/%D0%A2%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F"/>
		<updated>2026-03-14T07:57:23Z</updated>

		<summary type="html">&lt;p&gt;Panther: /* Адресное пространство */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{emuverse}}&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
&lt;br /&gt;
= Процессор =&lt;br /&gt;
* [[КР580ВМ80А]]&lt;br /&gt;
&lt;br /&gt;
= Адресное пространство =&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Irisha memory map.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
Полное адресное пространство платы процессора Ириши составляет 256 Кб, разбитое на 4 страницы по 64 Кб. Расширение адресных линий до 18 организовано с помощью двух дополнительных сигналов P0 и P1, которые выведены на шину. Эти линии управляются сигналами PC2 и PC3 регистра ВВ55 через специальное ПЗУ диспетчера памяти. &lt;br /&gt;
&lt;br /&gt;
Всего доступно 4 карты распределения памяти. Полученные варианты (для стандартной прошивки ПЗУ блока управления памятью) приведены на рисунке.&lt;br /&gt;
&lt;br /&gt;
После сброса устанавливается карта 0. При этом на нижние адреса подключается ПЗУ, а на верхние &amp;amp;ndash; нулевая подстраница памяти видеоконтроллера.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Irisha MM ROM.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
Адрес ПЗУ диспетчера формируется из трех адресных линий процессора A13, A14, A15, что позволяет управлять памятью подстраницами по 8Кб, и выходами ППА PC2 и PC3. Выходы подключаются следующим образом:  MA14, MA15, MP0, MP1 &amp;amp;mdash; на шину, &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;MS3&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;MS4&amp;lt;/span&amp;gt; &amp;amp;mdash; на ПЗУ BIOS (8+8 Кб), &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;MS1&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;MS2&amp;lt;/span&amp;gt; в стандартной прошивке не используются.&lt;br /&gt;
&lt;br /&gt;
Сигналы MC1 и MC2 формируются схемой монтажного ИЛИ элементами с открытым коллектором. Сразу после сброса они устанавливаются в 0 специальным триггером, что выбирает карту памяти 0. После обращения к ППА триггер устанавливается в 1 и эти линии начинают контролироваться выходами ВВ55.&lt;br /&gt;
&lt;br /&gt;
ОЗУ всегда находится на дополнительных платах, которые должны обрабатывать в том числе сигналы P0 и P1. Стандартная прошивка ПЗУ диспетчера памяти подразумевает следующую конфигурацию:&lt;br /&gt;
&lt;br /&gt;
* Страница 0 &amp;amp;mdash; ПЗУ BIOS на плате процессора. До 2-х ИС 2&amp;amp;ndash;8 Кб + 2&amp;amp;ndash;8 Кб.&lt;br /&gt;
* Страница 1 &amp;amp;mdash; расширение ОЗУ. Реализуется либо отдельной платой расширения, либо [[Ириша/Модуль контроллера НГМД RTV*001.89 ТО|контроллером НГМД]].&lt;br /&gt;
* Страница 2 &amp;amp;mdash; ОЗУ на плате видеоконтроллера. Обычно используется как основное ОЗУ компьютера.&lt;br /&gt;
* Страница 3 &amp;amp;mdash; не используется в стандартной прошивке.&lt;br /&gt;
&lt;br /&gt;
Каждая страница памяти разбита на 4 подстраницы по 16 Кб. Порядок подключения подстраниц в адресное пространство процессора также задается прошивкой ПЗУ диспетчера памяти через преобразование A14, A15 &amp;amp;mdash; MA14, MA15.&lt;br /&gt;
&lt;br /&gt;
ПЗУ BIOS на плате процессора устанавливается в две панельки, адресное пространство каждой &amp;amp;mdash; 8 Кб. Если устанавливаются ИС меньшей ёмкости, пространство до 8 Кб не используется.&lt;br /&gt;
&lt;br /&gt;
= Порты ввода-вывода =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wide&amp;quot;&lt;br /&gt;
! Адрес !! Вид операции !! Назначение !! Примечание&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 00H&amp;amp;nbsp;&amp;amp;hellip;&amp;amp;nbsp;03H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;amp;mdash; &lt;br /&gt;
|| Резерв &lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 04H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R &lt;br /&gt;
|| Регистр данных клавиатуры&lt;br /&gt;
|| К589ИР12&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 05H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R &lt;br /&gt;
|| Регистр данных клавиатуры (дубль)&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 06H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Регистр данных последовательного интерфейса&lt;br /&gt;
|| КР580ВВ51&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 07H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Регистр управления/статуса последовательного интерфейса&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 08H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Счётчик 0 таймера&lt;br /&gt;
|| КР580ВИ53&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 09H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Счётчик 1&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 0AH &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Счётчик 2&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 0BH &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Регистр управления&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 0CH &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Считывание состояния регистра запроса прерывания / Запись команд ICW1, OCW2, OCW3&lt;br /&gt;
|| КР580ВН59&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 0DH &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Считывание регистра маски прерываний / Запись команд ICW2, ICW3, ICW4, OCW1&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 0EH &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Дублирует 0CH&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 0FH &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Дублирует 0DH&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 10H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt;&lt;br /&gt;
|| Порт A ППА&lt;br /&gt;
|| КР580ВВ55&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 11H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Порт B ППА&lt;br /&gt;
|| &amp;lt;small&amp;gt;(В МПСиС ошибочно порт 12H)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 12H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Порт C ППА&lt;br /&gt;
|| &amp;lt;small&amp;gt;(В МПСиС ошибочно порт 11H)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 13H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Регистр управления ППА&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 14H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | R/&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Порт расширения ROM. Чтение &amp;amp;ndash; получение следующего байта. Запись &amp;amp;ndash; сброс счетчика.&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | 15H&amp;amp;nbsp;&amp;amp;hellip;&amp;amp;nbsp;1BH &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;amp;mdash; &lt;br /&gt;
|| Резерв &lt;br /&gt;
||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | D8H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Регистр управления видеорежимом&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | D9H &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Регистр управления цветом&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | DAH &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;W&amp;lt;/span&amp;gt; &lt;br /&gt;
|| Регистр выбора видеостраницы&lt;br /&gt;
|| &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Видеоконтроллер =&lt;br /&gt;
&lt;br /&gt;
Видеоконтроллер поддерживает только графические режимы. Текстовые режимы эмулируются программным обеспечением.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Irisha vodeomodes.png|700px|center]]&lt;br /&gt;
&lt;br /&gt;
Объем памяти, необходимой для режима 1 &amp;amp;ndash; 8000 байт (страницы выровнены по границе 8 Кб), для режимов 2 и 3 &amp;amp;ndash; 16000 байт. Участки памяти от конца экрана до границы страницы 8 или 16 Кб могут использоваться ПО по своему усмотрению.&lt;br /&gt;
&lt;br /&gt;
== Регистры управления видеоконтроллером ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Irisha video registers.png|300px|center]]&lt;br /&gt;
&lt;br /&gt;
* D8H &amp;amp;ndash; регистр управления режимом.&lt;br /&gt;
** 0AH, 1AH  &amp;amp;ndash; режим 1.&lt;br /&gt;
** 8AH &amp;amp;ndash; режим 2.&lt;br /&gt;
** 9AH &amp;amp;ndash; режим 3.&lt;br /&gt;
** x8H, x2H, x0H &amp;amp;ndash; гашение изображения.&lt;br /&gt;
* D9H &amp;amp;ndash; регистр управления цветом.&lt;br /&gt;
* DAH &amp;amp;ndash; регистр выбора рабочих страниц.&lt;br /&gt;
&lt;br /&gt;
== Монохромные режимы ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Irisha mono modes.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
В монохромном режиме среднего разрешения каждый бит отвечает за засветку одной точки на экране.&lt;br /&gt;
&lt;br /&gt;
В режиме высокого разрешения, в зависимости от установки перемычки П1, контроллер может работать аналогично режиму среднего разрешения (П1 снята), тогда в строке выводится 640 независимых точек, либо, за счет снижения разрешения (П1 установлена), яркость соседних точек усредняется (используется для бытовых телевизоров с узкой полосой пропускания).&lt;br /&gt;
&lt;br /&gt;
В режиме 1 на экране отображается одна из двух экранных страниц 8000 байт (адрес начала страниц выровнен но границе 8 Кб), в левом верхнем углу находится первый байт изображения. Старший бит соответствует первой точке.&lt;br /&gt;
&lt;br /&gt;
Структура регистра управления цветом показана на рисунке:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Изображение:Irisha mode 1 register.png|300px]] [[Изображение:Irisha mode 3 pallette.png|300px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Цветной режим ==&lt;br /&gt;
&lt;br /&gt;
В режиме 2 каждая точка может быть окрашена одним из трёх цветов из выбранной палитры (доступно 2):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Изображение:Irisha mode 2.png|300px]] [[Изображение:Irisha mode 2 pallette.png|300px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Контроллер прерываний =&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Irisha interrupts.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
Наивысший приоритет имеет прерывание ITIMER от таймера ВИ53. IKBD и IUART отвечают за прием данных с клавиатура и по локальной сети.&lt;br /&gt;
&lt;br /&gt;
= ППА =&lt;br /&gt;
&lt;br /&gt;
ППА построен на основе КР580ВВ55. Порты используются следующим образом:&lt;br /&gt;
&lt;br /&gt;
* Порт A: Ввод/вывод данных.&lt;br /&gt;
* Порт B: Только ввод. &lt;br /&gt;
* Порт C: Только вывод.&lt;br /&gt;
&lt;br /&gt;
Выходы порта C используются для управления работой внутренних схем модуля процессора.&lt;br /&gt;
На входе порта B установлен мультиплексор К555КП13. Управление мультиплексором осуществляется выходом PC7.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Функции входов и выходов БИС ППА КР580ВВ55&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Сигнал&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Назначение&lt;br /&gt;
|-&lt;br /&gt;
! PC7 = 0&lt;br /&gt;
! PC7 = 1&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; |&amp;#039;&amp;#039;&amp;#039;PA0&amp;#039;&amp;#039;&amp;#039; || Вход-выход ПИ 0 || Старт цикла преобразователя игрового адаптера&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PA1&amp;#039;&amp;#039;&amp;#039; || Вход-выход ПИ 1 || Выбор игрового пульта. Запись по сигналу PC6. «0» — пульт 1, «1» — пульт 2&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PA2&amp;#039;&amp;#039;&amp;#039; || Вход-выход ПИ 2 || rowspan=&amp;quot;2&amp;quot; | Не используется&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PA3&amp;#039;&amp;#039;&amp;#039; || Вход-выход ПИ 3&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PA4&amp;#039;&amp;#039;&amp;#039; || Вход-выход ПИ 4 || Канал побитного управления звуком (шумовой канал)&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PA5&amp;#039;&amp;#039;&amp;#039; || Вход-выход ПИ 5 || Разрешение работы канала 1 синтезатора звука. «0» — разрешена&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PA6&amp;#039;&amp;#039;&amp;#039; || Вход-выход ПИ 6 || Не используется&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PA7&amp;#039;&amp;#039;&amp;#039; || Вход-выход ПИ 7 || Выход программного канала последовательного интерфейса&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PB0&amp;#039;&amp;#039;&amp;#039; || Вход статуса ПИ S13 || Анализ завершения цикла преобразования игрового адаптера: «0» — завершён&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PB1&amp;#039;&amp;#039;&amp;#039; || Вход статуса ПИ S14 || Анализ состояния кнопки игрового пульта 1: «0» — нажата&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PB2&amp;#039;&amp;#039;&amp;#039; || Вход статуса ПИ S15 || Анализ состояния кнопки пульта 2: «0» — нажата&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PB3&amp;#039;&amp;#039;&amp;#039; || Вход статуса ПИ S16 || Вход программного канала последовательного интерфейса&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PB4&amp;#039;&amp;#039;&amp;#039; || Вход статуса ПИ S12 || Анализ сигнала BUSRQ системной магистрали: «1» — установлен&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PB5&amp;#039;&amp;#039;&amp;#039; || Вход статуса ПИ S11 || Анализ сигнала PON системной магистрали: «1» — норма&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PB6&amp;#039;&amp;#039;&amp;#039; || Вход анализа типа дополнительной платы EX1 || Анализ сигнала INT1 системной магистрали: «1» — установлен&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PB7&amp;#039;&amp;#039;&amp;#039; || Вход анализа типа дополнительной платы EX2 || Анализ готовности клавиатуры: «1» — код принят&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PC0&amp;#039;&amp;#039;&amp;#039; || colspan=&amp;quot;2&amp;quot; | Выход управления ПИ SO1&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PC1&amp;#039;&amp;#039;&amp;#039; || colspan=&amp;quot;2&amp;quot; | Выход управления ПИ SO2&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PC2&amp;#039;&amp;#039;&amp;#039; || colspan=&amp;quot;2&amp;quot; | Управление выбором рабочей карты памяти MS0&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PC3&amp;#039;&amp;#039;&amp;#039; || colspan=&amp;quot;2&amp;quot; | Управление выбором рабочей карты памяти MS1&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PC4&amp;#039;&amp;#039;&amp;#039; || colspan=&amp;quot;2&amp;quot; | Разрешение захвата системной магистрали: «1» — захват разрешён&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PC5&amp;#039;&amp;#039;&amp;#039; || colspan=&amp;quot;2&amp;quot; | Выбор режима игровой адаптер — синтезатор звука: «1» — игровой адаптер, «0» — синтезатор звука&lt;br /&gt;
|- style=&amp;quot;border-bottom:hidden;&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PC6&amp;#039;&amp;#039;&amp;#039; || colspan=&amp;quot;2&amp;quot; | Строб записи в дополнительный регистр управления игровым адаптером и синтезатором звука&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &amp;#039;&amp;#039;&amp;#039;PC7&amp;#039;&amp;#039;&amp;#039; || colspan=&amp;quot;2&amp;quot; | Выбор функций портов А и В&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Клавиатура =&lt;br /&gt;
&lt;br /&gt;
Клавиатура записывает код нажатой клавиши в регистр К589ИР12, после чего устанавливается сигнал прерывания IKBD. После чтения регистра сигнал IKBD сбрасывается. Также, наличие кода символа в регистре можно контролировать с помощью бита PB7 ППА.&lt;br /&gt;
&lt;br /&gt;
= Последовательный интерфейс =&lt;br /&gt;
&lt;br /&gt;
Последовательный интерфейс предназначен для обмена информацией с внешними устройствами, в том числе бытовым магнитофоном. Последовательный интерфейс имеет два канала: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Канал 1&amp;#039;&amp;#039;&amp;#039; построен на базе КР580ВВ51.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Канал 2&amp;#039;&amp;#039;&amp;#039; реализуется программно: вывод с помощью манипуляции выходом PA7 ППА, ввод с помощью анализа состояния PB3 ППА.&lt;br /&gt;
&lt;br /&gt;
Скорость обмена в Канале 1 задается с помощью программирования режимов КР580ВВ51 и канала 0 КР580ВИ53, который используется как делитель базовой частоты Ф2TTL, равной 1,7777 МГц.&lt;br /&gt;
&lt;br /&gt;
Канал 2 используется для обмена с бытовым магнитофоном и поддерживает скорости до 1200 бод. Метод и формат записи соответствует стандарту MSX.&lt;br /&gt;
&lt;br /&gt;
Для полноценной работы магнитофон должен поддерживать вход отключения двигателя. Программа работы с магнитофоном использует бит PA7 ППА для вывода информации, выход DTR ВВ51 для управления двигателем и вход DSR для чтения данных. Полученные байты должны читаться из регистра данных ВВ51.&lt;br /&gt;
&lt;br /&gt;
= Параллельный интерфейс (ПИ) =&lt;br /&gt;
&lt;br /&gt;
Параллельный интерфейс предназначен для подключения принтеров и других периферийных устройств. Интерфейс реализует следующие сигналы:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;P0&amp;lt;/span&amp;gt;&amp;amp;nbsp;&amp;amp;hellip;&amp;amp;nbsp;&amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;P7&amp;lt;/span&amp;gt; &amp;amp;mdash; двунаправленные. Подключены к каналу A ППА.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;S01&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;text-decoration: overline;&amp;quot;&amp;gt;S02&amp;lt;/span&amp;gt; &amp;amp;mdash; выходы, PC0 и PC1 ППА.&lt;br /&gt;
* S11&amp;amp;nbsp;&amp;amp;hellip;&amp;amp;nbsp;S16 &amp;amp;mdash; входы, подключены к каналу B ППА.&lt;br /&gt;
&lt;br /&gt;
В зависимости от типа подключенного устройства, конкретное назначение сигналов определяется схемой его подключения и программным обеспечением.&lt;br /&gt;
&lt;br /&gt;
= Таймер =&lt;br /&gt;
&lt;br /&gt;
В качестве таймера используется БИС К580ВИ53. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Канал 0&amp;#039;&amp;#039;&amp;#039; используется как делитель частоты для последовательного интерфейса.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Канал 1&amp;#039;&amp;#039;&amp;#039; используется для формирования временных интервалов. Опорная частота формируется делением сигнала Ф2TTL на 256, что позволяет формировать временные интервалы от 432 мкс до 9,4 сек с дискретностью 144 мкс. Выходной сигнал канала поступает на контроллер прерываний и имеет наивысший приоритет.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Канал 2&amp;#039;&amp;#039;&amp;#039; используется для генерации звука.&lt;br /&gt;
&lt;br /&gt;
= Синтезатор звука =&lt;br /&gt;
&lt;br /&gt;
Синтезатор звука состоит из двух независимых каналов:&lt;br /&gt;
* Канал 1 использует второй канал К580ВИ53.&lt;br /&gt;
* Канал 2 предназначен для синтеза шумовых сигналов и управляется битом PA4 ППА.&lt;br /&gt;
&lt;br /&gt;
Разрешение работы обоих каналов управляется выводом PC5 ППА (активный &amp;amp;ndash; низкий). &lt;br /&gt;
&lt;br /&gt;
= Расширение ROM =&lt;br /&gt;
&lt;br /&gt;
Дополнительное ПЗУ подключается к специальному разъему на плате процессора. Размер может достигать 64 Кб. Доступ к содержимому производится через порт 14H &amp;amp;ndash; чтение передает следующий байт, запись сбрасывает счётчик.&lt;br /&gt;
&lt;br /&gt;
Наличие дополнительно ПЗУ определяется, если при чтении 65536 байт из порта 14H, хотя бы один полученный байт будет отличаться от FFH.&lt;br /&gt;
&lt;br /&gt;
Каждый файл содержит заголовок, в котором указан адрес загрузки, длина и название. Файлы идут последовательно, выравнивания по адресам нет. Файл может состоять из основного блока и нескольких экстентов. Формат записи файла в ПЗУ следующий:&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Irisha ext rom.png|400px|center]]&lt;br /&gt;
&lt;br /&gt;
Для использования в имени файла латинских букв или смешивания кодировок может потребоваться использование символов переключения подстраниц КОИ7 &amp;amp;ndash; 0x0E и 0x0F.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Ириша]]&lt;/div&gt;</summary>
		<author><name>Panther</name></author>
	</entry>
	<entry>
		<id>https://emuverse.ru/wiki/%D0%A3%D0%9A%D0%9D%D0%A6_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B_%D0%B0%D1%80%D1%85%D0%B8%D0%B2%D0%BE%D0%B2</id>
		<title>УКНЦ форматы архивов</title>
		<link rel="alternate" type="text/html" href="https://emuverse.ru/wiki/%D0%A3%D0%9A%D0%9D%D0%A6_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B_%D0%B0%D1%80%D1%85%D0%B8%D0%B2%D0%BE%D0%B2"/>
		<updated>2026-03-05T21:09:05Z</updated>

		<summary type="html">&lt;p&gt;Nzeemin: Новая страница: «{{ДИ|Источни=https://zx-pk.ru/threads/32934-format-arkhiva-lza.html}}  === LZS/LZA === Программы: * LZ.SAV - упаковщик LZS * UZ.SAV - распаковщик LZS программы с правками от EmeSoft: * LZA.SAV - упаковщик LZA * UZA.SAV - распаковщик LZA Правки: # для упаковщика уменьшен буфер в 2 раза, соответственно памяти требуется...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ДИ|Источни=https://zx-pk.ru/threads/32934-format-arkhiva-lza.html}}&lt;br /&gt;
&lt;br /&gt;
=== LZS/LZA ===&lt;br /&gt;
Программы:&lt;br /&gt;
* LZ.SAV - упаковщик LZS&lt;br /&gt;
* UZ.SAV - распаковщик LZS&lt;br /&gt;
программы с правками от EmeSoft:&lt;br /&gt;
* LZA.SAV - упаковщик LZA&lt;br /&gt;
* UZA.SAV - распаковщик LZA&lt;br /&gt;
Правки:&lt;br /&gt;
# для упаковщика уменьшен буфер в 2 раза, соответственно памяти требуется сильно меньше.&lt;br /&gt;
# сжатые данные инвертированы, но КС считается по неинвертированным данным&lt;br /&gt;
# изменён текст, сделаны незначительные оптимизации.&lt;br /&gt;
&lt;br /&gt;
формат Архива:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct ArchHeader {             // заголовок архива&lt;br /&gt;
    word    archID = EmeSoft ? ^R&amp;lt;LZA&amp;gt; : ^R&amp;lt;LZS&amp;gt;; // сигнатура&lt;br /&gt;
    word    version = &amp;quot;21&amp;quot;;     // версия архива&lt;br /&gt;
    word    N;                  // размер кольцевого буфера в байтах 010000 или 04000 для EmeSoft&lt;br /&gt;
    word    date;               // дата создания архива&lt;br /&gt;
    word    password;           // зашифрованный пароль для распаковки, 0, если нету.&lt;br /&gt;
            /* пароль шифруется так:&lt;br /&gt;
               password = comb(swab(^R&amp;lt;nnn&amp;gt; xor archID)),&lt;br /&gt;
               где nnn - открытый пароль, заданный в ключе /P */&lt;br /&gt;
    word    0;                  // зарезервировано&lt;br /&gt;
    word    archCatSize;        // размер каталога архива в байтах, 0 - если нет каталога&lt;br /&gt;
    word    archCatBlk;         // номер блока начала каталога, относительно начала файла архива,&lt;br /&gt;
                                // 0 - если нет каталога&lt;br /&gt;
                                // каталог архива выравнивается по границе блока.&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct FileHeader {             // заголовок файла&lt;br /&gt;
    dword   .rad50 &amp;quot;FILNAM&amp;quot;;    // имя файла в RADIX-50&lt;br /&gt;
    word    .rad50 &amp;quot;EXT&amp;quot;        // расширение файла в RADIX-50&lt;br /&gt;
    word    unpSizeBlk;         // размер файла в блоках до архивации&lt;br /&gt;
    word    date;               // дата создания файла&lt;br /&gt;
    word    CS;                 // контрольная сумма упакованного массива&lt;br /&gt;
    dword   pckSize;            // размер упакованного массива в байтах&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
struct ArchCatRecord {  // запись о файле в каталоге архива&lt;br /&gt;
    word    blkNum;     // номер блока относительно начала файла архива, с которого начинается файл в архиве&lt;br /&gt;
    word    offset;     // смещение в блоке, с которого начинается массив упакованных данных файла&lt;br /&gt;
    FileHeader file;    // структура заголовка файла&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// формат Архива&lt;br /&gt;
Archive {&lt;br /&gt;
    ArchHeader header;      // заголовок архива&lt;br /&gt;
    {&lt;br /&gt;
        FileHeader fh;      // заголовок файла&lt;br /&gt;
        byte[fh.pckSize];   // упакованный массив&lt;br /&gt;
        .wordeven           // выравнивание по слову&lt;br /&gt;
    } по количеству файлов в архиве;&lt;br /&gt;
&lt;br /&gt;
    .blockeven                  // выравнивание по блоку&lt;br /&gt;
    // каталог архива, опционально&lt;br /&gt;
    {&lt;br /&gt;
       ArchCatRecord    fileRecord; // запись о файле в каталоге архива&lt;br /&gt;
    } по количеству файлов в архиве;&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== FCU ===&lt;br /&gt;
Структура файла: нет начального заголовка, весь файл архива состоит из набора архивированных файлов:&lt;br /&gt;
заголовок + сжатый поток + контрольные суммы.&lt;br /&gt;
&lt;br /&gt;
Заголовок: 7 слов = 14 байт&lt;br /&gt;
* три слова: Имя + расширение файла в RADIX-50&lt;br /&gt;
* слово: Длина исходного файла, в блоках&lt;br /&gt;
* слово: Дата файла; старший бит означает что файл был защищён от записи (PROTECTED)&lt;br /&gt;
* два слова: Длина файла в архиве (с точностью до слова)&lt;br /&gt;
** Первое слово&lt;br /&gt;
*** младший байт это количество слов&lt;br /&gt;
*** старший байт это признак заголовка (0xBE = 0276 oct)&lt;br /&gt;
** Второе слово: количество блоков&lt;br /&gt;
&lt;br /&gt;
После заголовка следует собственно сжатый поток.&lt;br /&gt;
Длина этого блока в байтах определяется так:&lt;br /&gt;
(седьмое слово) * 512 + (младший байт 6-го слова) * 2&lt;br /&gt;
В эту длину входят также два слова контрольных сумм.&lt;br /&gt;
&lt;br /&gt;
В самом конце блока со сжатым потоком бит лежат два слова:&lt;br /&gt;
* предпоследнее слово: контрольная сумма исходного файла&lt;br /&gt;
* последнее слово: контрольная сумма сжатого потока&lt;br /&gt;
&lt;br /&gt;
Контрольная сумма считается простым сложением слов.&lt;br /&gt;
&lt;br /&gt;
Собственно сжатие выполняется алгоритмом Huffman, за основу была взята известная реализация lzhuf.c от Haruyasu Yoshizaki и Hurahiko Okumura.&lt;br /&gt;
Параметры алгоритма:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// LZSS compression&lt;br /&gt;
&lt;br /&gt;
#define N               4096        // buffer size&lt;br /&gt;
#define F               60          // lookahead buffer size&lt;br /&gt;
#define THRESHOLD       2&lt;br /&gt;
const uint16_t NIL =    0xFFFE;    // leaf of tree&lt;br /&gt;
&lt;br /&gt;
// Huffman coding&lt;br /&gt;
&lt;br /&gt;
#define N_CHAR          (256 - THRESHOLD + F)&lt;br /&gt;
// kinds of characters (character code = 0..N_CHAR-1)&lt;br /&gt;
#define T               (N_CHAR * 2 - 1)        // size of table&lt;br /&gt;
#define R               (T - 1)     // position of root&lt;br /&gt;
#define MAX_FREQ        0x8000      // updates tree when the root frequency comes to this value.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Существенное отличие от оригинала, это кодирование потока бит. В Huffman мы имеем дело с потоком бит, поэтому важно как они укладываются в байты и слова.&lt;br /&gt;
Обычно это просто &amp;quot;берём байты друг за другом&amp;quot; и для каждого байта либо &amp;quot;MSB first&amp;quot; (от старших бит к младшим) либо &amp;quot;LSB first&amp;quot; (от младших бит к старшим).&lt;br /&gt;
Но в FCU всё сложнее, потому что энкодер сохраняет словами, плюс little endian для байт в слове. Поэтому, получается так:&lt;br /&gt;
* во-первых, используем MSB, поэтому для слова `0xABCD` порядок выдачи бит в исходящем потоке будет &amp;lt;code&amp;gt;A B C D&amp;lt;/code&amp;gt;.&lt;br /&gt;
* во-вторых, little endian, поэтому в виде байт это сохраняется в порядке: &amp;lt;code&amp;gt;[CD] [AB]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Категория:УКНЦ]]&lt;/div&gt;</summary>
		<author><name>Nzeemin</name></author>
	</entry>
</feed>