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


von Claudio Hediger (Gast)


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

von Peter (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.