13

13



4 Instrukcje bajtowej wymiany danych 33

i komórki wewnętrznej pamięci KAM o adresie SOH:

Mov_RAM;

MOV R0,#80H    ;R0 c= 80H, adresowanie pośrednie wewnętrznej

MOV ©Rfl,A    ;(R0) c= A.    pamięci RAM dla obszaru 80H..0FFH

4

Przesłanie zawartości rejestru R4 do rejestru R7, oba rejestry w zerowym banku rejestrów (RBO):


Mov_R4_R7: MOV A,R4 MOV R7,A

;Ac=R4 ;R7<= A

lub

MOV

7H.4H

;(7H) c= (4H), dla zerowego banku rejestrów (RBO) ; rejestrowi R4 odpowiada adres 4H,

; * a rejestrowi R7 adres 7H

PUSH adr

Push Direct to Stack

Działanie:

SP c= SP + 1 (SP) (adr)

Adresowanie

Mnemonik:

Struktura bajtów: Cykle Znacz-maszynowe niki:

bezpośrednie:    PUSH adr    1 1    1    0 0 | 0 0 0 0 |    2


Opis działania:

Zwiększenie wskaźnika stosu (SP) o jeden i przesłanie zawartości komórki wewnętrznej pamięci RAM o podanym w drugim bajcie instrukcji adresie adr do stosu adresowanego wskaźnikiem stosu (SP). Należy pamiętać, że wewnętrzna pamięć RAM może być tylko adresowana bezpośrednio. Nie jest możliwe zachowanie na stosie zawartości dowolnego rejestru Rn, np. przez wykonanie instrukcji PUSH R5 ale przez podanie adresu tego rejestru PUSH 5H, jeśli wybrany jest zerowy bank rejestrów RBO.

Mikrokontroler 80(C)5l - programowanie

7. Instrukcje skoków ł wywołań podprogramów

Instrukcje sterujące wymianą danych umożliwiają rozgałęzienie programu w zależności od wyniku porównania wartości dwóch argumentów, zarówno bajtowych jak i bitowych, oraz wywoływanie podprogramów w wybranych segmentach pamięci łub w całej dostępnej pamięci kodu programu, 64 kBajtach. W mikroprocesorach rodziny MCS51 wyróżnia się trzy grupy instrukcji sterujących wymianą danych:

•    skoki warunkowe i bezwarunkowe.

•    bezwarunkowe wywołania podprogramów i powroty z nich,

•    obsługa przerwań.

Wszystkie wymienione instrukcje przedstawiono w tabeli 7-1.

Tabela 7-1. Instrukqe skoków i wywołań podprogramów

Liczba

Mnemonik instrukcji

Operacje

Tryby

adresowania

cykli

maszyn

JZ

rei

Jeśli A=0 to PG^PC+rel

B

2

JNZ

rei

Jeśli A*0 to PCc=PC+rcl

B

2

JC

rei

Jeśli C=1 to PCciPCtrel

B

2

JNC

rei

Jeśli C=0 to PCcrPCt-rel

B

2

JB

bit, rei

Jeśli bit-1 to PC<=PC+reł

B

2

JNB

bitjcl

Jeśli bit=0 to PCc=PC+rel

B

2

JBC

bit,rel

Jeśli bit=l

B

2

to PCc=PC+rel i bil=<l

DJNZ

<bajt>,reł

<bajt>c=<bajt> -1.

Jeśli <bajt>*0

to PCc=PC+rel

R B

1

CJNE

A,<bajfc>,rel

Jeśli A*<bajt>

to PCc=PC+rcl

H

N

•>

CJNE

<bajt>,#dana,rel

Jeśli <bajt>*dana

to PCc:PC+rcl

B

N 1*

2

AJMP

adres.11

PCc=adres_ll

N

i

L)MP

adrcs_16

rccadres.ló

N

2

SJMP

rcł

PCc=PC+rel

N

2

JMF

©A+DPTR

PCcr A+DITR

1

2

ACALL

adres_ll

(SP)<=PC SPc=5P+2

N

PCc:adres_ll

LCAI.I.

adres 16

(SP)o:PC. SPcrSP+2 PC adres 16

N

>

RET

rCc=(SP), ŚPc=SP-2

P

2

KETI

PCc=(SP). SPcSP-2

P

NOP

brak działania

B

]


Wyszukiwarka

Podobne podstrony:
13 4 Instrukcje ba
19 4. Instrukcje bajtowej wymiany danych 29 Grupa rozkazów MOVX dotyczy wymiany danych między mikro
17 4. Instrukcję bajtowe) wymiany danych 37 Instrukcja XCHD stosowana jest do zamiany kodu BCD na i
17 4 Instrukcje bajtowe) wymiany danych 37 Instrukcja XCHD stosowana jest do zamiany kodu BCD na in
15 4 Instrukcje bajtowej wymiany danych 35 Pop_DPTR: POP DPH    ;DPH <= (SP) = 56
15 4 Instrukcje bajtowej wymiany danych 35 Pop_DPTR: POP DPH    ;DPH c= (SP) = 56H,
19 4 Instrukcje bajtowe) wymiany danych 39 Przykład: Przesianie zawartości czterech banków rejestró
11 •1 Instrukcje bajtowej wymiany danych
11 4. Instrukcje hakowej wymiany danych 31 Adresowanie:
10 Dodatek B. Lisia instrukcji wg typów 93Dodatek B. Lista instrukcji wg typów Instrukcje bajtowej
11 4. Instgjkc)c bajtowe) wymiany danych 31 4. Instgjkc)c bajtowe) wymiany danych
10 Dodatek B Lisia msmikgi wg typów 93Dodatek B. Lista instrukcji wg typów Instrukcje bajtowej wymi
13 3. Instrukcje arytmetyczne 43 3. Instrukcje arytmetyczne 43 Suma R4R5 R6R7: MOV A.R4 ADD A.

więcej podobnych podstron