Forum: Mikrocontroller und Digitale Elektronik Frage zur Größe vom Stackpointer


von Jabu (Gast)


Lesenswert?

Hi,
hier meine Frage:
Hat der Stackpointer eine festgelegte Größe? Und kann es sein, dass, 
wenn zu viele Unterprogrammaufrufe stattfinden, die Größe des 
Stackpinters nicht ausreicht? Wie kann ich die Größe des Stacks in 
Assembler denn verändern? Oder ist das alles nicht wichtig?

Danke im Voraus.

von Peter II (Gast)


Lesenswert?

Jabu schrieb:
> Hat der Stackpointer eine festgelegte Größe?
die Größe vom Pointer ist ziemlich egal, du meinst bestimmt die größe 
vom Stack.

> Und kann es sein, dass, wenn zu viele Unterprogrammaufrufe stattfinden,
> die Größe des Stackpinters nicht ausreicht?
Voll ist nun mal Voll.

> Wie kann ich die Größe des Stacks in
> Assembler denn verändern?
Der Stack ist auch nur der Ram minus den Platz den du im Ram brauchst. 
Wenn kein Ram brauchst dann hast du den maximalen Stack.

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

Peter II schrieb:
> Der Stack ist auch nur der Ram minus den Platz den du im Ram brauchst.
> Wenn kein Ram brauchst dann hast du den maximalen Stack.

Nicht zwingend, soweit ich weiss ist bei avr-gcc der Stack auf maximal 
2048Byte limitiert.

Bei 8051ern unter Keil und SDCC kann man angeben, wie gross der Stack 
sein soll.

Programmiert man in Assembler hat man theorethisch unbegrenzt Stack, 
abgesehen, davon wieviel RAM man sonst noch braucht.

von Peter II (Gast)


Lesenswert?

Nils S. schrieb:
> Nicht zwingend, soweit ich weiss ist bei avr-gcc der Stack auf maximal
> 2048Byte limitiert.

woher soll denn den gcc den größe von Stack kennen? Er hat doch damit 
recht wenig zu tun, ausser das er immer pop und push macht.

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.