|
|
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 или 1 |
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 |
Сравнить , пропуск если 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 |
|
|
|
SBRC |
Rr,b |
Пропуск если бит в регистре сброшен |
if(Rr(b)=0) |
None |
1/2 |
|
SBRS |
Rr,b |
Пропуск если бит в регистре установлен |
if(Rr(b)=1) |
None |
1/2 |
|
SBIC |
P, b |
Пропуск если бит в регистре I\O сброшен |
if(P(b)=0) |
None |
1/2 |
|
SBIS |
P, b |
Пропуск если бит в регистре I\O установлен |
if(P(b)=1) |
None |
1/2 |
|
BRBS |
s, k |
Переход если установл флаг s |
if(SREG(s)=1) |
None |
1/2 |
|
BRBC |
s, k |
Переход если сброшен флаг s |
if(SREG(s)=0) |
None |
1/2 |
|
BREQ |
k |
Переход если равно Z=1 |
if(Z=1) |
None |
1/2 |
|
BRNE |
k |
Переход если неравно if(Z=0) |
if(Z=0) |
None |
1/2 |
|
BRCS |
k |
Переход если установл перенос |
if(C=1) |
None |
1/2 |
|
BRCC |
k |
Переход если сброшен перенос |
if(C=0) |
None |
1/2 |
|
BRSH |
k |
Переход если равно или больше |
if(C=0) |
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 |
Переход если установл флаг H |
if (H=1) PC<PC+k+1 |
None |
1/2 |
|
BRHC |
k |
Переход если сброшен флаг H |
if (H=0) PC<PC+k+1 |
None |
1/2 |
|
BRTS |
k |
Переход если установл флаг T |
if (H=1) PC<PC+k+1 |
None |
1/2 |
|
BRTC |
k |
Переход если сброшен флаг T |
if (H=0) PC<PC+k+1 |
None |
1/2 |
|
BRVS |
k |
Переход если установл флаг V |
if (H=1) PC<PC+k+1 |
None |
1/2 |
|
BRVC |
k |
Переход если сброшен флаг V |
if (H=0) PC<PC+k+1 |
None |
1/2 |
|
BRIE |
k |
Переход если разрешены прерывания |
if(I=1) PC<PC+k+1 |
None |
1/2 |
|
BRID |
k |
Переход если запрещены прерывания |
if(I=1) 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 пост инкрем Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 |
|
||
При использовании материалов активная ссылка на источник обязательна.