|
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 |
|
При использовании материалов активная ссылка на источник обязательна.