★ APPLICATIONS ★ PROGRAMMATION ★ DZ80 MAKROASSEMBLER ★ |
DZ80 MAKROASSEMBLER (Aktueller Software Markt) | DZ80 — Entwicklungssystem für Z80A-Software unter CP/M (CPC Magazin) |
Komfortable Makroassembler Uber einen Mangel an Assemblern kann sich der Schneider-Fan nun wirklich nicht beschweren. DZ80 ist nun bereits der dritte Makro-Assembler, den ASM für die Schneider-Computer vorstellt. Wie auch schon bei den getesteten Makroassemblern MAXAM und DEVPAC handelt es sich bei dem neuen Assembler DZ80 nicht nur um einen leistungsstarken Assembler, sondern um ein komplettes Entwicklungssystem für den Maschinensprache-Programmierer. Ebenfalls identisch ist, daß auch dieses System unter dem Betriebssystem CP/M betrieben wird. Aus diesem Grunde gibt es eine Version für JOYCE sowie eine weitere Version für die Modelle CPC464/664 und 6128. Im Gegensatz zu den erwähnten Entwicklungssystemen besteht DZ80 im wesentlichen nur aus einem Programmfile. Dieses Programmfile hat es allerdings in sich. Es beinhaltet neben dem eigentlichen Makroassembler einen Editor, einen Monitor, einen Reassembler und einen Singlestepper zum Warten der erzeugten Maschinenprogramme. Eine Benutzeroberfläche, wie sie bei den anderen Programmen notwendig ist, entfällt auf diese Weise völlig. Nachdem man das Programm aufgerufen hat, meldet sich dieses aus einer Art Kommandoprozessor heraus. Dies bedeutet, alle Befehle und Funktionen lassen sich durch entsprechende Kürzel aufrufen. Um beispielsweise ein Programm zu schreiben, gibt man den Buchstaben I für INSERT ein, und kann anschließend Zeile für Zeile eingeben. Wie das Wort Zeile schon befürchten läßt, handelt es sich hiertat-sächlich um einen zeilenorientierten Editor. Obwohl ein Full Screen-Editor sicherlich beliebter ist, gewöhnt sich auch der verwöhnteste Programmierer schnell an den Zeileneditor. Der Befehlsumfang des Editors ist so umfangreich angelegt, daß auch Funktionen wie Dele-te, Transfer, Copy, Merge u.v.m. keine Probleme bereiten. Vorteilhaft ist auch der eingebaute SYNTAX-CHECK, welcher schon bei der Eingabe darauf achtet, daß die richtige Schreibweise verwendet wird. Der eigentliche Aufbau einer Assemblerzeile entspricht natürlich auch bei DZ80 voll dem Z80-Assembler Standard. Dies bedeutet, nach einem LABEL folgt der BEFEHL, der OPERANT und wahlweise auch ein Kommentar. Beim Listen des Assemblerlistings wird die Ausgabe auch entsprechend auf dem Ausgabegerät (Bildschirm bzw. Drucker) formatiert. Da der Editor schon während der Eingabe eine Art Zwischencode erzeugt, belegt der abgelegte Source-Code etwa 30 bis 85% weniger Speicherplatz als bei einem üblichen Assembler. Der eigentliche Assembler kann von der Kommandoebene jederzeit aktiviert werden. Je nach Programm bearbeitet dieser etwa 250 bis 1800 Zeilen pro Sekunde. Trotz dieser rasanten Geschwindigkeit bietet der Assembler zahlreiche zusätzliche Features wie Makros, zahlreiche Pseudobefehle, bedingte Programmiermöglichkeiten, alphabetisch geordnete Tabellen aller Symbole und einiges mehr. Auch komlexe arithmetische Ausdrücke werden vom Assembler ohne Probleme bearbeitet. Hilfreich ist auch, daß alle LABEL-Bezeich-ner eine beliebige Länge besitzen dürfen, sie werden jeweils bis zum letzten Buchstaben unterschieden. Der eingebaute Monitor besitzt ebenfalls den mittlerweile üblichen Befehlsstandard zum Editieren, Disas-semblieren, Füllen, Verschieben oder Ausgeben eines beliebigen Speicherbereichs. Neu ist hier vielleicht, daß neben dem HEX-DUMP auch ein WORD- und ASCII-DUMP erzeugt werden können. Der REASSEMBLER, der nicht immer zum Standard eines Entwicklungspaketes gehört, gibt dem Assembler völlig neue Möglichkeiten in die Hand. So ist der Programmierer jetzt jederzeit in der Lage, eine Routine des ROMs oder auch eines anderen Speicherbereichs in den Source-Text einzubinden. Durch geschickte Veränderungen läßt sich auf diese Weise so manche Betriebssystemroutine für eigene Zwecke verwendbar machen. Der SINGLESTEPPER erlaubt schließlich, ein Programm im Einzelschritt abzuarbeiten. Der Befehl wird hierbei erst reas-sembliert,dann ausgeführt und wie beim Assemblerlisting ausgegeben. Zusätzlich wird nach jeder Befehlsausführung der Inhalt aller Register ausgegeben, wodurch ein Programmfehler oft schnell gefunden wird. Zuletzt noch ein paar interessante Angaben zur Speicher-aufteiiung des Entwicklungssystems. Der eigentliche Assembler liegt am oberen Ende der TPA. Zuerst folgt der Quelltext, dann das Reassembler-und Singlesteppermoduf, das die oberste Grenze für den Quelltext darsteflt Danach folgen das Monitormodul mit den unwichtigeren Befehlen und danach das Monitormodul mit den wichtigen Befehlen. Erst danach steht der Speicherbereich für den Source-Code sowie für eventuelle Symboltabellen zur Verfügung. Wie man sieht, ist das System recht vollgepackt mit Programmteilen, wodurch nur relativwenig Speicher für die eigentiiche Entwicklung übrig bleibt. Für den Fall, daß ein Programm mehr Speicher benötigt, existieren jedoch Befehle, welche einzelne Programmmodule abtrennen können. Fazit: DZ80 ist ein modernes Assembler - Entwicklungssystem, das insbesondere durch seine einfache Bedienung aus einer Kommandoebene heraus überzeugt Bei einem Verkaufspreis unter 100 DM stellt das Programm eine gute Alternative zu bereits vorhandenen Entwicklungssystemen dar. Lediglich ein FULL-SCREEN-Editor oder ein LINKER hätte dem System noch einige Pluspunkte gebracht.
Frank Brall, ASM |
|
|