+----------------+----+--------++----------------+----+--------+
¦ (d{16},An) ¦101 ¦ном.An ¦¦ (d{16},PC) ¦111 ¦ 010 ¦ ?
+----------------+----+--------++----------------+----+--------+
¦ (d{8},An,Xn) ¦110 ¦ном.An ¦¦ (d{8},PC,Xn) ¦111 ¦ 011 ¦
+----------------+----+--------++----------------+----+--------+
¦ (bd,An,Xn) ¦110 ¦ном.An ¦¦ (bd,PC,Xn) ¦111 ¦ 011 ¦
+----------------+----+--------++----------------+----+--------+
¦([bd,An,Xn],od) ¦110 ¦ном.An ¦¦ ([bd,PC,Xn],od)¦111 ¦ 011 ¦
+----------------+----+--------++----------------+----+--------+
¦([bd,An],Xn,od) ¦110 ¦ном.An ¦¦ ([bd,PC],Xn,od)¦111 ¦ 011 ¦
L----------------+----+---------L----------------+----+--------UNLK Связь при возврате UNLK
------------------------------------------------------Операция: An > SP; (SP) > An; SP + 4 > SP
Синтаксис: UNLK An
Атрибуты: Размер не используется
Описание:
Значение указанного адресного регистра помещается в указатель стека. Затем в адресный регистр с вершины стека загружается длинное слово.
Коды условия: не меняются.
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T---T---T---T---T---T---T---T---T---T---------¬
¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 0 ¦ 1 ¦ 1 ¦ Регистр ¦
L---+---+---+---+---+---+---+---+---+---+---+---+---+---------Поля команды:
Поле Регистра определяет адресный регистр.
UNPK Распаковка UNPK
-----------------------------------------------------Операция: Источник (упакованное двоично-десятичное)
+ поправка
> Приемник (распакованное двоично-десятичное)
Синтаксис: UNPK -(Ax),-(Ay),#<поправка>
UNPK Dx,Dy,#<поправка>
Атрибуты: Размер не используется
Описание:
При распаковке две двоично-десятичные цифры байта-Источника разъединяются и помещаются в младшие полубайты двух байтов Приемника. Старшие полубайты заполняются нулями. Затем Приемник преобразуются путем добавления
<поправки>. Коды условия не меняются.
Если оба операнда находятся в регистрах данных, регистр-Источник распаковывается, прибавляется <поправка>
из слова расширения и результат помещается в регистр-Приемник. Старшее слово Приемника не меняется.
Источник Dx
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬
¦ U ¦ U ¦ U ¦ U ¦ U ¦ U ¦ U ¦ U ¦ a ¦ b ¦ c ¦ d ¦ e ¦ f ¦ g ¦ h¦
L---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--распаковывается:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬
¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ a ¦ b ¦ c ¦ d ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ e ¦ f ¦ g ¦ h¦
L---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--и складывается с поправкой:
---------------------------------------------------------------¬
¦ 16 - битное слово расширения ¦
L--------------------------------------------------------------Результат помещается в Приемник Dy:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬
¦ V ¦ V ¦ V ¦ V ¦a' ¦b' ¦c' ¦d' ¦ W ¦ W ¦ W ¦ W ¦e' ¦f' ¦g' ¦h'¦
L---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--Если используется способ адресации операндов с предекрементированием, две двоично-десятичные цифры байта Источника разъединяются и помещаются в младшие полубайты двух байтов промежуточного результата. Старшие полубайты заполняются нулями. Затем добавляется <поправка> из слова расширения. Полученные два байта помещаются по адресу Приемника. Коды условия не меняются.
Источник
7 6 5 4 3 2 1 0
----T---T---T---T---T---T---T---¬
¦ a ¦ b ¦ c ¦ d ¦ e ¦ f ¦ g ¦ h ¦
+---+---+---+---+---+---+---+---+
(Ax) -->¦ ¦
L-------------------------------распаковывается:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬
¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ a ¦ b ¦ c ¦ d ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ e ¦ f ¦ g ¦ h¦
L---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--и складывается с поправкой:
---------------------------------------------------------------¬
¦ 16 - битное слово расширения ¦
L--------------------------------------------------------------помещается в Приемник:
7 6 5 4 3 2 1 0
----T---T---T---T---T---T---T---¬
¦ V ¦ V ¦ V ¦ V ¦ a'¦ b'¦ c'¦ d'¦
+---+---+---+---+---+---+---+---+
¦ W ¦ W ¦ W ¦ W ¦ e'¦ f'¦ g'¦ h'¦
+---+---+---+---+---+---+---+---+
(Ay) -->¦ ¦
L-------------------------------Коды условия: не изменяются
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T-----------T---T---T---T---T---T---T----------¬
¦ 1 ¦ 0 ¦ 0 ¦ 0 ¦Регистр Ry ¦ 1 ¦ 1 ¦ 0 ¦ 0 ¦ 0 ¦R/M¦Регистр Rx¦
+---+---+---+---+-----------+---+---+---+---+---+---+----------+
¦ Поправка ¦
L--------------------------------------------------------------Поля команды:
Поле Регистра Ry определяет регистр Приемника:
Если R/M=0, то регистр данных Dy
Если R/M=1, то регистр адреса Ay для адресации с предекрементированием.
Поле R/M определяет способ адресации операндов:
0 - операция над регистрами данных
1 - операция над памятью.
Поле Регистра Rx определяет регистр Источника:
Если R/M=0, то регистр данных Dx
Если R/M=1, то регистр адреса Ax для адресации с предекрементированием.
Поле Поправки содержит слово непосредственных данных, прибавляемое к Источнику. Для преобразования двоичнодесятичных чисел в код ASCII или EBCDIC, следует использовать соответствующие константы.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.