¦A7¦A6¦A5¦A4¦A3¦A2¦A1¦A0¦D7¦D6¦D6¦D4¦D3¦D2¦D1¦D0¦
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--¬
¦D0¦D1¦D2¦D3¦D4¦D5¦D6¦D7¦A0¦A1¦A2¦A3¦A4¦A5¦A6¦A7¦
L--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--ЗАМЕЧАНИЕ:
При пересылке "регистр-память" затрачивается лишний цикл шины на считывание элемента Источника, следующего за элементом, считанным в последний регистр группы.
MOVEP Пересылка данных периферийного устройства MOVEP
-------------------------------------------------------Операция: Источник > Приемник
Синтаксис: MOVEP Dx,(d,Ay)
MOVEM (d,Ay),Dx
Атрибуты: Размер=(Слово,Длинное слово)
Описание:
Команда позволяет пересылать байты регистра данных в чередующиеся байты памяти, начиная с указанного адреса, с приращением адреса на 2, а также выполнять обратную операцию. Первым пересылается старший байт регистра, последним - младший. Адрес памяти задается способом косвенной адресации через адресный регистр с 16-битным смещением. Команда предназначена для работы с 8-битными периферийными устройствами на 16-битной шине. При четном адресе передача будет идти по старшей половине шины, при нечетном - по младшей. Для 8- и 32-битной шины будут пересылаться лишние байты (чередующиеся с байтами, обрабатываемыми командой).
Пример: пересылка при четном адресе. Размер - длинное слово.
Расположение байтов в регистре
31 24 23 16 15 8 7 0
---------------T------------T------------T-------------¬
¦ Старший ¦ Средний-ст.¦ Средний-мл.¦ Младший ¦
L--------------+------------+------------+-------------Расположение байтов в памяти (в порядке возрастания адресов)
15 8 7 0
-------------T------------¬
¦ Старший ¦ ¦
+------------+------------+
¦ Средний-ст.¦ ¦
+------------+------------+
¦ Средний-мл.¦ ¦
+------------+------------+
¦ Младший ¦ ¦
L------------+------------Пример: пересылка при нечетном адресе. Размер - слово.
Расположение байтов в регистре
31 24 23 16 15 8 7 0
---------------T------------T------------T-------------¬
¦ ¦ ¦ Старший ¦ Младший ¦
L--------------+------------+------------+-------------Расположение байтов в памяти (в порядке возрастания адресов)
15 8 7 0
-------------T------------¬
¦ ¦ Старший ¦
+------------+------------+
¦ ¦ Младший ¦
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----------¬
¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦Регистр Dx ¦ Мода ¦ 0 ¦ 0 ¦ 1 ¦Регистр Ay¦
¦ ¦ ¦ ¦ ¦ ¦ операции ¦ ¦ ¦ ¦ ¦
+---+---+---+---+-----------+-----------+---+---+---+----------+
¦ Смещение ¦
L--------------------------------------------------------------Поля команды:
Поле Регистра Dx задает регистр данных, в который или из которого осуществляется пересылка.
Поле Моды операции определяет направление пересылки и размер операндов:
100 - пересылка слова из памяти в регистр.
101 - пересылка длинного слова из памяти в регистр.
110 - пересылка слова из регистра в память.
111 - пересылка длинного слова из регистра в память.
Поле Регистра Ay задает регистр адреса, используемый при косвенной адресации с 16-битным смещением.
Поле Смещения задает смещение, используемое при вычислении адреса операнда в памяти.
MOVEQ Пересылка непосредственных данных MOVEQ
в диапазоне 1-8
-----------------------------------------------------------Операция: Непосредственные данные > Приемник
Синтаксис: MOVEQ #<данные>,Dn
Атрибуты: Размер=(Длинное слово)
Описание:
Пересылка непосредственных данных в регистр данных.
Данные, содержащиеся в 8-битном поле операционного слова, при пересылке дополняются распространением знака до длинного слова.
Коды условия:
X N Z V C
----T---T---T---T---¬
¦ - ¦ * ¦ * ¦ 0 ¦ 0 ¦
L---+---+---+---+---N 1, если результат отрицателен; иначе 0
Z 1, если результат равен нулю; иначе 0
V всегда 0
C всегда 0
X не изменяется
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T-----------T---T-----------------------------¬
¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ Регистр ¦ 0 ¦ Данные ¦
L---+---+---+---+-----------+---+-----------------------------Поля команды:
Поле Регистра задает загружаемый регистр данных.
Поле Данных содержит 8-битные данные, загружаемые в регистр с распространением знака.
MOVES Пересылка между адресными пространствами MOVES
(привилегированная команда)
---------------------------------------------------------Операция: Если режим супервизора, то Rn > Приемник [DFC] или
Источник [SFC] > Rn
иначе TRAP
Синтаксис: MOVES Rn,<иа>
MOVES <иа>,Rn
Атрибуты: Размер=(Байт,Слово,Длинное слово)
Описание:
Команда позволяет пересылать байт, слово или длинное слово из регистра общего назначения по адресу в адресном пространстве, определяемом регистром модификации функционального кода приемника (DFC). Команда позволяет также пересылать байт, слово или длинное слово из адресного пространства, определяемого регистром модификации функционального кода источника (SFC), в регистр общего назначения.
Если Приемником является регистр данных, его младшие биты, в соответствии с размером операнда, заменяются битами Источника. Если Приемником является регистр адреса, Источник перед загрузкой в регистр дополняется до
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.