APPLICATIONSPROGRAMMATION ★ DZ80 MAKROASSEMBLER ★

DZ80 MAKROASSEMBLER (Aktueller Software Markt)DZ80 — Entwicklungssystem für Z80A-Software unter CP/M (CPC Magazin)
★ 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 ★ 

Assembler und Disassembler, die auf den CPCs oder dem Joyce einsetzbar sind, gibt es einige. Das hier vorgestellte Entwicklungssystem stellt eine Kombination aus Editor, Macroas-sembler, Monitor, Singlestepper und Reassembler dar. Es ist sowohl zur Programmierung von kleinen CP/M-Utüi-ties wie auch zum Zusammenfügen (Linken) mehrerer MC-Programme geeignet. Dank seines Bedienungskomforts, seiner Flexibilität und Funktionsvielfalt zählt der DZ80 dabei zu den besseren Produkten seiner Klasse.

Um seinen Quelltext zu erstellen, gibt es zwei Möglichkeiten. Zum einen kann man Speicherbereiche mit dem Reassembler in editier- und listbare Texte verwandeln. Der übliche Weg ist die manuelle Eingabe von Listings. Nach dem Laden und Starten von DZ80 befindet man sich sofort im Editormodus. Die Eingabe einer Zeile beginnt immer mit einer Nummer, danach folgt der eigentliche Text. Der Abschluß geschieht mit RETURN, und die Zeile kommt ins Listing. Eine Eingabezeile ohne Nummer wird als Kommando interpretiert und, falls möglich, ausgeführt.

Ist der Befehl nicht vorhanden oder tritt während seiner Abarbeitung ein Fehler auf, erscheint eine entsprechende Meldung, die aus mindestens zwei Abkürzungen besteht. Die erste besagt, welcher Programmteil oder welches angeschlossene Gerät den Fehler mitgeteilt hat. Die zweite gibt, wenn möglich, eine genauere Bezeichnung des aufgetretenen Fehlers an. Das ist aufschlußreicher als ein spärliches Fragezeichen oder ein schlichtes Pardon.

Der Zeileneditor selbst erlaubt Eingaben mit einer Länge von maximal 80 Zeichen. Ein Copycursor ist nicht vorhanden. Es existieren einige CTRL-Kombinationen zum Bewegen des Cursors um eine oder mehrere Stellen und zum Löschen von einem oder mehreren Zeichen. Dies unterstützt das Bearbeiten einer Zeüe ungemein. Zudem kann noch zwischen Einfügen und Überschreiben umgeschaltet werden.

Acht weitere Befehle dienen zum Einfügen, Listen, Korrigieren, Löschen, Verschieben, Kopieren, Suchen und Austauschen von Zeilen oder Zeilengruppen. Sie erleichtern die Arbeit nochmals. Der Beginn des Speicherbereichs für die Ablage des Textes ist dabei frei wähldes Macros steht. Auf diese Art wird der Textspeicher optimal genutzt.

Der Singlestepper dient zum Austesten schon vorhandener Programme oder solcher, die mit dem Editor geschrieben und dann assembliert wurden. Dabei ist auch die durchgehende Ausführung mehrerer Befehle ohne Kontrollanzeige möglich. Ein weiterer Schalter erlaubt es dem Entwickler, bei JP- oder CALL-Kommandos eine Echtzeitverarbeitung der aufzurufenden Routine zuzulassen.

bar. Da möglichst viel Platz für Text und Maschinencode frei bleiben soll, kann der Komfort des Editors natürlich nicht den einer professionellen Textverarbeitung erreichen. Wer allerdings eine solche besitzt, kann seine Assembler-Texte natürlich auch mit ihr erstellen. Dies empfiehlt sich aber nur für geübte Programmierer, da ein Probe-Assemblieren dann nicht mehr so leicht durchzuführen ist. Andererseits können deshalb eventuell schon vorhandene Assemblerlistings weiterverwendet werden.

Unter CP/M beginnt ein Programm immer bei 0100 hex. Soll es in einem anderen Speicherbereich ablaufen, muß es dennoch, zusammen mit einem Lader, an eben diese Adresse geladen werden. Die Adresse für die Ablage des Assembler-Textes ist daher oberhalb angesiedelt. Sollte der Maschinencode von 0100 hex bis in den Text hineinwachsen, ist die Textadresse entsprechend zu erhöhen. Liegt die obere Grenze, der Beginn des DZ80, zu tief für das Ende des Textes, lassen sich nacheinander, je nach Bedarf, der Reassembler, der Singlestepper, Modul eins und Modul zwei des Monitors löschen. Die bisher belegten Speicherbereiche werden dann freigegeben. Die Bereiche für CP/M, DZ80 und Quelltext sind nämlich gegen Überschreiben weitestgehend geschützt.

Der Assembler verfügt über einige nützliche Pseudobefehle zusätzlich zum Standard. Das PUT-Kommando ermöglicht es, die Adresse festzulegen, ab der das assemblierte Programm in den Speicher geschrieben wird. Man kann also durchaus ein Programm, das mit dem Befehl ORG 0A000H für diesen Adreßbe-reich bestimmt ist, ab Adresse 0100H ablegen und auf Diskette abspeichern. Dieses Programm muß dann noch mit einem Lader versehen werden, der es später in den gewünschten Bereich verschiebt.

Aber auch die Möglichkeit der Macro-definition bietet dem Programmierer viel Flexibilität. Dazu stehen spezielle Variablen und eine gesonderte Form der IF-Anweisung zur Verfügung. Der Gebrauch des normalen IF...ENDF ist aber ebenfalls zugelassen. Mit Macros lassen sich Assemblerlistings erheblich verkürzen. Wenn eine Befehlssequenz mehr als zweimal in einem Listing auftaucht, definiert man sie einmal als Macro. Dieses erhält zudem einen Namen, der wiederum an den Stellen im Listing eingesetzt wird, an denen sonst die Kommandofolge stünde. Käme z.B. in einem Listing fünfnjal eine zehnzeilige Befehlssequenz vor, würde sie schon 50 Zeilen belegen. Als Macro definiert, benötigt sie dann nur noch zehn Zeilen plus der fünf, an denen ersatzweise der Name des Macros steht. Auf diese Art wird der Textspeicher optimal genutzt.

Der Singlestepper dient zum Austesten schon vorhandener Programme oder solcher, die mit dem Editor geschrieben und dann assembliert wurden. Dabei ist auch die durchgehende Ausführung mehrerer Befehle ohne Kontrollanzeige möglich. Ein weiterer Schalter erlaubt es dem Entwickler, bei JP- oder CALL-Kommandos eine Echtzeitverarbeitung der aufzurufenden Routine zuzulassen.

Die beiden Monitormodule bieten alles, was man von einem ordentlichen Monitorprogramm erwartet. Speicherbereiche lassen sich vertauschen, durchsuchen, vergleichen, verschieben, kopieren und löschen. Eine weitere Hilfe ist die Suchfunktion für Zeiger und relative Sprünge. Man kann sich die Registerinhalte des Prozessors anschauen und verändern, Bytes in den Speicher eingeben, RAM-Bereiche von Disektte einiesen oder auf Diskette speichern. Mit dem Checksum-Dump sind auch DATA-Listings von Computerzeitschriften einigermaßen komfortabel einzutippen.

Unbedingt erwähnenswert ist noch die flexible Gestaltung der Druckernutzung. Der Printer kann jederzeit mit Steuercodes beschickt werden. Die Seitenlänge bei der Ausgabe von Listings läßt sich frei wählen.

Das Handbuch ist beinahe etwas knapp geraten. Allerdings enthält es auf seinen 36 Seiten auch noch eine Kurzeinführung in Assembler. Ansonsten wurde alles aufgeführt, was man zur Bedienung des Entwicklungspakets braucht. Da der DZ80 für CP/M-Computer im allgemeinen geschrieben und für die CPCs und den Joyce nur angepaßt wurde, sind also keine tiefschürfenden Weisheiten über das Innenleben eines dieser beiden Rechnertypen zu erwarten. Wer aber über genügend Assembler-Kenntnisse und Unterlagen zu seinem System verfügt, erhält ein nützliches Werkzeug zum Erstellen eigener MC-Programme. Anfänger, die sich im Besitz eines Assemblerkurses (z.B. Z80-Assembler-kurs) befinden, können sich so gleich an die Bedienung ihres zukünftigen Arbeitsgeräts gewöhnen und ersparen sich zugleich das Abtippen der ohnehin nicht sonderlich brauchbaren Assembler, die normalerweise in solchen Büchern zu finden sind.

H. H. Fischer , CPC Magazin

★ PUBLISHER: BBG-SOFTWARE
★ YEAR: 1987
★ CONFIG: 64K + AMSDOS (CPC 464/ 664/6128 und Joyce)
★ LANGUAGE:
★ LiCENCE: COMMERCIALE
★ AUTHOR(S): ???
★ PRICE: 99 DM

★ 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 » CPC-Fehlerroutine (CPC Magazin)
» Applications » Bankman nos seus Programas (Amstrad Magazine)
» Applications » Tracer (Detlef Gunkel)
» Applications » ZAPP: Z80 Assembly Programming Package
» Applications » RSX Scroll (CPC Amstrad International)
» Applications » Reloc (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 561 millisecondes et consultée 2286 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.