|
Инструкции ассемблера, безадресные, одноадресные, двухадресные команды К1801ВМ1 (Т.4 МПУ)
В МП принята DEC-овская система команд, представленная в прил. 1. Команды умножения и деления есть только у МП К1801ВМ1Г. Одноадресные команды имеют поле адресации DD только одного операнда, двухадресные имеют два поля адресации: источника SS и приёмника DD. После выполнения команды с двумя операндами результат операции записывается по адресу приёмника. Поле адресации – два восьмеричных числа (шесть двоичных чисел), которые указывают способ адресации источника и приемника(см. прил. 2) .
В приложении 3 приводится часть листинга одной из реальных программ для автоматизированной системы испытаний. Колонка 1 – номер команд по порядку;
Колонка 2 – первый адрес в физической памяти, где хранится команда;
Колонка 3 – машинный код команды и способов адресации;
Колонки 4-5 – машинные восьмеричные значения сопутствующих слов команды (операнды, индексные слова, смещения);
Колонка 6 – метки в программе для условных и безусловных переходов;
Колонка 7 – код команды на Ассемблере;
Колонки 8-9 – адреса операндов, сами операнды, сопутствующие слова (в зависимости от способа адресации).
Команды процессора МП К1801ВМ1
Одноадресные команды
| Двухадресные команды
| Управление
| Мнемоника
| код
| Признак
| Наименование
| мнемоника
| Код
| признак
| наименование
| Мнемоника
| код
| наименование
| N
| Z
| V
| C
| N
| Z
| V
| C
| CLR(B)
| *050DD
|
|
|
|
| Очистка
| MOV(B)
| *1SSDD
| +
| +
|
| -
| Пересылка
| HALT
|
| Останов
| COM(B)
| *051DD
| +
| +
|
|
| Инвертирование
| CMP(B)
| *2SSDD
| +
| +
| +
| +
| Сравнение (S)=(D)
| WAIT
|
| Ожидание прерывания
| INC(B)
| *052DD
| +
| +
| +
| -
| Плюс 1
| BIT(B)
| *3SSDD
| +
| +
|
| -
| Проверка разрядов (D)Ù(S)
| RTI
|
| Возврат из прерывания
| DEC(B)
| *053DD
| +
| +
| +
| -
| Минус 1
| BIC(B)
| *4SSDD
| +
| +
|
| -
| Очистка разрядов (D)ÙГ(S)
| BPT
|
| Прерывание для отладки (14) ®СК; (16) ®РСП
| NEG(B)
| *054DD
| +
| +
| +
| +
| Инвертирование и увеличение на 1
| BIS(B)
| *5SSDD
| +
| +
|
| -
| Логическое ИЛИ
| ADC(B)
| *055DD
| +
| +
| +
| +
| Прибавление переноса (D)+C
| XOR
| 074RDD
| +
| +
|
| -
| Исключающее ИЛИ
| IOT
|
| Прерывание для вв.-выв (28)®СК; (22) ®РСП
| SBC(B)
| *056DD
| +
| +
| +
| +
| Вычитание переноса
| ADD
| 06SSDD
| +
| +
| +
| +
| Сложение
| TST(B)
| *057DD
| +
| +
|
|
| Проверка признаков Z и N
| SUB
| 16SSDD
| +
| +
| +
| +
| Вычитание
| RESET
|
| Сброс
| ROR(B)
| *060DD
| +
| +
| +
| +
| Циклический сдвиг вправо
| MUL
| 070RSS
| +
| +
| +
| +
| Умножение
| RTT
|
| Возврат из прерывания (если Т-разр.)
| ROL(B)
| *061DD
| +
| +
| +
| +
| Циклический сдвиг влево
| DIV
| 071RSS
| +
| +
| +
| +
| Деление
| EMT
| 104000÷104377
| Командное прерывание (30) ®СК;(32) ®РСП
| ASR(B)
| *062DD
| +
| +
| +
| +
| Арифметический сдвиг вправо
|
| ASL(B)
| *063DD
| +
| +
| +
| +
| Арифметический сдвиг влево
| TRAP
| 104400÷104777
| Командное прерывание (34) ®СК;(36) ®РСП
| SWAB
| 0003DD
| +
| +
|
|
| Перестановка байтов
| SXT
| 0067DD
| -
| +
|
| -
| Расширение знака (D)=0 при N=0; (D)=1 при N=1
| NOP
|
| Нет операции
| MTPS
| 1064SS
| Запись СПП
|
| MFPS
| 1067DD
| Чтение СПП
| Изменение признаков
| *=0 слово, * =1 байт.
| Ветвление
| Мнемоника
| Код
| Признак
| XX, NN – смещение в адресе программы на 2XX или 2NN.
| Мнемоника
| Код
| Наименование
|
команда цикла R-1®R, CK-2NN®CK R ®УC, СК®R R®СК, УС®R
Ветвление
| N
| Z
| V
| C
| SOB
| 077RNN
| Вычитание 1 и ветвление
| CLS
|
| -
| -
| -
|
| DD, SS – поле адресации приёмника, источника.
| JMP
| 0001DD
| Безусловная передача
| CLU
|
| -
| -
|
| -
| JSR
| 004RDD
| Обращение к подпрограмме
| CLZ
|
| -
|
| -
| -
| Содержимое SS не меняется.
| RTS
| 00020R
| Возврат из подпрограммы
| CLN
|
|
| -
| -
| -
| Если ветвление в команде назад, то XX в дополнительном коде.
| BR
| 000NXX
| Безусловное ветвление
| SEC
|
| -
| -
| -
|
| BEQ
| 001MXX
| Ветвление, если =0
| SEU
|
| -
| -
|
| -
| MUL. То результат находится в R1 и R+1, если R – чётный. Если P – нечётный, то сохраняется только младшая часть результата.
| BNE
| 001NXX
| Ветвление, если ¹0
| SEZ
|
| -
|
| -
| -
| BQE
| 002MXX
| Ветвление, если ³0
| SEN
|
|
| -
| -
| -
| BLT
| 002NXX
| Ветвление, если <0
|
|
| Вперед
| Назад
|
| CCC
|
|
|
|
|
| BQT
| 003MXX
| Ветвление, если >0
| N
| 4,5
| 6,7
| SCC
|
|
|
|
|
| CMP, BIT, TST – изменяют только признак.
| BLE
| 003NXX
| Ветвление, если ≤0
| M
| 0,1
| 2,3
|
| BMI
| 100NXX
| Ветвление, если минус
|
(При ветвлении назад XX в доп. коде)
|
| BPL
| 100MXX
| Ветвление, если плюс
| BCS, BLO
| 103NXX
| Ветвление, если перенос
| RCC, BHIS
| 103MXX
| Ветвление, если нет переноса
| PHI
| 101MXX
| Ветвление, если больше
| BLOS
| 101NXX
| Ветвление, если меньше
| BUS
| 102MXX 102NXX
| Ветвление, если переполнение
Ветвление, если нет переполнения
|
Способы адресации К1801ВМ1-прямые, косвенные, через ПС (Т.4 МПУ)
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|