- •Программирование мк семейства at в среде avr Studio методические указания
- •Цель работы – ознакомиться с интерфейсом интегрированной среды разработки avr Studio, изучить устройство и систему команд микроконтроллеров Atmel серии aTmega. Теоретические сведения
- •1. Структура мк семейства aTmega 162
- •2. Интегрированная среда разработки avr Studio
- •Предварительное задание
- •Рабочее задание
- •Контрольные вопросы
- •Приложение Система команд микроконтроллера aTmega
- •1 Группа команд логических операций
- •2 Группа команд арифметических операций
- •3 Группа команд операций с битами
- •4 Группа команд пересылки данных
- •5 Группа команд передачи управления
- •6 Группа команд управления системой
- •Библиографический список
- •Содержание
- •394026 Воронеж, Московский просп., 14
4 Группа команд пересылки данных
Таблица П4
Мнемоника |
Описание |
Операция |
Циклы |
Флаги |
MOV Rd,Rr |
Пересылка между РОН |
Rd = Rr |
1 |
— |
MOVW Rd,Rr |
Пересылка двухбайтовых значений |
Rd + 1:Rd = Rr + 1:Rr |
1 |
— |
LDI Rd,K |
Загрузка константы в РОН |
Rd = K |
1 |
— |
LD Rd,X |
Косвенное чтение |
Rd = [X] |
2 |
— |
LD Rd,X+ |
Косвенное чтение с постинкрементом |
Rd = [X], X = X + 1 |
2 |
— |
LD Rd,–X |
Косвенное чтение с преддекрементом |
X = X – 1, Rd = [X] |
2 |
— |
LD Rd,Y |
Косвенное чтение |
Rd = [Y] |
2 |
— |
LD Rd,Y+ |
Косвенное чтение с постинкрементом |
Rd = [Y], Y = Y + 1 |
2 |
— |
LD Rd,–Y |
Косвенное чтение с преддекрементом |
Y = Y – 1, Rd = [Y] |
2 |
— |
LDD Rd,Y+q |
Косвенное относительное чтение |
Rd = [Y+q] |
2 |
— |
LD Rd,Z |
Косвенное чтение |
Rd = [Z] |
2 |
— |
LD Rd,Z+ |
Косвенное чтение с постинкрементом |
Rd = [Z], Z = Z + 1 |
2 |
— |
LD Rd,–Z |
Косвенное чтение с преддекрементом |
Z = Z – 1, Rd = [Z] |
2 |
— |
Продолжение табл. П4
Мнемоника |
Описание |
Операция |
Циклы |
Флаги |
LDD Rd,Z+q |
Косвенное относительное чтение |
Rd = [Z + q] |
2 |
— |
LDS Rd,k |
Непосредственное чтение из ОЗУ |
Rd = [k] |
2 |
— |
ST X,Rr |
Косвенная запись |
[X] = Rr |
2 |
— |
ST X+,Rr |
Косвенная запись с постинкрементом |
[X] = Rr, X = X + 1 |
2 |
— |
ST –X,Rr |
Косвенная запись с преддекрементом |
X = X – 1, [X] = Rr |
2 |
— |
ST Y,Rr |
Косвенная запись |
[Y] = Rr |
2 |
— |
ST Y+,Rr |
Косвенная запись с постинкрементом |
[Y] = Rr, Y = Y + 1 |
2 |
— |
ST –Y,Rr |
Косвенная запись с преддекрементом |
Y = Y – 1, [X] = Rr |
2 |
— |
STD Y+q,Rr |
Косвенная относительная запись |
[Y+q] = Rr |
2 |
— |
ST Z,Rr |
Косвенная запись |
[Z] = Rr |
2 |
— |
ST Z+,Rr |
Косвенная запись с постинкрементом |
[Z] = Rr, Z = Z + 1 |
2 |
— |
ST –Z,Rr |
Косвенная запись с преддекрементом |
Z = Z – 1, [Z] = Rr |
2 |
— |
STD Z+q,Rr |
Косвенная относительная запись |
[Z + q] = Rr |
2 |
— |
STS k,Rr |
Непосредственная запись в ОЗУ |
[k] = Rr |
2 |
— |
Окончание табл.П4
Мнемоника |
Описание |
Операция |
Циклы |
Флаги |
LPM |
Загрузка данных из памяти программ |
R0 = {Z} |
3 |
— |
LPM Rd,Z |
Загрузка данных из памяти программ |
Rв = {Z} |
3 |
— |
LPM Rd,Z+ |
Загрузка данных из памяти программ с постинкрементом |
Rв = {Z}, Z = Z + 1 |
3 |
— |
ELPM |
Расширенная загрузка данных из памяти программ |
R0 = {RAMPZ:Z} |
3 |
— |
ELPM Rd,Z |
Расширенная загрузка данных из памяти программ |
Rв = {RAMPZ:Z} |
3 |
— |
ELPM Rd,Z+ |
Расширенная загрузка данных из памяти программ с постинкрементом |
Rв = {RAMPZ:Z}, RAMPZ:Z = RAMPZ:Z + 1 |
3 |
— |
SPM |
Запись в память программ |
{Z} = R1:R0 |
— |
— |
IN Rd,A |
Пересылка из РВВ в РОН |
Rd = A |
1 |
— |
OUT A,Rr |
Пересылка из РОН в РВВ |
A = Rr |
1 |
— |
PUSH Rr |
Сохранение байта в стеке |
STACK = Rr |
2 |
— |
POP Rd |
Извлечение байта из стека |
Rd = STACK |
2 |
— |