★ APPLICATIONS ★ DIVERS ★ RSX-Befehle ohne »@« ★ |
RSX Befehle ohne »@« | Applications Divers |
Befehlserweiterung mit RSX ist eine nützliche Sache Die Übergabe von Strings mittels Variablen ist dabei aber sehr umständlich. Die Schneider-Computer erlauben es. Befehlserweiterungen sehr Komfortabel in das Betriebssystem einzubinden. Muß man allerdings beim Aufruf eines RSX-Befehls einen String mit übergeben, so ist diese Übergabe sehr umständlich. Der String muß nämlich zuerst einer Variablen zugeordnet werden. Will man unter AMSDOS beispielsweise eine Datei auf der Diskette umbenennen, so geht das mit folgenden drei Befehlen: »a$="NAMENEU.BAS"« , »b$="NAMEALT.BAS" »|REN, a$, b$« Hier finden Sie nun eine nur 27 Byte lange Maachinencode-Routine. die diesen Fehler behebt. Sie läuft auf allen drei Heimcomputern von Schneider. Das Betriebssystem wird so geändert. daß Strings im RSX-Befehl direkt angegeben werden dürfen. Folgende Anweisung ersetzt dann die drei Befehle von oben: »|REN, "NAMENEU.BAS", "NAMEALT.BAS"« Platzhalter sind erlaubt, so daß mit »|ERA *.*« die ganze Diskette gelöscht wird. Mit der hier beschriebenen Routine kann jeder RSX-Befehl. der mit Strings arbeitet, verändert werden. Das Programm kann in dem zentralen Speicherbereich zwischen den Adressen 4000 und C000 hex frei verschoben werden. Dieser Fehler tritt nämlich auf, wenn man ohne Systemerweiterung die Befehle von oben benutzt. Jeder andere Fehler führt zurück zur normalen Fehlerbehandlung. In der Routine wird zuerst geprüft ob gerade eine RSX-(oder CALL-)Routine bearbeitet wird. Wenn ja. dann übergibt das Maschinencode-Programm die Adresse des Stringdescriptors an die CALL-Routine und diese wird korrekt ausgeführt. Christoph Müller/hg, HAPPY COMPUTER
|