★ APPLICATIONS ★ PROGRAMMATION ★ MAKROASSEMBLER DZ80 2.0X CP/M|CPC Amstrad International) ★ |
Makroassembler DZ80 2.0X CP/M | Applications Programmation |
»Eines der professionellsten und besten Programme für Anfänger und Profis, die für den Schneider CPC und JOYCE erhältlich sind ...« Dies verspricht der Werbeprospekt der BBG Software den Anwendern des Makro-Assemblerpakets DZ80 2.0X CP/M. Neugierig geworden haben wir DZ80 unter die Lupe genommen. LIEFERUMFANG Geliefert wird der DZ80 als Kassettenversion für den CPC 464, auf Disk unter CP/M 2.2 für CPC 464 und 664, sowie unter CP/M 3.0 für CPC 6128 und Joyce. Eine spezielle Installation ist nicht erforderlich, da die Programme schon an den jeweiligen Computertyp angepaßt sind. Wir haben die CP/M 3.0 Version auf einem CPC 6128 getestet. Eine 40-seitige Anleitung in einem DIN A5 Ringbuchordner, auf die wir später noch eingehen werden, vervollständigt den Lieferumfang. WAS BIETET DZ80? DZ80 ist nicht nur ein simpler Z80A-Makro-Assembler, sondern beinhaltet außerdem einen Editor, einen Monitor, einen Disassembler, einen Singlestepper und einen Druckertreiber. Sehen wir uns die einzelnen Programmteile und ihre Möglichkeiten ein wenig genauer an: DER EDITOR Der Editor, in diesem Fall ein Zeileneditor, ermöglicht die Eingabe des Quelltextes, der später assembliert werden soll. Eine Besonderheit ist die Überprüfung der eingegebenen Zeile auf syntaktische Fehler. Syntaktisch falsche Zeilen werden nicht angenommen, vielmehr wird der Fehler angezeigt und eine neue Eingabe erwartet. Neben einer Reihe von CTRL-Steuer-befehlen zur Positionierung des Kursors sowie zum Editieren der jeweiligen Textzeile, stehen umfangreiche Kommandos zur Bearbeitung des Sourcefiles zur Verfügung. Nachfolgend einige Beispiele der Möglichkeiten:
Die Handhabung des Zeileneditors im Eingabemodus bedarf ein wenig der Gewöhnung. Eine Einbindung der Kursortasten wäre zu überdenken. Positiv fiel uns die automatische Formatierung beim Listen des Quellcodes auf. Der automatische Syntaxcheck ist ganz hervorragend und stellt eine Neuheit auf dem Gebiet der Assembler-Entwicklungssysteme dar. Gerade für den Einsteiger ist sie eine sehr große Hilfe. DER MAKROASSEMBLER Bevor wir uns mit dem Assemblerlauf und seinen Kommandos befassen, müssen wir uns noch mit den Eigenarten des DZ80 befassen.
Neben dem kompletten Z80A-Befehls-satz kennt der DZ80 eine Reihe von Pseudobefehlen. Einige Besonderheiten gegenüber anderen Assemblern wollen wir kurz ansprechen. Neben dem allseits gut bekannten Befehl ORG zur Festlegung der Startadresse für das Maschinenprogramm, stellt DZ80 den Befehl PUT zur Verfügung. Mit ihm wird dem Assembler mitgeteilt, ab welcher Adresse er das assemblierte Maschinenprogramm im Speicher ablegen soll. Auf die Gruppe der DEF-Befehle brauchen wir nicht gesondert einzugehen, dagegen erleichtern die nachfolgenden Befehle dem Anwender die oftmals mühsame Arbeit:
Diese Festlegung entspricht dem Pseudobefehl EQU, der vielleicht von anderen Assemblern bekannt sein dürfte. Wie schon der Begriff MAKRO-As-sembler aussagt, lassen sich auch Makros definieren und assemblieren. Bis zu 8 Makros dürfen in einem übergeordneten Programm angemeldet werden. Ein Aufruf von Makros untereinander ist nicht zugelassen. Nach so viel Vorbereitung wollen wir uns mit dem Assemblerlauf befassen. Wir haben es bei DZ80 mit einem 1-Pass-Assembler zutun, d.h. in einem einzigen Durchlauf wird aus dem Quellcode der ablauffähige Maschinencode. Die Geschwindigkeit des DZ80 ist enorm groß, sie liegt je nach Programmstruktur bei 250 — 1800 Zeilen pro Sekunde. Folgende Kommandos stehen für den Durchlauf zur Verfügung:
Der Assemblerteil glänzt durch seine hohe Geschwindigkeit und durch den Testmodus, mit dem sich auch einzelne Teile von ganzen Programmen assem-blieren und testen lassen. Ebenfalls von der Editorebene aus werden Reassembler, Singlestepper und Monitor aktiviert. REASSEMBLER UND SINGLESTEPPER Mit Hilfe des Reassemblers lassen sich Speicherbereiche als re- oder disas-sembliertes Listing ausgeben und bei Bedarf auch an ein vorhandenes Quellprogramm im Speicher anbinden. Mit Hilfe des Editors kann das so entstandene neue Listing bearbeitet werden. Der Singlestepper hingegen bietet die Möglichkeit, ein Maschinenprogramm in Einzelschritten ablaufen zu lassen und sich die Inhalte der einzelnen Register ausgeben zu lassen. DER MONITOR Einen sehr umfangreichen Befehlsvorrat beinhaltet der Monitor. Die Kommandos lassen sich entweder von der Editorebene mit einem Punkt vor dem jeweiligen Kommando aufrufen oder auch direkt von der Monitorebene aus. Diese erreicht vom Editor aus mit dem Kommando m«. Aus dem Monitor kann man mit Hilfe von »rt« wieder in den Editor zurückkehren. Im Handbuch ist dieses Kommando leider vergessen worden, erst eine Anfrage beim Entwickler löste das Rätsel. Eine genaue Beschreibung würde den Umfang dieser Review sprengen, deshalb nur ein paar kurze Streiflichter: Mit Hilfe des Monitors lassen sich
Unter CP/M plus lassen sich mühelos Quellprogramme mit bis zu 6000 Zeilen assemblieren, unter CP/M 2.2 etwa die Hälfte. Reassembler, Singlestepper und Monitor bieten eine breite Palette an nützlichen Kommandos und lassen fast keine Wünsche mehr offen. Doch was wäre ein gutes Entwicklungssystem ohne eine Druckeranpassung, denn Programme benötigt man oft auch als Paperware. DIE DRUCKERANPASSUNG Möglichkeiten der Druckersteuerung:
Durch einen Fehler im Programm lief die Druckeransteuerung bei der uns zur Verfügung stehenden Version nicht einwandfrei. Nach Rücksprache mit dem Entwickler und Änderung eines Adresseninhaltes war auch dieser Fehler behoben. In der neuen Version tritt der Fehler nicht mehr auf. Fehlerhafte Programme werden von BBG-Software umgetauscht. DAS HANDBUCH Auf ca. 40 Seiten wird DZ80 kurz und ausreichend beschrieben. An die besondere Befehlssyntax wird sich speziell der Anfänger erst langsam gewöhnen müssen. Im Handbuch fehlen weder eine Fehlerbeschreibung noch genaue Erläuterungen der einzelnen Teile des DZ80-Entwicklungssystems. Eine Liste aller Z80A-Befehle sowie eine Kurzeinführung in Z80-Assembler runden das Bild ab. FAZIT : BBG-Software hat es geschafft, einen Makro-Assembler auf den Markt zu bringen, der die Konkurrenz nicht zu scheuen braucht. Für einen guten Preis leistet DZ80 enorm viel. Sieht man von den Mängeln der Vorabversion ab, die inzwischen beseitigt sein dürften, so können wir DZ80 auch Einsteigern empfehlen. Das Handbuch ist jedoch kein Assembler-Lehrbuch, sondern nur eine Anleitung zum Betrieb des Entwicklungssystems.
|