Поиск по сайту: |
|
По базе: |
|
Главная страница > Обзоры по типам > Микроконтроллеры > MAXQ |
|
||||||||||||||||||||||||
Считывание и запись регистровВсе функции в микроконтроллерах MAXQ выполняются через регистры непосредственно или косвенно. В данном разделе рассматривается загрузка регистров конкретным значением и перенос данных между регистрами одинаковых и различных размеров. Загрузка 8-битного регистра непосредственным значением Любые доступные для записи 8- битные регистры с субиндексом в пределах модуля от 0h до 7h могут быть загружены за один цикл при помощи команды MOVE.
Доступные для записи 8- битные регистры с субиндексом в пределах модуля 8h и выше могут быть загружены значением непосредственно при помощи команды MOVE, но требуется дополнительный цикл для установки префиксного значения для адресата.
Загрузка 16-разрядного регистра 16-разрядным непосредственным значением Любые доступные для записи 16- битные регистры с субиндексом в пределах модуля от 0h до 7h могут быть загружены за один цикл при помощи команды MOVE, но только если старший байт непосредственно загружаемого значения является нулевым.
Если старший байт непосредственного значения не является нулевым или если 16- разрядный субиндекс больше 7h, то потребуется дополнительный цикл для установки значения старшего байта и/или старшего индекса регистра.
Перемещение значений между регистрами с одинаковым размером Перемещение данных между регистрами с одинаковым размером может быть выполнено при помощи команды MOVE за один цикл, но только в том случае, если индекс регистра получателя от 0h до 7h и индекс регистра источника - от 0h до Fh.
Если индекс регистра получателя больше чем 7h или если адрес регистра источника больше чем Fh, то необходимо выполнить следующие команды.
Перемещение значений между регистраторами различных размеров Перед рассмотрением всех возможных случаев, сначала представим вам регистр, который будет использоваться практически во всех случаях. В микроконтроллерах имеется 16-разрядный регистр общего назначения (General Register - GR). Старший и младший байты регистра GR индивидуально доступны как регистры GRH и GRL соответственно. Доступные только для чтения регистры GRS и GRXL позволяют ввести для регистров GR и GRL знак. Загрузка в 8-битный получатель младшего байта 16-разрядного источника Самая простая операция - загрузка 8- разрядного регистра младшим байтом 16- разрядного регистра. Для этой операции не требуется использование регистра GR и требует префиксных операций только в том случае, если индексы регистров получателя и источника соответственно больше 07h и 0Fh.
Загрузка в 8-битный получатель старшего байта 16-разрядного источника Для загрузки 8- разрядного регистра значением старшего байта 16- разрядного регистра лучше всего было бы использовать регистр GR. Перенос 16- разрядного значения источника в регистр GR выполняется за один цикл.
Загрузка 16-битного регистра содержимым двух 8-битных регистров Два 8- битных источника могут быть связаны и запомнены в 16- разрядном регистре при помощи префиксного регистра, содержащего старший байт передаваемого слова. Дополнительный цикл может потребоваться только если индекс регистра источника больше чем 0Fh или если индекс 16- разрядного получателя больше чем 07h.
Загрузка младшего байта 16-разрядного регистра 8-битным значением регистра источника Для того, чтобы изменить значение только младшего байта 16- разрядного регистра необходимо сохранить значение этого регистра в регистре GR. Дополнительный цикл потребуется только если индекс получателя больше чем 0Fh.
Загрузка старшего байта 16-разрядного регистра 8-битным значением регистра источника Для того чтобы изменить значение только старшего байта 16- разрядного регистра необходимо сохранить значение этого регистра в регистре GR. Дополнительный цикл потребуется только если индекс получателя больше чем 0Fh.
Если старший байт должен быть очищен, то операция может быть сохранена за счет передачи 16-разрядному получателю только байта регистра GRL:
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|