Таблица 3.1. Арифметические и логические команды
| Мнемо-ника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| ADD | Rd,Rr 0≤d≤31 0≤r≤31 | Сложить без переноса | Rd Rd + Rr | Z, C, N, V, H | |
| ADC | Rd.Rr 0≤d≤31 0≤r≤31 | Сложить с переносом | Rd Rd + Rr+ С | Z, C, N, V, H | |
| ADIW | Rd,K dE{24,26,28,30} 0≤K≤63 | Сложить непосредственное значение со словом | Rdh:RdlRdh:Rdl+ К | Z, C, N, V | |
| SUB | Rd,Rr 0≤d≤31 0≤r≤31 | Вычесть без заема | Rd Rd – Rr | Z, C, N, V, H | |
| SUBI | Rd, К 16≤d≤31 0≤K≤255 | Вычесть непосредственное значение | Rd Rd – К | Z, C, N, V, H | |
| SBC | Rd, Rr 0≤d≤31 0≤r≤31 | Вычесть с заемом | RdßRd-Rr-C | Z, C, N, V, H | |
| SBCI | Rd, К 16≤d≤32 0≤K≤255 | Вычесть непосредственное значение с заемом | RdßRd-K-C | Z, C, N, V, H | |
| SBIW | Rd, К dE{24,26,28,30} О≤К≤бЗ | Вычесть непосредственное значение из слова | Rdh:RdlßRdh:Rdl-K | Z, C, N, V | |
| AND | Rd, Rr 0≤d≤31 0≤r≤31 | Выполнить логическое AND | Rd ß Rd • Rr | Z, N, V | |
| ANDI | Rd, К 16<d<31 0<k≤255 | Выполнить логическое AND | Rd ß Rd • К | Z, N, V | |
| OR | Rd, Rr 0≤d≥31 0≤r≤31 | Выполнить логическое OR | Rd ßRd v Rr | Z, N, V | |
| ORI | Rd, К 16≤d≤31 0≤K≤255 | Выполнить логическое OR с непосредственным значением | Rd ßRd v К | Z, N, V | |
| EOR | Rd, Rr 0≤d≤31 0≤г≤31 | Выполнить исключающее OR | Rd ßRd Rr | Z, N, V | |
| СОМ | Rd 0≤d≤31 | Выполнить дополнение до единицы | RdßSFF-Rd | Z, C, N, V | |
| NEG | Rd 0≤d≤31 | Выполнить дополнение до двух | Rd ß S00 - Rd | Z, C, N, V, H | |
| SBR | Rd, К 16≤d≤31 0≤K≤255 | Установить биты в регистре | Rd ß Rd v К | Z, N,V | |
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| CBR | Rd, К 16≤d≤31 O≤K≤255 | Очистить биты в регистре | Rd ßRd • (SFF - К) | Z, N, V | |
| INC | Rd 0≤d≤31 | Инкрементировать | Rd ßRd + 1 | Z, N,V | |
| DEC | Rd 0≤d≤31 | Декрементировать | Rd ß Rd - 1 | Z, N,V | |
| TST | Rd 0≤r≤31 | Проверить на ноль или минус | RdßRd.Rd | Z, N, V | |
| CLR | Rd 0≤d≤31 | Очистить регистр | Rd ß Rd Å Rd | Z, N, V | |
| SER | Rd 16≤d≤31 | Установить все биты регистра | Rd ßSFF | нет | |
| CP | Rd, Rr 0≤d≤31 0≤r≤31 | Сравнить | Rd-Rr | Z, C, N, V, H | |
| CPC | Rd, Rr 0≤d≤31 0≤r≤31 | Сравнить с учетом переноса | Rd-Rr-C | Z, C, N, V, H | |
| CPI | Rd, К 16≤d≤31 0≤K≤255 | Сравнить с константой | Rd-K | Z, C, N, V, H |
Таблица 3.2. Команды сдвигов и операций с битами
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| LSL | Rd 0≤d≤31 | Логически сдвинуть влево | Rd(n+1)ßRd(n), Rd(0)ß0, CßRd(7) | Z,C,N,V,H | |
| LSR | Rd 0≤d≤31 | Логически сдвинуть вправо | Rd(n)ßRd(n+1), Rd(7) ß0, CßRd(0) | Z,C,N,V | |
| ROL | Rd 0≤d≤31 | Сдвинуть влево через перенос | Rd(0) ßC, Rd(n+1)ßRd(n), CßRd(7) | Z,C,N,V,H | |
| ROR | Rd 0≤d≤31 | Сдвинуть вправо через перенос | Rd(7) ßC, Rd(n)ßRd(n+1), C ß Rd(0) | Z,C,N,V | |
| ASR | Rd 0≤d≤31 | Арифметически сдвинуть вправо | Rd(n)ßRd(n+1), n=0...6, Rd(0)ßC | Z,C,N,V | |
| SWAP | Rd 0≤d≤31 | Поменять нибблы местами | Rd(3...0) <–>Rd(7...4) | Нет | |
| BSET | s 0≤s≤7 | Установить флаг | SREG(s)ß 1 | SREG(s) | |
| BCLR | s 0≤s≤7 | Очистить флаг | SREG(s)ß 0 | SREG(s) | |
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| SBI | P,b O≤P≤31 0≤b≤7 | Установить бит в регистр I/O | l/0(P,b)ß 1 | Нет | |
| CBI | P,b 0≤P≤31 0≤b≤7 | Очистить бит в регистре I/O | l/0(P,b)ß 0 | Нет | |
| BST | Rd,b 0≤d≤31 0≤b≤7 | Переписать бит из регистра во флаг Т | Тß Rd(b) | Т | 1 |
| BLD | Rd,b 0≤d≤31 0≤b≤7 | Загрузить Т флаг в бит регистра | Rd(b) ß Т | Нет | |
| SEC | Установить флаг переноса | Сß 1 | С | ||
| CLC | Очистить флаг переноса | Сß0 | С | ||
| SEN | Установить флаг отрицательного значения | Мß1 | N | ||
| CLN | Очистить флаг отрицательного значения | Nß0 | N | ||
| SEZ | Установить флаг нулевого значения | Zß1 | Z | ||
| CLZ | Очистить флаг нулевого значения | Zß0 | Z | ||
| SEI | Установить флаг глобального прерывания | Iß 1 | I | ||
| CLI | Очистить флаг глобального прерывания | Iß0 | I | ||
| SES | Установить флаг знака | Sß 1 | S | ||
| CLS | Очистить флаг знака | Sß0 | S | ||
| SEV | Установить флаг переполнения | Vß 1 | V | ||
| CLV | Очистить флаг переполнения | Vß0 | V | ||
| SET | Установить флаг Т | Tß1 | T | ||
| CLT | Очистить флаг Т | Тß0 | T | ||
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| SEH | Установить флаг полу переноса | Нß 1 | Н | ||
| CLH | Очистить флаг полу переноса | Нß0 | Н | ||
| NOP | Выполнить холостую команду | Нет | |||
| SLEEP | Установить режим SLEEP | Нет | |||
| WDR | Сбросить сторожевой таймер | Нет |
Таблица 3.3. Команды пересылки данных
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| ELPM | Расширенная загрузка из памяти программ в регистр RO | R0ß (Z+RAMPZ) | Нет | ||
| MOV | Rd,Rr 0≤d≤31 0≤r≤31 | Копировать регистр | RdßRr | Нет | |
| LDI | Rd,k 16≤d≤31 0≤k≤255 | Загрузить непосредственное значение | RdßK | Нет | |
| LDS | Rd,k 0≤d≤31 0≤k≤65535 | Загрузить из ОЗУ | Rdß(k) | Нет | |
| LD | Rd,X 0≤d≤31 | Загрузить косвенно | Rd ß (X) | Нет | |
| LD | Rd,X+ 0≤d≤31 | Загрузить косвенно с постинкрементом | Rd ß (X), XßX+1 | Нет | |
| LD | Rd,X- 0≤d≤31 | Загрузить косвенно с преддекрементом | XßX-1, Rd ß (X) | Нет | |
| LD | Rd,Y 0≤d≤31 | Загрузить косвенно | Rdß(Y), | Нет | |
| LD | Rd,Y+ 0≤d≤31 | Загрузить косвенно с постинкрементом | Rdß(Y), YßY+1 | Нет | |
| LD | Rd,Y 0≤d≤31 | Загрузить косвенно с преддекрементом | YßY-1, Rd ß (Y) | Нет | |
| LDD | Rd,Y+q 0≤d≤31 0≤q≤63 | Загрузить косвенно со смещением | Rdß(Y+q) | Нет | |
| LD | Rd,Z 0≤d≤31 | Загрузить косвенно | Rd ß (Z) | Нет | |
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| LD | Rd,Z+ 0≤d≤31 | Загрузить косвенно с постинкрементом | Rd ß (Z), ZßZ+1 | Нет | |
| LD | Rd,-Z 0≤d≤31 | Загрузить косвенно с преддекрементом | ZßZ-1, Rdß(Z) | Нет | |
| LDD | Rd,Z+q 0≤d≤31 0≤q≤31 | Загрузить косвенно со смещением | Rd ß (Z+q) | Нет | |
| STS | k,Rr 0≤d≤31 0≤k≤65535 | Загрузить непосредственно в ОЗУ | (k) ßRr | Нет | |
| ST | X,Rr 0≤r≤31 | Записать косвенно | (X) ß Rr | Нет | |
| ST | X+,Rr 0≤r≤31 | Записать косвенно с постинкрементом | (X) ßRr, XßX+ 1 | Нет | |
| ST | -X,Rr 0≤r≤31 | Записать косвенно с преддекрементом | XßX-1, (X) ßRr | Нет | |
| ST | Y,Rr 0≤r≤31 | Записать косвенно | (Y) ßRr | Нет | |
| ST | Y+,Rr 0≤r≤31 | Записать косвенно с постинкрементом | (Y) ß Rr, YßY+ 1 | Нет | |
| ST | -Y,Rr 0≤r≤31 | Записать косвенно с преддекрементом | YßY-1, (Y) ß Rr | Нет | |
| STD | Y+q,Rr 0≤r≤31 0≤q≤63 | Записать косвенно со смещением | (Y+q)ßRr | Нет | |
| ST | Z,Rr 0≤r≤31 | Записать косвенно | (Z) ßRr | Нет | |
| ST | Z+,Rr 0≤r≤31 | Записать косвенно с постинкрементом | (Z) ß Rr, ZßZ+ 1 | Нет | |
| ST | -Z,Rr 0≤r≤31 | Записать косвенно с преддекрементом | ZßZ-1, (Z) ß Rr | Нет | |
| STD | Z+q,Rr 0≤r≤31 0≤q≤63 | Записать косвенно со смещением | (Z+q)ßRr | Нет | |
| LPM | Загрузить байт из памяти программ | R0 ß (Z) | Нет | ||
| IN | Rd,P 0≤d≤31 0≤P≤63 | Загрузить данные из порта I/O в регистр | RdßP | Нет | |
| OUT | P,Rr 0≤r≤31 0≤P≤63 | Записать данные из регистра в порт I/O | PßRr | Нет | |
| PUSH | Rr 0≤r≤31 | Сохранить регистр в стеке | STACK ßRr | Нет |
Таблица 3.4. Команды переходов
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| RJMP | k -2K<k<2K | Перейти относительно | PC ßPC + k + 1 | Нет | |
| LJMP | Перейти косвенно | PCßZ | Нет | ||
| JMP | k 0<k<4M | Перейти | PCßk | Нет | |
| RCALL | k -2K≤k≤2K | Вызвать подпрограмму относительно | PC ß PC + k + 1 | Нет | |
| ICALL | Вызвать подпрограмму косвенно | PCßZ | Нет | ||
| CALL | k 0≤k≤64K | Выполнить длинный вызов подпрограммы | PCßk | Нет | |
| RET | Вернуться из подпрограммы | PC ß STACK | Нет | ||
| RETI | Вернуться из прерывания | PC ß STACK | I | ||
| CPSE | Rd,Rr 0≤d≤31, 0≤r≤31 | Сравнить и пропустить, если равно | If Rd=Rr then PC ß PC + 2 (or 3) | Нет | ½/3 |
| SBRC | Rr,b 0≤r≤31 0≤b≤7 | Пропустить, если бит в регистре очищен | if Rr(b)=0 then PC ß PC + 2 (or 3) | Нет | ½/3 |
| SBRS | Rr,b 0≤r≤31 0≤b≤7 | Пропустить, если бит в регистре установлен | If Rr(b)=1 then PC ßPC + 2 (or 3) | Нет | ½/3 |
| SBIC | P,b 0≤P≤31 0≤b≤7 | Пропустить, если бит в регистре I/O очищен | if l/O P(b)=0 then PC ß PC + 2 (or 3) | Нет | ½/3 |
| SBIS | P,b 0≤r≤31 0≤b≤7 | Пропустить, если бит в регистре I/O установлен | If l/O P(b)=1 then PC ßPC + 2 (or 3) | Нет | ½/3 |
| BRBS | s,k 0≤s≤7 -64≤k≤+63 | Перейти, если бит в регистре статуса установлен | if SREG(s)=1 then PC ß PC + k + 1 | Нет | ½ |
| BRBC | s,k 0≤s≤7 -64≤k≤+63 | Перейти, если бит в регистре статуса очищен | if SREG(s)=0 then PC ß PC + k + 1 | Нет | ½ |
| BREQ | k -64≤k≤+63 | Перейти, если равно | if Rd=Rr (Z=1) then PC ß PC + k + 1 | Нет | ½ |
| BRNE | k -64≤k≤+63 | Перейти, если не равно | if Rd¹Rr(Z=0) then PC<ßPC+ k+ 1 | Нет | ½ |
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов | |||
| BRCS | k -64£k£+63 | Перейти, если флаг переноса установлен | if C=1 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRCC | k -64≤k≤+63 | Перейти, если флаг переноса очищен | if C=0 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRSH | K -64≤k≤+63 | Перейти, если равно или больше (без знака) | if Rd<Rr(C=0) then PCßPC+ k+ 1 | Нет | 1/2 | |||
| BRLO | k -64≤k≤+63 | Перейти, если меньше (без знака) | if Rd<Rr (C=1) then PC ßPC + k + 1 | Нет | 1/2 | |||
| BRMI | k -64≤k≤+63 | Перейти, если минус | if N=1 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRPL | k -64≤k≤+63 | Перейти, если плюс | if N=0 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRGE | k -64≤k≤+63 | Перейти, если больше или равно (с учетом знака) | if Rd>Rr (NÅV=0) then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRLT | k -64≤k≤+63 | Перейти, если меньше чем (со знаком) | if Rd<Rr (NÅV=1)then PC ßPC + k+ 1 | Нет | 1/2 | |||
| BRHS | K -64≤k≤+63 | Перейти, если флаг полупереноса установлен | if H=1 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRHC | k -64≤k≤+63 | Перейти, если флаг полупереноса очищен | if H=0 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRTS | k -64≤k≤+63 | Перейти, если флаг Т установлен | if T=1 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRTC | k -64≤k≤+63 | Перейти, если флаг Т очищен | if T=0 then PC ß pc + k + 1 | Нет | 1/2 | |||
| BRVS | k -64≤k≤+63 | Перейти, если флаг переполнения установлен | if V=1 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRVC | k -64≤k≤+63 | Перейти, если флаг переполнения очищен | if V=0 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRIE | k -64≤k≤+63 | Перейти, если глобальное прерывание разрешено | if I=1 then PC ß PC + k + 1 | Нет | 1/2 | |||
| BRID | k -64k£k£+63 | Перейти, если глобальное прерывание запрещено | if I=0 then PC ß PC + k + 1 | Нет | 1/2 | |||
ПОРТЫ ВВОДА-ВЫВОДА

При арифметических операциях используется регистр состояния SREG, располагаемый по адресу $3F($5F). Формат этого регистра следующий:






