7 Instrukcje skokow i wywołań podprogramów 79
CJNE argument_l,axgument_2,adres Compare and Jump relative if Not Equal
PC <= PC + 3, |
A • (adr) |
Warunek: Jeśli A * (adr) |
to |
PC c= PC ♦ rei | |
Działanie |
PC c= PC + 3, |
A - #dana |
Jeśli A * idana |
to |
PC c= PC + rcl |
PC c= PC + 3, |
Rn -idana |
Jeśli Rn* idana |
to |
PC c= PC ♦ rei | |
PC <= PC ♦ 3, |
(Ri) - #dana |
Jeśli (Ri)* idana |
to |
PC c= PC * rei | |
Adresowanie |
Mnemonik: |
Struktura bajtów: |
Cykle Znacz |
maszynowe niki:
bezpośrednie: |
CJNE |
A.adr,rel |
| 1 |
0 |
1 |
11 0 1 |
-TT| |
2 |
C |
1 |
adr |
1 | |||||||
L |
rei | ||||||||
natychmiastowe: |
CJNE |
A,fdana,rel |
| 1 |
0 |
1 |
1 0 1 |
0 0 |
2 |
C |
| |
dana | ||||||||
1 |
rei |
_1 | |||||||
natychmiastowe: |
CJNE |
Rn,idana,rcl |
| 1 |
0 |
1 |
1 li r |
r r |
2 |
c |
I |
dana |
1 | |||||||
L_ |
rcl |
_I | |||||||
natychmiastowe: |
CJNE |
$Ri,#dana,rel |
| 1 |
0 |
1 |
1 | 0 1 |
1 i |
2 |
c |
I |
dana |
1 | |||||||
L |
rei |
_1 |
Działanie
Porównanie zawartości:
• akumulatora z zawartością:
—► komórki wewnętrznej pamięd RAM adresowane) bezpośrednio adresem adr, -> 8-bitowej danej,
• rejestru Rn, Rn = R0..R7, 2 zawartością 8-bitowej danej,
• komórki wewnętrznej pamięd RAM adresowanej pośrednio rejestrem Ri, Ri » RO lub Rl, z zawartośdą 8-bitowej danej.
Tabela 4.6. Zestawienie instrukcji modyfikujących znaczniki.
Typy instrukcji |
Znaczniki CY OV AC |
ADD |
• 4 • |
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.
maszynowego wykonywane są 64 instrukcje. 45 instrukcji wykony-jest w cią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
dzielona jest na pięć funkcjonalnych grup:
Podstawowe skróty i symbole zastosowane przy umawianiu poszczególnych instrukcji są następujące:
A - akumulator,
<bajt> - rejestT, komórka wewnętrznej pamięci 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 (snony) 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ęci kodu programu,
adr 16 - lo bitowy adres pamięci kodu programu.
m;w-« i-,