11

11



4. Instgjkc)c bajtowe) wymiany danych 31

4. Instgjkc)c bajtowe) wymiany danych 31

Adresowanie:

rejestrowe:

rejestrowe:

bezpośrednie:

pośrednie:

natychmiastowe:

rejestrowe:

bezpośrednie:

natychmiastowe:

natychmiastowe:



1

2

2

2

2

1

2

1

2


MOV

MOV

MOV

MOV

MOV

MOV

MOV

MOV

MOV


Mnemonik:    Struktura ba/tów:    Cykle    Znacz-

maszynowe:    mJci;

adr,A

adr.Rn

adr.adrl

adr,@Ri

adr,*dana

©Ri,A

SRi.adr

6Ri,#dana . DPTR,#dana_16

Mikrokontroler 8CKC')5l - programowanie

Rozkazy CJNE przed wykonaniem skoku względnego porównuj oba podane argumenty. Jest to szczególnie istotne ponieważ w liście rozkazów mikroprocesora 8051 brak rozkazów porównania. Przykładem wykorzystania rozważanych instrukcji jest rozpoczęcie wykonywania procedury Proc_l jeśli Parametr zawarty w akumulatorze (A) jest równy wartości 4DH:

MOV A.iParametr    ;A c= Parametr

CJNE A,#4DH,Dalej ;jeśli A * 4DH to skok do adresu Dalej ProcJ:

...................—................ ;początek procedury Proc_l

— .................................... ;koniec procedury Proc _1

Dalej:    ;wykonywanie następnych instrukcji

— .................................. ;programu

Rozkazy skoków bezwarunkowych obejmują 4 instrukcje. W każdej z nich adres skoku podawany jest odmiennie:

•    argumentem w rozkazie SJMP rei jest 8-bitowy adres względny rei. Powoduje to. że zmiana sekwencji programu możliwa jest przez dokonanie skoku o -128 komórek poniżej lub o 127 komórek powyżej miejsca, w którym znajduje się instmkcja,

•    w rozkazie AJMPadres_ll podany 11-bitowy adres zmienia 3 najbardziej znaczące bity w pierwszym bajcie instrukqi. Wykonanie skoku możliwe jest w obrębie 2 kBajtowego bloku pamięci kodu programu,

•    3-bajtowa instrukcja LJMP adres_16 zawiera pełny 16-bitowy adres, a tym samym ograniczeniem jest jedynie dostępny 64 kBajtowy obszar pamięci programu.

•    w skoku pośrednim JMP ©A+DPTR adres skoku jest sumą zawartości akumulatora (A), 8-bilowej liczby całkowitej bez znaku i wskaźnikowego rejestru danych (DPTR).

Skoki pośrednie najczęściej stosowane są do realizaqt procedur, których adresy początkowe podawane są w tablicach. Jeśli Parametrem określającym typ procedury jest , zmienna z przedziału 0..4 to adresy początkowe 5 różnych procedur mogą być zadeklarowane tak jak w poniższym przykładzie:

MOV DCTR.łTablica.Procedur ;DPTK <= adres Tablicy Procedur MOV A.tfParametr    ;A <= Parametr, Parametr ~ 0 .. 4

RL    A    ;przesunięde A w lewo, mnożenie przez 2.

;ponieważ rozkazy AJMP są 2 ba|lovve JMP GA+DPTR ;PC cr A + DPTR

Tablica Procedur:

AJMP Procedura l) AJMP Procedura _1


;deklaraqa tablicy adres*')W początkowych proccdui ;skok do Procedury 0 ;skok do Procedury 1


Wyszukiwarka

Podobne podstrony:
11 4. Instrukcje hakowej wymiany danych 31 Adresowanie:
11 •1 Instrukcje bajtowej wymiany danych
10526 ZF Bień1 Zewnętrzne uwarunkowania decyzji finansowych 31 cjonowanie z budżetu państwa części
ZF Bień1 Zewnętrzne uwarunkowania decyzji finansowych 31 cjonowanie z budżetu państwa części odsete
WSiP1a 41 PODSTAWY BAZ DANYCH Tabela 9.7. Tabela INF Klient Preferowana
11 moc P.2 -■■■ 8 kW. Wymian- walu: .(= 200 mm. b - ^iK> » »M = 300 min.</= 200 mm. Średnice
10526 ZF Bień1 Zewnętrzne uwarunkowania decyzji finansowych 31 cjonowanie z budżetu państwa części
WDI021 Schemd* £unkqondlny -tij pcuoficp pioce&orcj. ~~1 M6RT) —»crt.jrtd» danych S^ece^-
P1350562 80 1■ges ------- 1 2 3 — Wzrostu 1 • Wymiana mało przydatnych, nie spełniających wysokic
A 033 5 Importuj dane... % Nowa kwerenda sieci Web... 1® Nowa kwerenda bazy danych... # Edytuj
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

więcej podobnych podstron