Для вивчення азів програмування мікроконтролерів AVR на асемблері необхідно розуміти значення асемблерних мнемонік. У новітніх мікроконтролерах AVR сімейства MEGA доступно близько двох сотень операцій, і майже кожна з команд виконується мікроконтролером за один такт, за виключення команд галуження і апаратного множення.
Найбільш часто вживані асемблерні команди, які необхідно знати для розуміння чужого коду і тим більше для написання свого.
Регістри введення/виводу:
CBI – скидання біта порту
SBI – установка балка. «1» біта порту
IN –загрузка значення з порту в регістр
OUT – завантаження значення в регістр
SBIC – пропуск наступної команди, якщо біт порту скинутий
SBIS - пропуск наступної команди, якщо біт порту встановлений
Виклики:
CALL –абсолютний виклик
RCALL – відносний виклик
RET – повернення з підпрограми
RETI – повернення з переривання, прапор дозволу переривань I «жорстко» встановлюється
JMP – абсолютний перехід
RJMP – відносний перехід
BRBC – перехід, якщо біт регістра SREG скинутий
BRBS – перехід, якщо біт регістра SREG встановлений
SBRC – пропустити наступну команду, якщо біт регістра скинутий
SBRS – пропустити наступну команду, якщо біт регістра встановлений
Робота із стеком:
PUSH – зберегти регістр в стеку
POP – витягання регістра із стека
Важливі команди:
NOP – команда, яка нічого не робить
CLI – заборонити переривання
SEI – вирішити переривання
CP – порівняти значення двох регістрів загального призначення
CPI – порівняти значення регістра з константою
LDI – завантажити константу в регістр загального призначення
CLR – очистити регістр загального призначення