Команда |
Описание |
Действие |
Слов |
Циклов |
Флаги |
ADC |
Сложить с переносом |
Rd <- Rd + Rr + C |
1 |
1 |
H S V N Z C |
ADD |
Сложить без переноса |
|
|
|
|
ADIW |
Сложить непосредственное значение со словом |
|
|
|
|
AND |
Выполнить логическое AND |
|
|
|
|
ANDI |
Выполнить логическое AND c непосредственным значением |
|
|
|
|
ASR |
Арифметически сдвинуть вправо |
|
|
|
|
BCLR |
Очистить флаг |
|
|
|
|
BLD |
Загрузить T флаг в бит регистра |
|
|
|
|
BRBC |
Перейти если бит в регистре статуса очищен |
|
|
|
|
BRBS |
Перейти если бит в регистре статуса установлен |
|
|
|
|
BRCC |
Перейти если флаг переноса очищен |
|
|
|
|
BRCS |
Перейти если флаг переноса установлен |
|
|
|
|
BREQ |
Перейти если равно |
|
|
|
|
BRGE |
Перейти если больше или равно (с учетом знака) |
|
|
|
|
BRHC |
Перейти если флаг полупереноса очищен |
|
|
|
|
BRHS |
Перейти если флаг полупереноса установлен |
|
|
|
|
BRID |
Перейти если глобальное прерывание запрещено |
|
|
|
|
BRIE |
Перейти если глобальное прерывание разрешено |
|
|
|
|
BRLO |
Перейти если меньше (без знака) |
|
|
|
|
BRLT |
Перейти если меньше чем (со знаком) |
|
|
|
|
BRMI |
Перейти если минус |
|
|
|
|
BRNE |
Перейти если не равно |
|
|
|
|
BRPL |
Перейти если плюс |
|
|
|
|
BRSH |
Перейти если равно или больше (без знака) |
|
|
|
|
BRTC |
Перейти если флаг T очищен |
|
|
|
|
BRTS |
Перейти если флаг T установлен |
|
|
|
|
BRVC |
Перейти если переполнение очищено |
|
|
|
|
BRVS |
Перейти если переполнение установлено |
|
|
|
|
BSET |
Установить флаг |
|
|
|
|
BST |
Переписать бит из регистра во флаг T |
|
|
|
|
CALL |
Выполнить длинный вызов подпрограммы |
PC <-- k |
2 |
4 |
- |
CBI |
- Очистить бит в регистре I/O |
|
|
|
|
CBR |
Очистить биты в регистре |
|
|
|
|
CLC |
Очистить флаг переноса |
|
|
|
|
CLH |
Очистить флаг полупереноса |
|
|
|
|
CLI |
Очистить флаг глобального прерывания |
|
|
|
|
CLN |
Очистить флаг отрицательного значения |
|
|
|
|
CLR |
Очистить регистр |
|
|
|
|
CLS |
Очистить флаг знака |
|
|
|
|
CLT |
Очистить флаг T |
|
|
|
|
CLV |
Очистить флаг переполнения |
|
|
|
|
CLZ |
Очистить флаг нулевого значения |
|
|
|
|
COM |
Выполнить дополнение до единицы |
|
|
|
|
CP |
Сравнить |
|
|
|
|
CPC |
Сравнить с учетом переноса |
|
|
|
|
CPI |
Сравнить c константой |
|
|
|
|
CPSE |
Сравнить и пропустить если равно |
|
|
|
|
DEC |
Декрементировать |
|
|
|
|
EOR |
Выполнить исключающее OR |
|
|
|
|
ICALL |
Вызвать подпрограмму косвенно |
|
|
|
|
IJMP |
Перейти косвенно |
|
|
|
|
IN |
Загрузить данные из порта I/O в регистр |
|
|
|
|
INC |
Инкрементировать |
|
|
|
|
FMUL |
Дробное незнаковое умножение |
|
|
|
|
FMULS |
Дробное умножение со знаком |
|
|
|
|
FMULSU |
Дробное умножение знакового с незнаковым |
|
|
|
|
JMP |
Перейти |
|
|
|
|
LD Rd,X |
Загрузить косвенно |
|
|
|
|
LD Rd,X+ |
Загрузить косвенно инкрементировав впоследствии |
|
|
|
|
LD Rd,-X |
Загрузить косвенно декрементировав предварительно |
|
|
|
|
LDI |
Загрузить непосредственное значение |
|
|
|
|
LDS |
Загрузить непосредственно из СОЗУ |
|
|
|
|
LPM |
Загрузить байт памяти программ |
|
|
|
|
LSL |
Логически сдвинуть влево |
|
|
|
|
LSR |
Логически сдвинуть вправо |
|
|
|
|
MOV |
Копировать регистр |
|
|
|
|
MUL |
Перемножить |
|
|
|
|
NEG |
Выполнить дополнение до двух |
|
|
|
|
NOP |
Выполнить холостую команду |
|
|
|
|
OR |
Выполнить логическое OR |
|
|
|
|
ORI |
Выполнить логическое OR с непосредственным значением |
|
|
|
|
OUT |
Записать данные из регистра в порт I/O |
|
|
|
|
POP |
Загрузить регистр из стека |
|
|
|
|
PUSH |
Поместить регистр в стек |
|
|
|
|
RCALL |
Вызвать подпрограмму относительно |
|
|
|
|
RET |
Вернуться из подпрограммы |
|
|
|
|
RETI |
Вернуться из прерывания |
|
|
|
|
RJMP |
Перейти относительно |
|
|
|
|
ROL |
Сдвинуть влево через перенос |
|
|
|
|
ROR |
Сдвинуть вправо через перенос |
|
|
|
|
SBC |
Вычесть с переносом |
|
|
|
|
SBCI |
Вычесть непосредственное значение с переносом |
|
|
|
|
SBI |
Установить бит в регистр I/O |
|
|
|
|
SBIC |
Пропустить если бит в регистре I/O очищен |
|
|
|
|
SBIS |
Пропустить если бит в регистре I/O установлен |
|
|
|
|
SBIW |
Вычесть непосредственное значение из слова |
|
|
|
|
SBR |
Установить биты в регистре |
|
|
|
|
SBRC |
Пропустить если бит в регистре очищен |
|
|
|
|
SBRS |
Пропустить если бит в регистре установлен |
|
|
|
|
SEC |
Установить флаг переноса |
|
|
|
|
SEH |
Установить флаг полупереноса |
|
|
|
|
SEI |
Установить флаг глобального прерывания |
|
|
|
|
SEN |
Установить флаг отрицательного значения |
|
|
|
|
SER |
Установить все биты регистра |
|
|
|
|
SES |
Установить флаг знака |
|
|
|
|
SET |
Установить флаг T |
|
|
|
|
SEV |
Установить флаг переполнения |
|
|
|
|
SEZ |
Установить флаг нулевого значения |
|
|
|
|
SLEEP |
Установить режим SLEEP |
|
|
|
|
ST X,Rr |
Записать косвенно |
|
|
|
|
ST Y,Rr |
Записать косвенно из регистра в СОЗУ с использованием
индекса Y |
|
|
|
|
ST Z,Rr |
Записать косвенно из регистра в СОЗУ с использованием
индекса Z |
|
|
|
|
STS |
Загрузить непосредственно в СОЗУ |
|
|
|
|
SUB |
Вычесть без переноса |
|
|
|
|
SUBI |
Вычесть непосредственное значение |
|
|
|
|
SWAP |
Поменять нибблы местами |
|
|
|
|
TST |
Проверить на ноль или минус |
|
|
|
|
WDR |
Сбросить сторожевой таймер |
|
|
|
|