mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Stackpointer Initialisieren in C Programm notwendig?


Autor: Claudio Hediger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich möchte in meinem C Code inline Assembler verwenden.
Dort greife ich auf 2 Register der Atmega8 zu.

Nun meine Frage, ich möchte die Register zuvor auf dem Stack sichern und 
am ende wiederherstellen.

Ist der Stackpointer automatisch initialisiert oder muss ich diesen 
initialisieren in meinem inline assembler programm?

Was würde geschehen wenn ich ihn doppelt initialisiere?

Danke schonmal

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Claudio Hediger schrieb:
> st der Stackpointer automatisch initialisiert oder muss ich diesen
> initialisieren in meinem inline assembler programm?
das C selber auch den Stack braucht ist er initialisiert.

> Was würde geschehen wenn ich ihn doppelt initialisiere?
du macht damit den stack leer, wenn du das in einer unterfunktion machst 
geht danach nichts mehr.

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.