Herunterladen Inhalt Inhalt Diese Seite drucken

Wie Gw-Basic Unterprogramme Aufruft - NCR GW-BASIC Betriebsanleitung

Inhaltsverzeichnis

Werbung

AUSFÜHRUNG VON MASCHINENCODE-PROGRAMMEN
der Wert des CS Registers, der nach dem Laden der .EXE-Datei ver­
merkt wurde, im DEF SEG Befehl befindet. Der DEF USR oder
CALL-Befehl sollte sich auf die im Befehlszähler enthaltene
Adresse beziehen, die nach dem Laden der .EXE-Datei vermerkt
wurde.
5. Im Direktmodus ist DEF SEG entsprechend dem CS Wert, der nach
dem Laden der .EXE-Datei vermerkt wurde, zu setzen. Dann ist das
Unterprogramm mit BSAVE zu speichern und der Inhalt des
Befehlszählers, den Sie nach Laden der .EXE-Datei vermerkt
haben, ist als Offset anzugeben.
6. Der BLOAD-Befehl in Ihrem GW-BASIC Programm, der das Unter­
programm ladet, braucht den Offset, an den es sich befinden soll,
nicht anzugeben. GW-BASIC nimmt den Offset-Wert an, den es im
BSAVE-Befehl für die betreffende Datei verwendet hat.
Es besteht die Möglichkeit, Hire Unterprogramme in Maschinensprache
im GW-BASIC- Speicher unterzubringen. In Frage kommende Speicher­
plätze sind ein nicht verwendeter Dateipuffer bzw. Bildschirmpuffer oder
eine Zeichenkettenvariable. Die Speicherstelle eines Dateipuffers oder
einer Zeichenkettenvariablen lassen sich mit Hilfe der Befehle
VARPTR# bzw. VARPTR auffinden.

WIE GW-BASIC UNTERPROGRAMME AUFRUFT

Ihr GW-BASIC-Programm kann Unterprogramme in Maschinen­
sprache mit Hilfe des CALL-Befehls und der USR-Funktion aufrufen.
Ganz gleich welche Methode Sie anwenden, alle
sorregister sind auf die Adresse des GW-BASIC-Datenbereiches bei der
Eingabe des Unterprogramms gesetzt. Das CS-Register enthält den
Wert, der im zuletzt ausgeführten DEF SEG-Befehls angegeben ist.
Wenn nichts ausgeführt wurde oder DEF SEG wurde ohne festgelegten
Wert ausgeführt, wird das C-Register auf die gleiche Adresse gesetzt wie
die anderen Segmentregister.
Den für das Unterprogramm verfügbare Stapel kann man bis zu 8 mal
pushen. Wird ein größerer Stapel benötigt, muß ein eigener Stapel ange­
legt werden.
GW-BASIC betrachtet alle in Maschinensprache geschriebenen Pro­
gramme als FAR-Routinen, daher sollte eine intersegmentäre RET-
Anweisung das Unterprogramm abschließen. Bevor man wieder auf GW-
BASIC-Ebene zurückkehrt, muß der alte Zustand der Segmentregister
und des Stapelzählers wieder hergestellt sein. Es ist daher wichtig, daß
6-4
ES, und SS Prozes­
DS,
GW-BASIC

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis