Rd AND Rrа
╠эхьюэ.ааааааааа ╬яхЁрэф√аааааааааааааааааааааааааааааааа ╬яшёрэшхаааааааааааа ─хщёЄтшх ╘ырушааааааааааа ╓ъы
└╨╚╘╠┼╥╚╫┼╤╩╚┼ ╚ ╦╬├╚╫┼╤╩╚┼ ╩╬╠└═─█
ADDааа Rd, Rrаа ╤ыюцшЄ№ фтр ЁхушёЄЁраааааааааааааа Rd < Rd + Rrаааааа Z,C,N,V,H 1
ADCааа Rd, Rrаа ╤ыюцшЄ№ ё яхЁхэюёюьаааааааааааааа Rd < Rd + Rr + C Z,C,N,V,H 1
ADIWааааа аааааааа Rdl,Kааа ааааааааааааааааааааааааааааааааааааа ╤ыюцшЄ№ ёыютю ё ъюэёЄрэЄюща ааааааа Rdh,l< Rdh,l+Kаа аааааааа Z,C,N,V,Sаааааааааааааааааааааааааааааааааа 2
SUBаааа Rd, Rrаа ┬√ўхёЄ№ фтр ЁхушёЄЁрааааааааааааааа Rd < Rd - Rrааааааа Z,C,N,V,H 1
SUBIаа Rd, Kааа ┬√ўхёЄ№ ъюэёЄрэЄєааааааааааааааааааа Rd < Rd - Kааааааааа Z,C,N,V,H 1
SBIWааааа ааааааааа Rdl,Kааа ааааааааааааааааааааааааааааааааааааа ┬√ўхёЄ№ ёыютю ё ъюэёЄрэЄюща аааааааа Rdh,l< Rdh,l-Kаа ааааааааа Z,C,N,V,Sа аааааааааааааааааааааааааааааааа 2
SBCаааа Rd, Rrаа ┬√ўхёЄ№ ё яхЁхэюёюьааааааааааааааа Rd < Rd - Rr - Cаа Z,C,N,V,H 1
SBCIаа Rd, Kааа ┬√ўхёЄ№ ё яхЁхэюёюьааааааааааааааа Rd < Rd - K - Cааа Z,C,N,V,H 1
ANDааа Rd, Rrаа ╦юушўхёъюх ╚аааааааааааааааааааааааааааа Rd < Rd AND Rrа Z,N,Vааааа 1
ANDIаа Rd, Kааа ╦юушўхёъюх ╚аааааааааааааааааааааааааааа Rd < Rd AND Kаа Z,N,Vааааа 1
ORааааа Rd, Rrаа ╦юушўхёъюх ╚╦╚аааааааааааааааааааааа Rd < Rd OR Rrааа Z,N,Vааааа 1
ORIаааа Rd, Kааа ╦юушўхёъюх ╚╦╚аааааааааааааааааааааа Rd < Rd OR Kаааа Z,N,Vааааа 1
EORааа Rd, Rrаа ╚ёъы■ўр■∙хх ╚╦╚аааааааааааааааааа Rd < Rd XOR Rrа Z,N,Vааааа 1
COMаа Rdаааааааа ─юяюыэхэшх фю 1ааааааааааааааааааааааа Rd < $FF - Rdааааа Z,C,N,Vа 1
NEGааа Rdаааааааа ─юяюыэхэшх фю 2ааааааааааааааааааааааа Rd < $00 - Rdаааааа Z,C,N,V,H 1
SBRаааа Rd, Kааа ╙ёЄрэютър сшЄ(-ют) т ЁхушёЄЁхаа Rd < Rd OR Kаааа Z,N,Vааааа 1
CBRааа Rd, Kааа ╤сЁюё сшЄ(-ют) т ЁхушёЄЁхаааааааа Rd < Rd AND (FFh - K)ааааа Z,N,Vа 1
INCаааа Rdаааааааа ╙тхышўшЄ№ эр 1аааааааааааааааааааааааааа Rd < Rd + 1аааааааа Z,N,Vааааа 1
DECааа Rdаааааааа ╙ьхэ№°шЄ№ эр 1аааааааааааааааааааааааа Rd < Rd - 1ааааааааа Z,N,Vааааа 1
TSTаааа Rdаааааааа ╧ЁютхЁшЄ№ эр 0 шыш ьшэєёааааааа Rd < Rd AND Rd Z,N,Vааааа 1
CLR Rd Очистить регистр Rd < Rd XOR Rd Z,N,V 1
SER Rd Установить регистр Rd < $FF Не меняет 1
КОМАНДЫ ВЕТВЛЕНИЯ
RJMP k Относительный переход PC < PC+k+1 Не меняет 2
LJMP Переход по адресу (Z) PC< Z Не меняет 2
RCALL k Относительный вызов подпрограммы PC < PC+k+1 Не меняет 3
ICALL Вызов подпрограммы по адресу (Z) PC< Z Не меняет 3
RET Выход из подпрограммы PC < STACK Не меняет 4
RETI Выход из прерывания PC < STACK I 4
CPSE Rd, Rr Сравнить, пропуск если равно if(Rd=Rr) PC
CP Rd, Rr Сравнить Rd - Rr Z,N,V,C,H 1
CPC Rd, Rr Сравнить с переносом Rd - Rr - C Z,N,V,C,H 1
CPI Rd, K Сравнить с константой Rd - K Z,N,V,C,H 1
SBRC Rr, b Пропуск если бит в регистре сброшен if(Rr(b)=0) PC
SBRS Rr, b Пропуск если бит в регистре установлен if(Rr(b)=1) PC
SBIC P, b Пропуск если бит в рег. ввода/выв. сброшен if(P(b)=0) PC
SBIS P, b Пропуск если бит в рег. ввода/выв. установлен if(P(b)=1) PC
BRBS s, k Переход если установлен флаг s if(SREG(s)=1) PC
BRBC s, k Переход если сброшен флаг s if(SREG(s)=0) PC
BREQ k Переход если равно if(Z=1) PC < PC+k+1 Не меняет 1/2
BRNE k Переход если неравно if(Z=0) PC < PC+k+1 Не меняет 1/2
BRCS k Переход если установлен перенос if(C=1) PC < PC+k+1 Не меняет 1/2
BRCC k Переход если сброшен перенос if(C=0) PC < PC+k+1 Не меняет 1/2
BRSH k Переход если равно или больше if(C=0) PC < PC+k+1 Не меняет 1/2
BRLO k Переход если меньше if(C=1) PC < PC+k+1 Не меняет 1/2
BRMI k Переход если минус if(N=1) PC < PC+k+1 Не меняет 1/2
BRPL k Переход если плюс if(N=0) PC < PC+k+1 Не меняет 1/2
BRGE k Переход если больше или равно, со знаком if(N XOR V=0) PC
BRLT k Переход если меньше нуля, со знаком if(N XOR V=1) PC
BRHS k Переход если установлен флаг H if(H=1) PC < PC+k+1 Не меняет 1/2
BRHC k Переход если сброшен флаг H if(H=0) PC < PC+k+1 Не меняет 1/2
BRTS k Переход если установлен флаг T if(H=1) PC < PC+k+1 Не меняет 1/2
BRTC k Переход если сброшен флаг T if(H=0) PC < PC+k+1 Не меняет 1/2
BRVS k Переход если установлен флаг V (переполнение) if(H=1) PC < PC+k+1 Не меняет 1/2
BRVC k Переход если сброшен флаг V if(H=0) PC < PC+k+1 Не меняет 1/2
BRIE k Переход если разрешены прерывания if(I=1) PC < PC+k+1 Не меняет 1/2
BRID k Переход если запрещены прерывания if(I=1) PC < PC+k+1 Не меняет 1/2
Мнемон. Операнды Описание Действие Флаги Цкл
КОМАНДЫ ПЕРЕСЫЛКИ
MOV Rd,Rr Пересылка между регистрами Rd< Rr Не меняет 1
LDI Rd,K Загрузить константу Rd< K Не меняет 1
LD Rd,X Загрузить регистр непосредственно Rd< (X) Не меняет 2
LD Rd,X+ Загрузить регистр непосред. c пост инкрем. Rd< (X),X< X+1 Не меняет 2
LD Rd,-X Загрузить регистр непосред с предвар. декрем. X< X-1,Rd< (X) Не меняет 2
LD Rd,Y Загрузить регистр непосредственно Rd< (Y) Не меняет 2
LD Rd,Y+ Загрузить регистр непосред. c пост инкрем. Rd< (Y),Y< Y+1 Не меняет 2
LD Rd,-Y Загрузить регистр непосред. с предвар.декрем. Y< Y-1,Rd< (Y) Не меняет 2
LDD Rd,Y+q Загрузить регистр непосред. со смещением Rd< (Y+q) Не меняет 2
LD Rd,Z Загрузить регистр непосредственно Rd< (Z) Не меняет 2
LD Rd,Z+ Загрузить регистр непоср. c пост инкрементом Rd< (Z),Z< Z+1 Не меняет 2
LD Rd,-Z Загрузить регистр непосред. с предв.декрем. Z< Z-1,Rd< (Z) Не меняет 2
LDD Rd,Z+q Загрузить регистр непосред. со смещением Rd< (Z+q) Не меняет 2
LDS Rd,k Загрузить из ОЗУ Rd< (k) Не меняет 3
ST X,Rr Записать регистр непосредственно (X)< Rr Не меняет 2
ST X+,Rr Записать регистр непосред. c пост инкрементом. (X)< Rr,X< X+1 Не меняет 2
ST -X,Rr Записать регистр непосред. c пред.декрементом. X< X-1,(X)< Rr Не меняет 2
ST Y,Rr Записать регистр непосредственно (Y)< Rr Не меняет 2
ST Y+,Rr Записать регистр непосред.c пост инкрементом. (Y)< Rr,Y< Y+1 Не меняет 2
ST -Y,Rr Записать регистр непосред.c пред. декрементом. Y< Y-1,(Y)< Rr Не меняет 2
STD Y+q,Rr Записать регистр непосред.
со смещением (Y+q)< Rr Не меняет 2
ST Z,Rr Записать регистр непосредственно (Z)< Rr Не меняет 2
ST Z+,Rr Записать регистр непосред. c пост инкрементом. (Z)< Rr,Z< Z+1 Не меняет 2
ST -Z,Rr Записать регистр непосред. c пред. декрементом. Z< Z-1,(Z)< Rr Не меняет 2
STD Y+q,Rr Записать регистр непосред. со смещением (Y+q)< Rr Не меняет 2
STS k,Rr Записать в ОЗУ (k)< Rr Не меняет 3
LPM Загрузить из памяти программ. R0< (Z) Не меняет 3
IN Rd, P Ввод из порта Rd< P Не меняет 1
OUT P, Rr Вывод в порт P< Rr Не меняет 1
PUSH Rr Записать в стек STACK< Rr Не меняет 2
POP Rr Прочитать из стека Rr< STACK Не меняет 2
КОМАНДЫ РАБОТЫ С БИТАМИ
SBI P,b Установить бит в регистре ввода/вывода I/O(P,b) < 1 Не меняет 2
CBI P,b Сбросить бит в регистре ввода/вывода I/O(P,b) < 0 Не меняет 2
LSL Rd Логический сдвиг влево Rd(n+1)
LSR Rd Логический сдвиг вправо Rd(n)
ROL Rd Сдвиг влево через C Rd(0)
Rd(n+1)
ROR Rd Сдвиг вправо через C Rd(7) < C, Z,C,N,V 1
Rd(n) < Rd(n+1), C < Rd(0)
ASR Rd Арифметический сдвиг вправо Rd(n) < Rd(n+1), n=0..6 Z,C,N,V 1
SWAP Rd Обмен нибблов Rd(3-0) < Rd(7-4), Не меняет 1
Rd(7-4) < Rd(3-0)
BSET s Установить флаг SREG(s) < 1 SREG(s) 1
BCLR s Сбросить флаг SREG(s) < 0 SREG(s) 1
BST Rr,b Запомнить бит в T T < Rr(b) T 1
BLD Rd, b Прочитать бит из T Rd(b) < T Не меняет 1
SEC Установить перенос C < 1 C 1
CLC Сбросить перенос C < 0 C 1
SEN Установить флаг N N < 1 N 1
CLN Сбросить флаг N N < 0 N 1
SEZ Установить флаг Z Z < 1 Z 1
CLZ Сбросить флаг Z Z < 0 Z 1
SEI Разрешить прерывания I < 1 I 1
CLI Запретить прерывания I < 0 I 1
SES Установить флаг S S < 1 S 1
CLS Сбросить флаг S S < 0 S 1
SEV Установить флаг V V < 1 V 1
CLV Сбросить флаг V V < 0 V 1
SET Установить флаг T T < 1 T 1
CLT Сбросить флаг T T < 0 T 1
SEH Установить флаг H H < 1 H 1
CLH Сбросить флаг H H < 0 H 1
NOP Нет операции Не меняет 1
SLEEP Останов Не меняет 3
WDR Сброс сторожевого таймера Не меняет 1