Команда допускает использование способов адресации трех классов: управляющих операндов, с предекрементированием и с постинкрементированием.
Если исполнительный адрес задан как управляющий, пересылка выполняется, начиная с указанного адреса и далее в сторону больших адресов. Регистры участвуют в пересылке в следующем порядке: начиная с регистра данных 0
и кончая регистром данных 7 и затем начиная с регистра адреса 0 и кончая регистром адреса 7.
Если задано предекрементирование исполнительного адреса, допускается только пересылка регистров в память.
Пересылка выполняется, начиная с указанного адреса минус размер операнда (2 или 4) и далее в сторону меньших адресов. Регистры запоминаются в следующем порядке: начиная с регистра адреса 7 и кончая регистром адреса 0 и затем, начиная с регистра данных 7 и кончая регистром данных 0. По завершении операции пересылки регистр, адресующий Приемник, содержит адрес последнего слова, в которое была произведена запись.
Если задано постинкрементирование исполнительного адреса, допускается только пересылка из памяти в регистры.
Пересылка выполняется, начиная с указанного адреса и далее в сторону больших адресов. Порядок пересылки регистров тот же, что и при способе адресации управляющих операндов. По завершении операции пересылки регистр, адресующий Источник, содержит адрес последнего пересылавшегося слова плюс размер операнда (2 или 4).
Коды условия: не изменяются.
Формат команды:
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---------------------¬
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ Исполнительный адрес¦
¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦НП ¦ 0 ¦ 0 ¦ 1 ¦Рзм¦ Мода Регистр ¦
+---+---+---+---+---+---+---+---+---+---+-----------+---------+
¦ Маска группы регистров ¦
L-------------------------------------------------------------Поля команды:
Поле НП указывает направление пересылки:
0 - из регистров в память.
1 - из памяти в регистры.
Поле Рзм определяет разрядность части регистра, участвующей в пересылке:
0 - слово.
1 - длинное слово.
Поле Исполнительного адреса определяет адрес области памяти, участвующей в пересылке. Для пересылки регистров в память допустимы только способы адресации изменяемых управляющих операндов и адресации с предекрементированием:
-----------------T----T--------¬-----------------T----T--------¬
¦Способ адресации¦Мода¦Регист𠦦Способ адресации¦Мода¦Регистр ¦
+----------------+----+--------++----------------+----+--------+
¦ Dn ¦ - ¦ - ¦¦ (xxx).W ¦111 ¦ 000 ¦
+----------------+----+--------++----------------+----+--------+
¦ An ¦ - ¦ - ¦¦ (xxx).L ¦111 ¦ 001 ¦
+----------------+----+--------++----------------+----+--------+
¦ (An) ¦010 ¦ном.An ¦¦ #<данные> ¦ - ¦ - ¦
+----------------+----+--------++----------------+----+--------+
¦ (An)+ ¦011 ¦ном.An ¦¦ ¦ ¦ ¦
+----------------+----+--------++----------------+----+--------+
¦ -(An) ¦100 ¦ном.An ¦¦ ¦ ¦ ¦
+----------------+----+--------++----------------+----+--------+
¦ (d{16},An) ¦101 ¦ном.An ¦¦ (d{16},PC) ¦ - ¦ - ¦
+----------------+----+--------++----------------+----+--------+
¦ (d{8},An,Xn) ¦110 ¦ном.An ¦¦ (d{8},PC,Xn) ¦ - ¦ - ¦
+----------------+----+--------++----------------+----+--------+
¦ (bd,An,Xn) ¦110 ¦ном.An ¦¦ (bd,PC,Xn) ¦ - ¦ - ¦
+----------------+----+--------++----------------+----+--------+
¦([bd,An,Xn],od) ¦110 ¦ном.An ¦¦ ([bd,PC,Xn],od)¦ - ¦ - ¦
+----------------+----+--------++----------------+----+--------+
¦([bd,An],Xn,od) ¦110 ¦ном.An ¦¦ ([bd,PC],Xn,od)¦ - ¦ - ¦
L----------------+----+---------L----------------+----+--------Для пересылки из памяти в регистры допустимы только способы адресации управляющих операндов и адресации с постинкрементированием:
-----------------T----T--------¬-----------------T----T--------¬
¦Способ адресации¦Мода¦Регист𠦦Способ адресации¦Мода¦Регистр ¦
+----------------+----+--------++----------------+----+--------+
¦ Dn ¦ - ¦ - ¦¦ (xxx).W ¦111 ¦ 000 ¦
+----------------+----+--------++----------------+----+--------+
¦ An ¦ - ¦ - ¦¦ (xxx).L ¦111 ¦ 001 ¦
+----------------+----+--------++----------------+----+--------+
¦ (An) ¦010 ¦ном.An ¦¦ #<данные> ¦ - ¦ - ¦
+----------------+----+--------++----------------+----+--------+
¦ (An)+ ¦011 ¦ном.An ¦¦ ¦ ¦ ¦
+----------------+----+--------++----------------+----+--------+
¦ -(An) ¦ - ¦ - ¦¦ ¦ ¦ ¦
+----------------+----+--------++----------------+----+--------+
¦ (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----------------+----+--------Поле Маски группы регистров определяет, какие регистры участвуют в пересылке. Самый младший бит соответствует первому из пересылаемых регистров, самый старший последнему. Для способов адресации управляющих операндов и адресации с постинкрементированием установлено следующее соответствие битов маски регистрам:
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--¬
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.