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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.