Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
PAGE 1
Набор команд
Мнемоника Операнды Описание Действие Флаги Циклы
АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ КОМАНДЫ
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 Rd,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,K6 Вычесть слово из конст 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=RdAND(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 None 1
КОМАНДЫ ВЕТВЛЕНИЯ
RJMP k Относительный переход PC=PC+k+1 None 2
LJMP Переход по адресу (Z) PC=Z None 2
RCALL k Относ. вызов подпрогр. PC=PC+k+1 None 3
ICALL Вызов подпр по адр (Z) PC=Z None 3
RET Выход из подпрограммы PC=STACK None 4
RETI Выход из прерывания PC=STACK I 4
CPSE Rd,Rr Сравнить,пропуск если if(Rd==Rr)
равно PC=PC+2 или 3 None 1/2
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=PC+2 или 3 None 1/2
SBRS Rr,b Пропуск если бит if(Rr(b)==1)
в регистре установлен PC=PC+2 или 3 None 1/2
SBIC P, b Пропуск если бит в рег if(P(b)==0)
ввода/выв. сброшен PC=PC+2 или 3 None 1/2
SBIS P, b Пропуск если бит в рег if(P(b)==1)
ввода/выв. установлен PC=PC+2 или 3 None 1/2
BRBS s, k Переход если установл. if(SREG(s)==1)
флаг s PC=PC+k+1 None 1/2
BRBC s, k Переход если сброшен if(SREG(s)==0)
флаг s PC=PC+k+1 None 1/2
BREQ k Переход если равно if(Z==1)
PC=PC+k+1 None 1/2
BRNE k Переход если неравно if(Z==0)
PC=PC+k+1 None 1/2
Мнемоника Операнды Описание Действие Флаги Циклы
BRCS k Переход если установл. if(C==1)
перенос PC=PC+k+1 None 1/2
BRCC k Переход если сброшен if(C==0)
перенос PC=PC+k+1 None 1/2
BRSH k Переход если равно или if(C==0)
больше PC=PC+k+1 None 1/2
BRLO k Переход если меньше if(C==1)
PC=PC+k+1 None 1/2
BRMI k Переход если минус if(N==1)
PC=PC+k+1 None 1/2
BRPL k Переход если плюс if(N==0)
PC=PC+k+1 None 1/2
BRGE k Переход если больше if(N XOR V==0)
или равно,со знаком PC=PC+k+1 None 1/2
BRLT k Переход если меньше if(N XOR V==1)
нуля, со знаком PC=PC+k+1 None 1/2
BRHS k Переход если установл. if (H==1)
флаг H PC=PC+k+1 None 1/2
BRHC k Переход если сброшен if (H==0)
флаг H PC=PC+k+1 None 1/2
BRTS k Переход если установл. if (T==1)
флаг T PC=PC+k+1 None 1/2
BRTC k Переход если сброшен if (T==0)
флаг T PC=PC+k+1 None 1/2
BRVS k Переход если установл. if (V==1)
флаг V (переполнение) PC<PC+k+1 None 1/2
BRVC k Переход если сброшен if (V==0)
флаг V PC=PC+k+1 None 1/2
BRIE k Переход если разрешены if(I==1)
прерывания PC=PC+k+1 None 1/2
BRID k Переход если запрещены if(I==0)
прерывания PC=PC+k+1 None 1/2
КОМАНДЫ ПЕРЕСЫЛКИ
MOV Rd,Rr Пересылка между рег. Rd=Rr None 1
LDI Rd,K Загрузить константу Rd=K None 1
LD Rd,X Загрузить регистр не-
посредственно Rd=(X) None 2
LD Rd,X+ Загрузить регистр не-
поср. c пост инкрем. Rd=(X),X=X+1 None 2
LD Rd,-X Загрузить регистр не-
поср. с предв.декрем. X=X-1,Rd=(X) None 2
LD Rd,Y Загрузить регистр не-
посредственно Rd=(Y) None 2
LD Rd,Y+ Загрузить регистр не-
поср. c пост инкрем. Rd=(Y),Y=Y+1 None 2
LD Rd,-Y Загрузить регистр не-
поср. с предв.декрем. Y=Y-1,Rd=(Y) None 2
LDD Rd,Y+q Загрузить регистр не-
поср. со смещением Rd=(Y+q) None 2
LD Rd,Z Загрузить регистр не-
посредственно Rd=(Z) None 2
LD Rd,Z+ Загрузить регистр не-
поср. c пост инкрем. Rd=(Z),Z=Z+1 None 2
LD Rd,-Z Загрузить регистр не-
поср. с предв.декрем. Z=Z-1,Rd=(Z) None 2
LDD Rd,Z+q Загрузить регистр не-
поср. со смещением Rd=(Z+q) None 2
Мнемоника Операнды Описание Действие Флаги Циклы
LDS Rd,k Загрузить из ОЗУ Rd=(k) None 3
ST X,Rr Записать регистр не-
посредственно (X)=Rr None 2
ST X+,Rr Записать регистр не-
поср.c пост инкр. (X)=Rr, X=X+1 None 2
ST -X,Rr Записать регистр не-
поср.c пред.декрем. X=X-1,(X)=Rr None 2
ST Y,Rr Записать регистр не-
посредственно (Y)=Rr None 2
ST Y+,Rr Записать регистр не-
поср.c пост инкр. (Y)=Rr, Y=Y+1 None 2
ST -Y,Rr Записать регистр не-
поср.c пред.декрем. Y=Y-1,(Y)=Rr None 2
STD Y+q,Rr Запис.рег.непоср.со
смещением (Y+q)=Rr None 2
ST Z,Rr Записать регистр не-
посредственно (Z)=Rr None 2
ST Z+,Rr Записать регистр не-
поср.c пост инкр. (Z)=Rr,Z=Z+1 None 2
ST -Z,Rr Записать регистр не-
поср.c пред.декрем. Z=Z-1,(Z)=Rr None 2
STD Y+q,Rr Запис.рег.непоср.со
смещением (Y+q)=Rr None 2
STS k,Rr Записать в ОЗУ (k)=Rr None 3
LPM Загр.из памяти прогр. R0=(Z) None 3
IN Rd, P Ввод из порта Rd=P None 1
OUT P, Rr Вывод в порт P=Rr None 1
PUSH Rr Записать в стек STACK=Rr None 2
POP Rr Прочитать из стека Rr=STACK None 2
КОМАНДЫ РАБОТЫ С БИТАМИ
SBI P,b Установить бит в рег. I/O(P,b)=1 None 2
ввода/вывода
CBI P,b Сбросить бит в рег. I/O(P,b)=0 None 2
ввода/вывода
LSL Rd Логический сдвиг влево Rd(n+1)=Rd(n),
Rd(0)=0 Z,C,N,V 1
LSR Rd Логич.сдвиг вправо Rd(n)=Rd(n+1),
Rd(7)=0 Z,C,N,V 1
ROL Rd сдвиг влево через C Rd(0)=C,
Rd(n+1)=Rd(n),
C=Rd(7) Z,C,N,V 1
ROR Rd сдвиг вправо через C Rd(7)=C,
Rd(n)=Rd(n+1),
C=Rd(0) Z,C,N,V 1
ASR Rd Арифметический сдвиг Rd(n)=Rd(n+1),
вправо n=0..6 Z,C,N,V 1
SWAP Rd Обмен нибблов Rd(3-0)=Rd(7-4)
Rd(7-4)=Rd(3-0) None 1
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 None 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 Нет операции None 1
SLEEP Останов None 3
WDR Сброс сторожевого таймера None 1