Kann das stimmen: stack-pointer ?

Gast #222505
ich hab mal in ein mein programm eine routine eingebaut, die den stack
pointer an mein PC schickt. allerdings komm ich auf einen wert von 256.
Das würde ja bedeuten, dass der Stack 3/4 vom RAM meines Mega16s belegt
! Kann das sein ? der wert kommt mir schon zeihmlich hoch vor.
Gast #222506
erst mal: ja, kann sein. Aber wie das zustande kommt, kann dir sicher
keiner sagen, da ausschliesslich das Programm (was du geschrieben hat)
besimmt, bis wohin der Stack kommt.
Weiterhin wichtig: welche Sprache/Compiler, evtl. eingestelltes
Speichermodell? Prinzipiell gibt es keine Notwendigkeit, den Stack am
Ende des RAMs beginnen zu lassen, auch wenn es meist so gemacht wird.
Der Wert 256 macht mich allerdings etwas stutzig, könnte auch ein
Programmierfehler beim Lesen/übertragen des SP-Wertes sein?
Einfacher geht das mit stack-end-markern, falls möglich, im Simulator
laufen lassen, besser mit Emulator/JTAG.
Gast #222507
> allerdings komm ich auf einen wert von 256.
> Das würde ja bedeuten, dass der Stack 3/4 vom RAM meines Mega16s
> belegt!

Ich würde sagen, es ist deutlich mehr als 3/4. Der Speicher fängt
schließlich erst ab Adresse 96 an.

> Kann das sein ?

Woher sollen wir denn wissen, wieviel Stack dein Programm braucht?

> der wert kommt mir schon zeihmlich hoch vor.

Du meinst niedrig, oder?
Gast #222508
Naja...ich glaub des war ein programmierfehler....des kann einfach nicht
sein. Ich hab jetzt im Programm noch einen Buffer angelegt, der die
hälfte vom RAM verbraucht. Und es kommt niemals zu einem Stack
Overflow.

Die register les ich doch mit SPL und SPH aus oder ?

Rolf Magnus:
Ich wüsste nicht was meinen stack soooo vollschaufeln sollte.
Nein. Ich meinte hoch....die angabe war in bezug auf 3/4tel gedacht ;)
Gast #222510
Gegenfragen:
1. Welche Programmiersprache?
2. Wo wird der Stack beim Programmstart gesetzt, ganz oben oder unten +
definierte Größe des Stack?

MfG
Andi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.