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

Инструкции по работе с битами и управления МК

Мнемоника Операнды Описание Операция Флаги ПЦ
LSL Rd Логический сдвиг влево Rd(n+1) = Rd(n), Rd(0) = 0, C = Rd(7) Z, C, N, V, H, S 1
LSR Rd Логический сдвиг вправо Rd(n) = Rd(n+1), Rd(7) = 0, C = Rd(0) Z, C, N, V, S 1
ROL Rd Циклический сдвиг влево через флаг переноса Rd(0) = C, Rd(n+1) = Rd(n), C = Rd(7) Z, C, N, V, H, S 1
ROR Rd Циклический сдвиг вправо через флаг переноса Rd(7) = C, Rd(n) = Rd(n+1), C = Rd(0) Z, C, N, V, S 1
ASR Rd Арифметический сдвиг вправо Rd(n) = Rd(n+1), n=0,...,6 Z, C, N, V, S 1
SWAP Rd Перестановка полубайт Rd(3..0) = Rd(7..4), Rd(7..4) = Rd(3..0) Нет 1
BSET s Установить флага в SREG SREG(s) = 1 SREG(s) 1
BCLR s Очистить флаг в SREG SREG(s) = 0 SREG(s) 1
SBI P, b Установить бит в регистре ввода/вывода I/O(P, b) = 1 Нет 2
CBI P, b Очистить бит в регистре ввода/вывода I/O(P, b) = 0 Нет 2
BST Rr, b Сохранить бит из регистра во флаг T в SREG T = Rr(b) T 1
BLD Rd, b Загрузить бит в регистр из флага T из SREG Rd(b) = T Нет 1
SEC Нет Установить флаг переноса C = 1 C 1
CLC Нет Очистить флаг переноса C = 0 C 1
SEN Нет Установить флаг минуса N = 1 N 1
CLN Нет Очистить флаг минуса N = 0 N 1
SEZ Нет Установить флаг нуля Z = 1 Z 1
CLZ Нет Очистить флаг нуля Z = 0 Z 1
SEI Нет Установить флаг глобального разрешения прерываний I = 1 I 1
CLI Нет Очистить флаг глобального разрешения прерываний I = 0 I 1
SES Нет Установить флаг знакового числа S = 1 S 1
CLS Нет Очистить флаг знакового числа S = 0 S 1
SEV Нет Установить флаг переполнения V = 1 V 1
CLV Нет Очистить флаг переполнения V = 0 V 1
SET Нет Установить пользовательский флаг T T = 1 T 1
CLT Нет Очистить пользовательский флаг T T = 0 T 1
SEH Нет Установить флаг полупереноса H = 1 H 1
CLH Нет Очистить флаг полупереноса H = 0 H 1
NOP Нет Пустая операция Нет Нет 1
SLEEP Нет Переход в пящий режим см. документацию Нет 1
WDR Нет Сброс Watchdog см. документацию Нет 1
BREAK Нет Переход в режим остановки, используется отладчиками см. документацию Нет 1
Обозначения:
*Инструкция поддерживается не на всех устройствах

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

P : Константа или константное выражение, размером (5-6)-бит

b : Константа - номер бита в регистре общего назначения или регистре ввода/вывода, размером 3-бита

s : Константа - номер бита в статус-регистре, размером 3-бита

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

Z : Флаг нуля

N : Флаг знака

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

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

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

T : Пользовательский флаг

I : Флаг глобального разрешения/запрета прерываний