mikrokontrolery, rozkazy


ADD; Rd.Rs; Dodaj zawartość dwóch rejestrów; Rd *- Rd + Rs; Z,C.N.V.H,S;

ADC; Rd.Rs; Dodaj zawartość dwóch rejestrów z przeniesieniem; Rd«- Rd + Rs + C; Z,C,N.V,H.S;

ADIW; RR.C63; Dodaj bezpośrednio stalą do słowa; RRIt:RRI *- RRh:RRI + c63; Z.C,N,V.S;

SUB; Rd.Rs; Odejmij zawartość dwóch rejestrów; Rti <- Rd - Rs; Z.C,N.V.H.S;

SUBI; Rh,c255; Odejmij stalą od rejestru; Rh <- Rh - C255; Z.C.N.V,H,S;

SBIW; RR.C63; Odejmij bezpośrednio stalą od słowa; RRh:RRI<-RRh:RRI-c63; Z.C,N.V,S;

SBC; Rd.Rs; Odejmij zawartość dwóch rejestrów z przeniesieniem; Rdł-Rd-Rs-C; Z.C.N,V,H,S;

SBCI; Rh,c255; Odejmij stalą, z przeniesieniem od rejestru; Rh <- Rh - C255 -C; Z.C.N,V,H,S;

AND; Rd.RS; Iloczyn logiczny rejestrów; RrJ *- Rd a RS; Z,N.V.S;

ANDl; Rh.c255; Iloczyn logiczny rejestru i stałej; Rh <- Rh a C255; Z.N.V,S;

OR; Rd,Rs; Suma logiczna rejestrów; Rd t- Rd v Rs; Z,N,V,S;

ORI; Rh,c255; Suma logiczna rejestru i stałej; Rh (~ Rh v C255; Z.N.V,S;

EOR; Rd.Rs; Suma Exclusive OR rejestrów; Rd t- Rd ffi Rs; Z,N,V.S;

COM; Rd; Uzupełnienie do jedności (negacja bitów); Rd*-SFF-Rd; Z,C,N.V.S;

NEG; Rd; Uzupełnienie do dwóch; Rd<-S00-Rd; Z.C.N,V.H,S;

SBR; Rh,c255; Ustaw bit(y) w rejestrze; Rh «- Rh v c2S5; Z.N.V,S;

CBR; Rh.c255; Zeruj bit(y) w rejestrze; Rh*-RhAc255; Z,N,V.S;

INC; Rd; Inkrementuj rejestr; Rd *- Rd + 1; Z,N.V.S;

DEC; Rd; Dekrementuj rejestr; Rd ł- Rd -1; Z.N.V.S;

TST; Rd; Sprawdź zero lub minus; Rd*-RdARd; Z,N.V.S;

CLR; Rd; Zeruj rejestr; Rd <- Rd © Rd; Z,N,V,S;

SER; Rh; Ustaw rejestr; Rh <- SFF; -;

MUL; Rd.Rs; Mnożenie liczb bez znaku; R1 :R0 <- Rd ■ Rs; z,c;

MULS; Rhd.Rhs; Mnożenie liczb ze znakiem; R1:R0<-Rhd-Rhs; z.c;

MULSU; Rhd.Rhs; Mnożenie liczby ze znakiem z liczbą bez znaku; R1:R0<-RhdRhs; z,c;

FMUL; Rd.Rs; Mnożenie liczb ułamkowych bez znaku; R1:R0*-(Rd-Rs)<<1; Z.C

FMULS; Rd.Rs; Mnożenie liczb ułamkowych ze znakiem; R1:R0«-(Rd-Rs)«1; Z.C

FMULSU; Rd.Rs; Mnożenie liczby ułamkowe) ze znakiem z liczbą ułamkową be2 znaku; R1:R0*-(Rd-Rs)<<1; Z,C

RJMP; C1024; Skok względny; PC<-PC + c1024 + 1; -

IJMP; ; Skok pośredni określony zawartością rejestru Z; PC«-Z; -

EIJMP; ; Rozszerzony skok pośredni określony zawartością rejestru Z; PC(1S..0)*-Z PC(21..16)«-EIND; _

JMP; adr4M; Skok bezpośredni; PC *- adr4M; -

RCALL; C1024; Względne wywołanie podprogramu; (SPL) <- PC+1 SPL <- SPL -2PC«- PC + C1024 + 1;

ICALL; "; Pośrednie wywołanie podprogramu, określone zawartością rejestru Z; (SPL) <- PC+1SPL «-SPL-2PC«-Z;

EICALL; ; Rozszerzone, pośrednie wywołanie podpro­gramu, określone zawartością rejestrów ZI EIND; (SP) *- PC+1SPL < SPL -3PC(15...0)< ZPC(21..t6)<-EIND;

