★ APPLICATIONS ★ DIVERS ★ RAM-DUMP (CPC AMSTRAD INTERNATIONAL) ★ |
RAM-Dump (CPC Amstrad International) | Applications Divers |
Speicherinhalt sichtbar gemacht Sicherlich stellt sich für den erfahrenen BASIC- Programmierer die Frage, wofür man ein RAM-Dump-Programm in Maschinensprache überhaupt braucht. Zumal dieses Programm sicherlich länger ist als ein BASIC-Programm, das dem gleichen Zweck dient. Nun, der Vorteil liegt klar auf der Hand. Maschinencode-Programme können jederzeit aufgerufen werden, ohne vorhandene BASlC-Programme zu löschen. Die Programmierer, die es nicht besonders eilig haben, werden bestimmt auch weiterhin ein BASIC-Programm benutzen. Die Programmierer, die keine Zeit übrig haben, möchten sicherlich bald das Dump-Programm nicht mehr missen, denn der Geschwindigkeitsgewinn gegenüber einem BASIC-Programm ist doch recht beachtlich. Das Maschinenprogramm ist gegenüber meinem BASIC-Programm um den Faktor 3.7 schneller. Nach korrektem Eintippen beziehungsweise Einladen des Programms muß dieses durch den Befehl “CALL &A000“ einmalig initialisiert werden. Wenn der Datalader einmal eingegeben und gestartet worden ist, kann dieser gelöscht werden, da sich das Maschinenprogramm auf Diskette geschrieben hat. Dieses Maschinenprogramm kann dann jederzeit durch 'LOAD “DUMP.BIN“, &A000' wieder geladen werden, muß aber immer einmal durch “CALL &A000“ initialisiert werden. Die Ein- und Ausgabe Kann dann zu jeder Zeit mit dem RSX-Befehl: |DUMP, (Anfangsadresse), (Endadresse), (Integerzahl)aufgerufen werden. Die Anfangs- und die Endadresse können als Zahl (im Bereich 0 bis 65535 beziehungsweise &0000 bis &FFFF) oder als Variable, deren Wert ebenfalls im oben genannten Bereich liegt, angegeben werden. Zu dem letzten Parameter ist zu sagen, daß er das Ausgabegerät bezeichnet. Wird eine Zahl ungleich 0 eingegeben, so wird als Sichtgerät der Drucker gewählt. Im anderen Falle werden die Daten auf dem Bildschirm ausgegeben. Die Datenausgabe ist so aufgebaut, daß zunächst die Adresse und deren Speicherinhalt im HEX-Format erscheint. Als letztes werden diese sechzehn Speicherinhalte als ASCII-Dump auf dem Ausgabegerät ausgegeben. Bei diesem ASCII-Dump werden nur Werte im Bereich größerer 32 und kleiner 128 als ASCII-Zeichen ausgegeben. Steuerzeichen und Zeichen, deren Bereich über 128 liegen, werden als Punkt ausgegeben. Ist der Bildschirm gewählt worden, dann werden die Farben in ihre Ausgangsstellung zurückgesetzt. Nachdem die Ausgabe bei 23 Zeilen angelangt ist, wird die Ausgabe angehalten. Durch Betätigen einer beliebigen Taste geht es aber im Ablauf weiter. Möchte man das Programm unterbrechen, so kann das jederzeit mit der ESC-Taste geschehen. Druckerausgabe Ist der Drucker als Ausgabegerät gewählt worden, so wird am Bildschirm nichts verändert. Auf dem Drucker erscheint zuerst der Bereich, der “gedumpt“ wird, danach werden auch hier die Daten, wie oben beschrieben, ausgegeben. Diese Ausgabe kann man ebenfalls mit der ESC-Taste unterbrechen, allerdings werden die Zeilen, die sich schon im Druckerpuffer befinden, ausgedruckt.
|