APPLICATIONSPROGRAMMATION ★ MAKROASSEMBLER DZ80 2.0X CP/M|CPC Amstrad International) ★

Makroassembler DZ80 2.0X CP/MApplications Programmation
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

»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:

  • Eingabe von Zeilen mit automatischer Zeilennumerierung.
  • Listen, Einfügen, Löschen, Verschieben, Kopieren und Korrektur bestimmter Zeilen des Workfües.
  • Suchen und Austausch von Textteilen.
  • Einstellen und Listen des Workfile-namens.
  • Laden und Speichern des Workfiles.
  • Zusammenfügen mehrerer Files usw.

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.
Als Datentypen sind zugelassen:

  • Hexadezimale, binäre und dezimale Zahlen.
  • ASCII-Bytes, Standard-ASCII-Bytes, Video-Bytes.
  • Symbole
  • Funktionen (21 an der Zahl, z.B. SQR, MOD, ABS, zahlreiche Rotations- und Schiebefunktionen für binäre Rechenoperationen).

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:

  • NAME
    Festlegung des Titels und eines eventuellen Subtitels.
  • IF ...
    Bedingte Assemblierung ENDF
  • symbol:
    Festlegung eines Labels (Beispiel: DRUCK:)
  • symbol:
    Festlegung einer Pseudovariablen (Beispiel BDOS=5)

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:

  • as < t > < lnr1 > < , lnr2 > Assembliert die Zeilen lnrl bis lnr 2. Tritt ein Fehler auf, wird die Assemblierung abgebrochen. PUT und ORG müssen definiert sein, ansonsten erfolgt eine Fehlermeldung. Im Testmodus wird zeilenweise assembliert, der MC-Code jedoch nicht im Speicher abgelegt.
    Das assemblierte und im Speicher befindliche MC-Programm kann vom Monitor aus gestartet und gegebenenfalls auf Diskette abgespeichert werden.
  • al < lnr1 > , < lnr2 >
    gibt ein Assemblerlisting der Zeilen lnrl bis lnr2 aus.
  • ac
    prüft, ob ein Symbol mehrfach definiert wurde.
  • acs
    hängt alle Symbole an das aktuelle Programm in Form von Pseudovariablen.
  • a
    gibt eine Symboltabelle aus.

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

  • HEX-, WORD-, und ASCII-Dumps ausgeben,
  • Speicherbereiche vergleichen, aus-tauschen, verschieben und mit Werten füllen sowie korrigieren,
  • Bytefolgen, Pointer, Adressen und relative Sprungbefehle aufsuchen,
  • Inhalte von Registern ausgeben,
  • Dateien laden und abspeichern
  • Programme starten und testen Neben diesen speziellen Kommandos für Editor, Assembler, Reassembler, Singlestepper und Monitor stellt DZ80 noch eine weitere Gruppe von allgemeinen Kommandos zur Verfügung. Hier sind einige der Möglichkeiten:
  • Festlegen der Startadresse des Quelltextes im Speicher.
  • Löschen des Reassemblers, des Singlesteppers und des Monitors, um den Speicherplatz für Quellcode und MC-Code zu vergrößern.
  • Diskettenkommandos zum Auflisten, Löschen und Umbenennen von Diskettendateien sowie zur Auswahl des Laufwerkes.
  • Löschen des Bildschirms.

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:

  • Ausgabe eines beliebigen Textes, z.B. als Kommentar
  • Parallelschaltung des Druckers zum Monitor, alle Ausgaben werden protokolliert.
  • Ausgabe bestimmter Bytes
  • Einstellen aller möglichen Druckeroptionen, z.B. Fettdruck, usw.
  • Festlegen der Zeilenanzahl pro Seite.

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.
Zu hoffen ist, daß die neue Version einige Musterprogramme im Quellcode auf Diskette beinhaltet. Besonderheiten im Programmaufbau sind so leichter zu erkennen und erleichtern dem Neuling oder oder Umsteiger den Einstieg in DZ80.

CPCAI

★ PUBLISHER: BBG-Software
★ YEAR: 1987
★ CONFIG: ???
★ LANGAGE: ???
★ LiCENCE: COMMERCIALE
★ AUTHOR(S): ???
★ PRICES: 99,- DM (CPC) ; 139,- DM (JOYCE)

Page précédente : DZ80 Makroassembler
★ AMSTRAD CPC ★ DOWNLOAD ★

Aucun fichier de disponible:
» Vous avez des fichiers que nous ne possédons pas concernent cette page ?
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Mc Tracer (CPC Amstrad International)
» Applications » Z-80 Softwaretracer für Schneider CPC 464/664/6128 v2
» Applications » Tracer (Compute Mit)
» Applications » Tracer (Detlef Gunkel)
» Applications » RSX - Programm-Tracer (CPC Amstrad International)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 490 millisecondes et consultée 468 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.