CALL; adrtM; Wywołanie podprogramu; (SP) *- PC+1 (SP)*-SP-2 PC«- ard4M; .

RET; -; Powrót z podprogramu; PC <- (SPL) SPL«- SPL + 2; _

RETI; -; Powrót z przerwania; PC *- (SPL) SPL«- SPL + 2; I

CPSE; Rd.Rs; Porównaj I przeskocz, jeśli równe; (Rd=Rs)=>PC«-PC + 2lub 3; _

CP; Rd.Rs; Porównaj rejestry; Rd-Rs; Z.C,N.V.H.S

CPC; Rd.Rs; Porównaj rejestry z przeniesieniem; Rd-Rs-C; Z.C.N.V.H.S

CPI; Rh.c255; Porównaj rejestrze stalą; Rh-c255; Z.C,N.V.H.S

SBRC; Rs.b; Przeskocz, jeśli bit w rejestrze jest wyzerowany; Rs(b)=0=>PC«-PC+2 Rs(b)=1 =>PC«-PC + t; _

SBRS; Rs.b; Przeskocz, jeśli bit w rejestrze jest ustawiony; Rs(b)=1 =>PC<-PC + 2Rs(b)=0=>PC^PC + 1; _

SBIC; Pi,b; Przeskocz, jeśli bit w rejestrze we/wy jest wyzerowany; Pl(b)=0=>PC«-PC + 2 Pl(b)=t => pc<~ PC + 1; _

SBIS; Pl.b; Przeskocz, jeśli bit w rejestrze we/wy jest ustawiony; Pi(b)=1 =>PC«-PC + 2 PI(b)=0=>PC«-PC + 1; .

BRBS; b.c127; Skok względny, jeśli (laga w rejestrze SREG jest ustawiona; SREG(b)=1 = >PC«-PC +C127 + 1 SREG(b)=0=>PC<-PC + 1;

BRBC; b.c127; Skok względny, jeśli tlaga w rejestrze SREG jest wyzerowana; SREG(b)=0=>PC<-PC + C127 + 1SREG(b)=1 = >PC<- PC + 1;

BREO; C127; Skok względny, jeśli równe; Z=1 = >PC«-PC+c127 + 1Z=0=>PC«-PC + 1; -

BRNE; C127; Skok względny, jeśli nierówne; 2=0=>PC«-PC+c127 + 1 Z=l => PC <- PC + 1; -

BRCS; C127; Skok wzgtedny, jeśli daga przeniesienia jest ustawiona; C=1 =>PC<-PC+C127 + 1 C=0 = > PC *- PC + 1; -

BRCC; C127; Skok względny, jeśli flaga przeniesienia jest wyzerowana; C=0=>PC<-PC+c127 + 1 C=1 = > PC*-PC + 1; -

BRSH; cl 27; Skok względny, jeśli większy lub równy (dotyczy liczb bez znaku); C=0=> PC<-PC+C12? + 1 C=1 => PC «-PC + 1; -

BRLO; cl 27; Skok względny, jeśli mniejszy (dotyczy liczb bez 2naku); C=1 =>PC«-PC+c127 + 1 C=0=> PC «~ PC + 1; -

BRMI; C127; Skok względny, jeśli ujemny; N=1 = >PC+-PC+c127 + 1 N=0=>PC*-PC + 1; -

BRPL; C127; Skok względny, jeśli dodatni; N=0=>PC<-PC +C127 + 1 N=1 =>PC«-PC + 1; -

BRGE; C127; Skok względny, jeśli większy lub równy (dotyczy liczb ze znakiem); S=0=>PC«-PC+c127 + 1S=1 => PC<~PC + 1; -

BRLT; C127; Skok względny, jeśli mniejszy niż zero (dotyczy liczb ze znakiem); S=1 => PC <- PC +C127 + 1 S=0=> PC <-PC + 1; -

BRHS; C127; Skok względny, jeśli (laga przeniesienia pomocniczego ustawiona; H=1 => PC*-PC+C127 + 1 H=t)=>PC<-PC + 1; -

BRHC; C127; Skok względny, jeśli (iaga przeniesienia pomocniczego wyzerowana; H=0=>PC<~PC+C127 + 1 H=1 =>PC<-PC + 1; -

BRTS; C127; Skok względny, jeśli znacznik T jest ustawiony; T=1 => PC<-PC+c127 + 1 T=0=> PC <- PC + 1; -

BfiTC; C127; Skok względny, jeśli znacznik T jest wyzerowany; T=0=> PC«~PC +C127 + 1 T=1 =>PC«-PC + 1; -

BRVS; C127; Skok względny, jeśli flaga przepełnienia ustawiona; V=1 => PC«-PC+c127 + 1 V=0=> PC <-PC + 1; -

BRVC; C127; Skok względny, jeśli tlaga przepełnienia wyzerowana; V=0=> PC*~PC +C127 + 1 V=1 =>PC«-PC + 1; -

BRIE; 5127; Skok względny, jeśli przerwania odblokowane; 1=1 => PC«-PC+C127 + 1 l=0 => PC«-PC +• 1; -

BR1D; C127; Skok względny, Jeśli przerwania zablokowane; l=0=> PC<-PC+c127 + 1 1=1 =>PC<-PC + 1; -

MOV; Rd.Rs; Kopiuj zawartość rejestru Rs do rejestru Rd; Rd<~Rs; -

MOVW; Rd+1:Rd, Rs+1:RS; Kopiuj zawartość stówa z rejestrów Rs+1:Rs do rejestrów Rd+1:Rd; Rd+l:Rd+-Rs+l:Rs; ~

LDI; Rh,c255; Ładuj rejestr bezpośrednio stalą; Rb <r- C255; -

LD; Rd,X; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr X; Rd«-(X); -

LD; Rd,X+; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego prze2 rejestr X z postinkrementacją; Rd«-(X) X<-X + 1; -

LD; Rd.-X; Ładu) re|estr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr X z predekrementacją; X«-X-1 Rd«-(X); -

LD; Rd,Y „; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr Y; Rd*~(Y); -

LD; Rd,Y+; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr Y z postinkrementacją.; Rd*- (Y) Y«-Y+1;

LD ; Rd,-Y; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr Y z predekrementacja; Ył-Y-1 Rd<-(Y); -

LDD; Rd,Y+c63; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr Y z przemieszczeniem; Rd «- (Y + C63); -

LD; Rd.Z; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr Z; Rd«-(Z); _

LD; Rd,Z+; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr Z z postinkrementacją; Rd <~ (Z) Z«-Z + 1; -

LD; Rd,-Z; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr Z z predekrementacja; Z*-Z-1 Rd*-(Z); -

LDD; Rd,Z+c63; Ładuj rejestr pośrednio daną z pamięci SRAM spod adresu wskazywanego przez rejestr Z z przemieszczeniem; Rd <- (Z + C63); -

LDS; Rd,adr65535; Ładuj rejestr bezpośrednio daną z pamięci SRAM spod adresu adr; Rd *- (adr65535); -

ST; X,RS; zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr X; (X)<-Rs; -

ST; X+.RS; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr X z postinkrementacją; (X)*-Rsx*-x +1; -

ST; -X,Rs; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr X z predekrementacja; X<-X-1(X) t-Rs; -

ST; Y.Rs; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr Y; (Y)<-Rs; -

ST; Y+.Rs; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr Y z postinkrementacją; (Y)«-Rs Y«-Y+1; -

ST; -Y,Rs; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr Y z predekrementacja; Y«-Y-1 <Y)«-Rs; -

