Мнемоники 8-bit AVR ассемблер

Арифметические и логические операции

Мнемоника Операнды Описание Операция Флаги ПЦ
ADD Rd, Rr Сумма без учета переноса Rd = Rd + Rr Z,C,N,V,H,S 1
ADC Rd, Rr Сумма с учетом переноса Rd = Rd + Rr + C Z,C,N,V,H,S 1
ADIW Rdl, K6 Сумма слова с константой Rdh:Rdl = Rdh:Rdl + K6 Z,C,N,V,S 2
SUB Rd, Rr Разница без учета переноса Rd = Rd - Rr Z,C,N,V,H,S 1
SUBI Rd, K8 Разница с константой Rd = Rd - K8 Z,C,N,V,H,S 1
SBC Rd, Rr Разница с учетом переноса Rd = Rd - Rr - C Z,C,N,V,H,S 1
SBCI Rd, K8 Разница с константой с учетом переноса Rd = Rd - K8 - C Z,C,N,V,H,S 1
AND Rd, Rr Логическое "И" Rd = Rd & Rr Z,N,V,S 1
ANDI Rd, K8 Логическое "И" с константой Rd = Rd & K8 Z,N,V,S 1
OR Rd, Rr Логическое "ИЛИ" Rd = Rd V Rr Z,N,V,S 1
ORI Rd, K8 Логическое "ИЛИ" с константой Rd = Rd V K8 Z,N,V,S 1
EOR Rd, Rr Исключающее "ИЛИ" Rd = Rd ⊕ Rr Z,N,V,S 1
COM Rd Побитовая инверсия Rd = $FF - Rd Z,C,N,V,S 1
NEG Rd Изменение знака Rd = $00 - Rd Z,C,N,V,H,S 1
SBR Rd, K8 Установить бит(ы) в регистре Rd = Rd V K8 Z,C,N,V,S 1
CBR Rd, K8 Сбросить бит(ы) в регистре Rd = Rd · ($FF - K8) Z,C,N,V,S 1
INC Rd Инкремент Rd = Rd + 1 Z,N,V,S 1
DEC Rd Декремент Rd = Rd - 1 Z,N,V,S 1
TST Rr Проверка регистра на нуль или минус R = Rr & Rr Z,C,N,V,S 1
CLR Rd Очистка бит регистра Rd = 0 Z,N,V,S 1
SER Rd Установка бит регистра Rd = $FF Нет 1
SBIW Rdl, K6 Вычитание константы из слова Rdh:Rdl = Rdh:Rdl - K6 Z,C,N,V,S 2
MUL Rd, Rr Умножение беззнаковых чисел R1:R0 = Rd * Rr Z,C 2
MULS Rd, Rr Умножение знаковых чисел R1:R0 = Rd * Rr Z,C 2
MULSU Rd, Rr Умножение знакового числа на беззнаковое число R1:R0 = Rd * Rr Z,C 2
FMUL Rd, Rr Умножение дробных беззнаковых чисел R1:R0 = (Rd * Rr) << 1 Z,C 2
FMULS Rd, Rr Умножение дробных знаковых чисел R1:R0 = (Rd *Rr) << 1 Z,C 2
FMULSU Rd, Rr Умножение дробного знакового числа на дробное беззнаковое число R1:R0 = (Rd * Rr) << 1 Z,C 2
Обозначения:
*Инструкция поддерживается не на всех устройствах

Rd : Регистр назначения

Rr : Регистр источник

R : Результат выполнения инструкции

Kx : Константа x-бит

C : Флаг переноса

Z : Флаг нуля

N : Флаг знака

V : Флаг переполнения

S : N ⊕ V, для знаковых проверок

H : Флаг внутреннего переноса