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.
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