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