Курс лекций - Микропроцессоры

Команды пересылки данных


Как было рассмотрено ранее, арифметические и логические команды могут быть выполнены только над содержимым регистра аккумулятора, поэтому исключительно важное значение в системе команд приобретают команды пересылки данных. С помощью этих команд можно скопировать содержимое любой ячейки памяти в регистр-аккумулятор или наоборот скопировать содержимое аккумулятора в любую ячейку памяти. Так как в микроконтроллере присутствует три независимых области памяти, то для обращения к ним введены различные команды:

  • обмен данными во внутреннем ОЗУ: , XCH
  • обмен данными из внешней памяти данных:
  • копирование данных из памяти программ:
  • обмен данными параллельных портов , ,

Примеры использования команд пересылки данных:

Любая ячейка 256- байтового блока внутреннего ОЗУ данных может быть выбрана с использованием косвенно-регистровой адресации через регистры указатели R0 и R1 (выбранного банка рабочих регистров):

;Скопировать число из ячейки памяти с адресом, хранящемся в R0, в аккумулятор ;Скопировать число из аккумулятора, в ячейку памяти с адресом, хранящемся в R1

Таблицы символов (кодов), записанные в ПЗУ программы могут быть скопированы в аккумулятор с помощью команд передачи данных с :

;Скопировать символ из текущей страницы памяти программ в аккумулятор ;Скопировать символ из третьей страницы памяти программ в аккумулятор

Ячейка адресного пространства 256 байт внешнего ОЗУ также может быть выбрана с использованием адресации через регистры R0 или R1:

;Скопировать число из внешней ячейки памяти с адресом,;хранящемся в R0, в аккумулятор ;Скопировать число из аккумулятора, в ячейку памяти с адресом, хранящемся в R1

Содержимое аккумулятора может быть обменено с содержимым рабочих регистров выбранного банка:

XCH A, R0.

Для работы с параллельными портами используется отдельные команды пересылки данных IN и OUTL:

;Скопировать число из порта P0, в аккумулятор ;Скопировать число из аккумулятора, в порт P1

Содержание раздела