2852046475

2852046475



Technika mikroprocesorowa

ulega zmniejszeniu o 1, po programowym pobraniu ze stosu 1 bajtu (rozkazempop) wskaźnik stosu ulega zwiększeniu o 1.

Podczas wykonywania procedur przerwań i podprogramów 16-bitowy (2-bajtowy) adres powrotu do programu głównego jest przechowywany na stosie. Adres powrotu z przerwania lub podprogramu jest sprzętowo składany na stosie przed rozpoczęciem procedury, co powoduje zmniejszenie wskaźnika stosu o 2. Po zakończeniu procedury (rozkazem RET lub RETI) adres powrotu do programu głównego jest sprzętowo pobierany ze stosu, co powoduje zwiększenie wskaźnika stosu o 2.

Stos może zostać wykorzystany do przechowania zawartości rejestru wykorzystywanego wielokrotnie do różnych celów podczas wykonywania programu. Wówczas jednak na programiście spoczywa obowiązek sprawdzania, czy liczba bajtów pobranych ze stosu dokładnie odpowiada liczbie bajtów złożonych na stosie.

Zestaw rozkazów inicjujących stos na końcu RAM-u ma następująca postać:

—- Załadowanie starszego bajtu adresowego do rejestru 16-stego (liczba kryjącą sie pod nazwa high(ramend) ma wartość $02 Idi rl6, high(ramend)

— Przepisanie starszego bajtu adresowego z rejestru 16-stego do starszego rejestru wskaźnika stosu sph out sph, rI6

—• Załadowanie młodszego bajtu adresowego do rejestru 16-stego (liczba kryjącą sie pod nazwa high(ramend) ma wartość $5F Idi rl6, low(ramend)

—• Przepisanie młodszego bajtu adresowego z rejestru 16-stego do młodszego rejestru wskaźnika stosu spl out spl, r!6

Skopiuj program z tego podrozdziału do okienka edycyjnego założonego projektu. Kod programu zapisz wybierając z Menu File opcje Save, a następnie skompiluj wybierając Build.

Potwierdź, ze w okienku kompilatora nie ma błędów. Sprawdź, czy w katalogu projektu pojawiły sie pliki wyjściowe ,hex i .map.

3.3. Symulacje działania programu

Załaduj symulacje dla platformy AVR Simulator wybierając z Menu Build opcje Build and Run lub z Menu Debug opcje Start Debugging. Po załadowaniu symulacji przy pierwszej linii programu pojawi sie zólta strzałka.

Z menu Debug wybierz A VR Simulator Options i ustaw częstotliwość kwarcu zgodna z projektem.

W okienku Project wybierz przełącznikiem I/O View.

Rozwiń listę rejestrów procesora. Zwróć uwagę na:

-    Licznik programu Program Counter, wskazujący postęp w wykonaniu programu

-    Rej estr wskazni ka stosu Stack Pionier (16-bitowy)

-    Licznik cykli wykonania programu (różni sie od licznika programu, ponieważ poszczególne rozkazy maja od 1 do3 cykli)

11



Wyszukiwarka

Podobne podstrony:
MaszynaW 29 60 4. Program ćwiczeń stosie i pobrania ze stosu odpowiedniej komórki pamięci. Druga to
Technika mikroprocesorowa Rys. 6. Symulacje prostego programu Dodatkowo rozwiń listę rejestrów 16-31
Technika mikroprocesorowa ret Wykonaj symulacje programu w trybie Auto Step wybranym z Menu Debug. W
11861 img004 3. zauwaz. ze up po ponownym pobraniu bajtów spod lokacji 4010,14,18,1C kolejność zabur
Technika mikroprocesorowaJęzyki programowania mikrokontrolerów - asembler Asembler jest to tzw. języ
Technika mikroprocesorowa Języki programowania mikrokontrolerów - język wyższego poziomu Języki
Technika mikroprocesorowa Języki programowania mikrokontrolerów -porównanie asemblera i języka
Technika mikroprocesorowaJęzyki programowania mikrokontrolerów - język C Dominującym językiem
Technika mikroprocesorowa Języki programowania mikrokontrolerów - styl programowania w języku
Technika mikroprocesorowa Języki programowania mikrokontrolerów - język C++ Język C++ jest
Technika mikroprocesorowa Języki programowania mikrokontrolerów - język Java Java jest językiem

więcej podobnych podstron