7 Instrukcje skokow i wywołań podprogramów 79
CJNE argument_l.argumenl_2,adres Compaie and Jump relative ifNot Equal
Warunek:
PC <= PC ♦ 3, |
A - (adr) |
Jeśli A * (adr) |
to |
PC c= PC rei | |
Działanie: |
PC c= PC + 3, |
A -tfdana |
Jeśli A * tfdana |
to |
PC <= PC + rei |
PC <= PC + 3, |
Rn -#dana |
Jeśli Rn* tfdana |
to |
PC c= PC ♦ rei | |
PC <= PC ♦ 3, |
(Ri) - #dana |
Jeśli (Ri)* tfdana |
to |
PC c= PC ¥ rei |
Adresowanie: Mnemonik: Struktura bajtów: Cykle Znacz-
_ maszynowe: niki:
bezpośrednie; CJNE
natychmiastowe: CJNE
natychmiastowe: CJNE
natychmiastowe: CJNE
C
C
C
C
Działanie
Porównanie zawartości:
• akumulatora z zawartością:
-* komórki wewnętrznej pamięć RAM adresowane) bezpośrednio adresem adr, -> 8-bitowej danej,
• rejestru Rn, Rn = R0..R7, z zawartością 8-bitowej danej,
• komórki wewnętrznej pamięci RAM adresowanej pośrednio rejestrem Ri, Ri » RO lub Rl, z zawartością 8-bitowej danej.
Tabela 4.6. Zestawienie instrukcji modyfikujących znaczniki.
Typy instrukcji |
Znaczniki CY OV AC |
ADD | |
AD DC |
» • • |
SUBB |
♦ • • |
MUL |
0 |
DIV |
0 |
DA |
+ |
RRC |
% |
RLC |
• |
CJNE |
• |
Typy instrukcji |
Znaczniki CY OV AC | |
SETB |
C |
1 |
MOV |
C.bit |
• |
CLR |
C |
0 |
CPL |
C |
% |
ANL |
C.bit |
» |
ANL |
C./bit | |
ORL |
C.bit |
• |
ORL |
C./bit |
♦ |
W tabeli 3-1 nie przedstawiono stanu znacznika parzystości (P), który jest ustawiany po każdej operacji zmieniającej stan akumulatora (A). Należy także zauważyć że bajtowe operacje logiczne nie mają wpływu na rejestr znaczników, a w szczególności znacznik przeniesienia (C). Wyjątek stanowią instrukcje przesunięć RLC A i RRC A.
instrukcje. 45 instrukcji wykonywanych jest w dągu 2 cykli maszynowych, a tylko instrukcje mnożenia i dzielenia wymagają 4 cykli maszynowych.
Lista instrukcji mikroprocesorów rodziny MCS51. których mnemoniki mają swoje źródło w mnemonikach mikroprocesora INTEL 8080. dzielona jest na pięć funkcjonalnych grup:
Podstawowe skróty i symbole zastosowane przy umawianiu poszczególnych in>-trukcji są następujące:
A - akumulator,
<bajt> - rejestr, komórka wewnętrznej pamięć RAM. rejestr specjalny (SFR) lub zmienna 8-bitowa,
@A - adres zawarty w akumulatorze.
@Ri - adres zawarty w rejestrze RU lub Rl. adresujący pamięć wewnętrzną RAM lub 256 komórek segmentu (strony) zewnętrznej pamięci RAM, adr - 8 bitowy adres pierwszych 128 komórek pamięci wewnętrznej RAM lub adres rejestrów specjalnych (SFR), adr.l 1 -11 bitowy adres pamięd kodu programu,
adr 16 - lo bitowy adres pamięd kodu programu.