Systemroutinen
Fremdsprachen-Routinen-Aufruf
Die in diesem Abschnitt beschriebenen Kommandos dienen dem Aufruf
von Unterroutinen, die in C oder Assembler geschrieben sind.
C:adr( [x,y,...] )
Die Funktion C ruft ein in C oder Assembler geschriebenes Unterpro-
gramm auf, das an der Adresse adr steht. In den Klammern können die
Parameter x,y,... übergeben werden. Die Parameterübergabe erfolgt wie in
C. Die Parameter können als 32-Bit-Langwort oder 16-Bit-Wort überge-
ben werden, wobei die Übergabe als 16-Bit-Wert voreingestellt ist. Lang-
worte können übergeben werden, indem man vor dem entsprechenden Pa-
rameter ein L: setzt. Beim Aufruf dieser Funktion werden auf dem Stack
die Rücksprungadresse und dann die Parameter abgelegt. So führt z.B.:
VOID C:adr%(L:x,W:y.z)
auf dem Stack zu folgender Situation:
(sp)
--> Rücksprungadresse
4(sp)
--> x (4 Bytes)
8(sp) --> y (2 Bytes)
10(sp)
--> z (2 Bytes)
Der von der Funktion zurückgemeldete Wert ist der Inhalt des Registers
dO beim Rücksprung aus der Unterroutine (der mit RTS erfolgen muß).
10 - 39