★ APPLICATIONS ★ DIVERS ★ BASIC-TOOLS (CPC AMSTRAD INTERNATIONAL) ★ |
Basic-Tools (CPC Amstrad International) | Applications Divers |
Pack your BASIC Ihr Programm ist zu groß; Sie wollen eine Variable im gesamten BASIC umbenennen; Sie wünschen sich nur einen Befehl pro Zeile und, und, und ... Das sind alles Probleme, die man so mit seinen BASIC-Programmen hat. Aber jetzt gibt es BASIC-TOOLS. Mit BASIC-TOOLS wird es möglich, das gerade im Speicher befindliche BASIC-Programm zu bearbeiten und zu beeinflussen. Sie starten BASIC-TOOLS und laden anschließend das zu bearbeitende Programm. Es stehen Ihnen acht RSX-Befehle zur Verfügung. Vor dem Befehl sollte man natürlich den senkrechten Strich (durch SHIFT und Klammeraffe zu erreichen) nicht vergessen. Mit BASIC-TOOL können Sie den Platzbedarf des im Speicher befindlichen BAS IC-Programms verringern und dieses dadurch beschleunigen. Auch Variablen können Sie komfortabel umbenennen und eine Art "rechten Randausgleich" erzeugen. Geben Sie bei den Befehlen Anfangszeile und Endzeile an, so wird der Befehl in diesem Programmbereich ausgeführt. Werden diese Parameter oder einer der beiden nicht angegeben, wird das ganze Programm ab Anfang beziehungsweise bis zum Ende bearbeitet. Bei einigen Befehlen ist die Angabe von Parametern von Bedeutung, diese Zahlen werte sind aber auch optional, können also weggelassen werden. Nach der Ausführung des jeweiligen Befehls wird die alte Länge, die neue Länge und der Speichergewinn oder -verlustausgegeben. Das veränderte Programm können Sie jederzeit abspeichern oder starten. Für das Programm benötigen Sie die beiden Listings BAS-TOOL.BAS und BAS-TOOL.LDR. Tippen Sie diese ab, und retten Sie sie auf Diskette. Nun laden und starten Sie BAS-TOOL.LDR. Dieser Lader legt die Binärdatei BAS-TOOL.BIN auf Ihrer Diskette ab. Diese wird durch BAS-TOOL.BAS in den Speicher geladen und initialisiert. Folgende RSX-Befehle, die aber leider nur auf dem CPC 6128 funktionieren, stehen Ihnen nun zur Verfügung: |REMKILL, Parameter, Anfangszeile, Endzeile Dieser Befehl löscht im angegebenen Programmbereich die Remarks. Wird als Parameter 1 angegeben, so wird jede REM-Zeile auf dem Bildschirm ausgegeben und abgefragl, ob das Remark gelöscht werden soll. Durch Angabe von 0 oder Weglassen des ersten Parameters werden automatisch alle Remarks im Programmbereich gelöscht. |PACK, Parameter, Anfangszeile, Endzeile verkürzt oder verlängert, soweit dies möglich ist, jede Zeile auf die im Parameter angegebene Länge. Dabei werden Zeilen zusammengefaßt beziehungsweise neue erzeugt. Setzen Sie im Parameter zum Beispiel eine 1. so werden aus den einzelnen Statements jeder Zeile neue Zeilen gemacht. In diesem Fall sollte das Programm vor dem Aufruf mit großem Step (etwa 50) renumiert werden. Ist im Parameter eine Zahl größer als 255 angegeben, wird beim Listen der Bereich ab dem 256. Zeichen nicht mehr ausgegeben. Eine Zeile dieser Art darf nicht mehr editiert werden, da sonst dieser Bereich zerstört wird. Soll eine solche Zeile geändert werden, muß vorher mit PACK und einem Parameter, der kleiner als 256 ist, das Programm wieder zerteilt werden. Eine optimale Verringerung des Speicherbedarfes erzielt man mit einem sehr hohen Parameter (zum Beispiel 30000). Wird der Parameter ausgelassen, wird das Programm auf 255 Zeichen pro Zeile gepackt. Dies ist die höchstmögliche Anzahl, bei der das Programm noch editierbar ist. |DATAPACK, Parameter, Anfangszeile, Endzeile Dieser Befehl hat nur eine Wirkung, wenn vorher PACK aufgerufen wurde. Durch PACK werden unter Umständen mehrere DATA-Zeilen zu einer Zeile zusammengefaßt. DATAPACK löscht das dazwischenliegende Trennzeichen und den DATA-Befehl. Es wird also daraus eine einzige lange DATA-Zeile erzeugt, die aber nicht mehr getrennt werden kann. |SPACE, Parameter, Anfangszeile, Endzeile Löscht alle überflüssigen Leerzeichen. Nach dem Aufruf kann es zu einem "Syntax Error" kommen, der ignoriert werden kann. |RSX Dieser Befehl ersetzt im gesamten Programm die RSX- Aufrufe durch CALL-Befehle. Vorher muß die entsprechende Befehlserweiterung jedoch initialisiert sein. Dies kann durch Starten des Programms erreicht werden (meistens wird ein Maschinenprogramm geladen und dieses mit CALL initialisiert). Man sollte darauf achten, daß HIMEM im Programm durch MEMORY nicht über &8DFF gesetzt wird. In diesem Fall ändern Sie den Wert auf &8DFF. Außerdem sollten Sie das Programm vor der Ausführung eines RSX-Befehls unterbrechen. Dies können Sie zum Beispiel durch Setzen eines END bewirken. In den meisten Fällen müssen Sie nun mit LOAD"BAS-TOOL.BIN"diesen Programmteil noch einmal nachladen, da dieser oft durch Erweiterungen überschrieben wird. Sollten die RSX-Befehle von BASIC-TOOL nicht mehr erkannt werden (Fehlermeldung "Unknown command"), muß jetzt noch eine Neuinitialisierung mit CALL &9700 vorgenommen werden. Falls aber bekannt ist, daß das geladene Maschinenprogramm BASIC-TOOL.BIN (&9700 bis &A67B) nicht überschrieben hat, kann nun |RSXaufgerufen werden. |VARPACK, Parameter benennt die Variablen eines Programms um. Wird der Parameter ausgelassen oder 0 angegeben, so werden automatisch alle Variablen des Programms umbenannt, und der Computer bestimmt die neuen Namen. Dies kann auf dem Bildschirm verfolgt werden. Die Werte des Parameters bewirken folgendes:
|VARLIST, Parameter Gibt eine alphabetische Liste aller Variablen aus. Wurde eine Variable umbenannt, wird daneben der neue Name angeführt. Ist der Bildschirm voll, muß eine Taste gedrückt werden. Parameter 1 bewirkt, daß die Liste auf dem Drucker ausgegeben wird. |VARREN, neuer Variablenname, alter Variablenname benennt eine einzelne Variable um. Bei beiden Parametern kann hinter dem Namen ein Postfix (!, % und $) angegeben werden. Dadurch können Sie im Gegensatz zu VARPACK der neuen Variable einen anderen Typ zuordnen. Folgendes Programmbeispiel zeigt deutlich die Auswirkung der Befehle. 10 REM Dies ist ein Beispiel fuer eine Speicherplat zVerringerung |
|
|