STD; Y+c63.Rs; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr Y z przemieszczeniem; (Y+c63) <~ Rs; -

ST; Z.Rs; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr Z; (Z)«-Rs; -

ST; Z+.RS; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr Z z postinkrementacją; (Z) *- Rs Zf-Z + 1; -

ST; -Z.Rs; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr Z z predekrementacja; Z<-Z-1 (Z) <- Rs; -

STD; Z+c63,Rs; Zachowaj pośrednio rejestr w pamięci SRAM pod adres wskazywany przez rejestr Z z przemieszczeniem; (Z+c63) <- Rs; -

STS; adr.Rs; Zachowaj bezpośrednio rejestr w pamięci SRAM pod adres adr; (adr) <- Rs; -

LPM; _; Ładuj bajt pamięci programu do rejestru RO; RO«-(Z); -

LPM; Rd.Z; Ładuj bajt pamięci programu do rejestru Rd; Rdł-(Z); -

LPM; Rd.z+; Ładuj bajt pamięci programu do rejestru Rd z postinkrementacją; Rd <- (Z) Z-t- Z + 1; -

ELPM; _; Rozszerzone ładowanie bajtu pamięci programu do rejestru RO; R0«-(RAMPZ:Z); -

ELPM; Rd.Z; Rozszerzone lądowanie bajtu pamięci programu do rejestru Rd; Rd <- (RAMPZ2); "

ELPM; Rd,Z+; Rozszerzone lądowanie bajtu pamięci programu do rejestru Rd z postinkrementacją; Rd *- (RAMPZ:Z) Z<-Z + 1; -

SPM; _; Zapisz pamięć programu; (Z)<-R1:R0; -

IN; Rd.P; Czytaj port; Rd«-P; -

