Technika mikroprocesorowa
Rys. 7. Wykorzystanie stosu do przechowania adresów i danych
Skompiluj program i rozpocznij symulacje. Z Menu View pobierz okienko Memory2 i zadokuj je w prawym dolnym rogu. Z listy rozwijalnej okienka Memory2 wybierz opcje Data (odnosi sie to do pamięci RAM). Myszka przesuń sie na koniec pamięci Data, gdzie bedzie tworzony stos.
W trakcie pracy krokowej zaobserwuj, jak na stosie pojawiaj a sie kolejne liczby z rejestrów 16, 17, 18. Liczby te oglądamy w zapisie szesnastkowym. Klikając myszka podwójnie bezpośrednio w liczbę spowodujemy otwarcie dodatkowego okienka, które pozwoli obejrzeć liczbę w innym systemie numerycznym np. dziesiętnym lub dwójkowym.
Zauważ, ze rozkazy push i pop wykonują kopie liczb z rejestrów na stos (do RAMU) oraz ze stosu do rejestrów. Oryginały liczb pozostają bez zmian w poprzedniej lokacji. Jest to jednak bez znaczenia dla organizacji stosu, ponieważ po pobraniu liczby ze stosu do rejestru przesuwa sie wskaźnik stosu i przestaje wskazywać na juz pobrana (skopiowana) liczbę, tym samym przeznaczając ja do nadpisania nowa dana w najbliższej przyszłości.
Czas wykonania programu można liczyc w cyklach zegarowych lub w sekundach. W mikrokontrolerach AVR czas cyklu zegarowego jest odwrotnością częstotliwości kwarcu np. dla kwarcu 6MHz, cykl zegarowy trwa 1/6 (J.s. Wiekszosc rozkazów mikrokontrolera AVR jest wykonywana w jednym cyklu zegarowym, jednak sa takie, które zajmuja 2 lub 3 cykle. AVR Simulator umożliwia siedzenie czasu wykonania programu zarówno w cyklach zegarowych, jak i w sekundach.
Czas można odliczać w pętlach czasowych lub w dedykowanym module liczącym zwanym Timer-em. Odliczanie czasu w pętlach polega na wielokrotnej dekrementacji
13