3. Lisia instrukcji mikrokontrolera • uwagi ogólne 2S
3. Lisia instrukcji mikrokontrolera • uwagi ogólne 2S
bit
#dana
#dana_16
(DPTR)
(PC)
rei
O
C=
R.B,N,P,I
and
or
xor
not
• bit: rejestru znaczników, komórki wewnętrznej pamięd RAM
adresowanej bitowo, rejestru speqainego (SFR) adresowanego bitowo, -zmienna 8-bitowa.
- zmienna 16-bitowa,
- adres zawarty we wskaźnikowym rejestrze danych (DPTR),
- adres zawarty w liczniku rozkazów(PC),
- 8 bitowy względny adres skoku,
- zawartość komórki pamięd danych lub programu o adresie podanym w nawiasach.
- kierunek wymiany danych,
- hyby adresowania: R-rejestrowe, B-bezpośrednie, N-natychmiastowe, P-pośrcdnie, 1-indeksowo-rejestrowe pośrednie
- iloczyn logiczny,
- suma logiczna.
- różnica symetryczna (eXu$ive OR),
- negacja logiczna.
Należy również pamiętać że w zapisie mnemoników instrukcji mikroprocesorów rodziny MCS51 w pierwszej kolejnośd podaje się miejsce przeznaczenia (dokąd) przesyłanych informacji, a następnie źródło (skąd) pobieranych informacji.
Podane przy omawianiu poszczególnych instrukcji przykłady zawierają pewne charakterystyczne dla każdego asemblera pola. w których rozmieszczone są symbole i mnemoniki instrukcji:
Etykieta - Mnemonik - Operand
- symboliczny - symbol instrukcji lub .komentarz
adres instrukcji_operandy_
Ha: MOV A.tWEH ;A c= 4EH, wpisanie wartośd
• symboliczny adres zwany etykietą umożliwia zastąpienie rzeczywistych adresów poszczególnych instrukcji symbolami. W większość asemblerów etykieta zakończona jest znakiem dwukropka (:),
• komentarz musi rozpoczynać się zawsze znakiem średnika 0). końcem komentarza jest koniec wiersza.
Mikrokontroler 80(C)3I - programowanie
i wykonanie skoku względnego jeśli zawartość rejestru Rn lub komórki pamięd RAM jest niezerowa.
jeśli podany warunek nie jest spełniony to wykonywana jest następna instrukcja występująca po instrukcji skoku.
Przykład 1:
Generowanie ciągu 12 impulsów na linii wyjściowej portu Pl.3:
Ccn_l2;
MOV R7,#24 ;R7 c= 24, R7 jest licznikiem impulsów
Pla_Cen.l2:
CPL PU ;PUc=not(Pl.3)
DJNZ R7,Pla_Gen J2 ;R7 <= R7 -1, jeśli R7* 0 to wykonanie skoku do ; adresu Pla_Gen_l2
Przykład 2:
Zerowanie wszystkich banków rejestrów i wewnętrznej pamięd RAM w procesorze 8032/52:
Zero. RAM:
MOV R0,0Fm ;R0 <= OFFH,
;R0 adresuje komórki wewnętrznej pamięd RAM
Pla.Zero:
MOV ©R0,#0
D)NZ R0,Pla_Zero ;R0 <= RO -1. jeśli RU x U to wykonanie skoku do ;adresu Pla Zero
Ostanie przesianie instrukcją MOV ®RQ.#0 wykonywane jest dla stanu rejestru RO = 1. po zakończeniu pętli programu stan rejestru RU » 0.
«t i . .i