instrukcje_8051.pdf

(137 KB) Pobierz
Microsoft Word - instrukcje_8051.doc
http://mikrokontrolery.net
Lista instrukcji
mikrokontrolerów
8051
wersja 1.0
8 sierpnia 2004
Lista instrukcji mikrokontrolerów 8051 – http://mikrokontrolery.net
Wył czno na rozpowszechnianie tego dokumentu posiada:
http://mikrokontrolery.net
Je li znalazłe ten dokument na innej stronie, napisz:
radoslaw.kwiecien@gazeta.pl
Je li chcesz umie cic ten dokument na swojej stronie, lub na
płycie CD-ROM, napisz:
radoslaw.kwiecien@gazeta.pl
Dokument opracowano na podstawie ksi ki
„Mikrokontrolery jednoukładowe rodziny 8051” Tomasza
Stareckiego.
Wersja 1.0 - 8 sierpnia 2004 – opracowanie : Radosław Kwiecie
1290087.001.png
Lista instrukcji mikrokontrolerów 8051 – http://mikrokontrolery.net
ACALL <adres_11-bitowy>
Funkcja: Bezwzgl ę
dne wywołanie procedury
Opis: ACALL powoduje wywołanie procedury rozpoczynaj ą
cej si ę
pod podanym adresem
bezwzgl ę
dnym. Wykonanie instrukcji powoduje dwukrotn ą
inkrementacj ę
licznika rozkazów,
rozkazów na stosie (najpierw młodszy bajt) i zwi ę
pnej instrukcji, nast ę
kszenie warto ś
pnie umieszczenie obu bajtów licznika
ci wska ź
nika stosu o dwa.
ciu najstarszych bitów
licznika rozkazów, bitów 7-5 pierwszego bajtu kodu instrukcji i całego drugiego bajtu kodu
instrukcji. W zwi ą
zku z tym wywoływana procedura musi si ę
rozpoczyna ć
w obr ę
bie tej
samej 2K-bajtowej strony, w której znajduje si ę
pierwszy bajt instrukcji nast ę
puj ą
cej
bezpo ś
rednio po wykonywanej instrukcji ACALL. Wykonanie operacji nie zmienia stanu
adnego ze wska ź
ników
Przykład: Pocz ą
tkowy stan wska ź
nika SP jest równy 07H. Etykieta "SUBR" oznacza pami ę
programu o adresie 0345H. Po wykonaniu instrukcji
ACALL SUBR
umieszczonej pod adresem 0123H, wska ź
nik SP b ę
dzie zawierał 09H, bajty wewn ę
trznej
pami ę
ci RAM o adresach 08H i 09H b ę
d ą
zawierały odpowiednio 25H i 01H, za ś
licznik
rozkazów przyjmie warto ś
0345H.
Operacja ACALL
PC := PC + 2
SP := SP + 1
[SP] := PC7-0
SP := SP + 1
[SP] := PC15-8
PC10 := a10 - a0 (adres w obszarze bie
cej strony)
Liczba cykli: 2 Liczba bajtów: 2
Wersja 1.0 - 8 sierpnia 2004 – opracowanie : Radosław Kwiecie
tak by zawierał on adres nast ę
Adres wywoływanej procedury otrzymywany jest przez poł ą
czenie pi ę
Lista instrukcji mikrokontrolerów 8051 – http://mikrokontrolery.net
ADD A, <bajt_ ź
ródłowy>
Funkcja: Dodawanie
Opis: ADD powoduje dodanie zawarto ś
ci wskazanej zmiennej i akumulatora i pozostawia
wynik operacji w akumulatorze. Wska ź
nik przeniesienia i pomocniczy wska ź
nik
przeniesienia s ą
ustawiane, je ś
li nast ą
) wska ź
piło przeniesienie odpowiednio z 7 lub 3 bitu. W
niki s ą
zerowane. W przypadku dodawania liczb
bez znaku wska ź
nik przeniesienia funkcjonuje jako wska ź
nik przepełnienia. Bit OV
ustawiany jest tylko wtedy, gdy wyst ą
piło przeniesienie z bitu 6, przy braku przeniesienia z
liczby ze znakiem, OV
sygnalizuje otrzymanie dodatniego wyniku przy dodawaniu dwóch liczb ujemnych, b ą
li dodawane s ą
d ź
ródłowego mo
na wykorzysta ć
jeden z nast ę
puj ą
cych trybów adresowania: rejestrowe,
bezpo ś
rednie, po ś
rednie zawarto ś
ci ą
rejestru lub natychmiastowe.
Przykład: Akumulator zawiera 0C3H (11000011B), a rejestr R0 zawiera 0AAH
(10101010B). Instrukcja
ADD A, R0
pozostawi w akumulatorze warto ś
60H (01101101B), wyzeruje pomocniczy wska ź
nik
przeniesienia AC i spowoduje ustawienie wska ź
nika przeniesienia CY oraz bitu OV.
ADD A,Rn
Operacja: ADD
A := A + Rn
Liczba cykli: 1 Liczba bajtów: 1
ADD A, direct
Operacja : ADD
A := A + (direct)
Liczba cykli : 1 Liczba bajtów : 2
ADD A, @Ri
Operacja : ADD
A := A + [Ri]
Liczba cykli : 1 Liczba bajtów : 1
ADD A, #data
Operacja : ADD
A := A + data
Lizcba cykli : 1 Liczba bajtów : 2
Wersja 1.0 - 8 sierpnia 2004 – opracowanie : Radosław Kwiecie
przeciwnym razie (brak przeniesie
bitu 7 lub gdy wyst ą
piło przeniesienie z bitu 7 przy braku przeniesienia z bitu 6. W
pozostałych przypadkach OV jest zerowany. Je ś
ujemnego wyniku przy dodawaniu dwóch liczb dodatnich. Do adresowania operandu
Lista instrukcji mikrokontrolerów 8051 – http://mikrokontrolery.net
ADDC A, <bajt_ ź
ródłowy>
Funkcja: Dodawanie z przeniesieniem
ci wskazanej zmiennej, akumulatora oraz bitu
przeniesienia i pozostawia wynik operacji w akurnulatorze. Wska ź
nik przeniesienia i
pomocniczy wska ź
nik przeniesienia s ą
ustawiane, je ś
) wska ź
li nast ą
niki s ą
piło przeniesienie odpowiednio z
zerowane. W przypadku
dodawania liczb bez znaku wska ź
nik przeniesienia funkcjonuje jako wska ź
nik przepełnienia.
Bit OV ustawiany jest tylko wtedy, gdy wyst ą
piło przeniesienie z bitu 6 przy braku
piło przeniesienie z bitu 7, przy braku przeniesienia z bitu
6. W pozostałych przypadkach OV jest zerowany. Je ś
li dodawane s ą
d ź
ródłowego mo
na wykorzysta ć
jeden z nast ę
puj ą
cych trybów adresowania: rejestrowe,
bezpo ś
rednie, po ś
rednie zawarto ś
ci ą
rejestru lub natychmiastowe
Przykład: Akumulator zawiera 0C3H (11000011B), rejestr R0 zawiera 0AAH (10101010B),
a wska ź
nik przeniesienia jest ustawiony. Instrukcja
ADDC A, R0
pozostawi w akumulatorze warto ś
6EH (01101110B), wyzeruje pomocniczy wska ź
nik
przeniesienia AC i spowoduje ustawienie wska ź
nika przeniesienia CY oraz bitu OV.
ADDC A, Rn
Operacja : ADDC
A := A + Rn + CY
Liczba cykli : 1 Liczba najtów : 1
ADDC A, direct
Operacja : ADDC
A := A + (direct) + CY
Licza cykli : 1 Liczba bajtów : 2
ADDC A, @Ri
Operacja : ADDC
A := A + [Ri] + CY
Liczba cykli : 1 Liczba bajtów : 1
ADDC A, #data
Operacja ADDC
A := A + data + CY
Liczba cykli : 1 Liczba bajtów 2
Wersja 1.0 - 8 sierpnia 2004 – opracowanie : Radosław Kwiecie
Opis: ADDC powoduje dodanie zawarto ś
7 lub 3 bitu w przeciwnym razie (brak przeniesie
przeniesienia z bitu 7 lub gdy wyst ą
liczby ze znakiem, OV
sygnalizuje otrzymanie dodatniego wyniku przy dodawaniu dwóch liczb ujemnych, b ą
ujemnego wyniku przy dodawaniu dwóch liczb dodatnich. Do adresowania operandu
Zgłoś jeśli naruszono regulamin