Разработка программной и аппаратной поддержки к методическим указаниям Программирование микроконтроллеров
Категория реферата: Рефераты по информатике, программированию
Теги реферата: сочинения по русскому языку, культурология
Добавил(а) на сайт: Случевский.
Предыдущая страница реферата | 10 11 12 13 14 15 16 17 18 19 20 | Следующая страница реферата
Следует обратить внимание на следующие тонкости. Многие команды могут
обращаться только к 16-старшим РОН и не имеют доступа к 16-младшим.
Значения смещений и констант могут быть ограничены и оказаться не в том
диапазоне, который вы ожидали.
Существует различие между «полноценными» старшими моделями серии 8515 и младшими моделями серии 1200. Младшие модели МК реализуют часть полного набора команд, в которых доступен только один индексный регистр Z. Хотя при переносе программ с младших моделей на старшие вряд ли возникнут проблемы, они весьма вероятны при обратном направлении переноса. Даже с учетом всех этих предостережений AVR – это МК очень простой для программирования благодаря богатству набора команд и особенностям его структуры.
Для наглядности, в данном разделе приведем только некоторые примеры команд. Но прежде чем приступить к изучению команд, целесообразно рассмотреть различные способы адресации данных.
Способы адресации данных
Прямая адресация к Регистрам Общего Назначения
Основным способом доступа к данным является прямое (непосредственное)
обращение к РОН. На рис. 2.12 операнд команды содержится в регистре Rd, а
КОП обозначает часть слова команды, соответствующую Коду ОПерации, Обычно в
формате команды отводиться пять бит, которые позволяют адресоваться к
любому регистру.
Команды, оперирующие с двумя регистрами, действуют, в основном, аналогичным образом. В этих командах регистр-приемник Rd (destination) указывается перед регистром-источником Rr (resource), то есть является первым параметром (см. рис. 2.13). Таким образом, команда:
ADD R0, R1 реально выполняется так: R0 = R0 + R1.
Рис. 2.12. Прямая адресация одного регистра.
Результат сохраняется в регистре Rd.
Рис. 2.13. Прямая адресация к двум РОН.
Прямая адресация к регистрам ввода/вывода.
На рис. 2.14 адрес операнда содержится в 6 битах слова команды (ячейка
Р).
Rd – определяет адрес регистра источника или регистра приемника. К примеру, этот тип адресации могут использовать команды IN или OUT:
IN R0, SREG ;сохранить регистр состояния в регистре R0
OUT PORTB, R1 ;записать данные из регистра R1 в PORTB
Рис. 2.14. Прямая адресация регистров ввода/вывода.
Прямая адресация данных.
Рис.2.15. Прямая адресация данных.
Единое адресное пространство является пространством данных, включая
РОН, регистры ввода/вывода, внутренняя память и внешняя память (если есть).
16-разрядный адрес данных содержится в 16 младших разрядах 32-х разрядной
команды. Rd/Rr определяет адрес регистра источника или регистра приемника.
Такой тип адресации, к примеру, могут использовать команды LDS и STS:
LDS PORTB, R1 ;записать данные из регистра R1 в PORTB
STS PORTB, R1 ;записать данные из регистра R1 в PORTB
Косвенная адресация данных
Существует четыре типа косвенной адресации данных: простая, с
постинкрементом, с преддекрементом, со смещением. Для первых трех типов
косвенной адресации данных адрес операнда содержится в регистре X, Y или Z.
Для последнего типа (со смещением) адрес операнда вычисляется сложением
содержимого регистров Y или Z с шестью битами адреса, содержащимися в слове
команды. Сами же регистры остаются неизмененными.
Смысл косвенной адресации с постинкрементом (с преддекрементом) заключается в следующем. После (до) выполнения операции регистр X, Y и Z инкрементируется (декрементируется).
Рекомендуем скачать другие рефераты по теме: социальная работа реферат, изложение язык.
Предыдущая страница реферата | 10 11 12 13 14 15 16 17 18 19 20 | Следующая страница реферата