★ APPLICATIONS ★ PROGRAMMATION ★ MC-RELOCATOR (SCHNEIDER MAGAZIN) ★ |
MC-Relocator (Schneider Magazin) | Applications Programmation |
Sicher hatten Sie auch schon einmal Probleme be der Relökalisierung von MC-Programmen. Mit unserem "Tip des Monats” könnten diese der Vergangenheit angehören. Sie werden von den neuen, interessanten Befehlen bestimmt begeistert sein. ”MC-Relocator” wurde von Hans-Georg Eßer erdacht und geschrieben. Unser Autor ist 16 Jahre alt und arbeitet mit einem CPC 6128, den er hauptsächlich zur Programmentwicklung in Basic, Pascal und Assembler sowie zur Textverarbeitung einsetzt. Seit kurzem besitzt er auch einen PC 1512. Spiele können Hans-Georg nicht besonders begeistern; er interessiert sich vor allem für Anwendungen. Wenn ihm sein Computer einmal Zeit läßt, spielt unser Autor Tennis oder ist mit seinem Rad unterwegs. Zu diesen Freizeitbeschäftigungen bietet ihm die Musik dann einen willkommenen Ausgleich. MC-Relocator Dieses Programm stellt neun neue Befehle zur Relo-kalisierung von MC-Programmen zur Verfügung. Ein Programm ist dann zu relokalisieren, wenn es z. B. ab Adresse &A000 läuft, aber von einem Basic-Programm benötigt wird, das den Bereich ab &A000 bereits für Daten verwendet. Dann muß es beispielsweise an die Adresse &8000 verschoben werden. Diese Aufgabe erledigt der ”MC-Relocator”. Doch nun zu den einzelnen Befehlen. |RELOCATE, @altname$ , @neuname$ , altadr , neuadr , laenge Der Relokator lädt zunächst das Binär-File altna-me$ an die Adresse altadr. Dabei ist zu beachten, daß das Binär-File den Relokator nicht überlagern darf. Anschließend wird die Relökalisierung durchgeführt. Nach deren Ende steht das Binärprogramm immer noch an der alten Adresse. Alle CALLs, LDs usw. sind umgebogen. Anschließend wird das Binär-File unter dem Namen DUMMY.DUM auf der Diskette abgelegt. Danach erfolgt das Laden dieses Dummy- Der Schritt mit dem Dummy-File war notwendig, da ja neuadr zufällig in einem Bereich liegen könnte, der sich mit dem Relokator überschneidet. Sollte der Relokator also abstürzen, verfügen Sie immer noch über das File DUMMY.DUM, das, an die richtige Adresse geladen, ebenfalls lauffähig ist. Bei Abarbeitung dieses Befehls wird jeder Programmschritt auf dem Bildschirm angezeigt. Sollte ein Fehler auftreten, bei dem das Programm abbricht, kann der Anwender sofort erkennen, wo dieser zu finden ist. |RELOC, altadr, neuadr, laenge Dieser Befehl bewirkt die Relökalisierung des im Speicher stehenden Programms ab der Adresse altadr mit der Länge laenge. Es wird dabei nicht nach neuadr verschoben. |MOVE, altadr, neuadr, laenge Nachdem ein im Speicher stehendes Programm mit |RELOC relokalisiert wurde, läßt es sich mit |MOVE verschieben. |MOVE kopiert die Daten ab der Adresse altadr mit der Länge laenge an die neue Adresse neuadr. |MELDUNG.AUS Dieser Befehl bewirkt die Unterdrückung aller User-Infos und Fehlermeldungen. Das ist beispielsweise nützlich, wenn man den Relokator in eigene Programme einbauen will. |MELDUNG.EIN Damit schaltet man die Meldungen wieder ein. |FEHLER , @var% Wenn die Meldungen mit |MELDUNG.AUS unterdrückt wurden, erfolgt bei einem Fehler zwar ein Abbruch des Programms, der Benutzer erfährt aber nicht, was passiert ist. Mit diesem Befehl kann man sich die Fehlerursache mitteilen lassen. Folgende Werte für var% sind nach dem Aufruf möglich: var% = 0 Es ist kein Fehler aufgetreten. |
|
|