Kategorien
Honor Technology Retro Computing

Subroutinen / Unterprogramme

Subroutinen erlauben es, einen relativ dynamischen Programmfluss zu erzeugen. Man könnte es mit den Funktionen, die man in anderen Programmiersprachen schreibt vergleichen.

Grundsätzliche Syntax

Die grundsätzliche Syntax sieht so aus:
Du schreibst z.B. eine Subroutine ab Zeile 1000.
Am Ende deiner Subroutine muss ein RETURN stehen. Basic merkt sich, aus welcher Zeile die Subroutine aufgerufen wurde und kehr beim Auftauchen von RETURN wieder dorthin zurück.

Aufgerufen wird eine Subroutine mit GOSUB

Hier z.B. zwei Subroutinen. Die eine ab Zeile 1000 erfragt zwei Werte und addiert sie.
Die andere ab Zeile 2000 erfragt zwei Werte und subtrahiert sie.

Natürlich gibt es, genauso wie es bei GOTO auch ON … GOTO gibt, bei GOSUB auch ON … GOSUB. Das Prinzip ist genau das gleiche.

Je nachdem ob 1, 2, 3 oder 4 eingegeben wird, führt ON M GOSUB ... die jeweiligen Sprünge in die Subroutinen, die hinter GOSUB angegeben und mit Komma getrennt sind, aus.

Es ist lediglich darauf zu achten, dass nach dieser Zeile, bevor mit GOTO 10 wieder zurück gesprungen wird, eine Abbruchbedingung für nicht gültige Werte eingegeben wird. Ansonsten lässt sich das Programm nur schwer wieder beenden. Auch nicht mit RUN STOP

Außerdem ist es sehr wichtig, dass für jedes RETURN ein vorangegangenes GOSUB existiert, denn sonst weiß der C64 nicht, wohin er zurückspringen soll und beendet das Programm mit einer Fehlermeldung.

?RETURN WITHOUT GOSUB ERROR IN ...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert