10

10



83

/ msinjKcje skok

ow 1 wywołań poaprogramow ___

CALL adr

CALL Unconditional

Działanie

PCc= PC + 2, SPc=SP+l

(SP) <= PC7..0

SPc=SP + 1 (SP) <= PC15..8 -

rcio„Q^adr-n PC <= PC + 3, SP c= SP +1 (SP) c= PC7..0

SPc=SP*l

(SP)c=PCi5..8

rc15..o<=adr-16

Adrcsoivanie

Mnemonik: Struktura bajtów:

Cykle Znacz-maszynowe niki:

natychmiastowe:    ACALL

2

Działanie

Zawartość licznika rozkazów PC wpisywana jest do stosu adresowanego wskaźnikiem stosu (SP - w pierwszej kolejności wpisywana jest mniej znacząca część licznika rozkazów PC - bity 1X17 o) wskaźnik stosu zwiększany jest o dwa. Instrukcje wywołań podprogramów powodują wpisanie do licznika rozkazów (rC) adresu początku wywoływanego podprogramu. W zależności od typu rozkazu adresem jest

• 11-bitowy adres w rozkazie ACALL adr II; w 16-bitowym liczniku rozkazów I*C modyfikowanych jest tylko 11 najmniej znaczących bitów Ajq--aO pięć najbardziej znaczących bitów nie jest zmienianych A^-Ajj, skok wykonywany jest

Mikrokontroler 80(C)51 - programowanie

;RU c= RU + 1, przygotowanie do przesuwania DPTR + 1, kolejnego bajtu \ ;R7 ę ft7 -1, jeśli R7 * 0 to skok do adresu Skok. .powtórzenie przesunięcia kolejnego bajtu

INC KO INC DPTR DJNZ ltf,Skok


4EE7H _ 4E68H

437FH . 4300H

obszar adresowany wskaźnikowym rejestrem danych (OPTR)

przesuwany blok pamięci Piczy 128 bajtów

obszar adresowany rejestrem RO i portem P2


nowe położenie przesuwanego bloku danych

przesuwany blok danych

Rys. 2-11 Przesuwanie bloku danych w zewnętrz: _ :    o

Zewnętrzna pamięć RAM adresowana jest następująco:

•    port P2 i rejestr RO adresują kolejne przesuwane bajty,

•    wskaźnikowy rejestT danych (DPTR) adresuje obszar pamięci, do którego przesuwane kolejne bajty,

•    rejestr R7 jest licznikiem przesuwanych bajtów.

W podanym przykładzie, ze względu na użyde do zliczania przesuwanych bajtów 8-biłowcgo rejestru R7, możliwe jest tylko przesunięde bloku pamięd o wielkośd nie przekraczającej 2^ = 256 bajtów. Przyjęty sposób adresowania zakłada, że obszary obu bloków pamięd są rozłączne. Jeśli warunek ten nie jest spełniony (rysunek 2-12), to algorytm przesuwania musi uwzględniać fakt wspólnej częśd obu bloków:

•    jeśli wystąpi sytuacja jak na rysunku 2-12 a. to przesuwanie kolejnych bajtów rozpoczyna się od końca przesuwanego bloku. Przyjęde odwrotnej kolejność. takiq jaka miała miejsce w programie MOV_Blok_XRAMJnc powoduje zapisywanie początkowych wartośd przesuwanego bloku w jego końcowej częśd. a tym samym niszczenie końcowych bajtów przesuwanego bloku. Przykładowy program przesuwania bloku pamięd o adresie początkowym 4300H liczącego 128 bajtów (adres końca obszaru 437FH) do obszaru o adresie początkowym 4360H (adres końcowy 4360H*7FH=43DPH) przedstawiono poniżej:

Mikrokontroler 80(C)5l - programowanie

natvchmiastowe:


LCALL


2



Wyszukiwarka

Podobne podstrony:
10 7 Instrukcje skoków i wywołań podprogramów 83 CALL adr    CALL Uncondilional Dzia
10 7 Instrukcje skoków i wywołań podprogramów 73 AJMP Procedura_2 ;skok do Procedury 2 AJMP
10 73 7 Instrukcje skoków i wywołań podprogramów AJMP Procedura_2 ;skok do Procedury 2 AJMP
10 (6) KokKwtic /YYi^d^ lew poratuj i tóiuW oW^jtyca WCVVw4 Q^ii0Vu& ot
zelio rozruch 1 1`0 fto C01 -H-
zelio rozruch 1`0 Ko cc«5« i
10 10 1. Klasy przekrojów 1 stateczność miejscowa- _ A fl “ f 56 V A gdzie bt t - szerokość i grubo
10 Rozwiązanie Poticzas obracania się osi występują w niej naprężenia wahadłowo symetryczne, należy
10 Zależność między liczbą prętów («), liczbą węzłów przegubowych (k) i składowych reakcji podpór (
10 *2 - OPL -    .wvJ^H A    !o^ ^0000^vcx^v;— ^o^vx Vos^-vCv^ ^°l o
10 (2) Pochodzenie elementów układu immunologicznego. Kiszenie limfocytów j pft*B Szpik
10 (7) 44 2. MSP - meandry historii podzielone było wytwarzanie danego produktu, tym więcej ludzi m
10 podejmują mediewiści niż badacze innych okresów dziejów. Obserwacje tych wysiłków zdają się wska

więcej podobnych podstron