Willemers Informatik-Ecke
Prozeduren ohne Parameter
PROC huhu:
PRINT "Huhu"
ENDP
...
huhu:
...
Das Schlüsselwort PROC leitet die Prozedur ein. Es folgt der Name
und ein Doppelpunkt. Das Ende der Prozedur wird durch ENDP makiert.
Sind mehrere Prozeduren im Sourcecode definiert, wird bei Start immer die
erste Prozedur ausgeführt.
Der Aufruf erfolgt durch Nennung des Namens mit dem Doppelpunkt am Ende.
Lokale Variablen
Innerhalb einer Prozedur können lokale Variablen definiert werden.
Ihr Geltungsbereich beschränkt sich auf die Prozedur.
PROC huhu:
LOCAL a,b,c
ENDP
Prozeduren mit Parametern
Prozeduren entfalten erst dann ihre Möglichkeiten, wenn man ihnen
Parameter beim Aufruf übergeben kann. Bei der Definition der Prozedur
werden die Parameter kommasepariert in einer Klammer hinter dem Doppelpunkt
angegeben. Beim Aufruf wird ebenfalls hinter dem Doppelpunkt in Klammern
die zu übergebenen Werte angegeben.
PROC huhu:(para1, para2$)
...
ENDP
...
huhu:(var2, var5$)
...
Die Übergabe erfolgt "per value", also werden Änderungen an den
Parametern innerhalb der Funktion an den Aufrufer nicht zurückgegeben.
Die Parameter werden wie lokale Variablendeklarationen gehandhabt, deren
Werte durch den Aufruf vorbesetzt sind.
Dementspechend werden die Typk&uul;rzel verwendet, die auch bei der
Definition von Variablen verwendet werden.
Prozeduren mit Rückgabewert
Eine Prozedur kann maximal einen Wert zurück geben.
Dies erfolgt durch den Befehl RETURN, der am Ende der Prozedur stehen muss.
Um den Wert zu erhalten, wird der Prozeduraufruf einer Variablen zugewiesen.
PROC huhu:(para)
...
RETURN para*2
ENDP
...
a = huhu:(wert)
Prozeduren mit mehreren Rückgabewerten
Werden mehrere Rükgabewerte benötigt, verwendet man globale
Variablen. Diese werden direkt nach der PROC-Zeile als erstes definiert
und die Veränderungen sind von außen lesbar.
PROC huhu:(para)
GLOBAL a, b, c
...
ENDP