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

         

Инструкции работы с битами




Мнемоника Операнды Описание Операция Флаги Циклы
LSL Логический сдвиг влево Rd(n+1)=Rd(n), Rd(0)=0, C=Rd(7) Z,C,N,V,H,S 1
LSR Логический сдвиг вправо Rd(n)=Rd(n+1), Rd(7)=0, C=Rd(0) Z,C,N,V,S 1
ROL Циклический сдвиг влево через C Rd(0)=C, Rd(n+1)=Rd(n), C=Rd(7) Z,C,N,V,H,S 1
ROR Циклический сдвиг вправо через C Rd(7)=C, Rd(n)=Rd(n+1), C=Rd(0) Z,C,N,V,S 1
ASR Арифметический сдвиг вправо Rd(n)=Rd(n+1), n=0,...,6 Z,C,N,V,S 1
SWAP Перестановка тетрад Rd(3..0) = Rd(7..4), Rd(7..4) = Rd(3..0) None 1
BSET  Установка флага SREG(s) = 1 SREG(s) 1
BCLR Очистка флага SREG(s) = 0 SREG(s) 1
SBI , Установить бит в порту I/O(P,b) = 1 None 2
CBI , Очистить бит в порту I/O(P,b) = 0 None 2
BST , Сохранить бит из регистра в T T = Rr(b) T 1
BLD , Загрузить бит из T в регистр Rd(b) = T None 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
CLN Нет Очистить флаг числа со знаком 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 Нет Нет операции Нет None 1
SLEEP Нет Спать (уменьшить энергопотребление) Смотрите описание инструкции None 1
WDR Нет Сброс сторожевого таймера Смотрите описание инструкции None 1

 

Ассемблер не различает регистр символов.

Операнды могут быть таких видов:

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)



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