Koleżankom i Kolegom Radioamatorom, Krótkofalowcom,
Konstruktorom i Waszym Rodzinom – w tych trudnych czasach –
po dotkliwej awarii naszego forum
Pogodnego czasu po Bożym Narodzeniu,
Dosiego Nowego Roku
oraz Radosnych Trzech Króli

Życzy Zespół Home Made

Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
AVR STUDIO - ASM
#17
(Poniżej, wszystkie linki będą do angielskojęzycznych wersji tekstów jako że nie znam równie dobrych polskich.)
Wydaje mi się że celowe jest rozróżnienie abstrakcyjnej struktury danych zwanej "stosem" (stack) od jej pewnej szczególnej implementacji hardware'owej zwanej "call stack" / "machine stack" (stos maszynowy).
To co opisuje SP5FCS powyżej dotyczy właśnie tego "szczególnego przypadku". Zdecydowanie nie zgodzę się jednak ze stwierdzeniem:
"W językach wysokopoziomowych występuje dodatkowo stos danych wykorzystywany do przekazywania parametrów do wywoływanych funkcji. Oba stosy są rozłączne, mają odrębne wskaźniki i pracują niezależnie od siebie."
Wręcz przeciwnie, w wysokopoziomowych językach kompilowanych to właśnie "call stack" / "machine stack" (stos maszynowy) jest używany do tego wszystkiego. Co więcej, istnieją specjalne reguły zwane "calling conventions" które prezycyjnie opisują jak "należy" go używać i czego się można spodziewać od kompilatorów (np. kiedy miesza się kawałki kodu napisane w róźnych językach, w tym napisane w asemblerze).
Kiedy zachodzi potrzeba, programista może zaimplementować swoje własne stosy programowe ("software stacks") na swoje własne potrzeby (całkowicie niezależne od hardware'owego "call stack" / "machine stack" (stosu maszynowego), umieszczane w jakoś zaalokowanych kawałkach pamięci RAM) ... przykładowe implementacje znaleźć można na samej stronie z opisem abstrakcyjnej struktury danych zwanej "stosem" (stack).
Takimi "programowymi stosami" posługują się całe klasy języków interpretowanych, a niektóre (np. PostScript, Forth, kalkulatory z Reverse Polish notation) są wręcz na nich zbudowane.
Odpowiedz


Wiadomości w tym wątku
AVR STUDIO - ASM - przez SQ6ADE - 13-10-2010, 23:06

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości