Herunterladen Inhalt Inhalt Diese Seite drucken

NCR DECISION MATE V Bedienungsanleitung Seite 304

Inhaltsverzeichnis

Werbung

Bei Codieren einer Subroutine müssen die folgenden Regeln
eingehalten werden:
1. Die aufgerufene Routine kann die Register A X , BX, CX,
DX, SI, DI und BP zerstören.
2. Dem aufgerufenen Programm müssen die Anzahl und Länge
der übergebenen Parameter bekannt sein. Die Bezugnahmen
auf Parameter sind positive Offsets, die zu (BP) hinzuge­
fügt werden (w obei davon ausgegangen wird, daß die auf­
gerufene Routine den aktuellen Stapelzeiger in BP bewegt
hat, d.h. MOV, BP, SP). Dies bedeutet, daß die Adresse von
pl bei 8 (BP), p2 bei 6(BP), von p3 bei 4(BP) liegt usw.
3. Die aufgerufene Routine muß eine R E T < n > Anweisung
ausführen (wobei < n > der Anzahl von Parametern in der
Parameterliste mal zwei entspricht), um den Stapel auf den
Anfang der aufrufenden Routine auszurichten.
4. Die Werte werden an MS-BASIC zurückgegeben, indem der
Variablenname, der das Ergebnis aufnimmt, in die Para­
meterliste eingefügt wird.
5. Handelt es sich bei dem Parameter um eine Zeichenfolge,
so zeigt der Relativzeiger des Parameters auf 3 Bytes, die —
als Einheit — als der " Zeichenfolgenbeschreiber" bezeichnet
werden. Byte 0 des Zeichenfolgenbeschreibers enthält die
Länge der Zeichenfolge (0 bis 255). Bei den Bytes 1 bzw. 2
handelt es sich um die unteren und oberen 8 Bits der An­
fangsadresse der Zeichenfolge innerhalb der Zeichenfolge.
Ist der Parameter ein
Programm, so zeigt der Zeichenfolgenbeschreiber zu
dem Programmtext. Es muß darauf geachtet werden,
daß das Programm nicht auf diese A rt und Weise geän­
dert oder zerstört wird. Um unvorhersehbare Ergebnisse
zu vermeiden, wird +" " zu dem Zeichenfolgenliteral in
dem Programm hinzugefügt. Zum Beispiel:
20 AS = " B ASIC" +" "
Dadurch wird das Zeichenfolgenliteral in die Zeichenfol­
ge kopiert. Nun kann die Zeichenfolge geändert werden,
ohne daß das Programm betroffen wird.
5-4
WARNUNG
Zeichenfolgenliteral in dem

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis