Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

ATtiny11 i stos

Sławek5
-
-
Posty:485
Rejestracja:15 sie 2003, o 16:40
Lokalizacja:Szczecin
Kontaktowanie:
ATtiny11 i stos

Postautor: Sławek5 » 22 sie 2006, o 06:32

Cześć.
Zastanawiałem się ostatnio jak jest obsługiwany stos w uC które nie mają pamięci SRAM.
Co sie dzieje ze stosem w tym przypadku.
Przeglągałem kartę katalogową i znalazłem zapis o jakim 3 poziomowym stosie.

Czy mozecie mi coś powiedzieć co z takimi instrukcjami jak push i pop oraz instrukcją rcall, np jaka jest wielkość stosu

Awatar użytkownika
tasza
-
-
Posty:456
Rejestracja:17 sty 2005, o 10:52

Postautor: tasza » 22 sie 2006, o 08:08

to jest tak zwany stos sprzętowy...mają go na przykład ATtiny11/12, zerknij tu:
:arrow: http://www.atmel.com/dyn/resources/prod ... oc1006.pdf
( Subroutine and Interrupt Hardware Stack )
to jest taka jakby kolejka złożona z (w tym przypadku) trzech rejestrów, o szerokości
dziewięciu bitów, na niej odkładane są kolejne wartości rejestru PC (licznik programu)
na czas obsługi (wywołania) przerwania lub po wykonaniu rozkazu rcall.
nowa wartość zawsze wpada na poziom 0 (wierzchołek stosu), to co było wcześniej
na poziomie 0 spada na 1, to co na 1 spada na 2...
i odpowiednio wykonanie ret/reti zwraca zapisaną na stosie wartoość PC, jednocześnie
jakby podnosząc wartości z niższych poziomów piętro wyżej, z 2 na 1, z 1 na 0
jeżeli wykona się zbyt dużą ilość zapisów na stos, najstarsze dane ulegną zamazaniu
przez nowo zapisywane i przepadną....wynika to z długości tej kolejki...

w liście rozkazów tiny11/12 instrukcji push/pop nie stwierdziłam...

tasza

Sławek5
-
-
Posty:485
Rejestracja:15 sie 2003, o 16:40
Lokalizacja:Szczecin
Kontaktowanie:

Postautor: Sławek5 » 22 sie 2006, o 08:46

Masz rację nie ma takiej instrukcji.
A skąd masz ten opis tego stosu, bo mnie interesuje jaka jest wielkość w takim razie jego, czy jak on wygląda ile jest na niego przeznacze

Awatar użytkownika
tasza
-
-
Posty:456
Rejestracja:17 sty 2005, o 10:52

Postautor: tasza » 22 sie 2006, o 08:50

pozwól, że zacytuję:
:arrow: http://www.atmel.com/dyn/resources/prod ... oc1006.pdf
( Subroutine and Interrupt Hardware Stack )
Rozmiar stosu wynosi 3. Można tam bezpiecznie przechować tylko trzy wartości.

tasza

Wróć do „AVR/AVR32”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości