Студопедия — Режимы адресации памяти данных
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Режимы адресации памяти данных






При обращении к памяти данных (SRAM, регистровому файлу и памяти I/O) AVR Enhanced RISC микроконтроллерами ATmega используются мощные и эффективные режимы адресации. В данном разделе описываются режимы адресации, поддерживаемые AVR архитектурой. На рисунках OP обозначает часть слова команды, соответствующую операционному коду.

а) б)

в) г)

д) е)

ж) з)

Рисунок 2 – Виды адресации памяти данных

а) Непосредственная адресация одного регистра; б) Непосредственная регистровая адресация двух регистров; в) Непосредственная адресация I/O;

г) Непосредственная адресация данных; д) Косвенная адресация данных со смещением;

е) Косвенная адресация данных; ж) Косвенная адресация данных с преддекрементом;

з) Косвенная адресация данных с постинкрементом

 

Ниже приведён пример обращения к памяти данных;

Запись:

clr r31; очистка старшего байта Z ldi r30, 0x60; младший байт Z равен 0х60 st Z+,r0; запись r0 по адресу 0х0060, Z++ st Z,r1; запись r1 по адресу 0х0061 st Z+3, r2; запись r2 по адресу 0х0064 sts 0x0065, r3; запись r3 по адресу 0х0065
 

Чтение:

clr r31; очистка старшего байта Z ldi r30,$60; младший байт Z равен 0х60 ld r0,Z+; чтение в r0 из адреса 0х0060, Z++ ld r1,Z; чтение в r1 из адреса 0х0061 ldd r2, Z+3; чтение в r2 из адреса 0х0064
sts r3, 0x0065; чтение в r3 из адреса 0х0065

При помощи директив можно резервировать память для переменных и назначать им символьное имя.

.DSEG; сегмент данных var1: .BYTE 1 ; резервирует 1 байт для переменной var1 .CSEG; сегмент программы ldi r30,low(var1); Load Z register low ldi r31,high(var1); Load Z register high ld r1,Z; Load VAR1 into register lds r1,var1; Load VAR1 into register
 

 








Дата добавления: 2015-08-27; просмотров: 680. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия