APPLICATIONSPROGRAMMATION ★ TRACER (DETLEF GUNKEL)|CPC Amstrad International) ★

Tracer (Detlef Gunkel)Applications 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 ★ 

Inzwischen gibt es viele, die sich in der »Kunst« der Assemblersprache auskennen und zahlreiche Kurse ermöglichen es Anfängern, ebenfalls bald zu den Assembler-Kundigen zu gehören.

Die Vorteile von Assembler liegen auf der Hand: Assemblerprogramme sind sozusagen reine Maschinensprache und sind dadurch äußerst schnell und kompakt (oft ist Assembler zehn- oder sogar einige hundertmal schneller als BASIC!).

Der Nachteil, den man für diese Vorteile in Kauf nehmen muß, liegt beim Erstellen und besonders beim Austesten der Assemblerprogramme, da diese z.B. keine Fehlermeldungen ausgeben können.

Durch spezielle Programme, sogenannte Debugger (engl. »Entwanzer«) lassen sich aber auch Assemblerprogramme komfortabel testen und berichtigen (wie der Fachmann sagt »debuggen« — also »entwanzen«).

Solch ein spezielles Werkzeug ist der TRACER. Einzige Hardwarevoraussetzung ist ein Diskettenlaufwerk -und schon kann es losgehen:

Der TRACER hat ein spezielles Ladeprogramm (Fachausdruck »Relocator«), das ein Laden an jede Adresse ermöglicht (so sollte eigentlich auch eine EPROM-Version möglich sein ...!). Mit ENTER lädt man den TRACER automatisch an die maximal mögliche Adresse. Dann werden alle angeschlossenen ROMs und EPROMs initialisiert und der TRACER wartet auf eine Eingabe. Nun hat man folgende Möglichkeiten, um ein Maschinenprogramm zu testen: Zuerst sind da die »Stan-dard«-Möglichkeiten, die eigentlich jeder Debugger bietet: z.B. Register ändern und anzeigen (optional und nur beim TRACER kann man sich auch die Inhalte der ersten elf Speicherstellen, auf die DE und HL zeigen, darstellen lassen), Breakpoint setzen (d.h. wenn der CPC im zu testenden Programm auf den Breakpoint stößt, springt er zum Debugger und man kann sich die Register ansehen etc.). Natürlich kann man Speicherbereiche anzeigen (»DUMPen« d.h. hexadezimal und in ASCII-Zeichen ausgeben), verändern, kopieren, füllen, disassemblieren und speichern. Programme können geladen, gespeichert und (mit oder ohne Breakpoint) gestartet werden. Je nach Wunsch kann mitgedruckt werden oder nicht.

All dies kann auch jeder normale Monitor bzw. Debugger. Wer Vortex-Hardware benutzt, wird wahrscheinlich den Vortex Monitor kennen, der dies alles auch kann (übrigens ist die Dateneingabe beim TRACER sehr ähnlich).

Aber der TRACER kann noch mehr, wie z.B. Byte- oder Zeichenfolge suchen, Macrobefehl setzen, Port(s) lesen und schreiben. Auch das ist nicht allzu ungewöhnlich, aber das Besondere kommt jetzt: man kann nämlich die ROM-Konfiguration einstellen und einen sogenannten »Softbreakpoint« in ein ROM bzw. EPROM setzen. Dadurch wird es nun zum ersten Mal möglich, auch ROMs und EPROMs »durchzutracen«.

Falls man beim Testen seiner Programme einen Fehler gefunden hat, kann man diesen mit dem integrierten Zeilenassembler schnell berichtigen und dadurch gleich testen, ob das Programm jetzt richtig funktioniert.

Leider versteht der Assembler aber nicht die Schneider-spezifische Anwendung der Restarts auf dem CPC und Zahlen können nur hexadezimal eingegeben werden. Dabei ist kein »&« (SHIFT+6) davor nötig, sondern ein »H« hinter der Zahl — bis man sich daran gewöhnt hat, dauert es schon einige Zeit! Aber man kann auch ganz auf das »H« verzichten; meistens geht es dann auch; nur bei Befehlen wie »LD A,B« muß man mit dem »H« kennzeichnen, ob der Akku mit dem Inhalt des Registers B oder der Zahl &B, dezimal 11, geladen werden soll (hier müßte dann das »H« erscheinen; beim ersten Fall nicht).

Das »Tracen« wovon der TRACER wohl seinen Namen hat, ist die »Schritt für Schritt« Abarbeitung eines Maschinenprogramms mit gleichzeitigem Anzeigen der Registerinhalte (s.o.). Dieses Debug-Hilfsmittel ist eine große Stärke des TRACER: man kann eingeben, wieviele Schritte ausgeführt werden sollen, CALLs und/oder Restarts (RSTs) kann man in Echtzeit ausführen lassen (so daß man sich nicht immer mit evtl. unwichtigen Unterroutinen beschäftigen muß), und schließlich besteht die Möglichkeit (wie bereits gesagt), alle angeschlossenen ROMs und EPROMs in diesem »Trace«-Modus durchzutesten und zu erforschen.

Diese »(EP)ROM—Trace—Fähigkeit« wurde dadurch erreicht, daß der TRACER nur eigene Routinen benutzt; das Original-Betriebssystem also nicht benutzt wird. Das Besondere beim TRACER ist noch, daß man eine bestimmte Anzahl Schritte ausführen lassen kann, ohne dauernd die Register angezeigt zu bekommen - erst am Ende wird der aktuelle Registersatz wieder dargestellt.

Angenehm fällt außerdem auf, daß sich bestimmte Befehle einfach durch ENTER wiederholen lassen. Diese Befehle erkennt man leicht daran, daß nach ihrer Ausführung zwei Nummernzeichen (» # # «) statt eines einzigen beim nicht mit ENTER wiederholbaren Befehl als Prompt angezeigt werden. Auch, daß man durch Antippen von »Y« den Tracerstatus angezeigt bekommt* ist erfreulich.

Die große Frage lautet nun, ob sich der TRACER mit seinen Fähigkeiten auch in der Praxis bewähren konnte. Dies kann mit einem »Ja« beantwortet werden, allerdings sind einige Abstriche zu machen: wer sich an den Zehnerblock gewöhnt hat, wird ihn vielleicht schmerzlich vermissen, denn er ist nicht mehr zur Zahleneingabe nutzbar. Auch existiert beim »Quit« (also Abbrechen des TRACERs) keine Sicherheitsabfrage, ob man den TRACER wirklich verlassen will. Diese wäre sehr angebracht, da bei Quit das Betriebssystem initialisiert wird und der TRACER danach neu geladen werden muß. Schade ist auch, daß es bei den Befehlen, die zwischen zwei Arten (z.B. ausführliche und normale Registeranzeige) hin- und herschalten, keine Rückmeldung gibt, welcher Modus nun gerade aktiv ist.

Das Handbuch beschreibt die Befehle ies TRACERs ganz gut, wirkt aber manchmal etwas unglücklich strukturiert (gleich am Anfang wird z.B. auf die verschiedenen Registeranzeige-Arten eingegangen und erst fast am Ende gesagt, wie man die Register überhaupt anzeigen läßt).

Zusammenfassend kann man also sagen, daß der TRACER dem Maschinensprache-Freak viele nützliche Möglichkeiten zum Testen seiner Programme und seiner ROMs und EPROMs bietet. Einige kleine Details, die aber sicher auch z.T. Geschmackssache sind, könnten noch verbessert werden, aber auch so ist der TRACER für alle empfehlenswert, die noch kein solches Programm haben. Auch derjenige, der seinen CPC total kennenlemen will, kommt durch die ROM-Trace-Möglichkeit kaum am TRACER vorbei. Für ca. 50,— DM erhält man ein leistungsfähiges Programm, das einen tieferen Einblick in ROMs und EPROMs gewähren und viel Fehlersuch-Ärger ersparen kann.

(Jan Mirko Maczewski) , CPCAI

★ PUBLISHER: Detlef Gunkel
★ YEAR: 1987
★ CONFIG: ???
★ LANGAGE: ???
★ LiCENCE: COMMERCIALE
★ AUTHOR: Peter Höpfner
★ PRICE: 49,- (vortex 5.25“) ; 55,- (Schneider 3“)

★ 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 » Z-80 Softwaretracer für Schneider CPC 464/664/6128 v2
» Applications » RSX - Programm-Tracer (CPC Amstrad International)
» Applications » Tracer (Compute Mit)
» Applications » Mc 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 363 millisecondes et consultée 386 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.