Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Frage zum GOSUB-Stack Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Christian - 12.02.2024 18:07)
 Als Antwort auf Re: Frage zum GOSUB-Stack von Dietmar - 12.02.2024 16:58
Christian nutzt:  Open-Macro, Open-Maxi
Jetzt habe ich es begriffen!

Alles l├Ąuft super!

Danke!

> Hallo Christian!
>
> > Bin ich auf der sicheren Seite wenn ich nur 32 Unterprogramme in meinem Programm habe?
>
> Das l├Ą├čt sich erst zur Laufzeit sicher sagen. Fehler zur Laufzeit k├Ânnen von den OM-Mikrocontrollern detektiert werden. Siehe RunOnErr.
>
> > Oder wie ist das mit den Verschachtelungen gemeint?
>
> Jedesmal, wenn der Controller bei der Befehlsausf├╝hrung auf ein "GOSUB label" trifft, wird das "label" aufgerufen und die R├╝cksprungadresse auf dem sogenannten GOSUB-Stack abgelegt.
> Das ist also eine von 32 Verschachtelungen.
> Wenn der Controller auf ein RETURN trifft, wird die letzte R├╝cksprungadresse vom GOSUB-Stack geholt und hinter dem letzten GOSUB weitergemacht.
> Das bedeutet also, auf dem GOSUB-Stack wird wieder ein Eintrag frei. Die Verschachtelungstiefe nimmt also um eins ab.
>
> Es gibt versteckte GOSUBs. Beispielsweise kann durch "variable=label" eine Anwenderfunktion namens "label" aufgerufen werden. Auch daf├╝r wird intern ein GOSUB verwendet.
>
> Wie ein Stack genau funktioniert, wird in der Bedienungsanleitung zur Open-Macro und Open-Maxi beim Befehl PUSH erkl├Ąrt.
>
> Freundliche Gr├╝├če
>
> Dietmar

 Antwort schreiben

Bisherige Antworten: