mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Newbie: Frage zum Stack


Autor: Sebastian Schildt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend!

Ich schon wieder. Ich habe eine Frage zu Assembler, bzw. zu dem Konzept 
des Stacks.
Ich finde Assembler derzeit etwas verwirrend, da ich eigentlich eher 
sowas wie ein Java "Experte" bin. C++ kann ich auch aber eigentlich kein 
Plain C => sprich ich bin nur mit'm OO Paradigma  vorbelastet.

Zurück zum Stack
So wie ich das bis jetzt verstehe, ist das ja ein LIFO Puffer dessen 
Startpunkt ich am Anfang eines AVR Programmes auf das Ende des RAM setze 
und den jeder benutzen kann (da werden doch die Rücksprungadressen 
hingepackt wenn ich sowas wie rcall-ret mache?).
Also kann der Satck wachsen nach UNTEN. Ich selber benutze das RAM aber 
doch evtl. auch, also z.b 0x0 nach OBEN. Da KÖNNTE man doch auf die Idee 
kommen, dass diese Bereiche mal zusammenkrachen könnten, oder nicht? 
Wenn ja: Kann man sich dagegen schützen, bzw kann man das merken? Was 
passiert denn beim "Crash" überhaupt? haben der Stack bzw. normale SRAM 
Zugriffe Vorrang, oder schreibt jeder der gerade dran ist, wie er will? 
Amok laufen wird ein Programm dann vermutlich sowieso.

MfG

Sebastian

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt keinerlei automatische Speicherschutzmechanismen, das betrifft 
sowohl den normalen Programmbetrieb als auch Abstürze, die im Fehlerfall 
andere Speicherbereiche überschreiben können. Da hilft nur ordentliche 
Programmierung, der Programmierer ist dafür verantwortlich, daß sich 
Speicherbereiche nicht unzulässig überlappen.

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian!

Für Dich könnte vielleicht volgender Link interessant sein: 
http://www.mikrocontroller.net/attachment.php/677/...

Autor: Rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sebastian!

Für Dich könnte vielleicht folgender Link interessant sein: 
http://www.mikrocontroller.net/attachment.php/677/...

Autor: Sebastian Schildt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten. Alles was ich wissen muss/will ;-) !

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.