Читайте также:
|
|
Команды передачи данныхприведены в таблице 4. Из нее видно, что набор этих команд представляет собой сочетание восьми операций с различными методами адресации.
Таблица 4. Команды передачи данных
Мнемоника | Операнды | Описание | Операция | Циклов |
MOV | Rd,Rr | Пересылка регистр-регистр | Rd Rr | |
MOVW | Rd,Rr | Пересылка двух регистров | Rd+1:RdRr+1:Rr | |
LDI | Rd,D8 | Загрузить операнд D8 в регистр R16≤Rd≤R31 | Rd D8 | |
LDS | Rd,Adr16 | Загрузить регистр из ячейки ОЗУ прямо | Rd (Adr16) | |
LD | Rd,X | Загрузить регистр косвенно | Rd (X) | |
LD | Rd,X+ | Загрузить регистр косвенно с постинкрементом | Rd (X), X+1 | |
LD | Rd,-X | Загрузить регистр косвенно с преддекрементом | X-1,Rd(X) | |
LD | Rd,Y | Загрузить регистр косвенно | Rd (Y) | |
LD | Rd,Y+ | Загрузить регистр косвенно с постинкрементом | Rd (Y), Y+1 | |
LD | Rd,-Y | Загрузить регистр косвенно с преддекрементом | Y-1,Rd (Y) | |
LDD | Rd,Y+q | Загрузить регистр косвенно со смещением | Rd (Y+q) | |
LD | Rd,Z | Загрузить регистр косвенно | Rd (Z) | |
LD | Rd,Z+ | Загрузит регистр косвенно с постинкрементом | Rd (Z), Z+1 | |
LD | Rd,-Z | Загрузить регистр косвенно с преддекрементом | ZZ-1,Rd (Z) | |
LDD | Rd,Z+q | Загрузить регистр косвенно со смещением | Rd (Z+q) | |
STS | Adr16,Rr | Записать из регистра прямо в ОЗУ | (Adr16) Rr | |
ST | X,Rr | Записать из регистра косвенно | (X) Rr | |
ST | X+,Rr | Записать косвенно из регистра с постинкрементом | (X) Rr, X+1 | |
ST | -X,Rr | Записать из регистра косвенно с преддекрементом | XX-1,(X) Rr | |
ST | Y,Rr | Записать косвенно | (Y) Rr | |
ST | Y+,Rr | Записать косвенно с постинкрементом | (Y) Rr, Y+1 | |
ST | -Y,Rr | Записать косвенно с преддекрементом | Y-1,(Y) Rr | |
ST | Z,Rr | Записать косвенно | (Z) Rr | |
STD | Y+q,Rr | Записать косвенно со смещением | (Y+q) Rr | |
ST | Z+,Rr | Записать косвенно с постинкрементом | (Z) Rr, Z+1 | |
ST | -Z,Rr | Записать косвенно с преддекрементом | Z-1,(Z) Rr | |
STD | Z+q,Rr | Записать косвенно со смещением | (Z+q) Rr | |
LPM | Загрузить байт из памяти программ в R0 | R0(Z) | ||
LPM | Rd,Z | Загрузить байт из памяти программ в регистр РОН | Rd(Z) | |
LPM | Rd,Z+ | Загрузить байт из памяти программ с постинкрементом | Rd(Z), Z+1 | |
SPM | Записать слово из R1:R0 в программную память | (Z)R1:R0 | - | |
IN | Rd,I/O | Загрузить данные из регистра I/O в регистр РОН | Rd I/O | |
OUT | I/O,Rr | Записать данные из регистра РОН в регистр I/O | I/ORr | |
PUSH | Rr | Сохранить регистр в стеке | (SР)Rr, SP-1 | |
POP | Rd | Выгрузить регистр из стека | SP+1, Rd (SР) |
Команда MOV копирует содержимое одного регистра общего назначения в другой.
Команда LDI загружает содержимое регистра общего назначения непосредственно константой. В этой команде может использоваться один из регистров R16 – R31. Команды LD выполняют загрузку регистра РОН из ячейки ОЗУ, адрес которой в одном из регистров X, Y или Z, а также варианты с постинкрементом и преддекрементом адреса. Команда LDD выполняет эту же операцию при помощи косвенной адресации со смещением q. Адрес ячейки ОЗУ получается добавлением значения смещения к содержимому регистра Y или Z. Значение смещения q может быть в пределах 0 – 63. Команда LDS загружает в регистр общего назначения содержимое прямо адресуемой ячейки памяти данных.
Команда ST выполняют обратную операцию относительно команды LD - заносит в косвенно адресуемую ячейку памяти данных содержимое регистра общего назначения, используя также варианты с постинкрементом и преддекрементом адреса. Команда STD выполняет эту же операцию при помощи косвенной адресации со смещением, а команда STS прямо адресует ячейку ОЗУ.
Команда IN заносит содержимое регистра ввода-вывода в регистр общего назначения, а команда OUT выполняет обратную операцию.
Команда PUSH сохраняет содержимое регистра РОН в стеке, а команда POP выполняет обратную операцию. При выполнении этих команд изменяется значение указателя стека SP в соответствии с обозначениями в колонке “Операция”.
Команда LPM выполняет чтение из ячейки памяти программ, организованной как 16-битное слово, адрес которой в регистре Z, в регистр R0. Младший бит регистра Z определяет байт слова: 0- младший байт слова, 1- старший. Старшие 15 разрядов регистра Z определяют адрес ячейки программной памяти в формате слова.
Имеются модификации этой команды, в которых может использоваться любой регистр РОН LPM Rd,Z и загрузка с последующим увеличением Z на единицу LPM Rd,Z+.
По команде SPM слово из регистров R1 и R0 загружается в ячейку FLASH-памяти программ (так называемый режим самопрограммирования).
Команды пересылки данных состояния флагов регистра SREG не изменяют.
Дата добавления: 2015-07-20; просмотров: 110 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Система команд | | | Команды передачи управления |