OUT; P.Rs; Zapisz port; P<-Rs; -

PUSH; Rs; Odłóż rejestr na stos; (SPL) <- RS SPL «- SPL -1; -

POP; Rd; Pobierz ze stosu; SPL «- SPL + 1 Rd t- (SPL); _

SBI; Pl.b; Ustaw bit w rejestrze we/wy; Pl(b) <- 1; -

CBI; Pl.b; Zeruj bit w rejestrze we/wy; Pl(b)«- 0; -

LSL; Rd; Przesuń logicznie w lewo zawartość rejestru; Rd(n+1)«-Rd(n). Rd{0)*-0; Z.C.N,V.H

LSR; Rd; Przesuń logicznie w prawo zawartość rejestru; Rd(n)«-Rd(n-t-1),Rd(7)<~0; Z,C,N.V

ROL; Rd; Obróć w lewo przez przeniesienie; Rd(0)<-C. Rd{n+1)<-Rd{n), C «- Rd(7); Z.C,N,V.H

ROR; Rd; Obrót w prawo przez przeniesienie; Rd(7)«-C, Rd(n)t-Rd(n+1). C«- Rd(0); Z.C.N.V

ASR; Rd; Przesuń arytmetycznie w prawo; Rd(n)<-Rd(n+1),n=0..6; Z,C,N.V

SWAP; Rd; Zamień pólbajty rejestru; Rd(3..0)«-Rd(7...4). Rd(7...4)«-Rd(3...0).; _

BSET; b; Ustaw Hagę; SREG(b) <-1; SRE6(b)

BCLR; b; Zeruj flagę; SREG(b) <- 0; SREG(b)

BST; Rs,b; Zachowaj bit rejestru w znaczniku T; T«-Rs(b); T

BLD; Rd.b; Ładu) znacznik T do bitu rejestru; Rd(b)«- T; -

SEC; -; Ustaw flagę przeniesienia; C«-1; C

CLC; -; Zeruj flagę przeniesienia; Cł-0; C

SEN; -; Ustaw flagę wartości ujemnej; N<-1; N

CLN; -; Zeruj flagę wartości ujemnej; N«-0; N

SEZ; -; Ustaw flagę zera; Z«-1; Z

CLZ; -; Zeruj flagę zera; Z<-0; Z

SEI; -; Odblokuj przerwania; l<-t; I

CLI; -; Zablokuj przerwania; l«-0; I

SES; -; Ustaw flagę znaku; S<-1; S .

CLS; -; Zeruj (lagę znaku; S«-0; s

SEV; -; Ustaw Hagę przepełnienia uzupełnienia do dwóch; V«-1; V

CLV; -; Zeruj (lagę przepełnienia uzupełnienia do dwóch; v«~o; V

SET; -; Ustaw Hagę T w rejestrze SREG; T«-1; T

CLT; -; Zeruj (lagę T w rejestrze SREG; T<-0; T

SEH; -; Ustaw Hagę przeniesienia pomocniczego; H*-1; H

CLH; -; Zeruj (lagę przeniesienia pomocniczego; H«-0; H

NOP; -; Nic nie rób;

SLEEP; -; Przejdź w tryb uśpienia; Działanie opisano w dalszej części rozdziału

WDR; -; Zeruj rejestr watchdoga; Działanie opisano w dalszej części rozdziału

BREAK; _; Przerwij wykonywanie programu; Działanie opisano w dalszej części rozdziału



Wyszukiwarka

Podobne podstrony:
ściaga mikroklocki - rozkazy, IB PWr, Mikrokontrolery, Mikrokontrolery 1, wykład, wykład
2011 09 22 Rozkaz nr 904 MON instrikcja doświadczenie w SZ RP
II rok tryb rozkazujacy
Bootloader dla mikrokontrolerów AVR
02 Mikroklimat
Mikrokontrolery Grodzki Sprawoz Nieznany
evboard, Płytka testowa dla mikrokontrolerów AT89S oraz AVR
Konfiguracja pamięci mikrokontrolera 8051 dla programów napisanych w języku C
ROZKAZ BOJOWY DOWÓDCY DRUŻYNY DO MARSZU, Dowodzenie
O trybie rozkazującym w języku polskim, Język
Mikroklimat TEST nr 2, inż. BHP, V semestr
gra Rozkaz specjalny, Prywatne, Przedszkole, Powstanie Warszawskie
mim, studia Polibuda Informatyka, III semestr, mikroprocesory i mikrokontrolery (mim)
sprawozdanie mikroklimat i pomiary jego parametrów w środowisku górniczym
Mikroklimat kalkulatory
asembler 8051 opis rozkazow
Mikrokontrolery F Marecki id 30 Nieznany

więcej podobnych podstron