Мнемоника | Операнды | Описание | Операция | Флаги | Циклы |
LSL | Rd | Логический сдвиг влево | Rd(n+1)=Rd(n), Rd(0)=0, C=Rd(7) | Z,C,N,V,H,S | |
LSR | Rd | Логический сдвиг вправо | Rd(n)=Rd(n+1), Rd(7)=0, C=Rd(0) | Z,C,N,V,S | |
ROL | Rd | Циклический сдвиг влево через C | Rd(0)=C, Rd(n+1)=Rd(n), C=Rd(7) | Z,C,N,V,H,S | |
ROR | Rd | Циклический сдвиг вправо через C | Rd(7)=C, Rd(n)=Rd(n+1), C=Rd(0) | Z,C,N,V,S | |
ASR | Rd | Арифметический сдвиг вправо | Rd(n)=Rd(n+1), n=0,...,6 | Z,C,N,V,S | |
SWAP | Rd | Перестановка тетрад | Rd(3..0) = Rd(7..4), Rd(7..4) = Rd(3..0) | None | |
BSET | s | Установка флага | SREG(s) = 1 | SREG(s) | |
BCLR | s | Очистка флага | SREG(s) = 0 | SREG(s) | |
SBI | P,b | Установить бит в порту | I/O(P,b) = 1 | None | |
CBI | P,b | Очистить бит в порту | I/O(P,b) = 0 | None | |
BST | Rr,b | Сохранить бит из регистра в T | T = Rr(b) | T | |
BLD | Rd,b | Загрузить бит из T в регистр | Rd(b) = T | None | |
SEC | Нет | Установить флаг переноса | C =1 | C | |
CLC | Нет | Очистить флаг переноса | C = 0 | C | |
SEN | Нет | Установить флаг отрицательного числа | N = 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 | |
CLN | Нет | Очистить флаг числа со знаком | S = 0 | S | |
SEV | Нет | Установить флаг переполнения | V = 1 | V | |
CLV | Нет | Очистить флаг переполнения | V = 0 | V | |
SET | Нет | Установить флаг T | T = 1 | T | |
CLT | Нет | Очистить флаг T | T = 0 | T | |
SEH | Нет | Установить флаг внутреннего переноса | H = 1 | H | |
CLH | Нет | Очистить флаг внутреннего переноса | H = 0 | H | |
NOP | Нет | Нет операции | Нет | None | |
SLEEP | Нет | Спать (уменьшить энергопотребление) | Смотрите описание инструкции | None | |
WDR | Нет | Сброс сторожевого таймера | Смотрите описание инструкции | None |
Ассемблер не различает регистр символов.
|
|
Операнды могут быть таких видов:
Rd: Результирующий (и исходный) регистр в регистровом файле
Rr: Исходный регистр в регистровом файле
b: Константа (3 бита), может быть константное выражение
s: Константа (3 бита), может быть константное выражение
P: Константа (5-6 бит), может быть константное выражение
K6; Константа (6 бит), может быть константное выражение
K8: Константа (8 бит), может быть константное выражение
k: Константа (размер зависит от инструкции), может быть константное выражение
q: Константа (6 бит), может быть константное выражение
Rdl: R24, R26, R28, R30. Для инструкций ADIW и SBIW
X,Y,Z: Регистры косвенной адресации (X=R27:R26, Y=R29:R28, Z=R31:R30)