588ВУ2: различия между версиями

Материал из Emuverse
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
{{Emuverse}}
{{Emuverse}}


'''К588ВУ2''' ('''КР588ВУ2''', '''КА588ВУ2''') — микросхема управляющей памяти микрокоманд из [[Микропроцессорный комплект 588
'''К588ВУ2''' ('''КР588ВУ2''', '''КА588ВУ2''') — микросхема управляющей памяти микрокоманд из [[Микропроцессорный комплект 588|микропроцессорного комплекта 588]].
|микропроцессорного комплекта 588]].


Всего есть 7 типов микросхем 588ВУ2: 0001..0007, вместе они реализуют систему команд компьютера «Электроника-60» (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой).
Всего есть 7 типов микросхем 588ВУ2: 0001..0007, вместе они реализуют систему команд компьютера «Электроника-60» (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой).

Версия от 00:13, 11 октября 2022

Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0.

К588ВУ2 (КР588ВУ2, КА588ВУ2) — микросхема управляющей памяти микрокоманд из микропроцессорного комплекта 588.

Всего есть 7 типов микросхем 588ВУ2: 0001..0007, вместе они реализуют систему команд компьютера «Электроника-60» (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой).

Кодировка Применение
0001-0004 Управление арифметико-логическим устройством 588ВС2
0005 Управление системным контроллером 588ВГ1
0006 Управление арифметическим умножителем 16×16 588ВР2 для реализации команд расширенной арифметики (MUL, DIV, ASH, ASHC)
0007 Управление системным контроллером 588ВГ1

Система команд

Система команд и распределение команд по кодировкам микросхем 588ВУ2, согласно Немига/ТО#Приложение_1.

───────────────────┬───────────────┬─────────────────────┬─────────
    Код команды    │  Признаки     │                     │  Номер
──────────┬────────┼───┬───┬───┬───┤ Содержание команды  │кодировки
Мнемоника │8-ричный│ N │ Z │ V │ C │                     │
──────────┼────────┼───┼───┼───┼───┼─────────────────────┼─────────
CLR (A)   │*050DD  │ 0 │ 1 │ 0 │ 0 │Очистка              │ 0001
COM (A)   │*051DD  │ + │ + │ 0 │ 1 │Инвертирование       │ 0001
INC (A)   │*052DD  │ + │ + │ + │ - │Инкрементация        │ 0001
DEC (A)   │*053DD  │ + │ + │ + │ - │Декрементация        │ 0001
NEG (A)   │*054DD  │ + │ + │ + │ + │Дополнение           │ 0001 
ADC (A)   │*055DD  │ + │ + │ + │ + │Сложение с переносом │ 0001
SEC (A)   │*056DD  │ + │ + │ + │ + │Вычитание переноса   │ 0001
TST (A)   │*057DD  │ + │ + │ 0 │ 0 │Проверка             │ 0001
ROR (A)   │*060DD  │ + │ + │ + │ + │Сдвиг цикл.правый    │ 0001
ROL (A)   │*061DD  │ + │ + │ + │ + │Сдвиг цикл.левый     │ 0001
ASR (A)   │*062DD  │ + │ + │ + │ + │Сдвиг арифм.правый   │ 0001
ASL (A)   │*063DD  │ + │ + │ + │ + │Сдвиг арифм.левый    │ 0001
MOV (A,B) │*1SSDD  │ + │ + │ 0 │ - │Пересылка            │ 0001
CMP (A,B) │*2SSDD  │ + │ + │ + │ + │Сравнение            │ 0001
BIT (A,B) │*3SSDD  │ + │ + │ 0 │ - │Проверка разрядов    │ 0001
BIC (A,B) │*4SSDD  │ + │ + │ 0 │ - │Очистка разрядов     │ 0001
BIS (A,B) │*5SSDD  │ + │ + │ 0 │ - │Логическое "ИЛИ"     │ 0001
ADD (A,B) │06SSDD  │ + │ + │ + │ + │Сложение             │ 0001
SUB (A,B) │16SSDD  │ + │ + │ + │ + │Вычитание            │ 0001
──────────┼────────┼───┼───┼───┼───┼─────────────────────┼─────────
NOP       │000240  │   │   │   │   │Нет операции         │ 0002
CLC       │000241  │ - │ - │ - │ 0 │Очистка "С"          │ 0002
CLV       │000242  │ - │ - │ 0 │ - │Очистка "V"          │ 0002
CLZ       │000244  │ - │ 0 │ - │ - │Очистка "Z"          │ 0002
CLN       │000250  │ 0 │ - │ - │ - │Очистка "N"          │ 0002
SEC       │000261  │ - │ - │ - │ 1 │Установка "С"        │ 0002
SEV       │000262  │ - │ - │ 1 │ - │Установка "V"        │ 0002
SEZ       │000264  │ - │ 1 │ - │ - │Установка "Z"        │ 0002
SEN       │000270  │ 1 │ - │ - │ - │Установка "N"        │ 0002
SCC       │000277  │ 1 │ 1 │ 1 │ 1 │Установка "С", "V"   │ 0002
          │        │   │   │   │   │          "Z", "N"   │
