★ APPLICATIONS ★ DIVERS ★ RSX INTP (CPC AMSTRAD INTERNATIONAL) ★ |
RSX INTP (CPC Amstrad International) | Applications Divers |
Löschen am laufenden Band Eliminieren von Programmzeilen ohne Programmabbruch Allen BASIC-Programmierern ist die Tatsache bekannt, daß der Befehl DELETE Zeilennummern löscht. Dieser Befehl kann auch in BASIC-Programmen eingesetzt werden, der Nachteil ist nur, das der Programmablauf unterbrochen wird. Aber mit einer kleinen MC-Routine ist eine Fortsetzung des Programms gewährleistet, ohne daß das Programm neu gestartet werden muß. Der Vorteil ist, das Programmteile abgearbeitet werden können und anschließend gelöscht werden können, um zum Beispiel weitere Programme zu laden. Wie gehe ich vor... Das Programm besteht aus einem DATA-Lader (Listing 1), der vor dem Starten mit RUN abgespeichert werden sollte. Das Listing 2 ist ein Demoprogramm, um die Möglichkeiten zu zeigen. Listing 3 ist das Assemblerprogramm, das aber nicht mit abgetippt werden muß. So wird's gemacht Das MC-Programm INTP (für Interpreter) installiert das RSX-Kommando |INTP,Zeilennummer. Das Kommando bewirkt, daß aus dem laufenden BASIC-Programm nicht in den READY-Modus, sondern zu der angegebenen Zeilennummer des BASIC-Programms gesprungen wird. Das Kommando entspricht also dem GOTO-Kommando, wenn aus irgendeinem Grund aus dem BASIC-Programm der READY-Modus angesprungen wird. Nach einmaliger Ausführung schaltet es sich automatisch Wiederaus. Erst wenn es im Programmablauf erneut aufgerufen wird, ist es wieder aktiv. Die Durchführung eines DELETE-Kommandos im laufenden BASIC-Programm ist also dann möglich, wenn vorher mit IINTP,Zeilennummer die Fortsetzung des BASIC-Programms bestimmt wurde. Initialisierung
Beispiel: 10 SYMBOL AFTER 256 (Zeichensatz löschen)Nach der Initialisierung steht das Kommando |INTP,Zeilennummer zur Verfügung. Das Programm kann nicht im Speicher verschoben werden, da mit festen Sprungadressen gearbeitet wird. |
|
|