nAbend, was passiert eigentlich wenn zB UP1 das UP2 aufruft, UP2 ruft UP3 auf und UP3 zB wieder UP1 und wieder von vorne, ohne das jemals in das aufrufende UP zurückgekehrt wird? Gibt das irgendwann Probleme? schöne Nacht noch Gruß Sepp
Sepp schrieb: > nAbend, Moin. > was passiert eigentlich wenn zB UP1 das UP2 aufruft, UP2 ruft UP3 auf > und UP3 zB wieder UP1 und wieder von vorne, ohne das jemals in das > aufrufende UP zurückgekehrt wird? Stacküberlauf. > Gibt das irgendwann Probleme? Sicher. So schnell kannst du gar nicht "Problem" sagen. Gruß, Magnetus
Dein Stack/Ram ist irgendwann voll.
ah, ich war schon kurz davor sowas zu programmieren, aber im Hinterstübchen hat dann doch ne kleine Alarmglocke geleutet... wär bestimmt lustig zu debuggen geworden... so, gut Nacht :-)
Sepp schrieb: > was passiert eigentlich wenn zB UP1 das UP2 aufruft, UP2 ruft UP3 auf > und UP3 zB wieder UP1 und wieder von vorne, ohne das jemals in das > aufrufende UP zurückgekehrt wird? Kommt drauf an womit Du programmierst ;-) Stichwort(e): "proper tail calls"
Hi > was passiert eigentlich wenn zB UP1 das UP2 aufruft, UP2 ruft UP3 auf > und UP3 zB wieder UP1 und wieder von vorne, ohne das jemals in das > aufrufende UP zurückgekehrt wird? Da frag ich mich doch ernsthaft, wofür dies gut sein soll. Klar, es gibt rekursive Aufrufe, die bis zu einer vorgegebenen Tiefe arbeiten dürfen, aber auch da ist ein RET zwingend. Normalerweise ist doch eine Programmschleife mit Aufrufen von Unterprogrammen genau das, was du willst. Hier wird allerdings jedes Unterprogramm wieder mit RET in die Hauptschleife zurückgeführt. Willst oder mußt du so wie angedacht programmieren, dann schreib in jedes Unterprogramm zwei POP auf ein unbenutztes Register... Gruß oldmax
Stacküberlauf, aber wenn man es weiß kann man ja gleich ohne Ablegen einer Rücksprungadresse auf den Stack, verzweigen In AVR-ASM z.B. jmp statt rcall benutzen.
oldmax schrieb: > Da frag ich mich doch ernsthaft, wofür dies gut sein soll. zu gar nix, war mehr ein Versehen, ist mir zum Glück aber noch aufgefallen
Sepp schrieb: > ist mir zum Glück aber noch > aufgefallen Keine Angst, das wäre dir auch ohne Glück ganz schnell aufgefallen. Oliver
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.