BRBCS, k – перейти на метку k, если флаг в регистре статуса сброшен в 0.
Команды работы с битами.
LSLRd – логический сдвиг влево. В результате логического сдвига влево старший бит в сдвигаемом регистре перемещается во флаг переноса С, все биты регистра сдвигаются на 1 бит влево, а в младший бит записывается 0.
LSRRd - логический сдвиг вправо.
ROLRd – циклический сдвиг влево.
При циклическом сдвиге влево, содержимое сдвигаемого регистра сдвигается на один бит влево, при этом старший бит переходит во флаг переноса B, а то что было во флаге С до этого записывается в младший бит записываемого регистра.
RORRd– циклический сдвиг вправо.
ASRRd – арифметический сдвиг вправо.
SWAPRd – перестановка тетрад в регистре.
SBIP, b – установить бит b в порту Р.
CBIP, b – сбросить бит b в порту Р.
BSTRd, b – установить либо сбросить флаг Т в регистре статуса в зависимости от того установлен или сброшен бит в регистре Rd.
BLDRd, b – загрузить в бит b регистра Rd содержимое флага Т.
SEC – установить в 1 флаг переноса.
CLC – сбросить в 0 флаг переноса.
SEN – установить в 1 флаг отрицательного числа.
CLN – сбросить в 0 флаг отрицательного числа.
SEZ – установить в 1 флаг 0.
CLZ – сбросить в 0.
SEI – разрешить прерывания.
CLI – запретить прерывания.
SES – установить в 1 флаг числа со знаком.
CLS – сбросить в 0 флаг числа со знаком.
SEV - установить в 1 флаг переполнения.
CLV – сбросить в 0 флаг переполнения.
SET – установить в 1 флаг Т.
CLT – сбросить в 0 флаг Т
SEH – установить в 1 флаг внутреннего переноса.
CLH – очистить флаг внутреннего переноса.
NOP – пустая команда.
SLEEP – переход в режим пониженного энергопотребления.
WDR – сброс сторожевого таймера.
Команды передачи данных
MOVRd, Rr – копирование содержимого регистра Rr в Rd.
LDIRd, k – загрузить константу kв регистр Rd. Команда справедлива только для регистров с 16 по 31.
LDSRd, k – прямая загрузка из оперативной памяти значений хранящихся по адресу kв регистре Rd.
LDRd, x – загрузка из ОЗУ значений хранящихся по адресу, который предварительно записан в регистровую пару х, значение в регистр Rd
# LDI R26, 0X01
LDI R27, 0X02
LDR17, x
LDRd, x+ (LDRd, y+ LDRd, z+) – косвенная загрузка в регистр Rd значений из ОЗУ, адрес которой записан в регистровой паре х с последующим инкрементом адреса.
LDRd, -x – загрузка в регистр Rd значений из ОЗУ, адрес которых предварительно записан регистровой паре х с прединкрементом адреса.
STSk, Rr – прямое сохранение содержимого регистра Rr в ячейку ОЗУ, адрес которой указан константой k.
STS 0X69, R17
STx, Rr (STY, RrSTY, Rr) – сохранение содержимого регистра Rr в ячейку оперативной памяти, адрес которой предварительно записан в регистровой паре х.
STx+, Rr (STY+, RrSTZ+, Rr) – сохранение содержимого регистра Rr в ячейку оперативной памяти с адресом, записанным в регистровую пару х и последующим инкрементом адреса.
ST -x, Rr (ST -Y, RrST -Z, Rr) - сохранение содержимого регистра Rr в ячейку оперативной памяти с адресом, предварительно записанным в регистровую пару х и преддектрементом адреса.
LDDRd, Y+q (LDDRd, Z+q) – загрузка из памяти в регистр Rd, когда адрес хранится в регистровой паре и указывается смещение адреса q.
INRd, P – загрузка из порта Р его содержимого в регистр Rd.
OUTP, Rr – вывод в порт Р содержимого регистра Rr.
PUSHRd – занесение содержимого регистра в стек.
POPRd – извлечение из стека.
LPM – загрузка значений из памяти программ.
LPMRd, Z+ - загрузка из памяти программ с постинкрементом.