CCC       │000257  │ 0 │ 0 │ 0 │ 0 │Очистка   "С", "V"   │ 0002
          │        │   │   │   │   │          "Z", "N"   │ 
SWAB      │0003DD  │ + │ + │ 0 │ 0 │Перестановка байтов  │ 0002
MARK      │0064NN  │ - │ - │ - │ - │Восстановление указа-│ 0002
          │        │   │   │   │   │теля стека           │ 
XOR (R,A) │074RDD  │ + │ + │ 0 │ - │Исключающее "ИЛИ"    │ 0002
BR (A)    │0004XXX │               │Ветвление безусловное│ 0002
BNE (A)   │0010XXX │     Z=0       │Ветвление, если   =0 │ 0002
BEQ (A)   │0014XXX │     Z=1       │Ветвление, если   =0 │ 0002
BGE (A)   │0020XXX │   NOV=0       │Ветвление, если   >0 │ 0002
BLT (A)   │0024XXX │   NOV=1       │Ветвление, если   <0 │ 0002
BGT (A)   │0030XXX │ ZV(NOV)?0     │Ветвление, если   >0 │ 0002
BLE (A)   │0034XXX │ ZV(NOV)=1     │Ветвление, если   <0 │ 0002
SOB (A)   │077RNN  │     Z=0       │Вычитание единицы,   │ 0002
          │        │               │если результат    =0 │ 0002
BLR (A)   │1000XXX │     N=0       │Ветвление, если +    │ 0002
BMI (A)   │1004XXX │     N=1       │Ветвление, если -    │ 0002
BHI (A)   │1010XXX │   ZVC=0       │Ветвление, если >    │ 0002
BLOS (A)  │1014XXX │   ZVC=1       │Ветвление, если <    │ 0002
BVC (A)   │1020XXX │     V=0       │Ветвление, если нет  │ 0002
          │        │               │переполнения         │ 0002
BVS (A)   │1024XXX │     V=1       │Ветвление, если      │ 0002
          │        │               │переполнение         │ 0002
BHIS (A)  │1030XXX │     C=0       │Ветвление, если нет  │ 0002
          │        │               │переноса             │ 
BLO (A)   │1034XXX │     C=1       │Ветвление, если      │ 0002
          │        │               │перенос              │ 
SXT (A)   │0067DD  │ - │ + │ 0 │ - │Расширение знака     │ 0002
MTPS (A)  │1064SS  │ + │ + │ + │ + │Запись ССП           │ 0002
MFPS (A)  │1067DD  │ - │ + │ 0 │ - │Чтение ССП           │ 0002
──────────┼────────┼───┴───┴───┴───┼─────────────────────┼─────────
HALT      │000000  │               │Останов              │ 0004
WAIT      │000001  │               │Ожидание             │ 0004
RTI       │000002  │               │Возврат из прерыва-  │ 0004
          │        │               │ния                  │ 
BPT       │000003  │               │Прерыв.для отладки   │ 0004
IOT       │000004  │               │Прерыв.для ВВ/ВЫВ    │ 0004
RESET     │000005  │               │Сброс                │ 0004
RTT       │000006  │               │Возврат из прерыва-  │ 0004
          │        │               │ния                  │ 
JMP (A)   │0001DD  │               │Безусловный переход  │ 0004
RTS (R)   │00020R  │               │Возврат из подпрогр. │ 0004
JSR (R,A) │0004RDD │               │Переход к подпрограм-│ 0004
          │        │               │ме                   │ 
EMT       │104000- │               │Командное прерывание │ 0004
          │104377  │               │                     │ 
TRAP      │104400- │               │Командное прерывание │ 0004
          │104777  │               │                     │
──────────┼────────┼───┬───┬───┬───┼─────────────────────┼─────────
MUL (R,A) │070RSS  │ + │ + │ 0 │ + │Умножение            │ 0006
DIV (R,A) │071RSS  │ + │ + │ + │ + │Деление              │ 0006
ASH (R,A) │072RSS  │ + │ + │ + │ + │Многоразрядный сдвиг │ 0006
ASHC (R,A)│073RSS  │ + │ + │ + │ + │Сдвиг комбинированный│ 0006
──────────┴────────┴───┴───┴───┴───┴─────────────────────┴─────────

    П р и м е ч а н и я:
    1.    R - восьмеричный код РОН (0-7);
         SS - поле адресации операнда источника;
         DD - поле адресации операнда приемника;
          * - операция производится над байтом, если * = 1
              над словом, если * = 0;
        XXX - смещение (8 разрядов);
         NN - смещение (6 разрядов).
    2. В графе "признаки" указаны значения признаков N,Z и C,V
слова состояния процессора, которые устанавливаются после выполнения
процессором каждой команды. Знак "+" означает, что данный разряд ССП
будет установлен в "0" или "1" в зависимости от результата выполне-
ния команды. Знак "-" означает, что команда не оказывает воздействия
на данный разряд ССП.
    3. B графе 8 указан номер кодировки микросхемы КР588ВУ2‚ отве-
чающей за выполнение соответствующей команды.