Справка по Ассемблеру для AVR

         

Арифметические и логические инструкции




Мнемоника Операнды Описание Операция Флаги Циклы
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

 



Содержание раздела