ADD Rd, Rr | - | Сложение двух РОН | ||||||||
Операнды | 0 ≤ d ≤ 31, 0≤ r ≤ 31 | |||||||||
Операция | Rd = Rd + Rr | Циклов | ||||||||
Описание | Складывает содержимое двух регистров Rd и Rr. Результат помещается в регистр Rd | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | + | |||
ADC Rd, Rr | - | Сложение двух РОН с переносом | ||||||||
Операнды | 0 ≤ d ≤ 31, 0≤ r ≤ 31 | |||||||||
Операция | Rd = Rd + Rr + С | Циклов | ||||||||
Описание | Складывает содержимое двух регистров Rr и Rd и прибавляет содержимое флага переноса С. | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | + | |||
ADIW Rd, К | - | Сложение регистровой пары с константой | ||||||||
Операнды | d ![]() | |||||||||
Операция | Rd+l:Rd = Rd+l: Rd + K | Циклов | ||||||||
Описание | Складывает содержимое регистровой пары Rd+l:Rd с 6-разрядным числом. Результат помещается обратно в регистровую пару | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | + | |||
SUB Rd, Rr | - | Вычитание двух РОН | ||||||||
Операнды | 0 ≤ d ≤ 31, 0≤ r ≤ 31 | |||||||||
Операция | Rd = Rd – Rr | Циклов | ||||||||
Описание | Вычитает из регистра Rd содержимое регистра Rr. | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | + | |||
SUBI Rd, K | - | Вычитание константы из регистра | ||||||||
Операнды | 0 ≤ d ≤ 31, k = 0…255 | |||||||||
Операция | Rd = Rd – K | Циклов | ||||||||
Описание | Вычитает из регистра Rd значение константы К. Результат помещается обратно в регистр. Данная команда применима только к старшей половине РОН | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | + | |||
SBIW Rd, К | - | Вычитание константы из регистровой пары | ||||||||
Операнды | d {24, 26, 28, 30}, 0 < К < 63 | |||||||||
Операция | Rd+1:Rd = Rd+1:Rd – К | Циклов | ||||||||
Описание | Вычитает из регистровой пары Rd+1:Rd значение константы К. Результат помещается обратно в регистровую пару. Команда применима только к 4 старшим регистровым парам | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | + | |||
SBC Rd, Rr | - | Вычитание с заемом | ||||||||
Операнды | 0 ≤ d ≤ 31, 0≤ r ≤ 31 | |||||||||
Операция | Rd = Rd – Rr – C | Циклов | ||||||||
Описание | Вычитает из регистра Rd содержимое регистра Rr с учетом флага переноса С. Результат помещается в регистр Rd. Если результат вычитания не равен нулю, флаг нуля Z сбрасывается в «0», в противном случае он остается без изменений | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | + | |||
SBCI Rd, К | - | Вычитание константы из РОН с заемом | ||||||||
Операнды | 0 ≤ d ≤ 31, 0≤ r ≤ 31 | |||||||||
Операция | Rd = Rd – K – C | Циклов | ||||||||
Описание | Вычитает из регистра Rd значение константы К с учетом флага переноса С. Результат помещается в регистр Rd. Если результат вычитания не равен нулю, флаг нуля Z сбрасывается в «0», в противном случае он остается без изменений | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | + | |||
AND Rd, Rr | - | «Логическое И» двух РОН | ||||||||
Операнды | 0 ≤ d ≤ 31, 0≤ r ≤ 31 | |||||||||
Операция | Rd = Rd & Rr | Циклов | ||||||||
Описание | Выполняет операцию «Логическое И» между содержимым регистров Rd и Rr. Результат помещается в регистр Rd | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | - | ||||
ANDI Rd, К | - | «Логическое И» РОН и константы | ||||||||
Операнды | 16 ≤ d ≤ 31, 0≤ k ≤ 255 | |||||||||
Операция | Rd = Rd & К | Циклов | ||||||||
Описание | Выполняет операцию «Логическое И» между содержимым регистра Rd и 8-разрядным числом. Результат помещается в регистр Rd. Команда применима только к 16 старшим РОН (R16...R31) | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | - | ||||
OR Rd, Rr | - | «Логическое ИЛИ» двух РОН | ||||||||
Операнды | 0 ≤ d ≤ 31, 0≤ r ≤ 31 | |||||||||
Операция | Rd = Rd V Rr | Циклов | ||||||||
Описание | Выполняет операцию «Логическое ИЛИ» между реги-страми Rd и Rr. Результат помещается в регистр Rd | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | - | ||||
ORI Rd, K | - | «Логическое ИЛИ» РОН и константы | ||||||||
Операнды | 16 ≤ d ≤ 31, 0≤ K ≤ 255 | |||||||||
Операция | Rd = Rd V K | Циклов | ||||||||
Описание | Выполняет операцию «Логическое ИЛИ» между содержимым регистра Rd и 8-разрядной константой К. Результат помещается в регистр Rd. Команда применима только к 16 старшим РОН (R16...R31) | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | + | + | - | ||||
EOR Rd, Rr | - | «Исключающее ИЛИ» двух РОН | ||||||||
Операнды | 0 ≤ d ≤ 31, 0≤ r ≤ 31 | |||||||||
Операция | Rd = Rd ![]() | Циклов | ||||||||
Описание | Выполняет операцию «Исключающее ИЛИ» между регистрами Rd и Rr. | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | - | ||||
COM Rd | - | Вычисление обратного кода | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | Rd = $FF – Rd | Циклов | ||||||||
Описание | Вычисляет обратный код числа, находящегося в реги-стре Rd. Результат помещается обратно в регистр Rd | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | |||||
SBR Rd, К | - | Установка разрядов РОН | ||||||||
Операнды | 16 ≤ d ≤ 31, 0≤ K ≤ 255 | |||||||||
Операция | Rd = Rd V К | Циклов | ||||||||
Описание | Устанавливает отдельные разряды регистра Rd путем выполнения операции «Логическое ИЛИ» между содержимым регистра Rd и маской (константа К). | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | - | ||||
CBR Rd, К | - | Сброс разрядов РОН | ||||||||
Операнды | 16 ≤ d ≤ 31, 0≤ K ≤ 255 | |||||||||
Операция | Rd = Rd & ($FF – К) | Циклов | ||||||||
Описание | Сбрасывает разряды в регистре Rd в соответствии с маской, задаваемой константой К. | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | ||||
INC Rd | - | Инкремент РОН | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | Rd = Rd + 1 | Циклов | ||||||||
Описание | Увеличивает содержимое регистра Rd на единицу. Команда не влияет на флаг переноса С. Она идеально подходит для организации счетчика числа итераций цикла. При работе с числами в дополнительном коде могут использоваться все команды условного перехода для знаковых проверок. Флаг V устанавливается в «1» только в том случае, если до выполнения операции в регистре находилось значение $7F | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | - | |||
DEC Rd | - | Декремент РОН | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | Rd = Rd – 1 | Циклов | ||||||||
Описание | Уменьшает содержимое регистра Rd на единицу. Команда не влияет на флаг переноса С. Она идеально подходит для организации счетчика числа итераций цикла. Флаг V устанавливается в «1» только в том случае, если до выполнения операции в регистре находилось значение $80 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | - | |||
NEG Rd | - | Вычисление дополнительного кода | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | Rd = $00 – Rd | Циклов | ||||||||
Описание | Вычисляет дополнительный код числа, находящегося в регистре Rd. Результат помещается в регистр Rd | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | + | |||
TST Rd | - | Проверка РОН на нулевое или отрицательное значение | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | Rd = Rd & Rd | Циклов | ||||||||
Описание | Проверяет содержимое регистра на нулевое или отрицательное значение путем выполнения операции «Логическое И» регистра с самим собой. Содержимое регистра Rd не изменяется | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | ||||
![]() ![]() ![]() | - | Очистка РОН | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | Rd = 0 | Циклов | ||||||||
Описание | Сбрасывает все разряды регистра общего назначения путем выполнения операции «Исключающее ИЛИ» регистра с самим собой | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | ||||||||
SER Rd | - | Установка РОН | ||||||||
Операнды | 16 ≤ d ≤ 31 | |||||||||
Операция | Rd = $FF | Циклов | ||||||||
Описание | Устанавливает все разряды регистра общего назна-чения в «1». Команда применима только к регистрам из старшей половины регистрового файла | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | - | |||