FILE: DDTZ.DOC ANLEITUNG zum DDTZ Developement Debugging Tool for Z80 microcomputers Zusammenfassung der Befehle: > @ examine [and substitute] the displacement register @ > A [startadresse] Assemble > B display all Breakpoints B breakp [breakp..] set Breakpoints BX clear all Breakpoints BX adresse [adresse..] clear Breakpoints >>C[N][J] [befehlsanzahl] trace over Calls [No list] [Jumps only] C[N][J] W ausdruck ..Wile.. C[N][J] U ausdruck ..Until.. >>D [startadr] [endadr] Display memory in hex and ascii > Fcommandozeile specify Filename and command line > G [startadr] [;breakp..] Go [to start] [with temporary breakpoints] > H display High and maximal size of files > H ausdruck compute Hex and other expressions H ausdruck ausdruck Hex and other sum and difference >>I [port] Input a byte from port >>L [startadr] [endadr] List disassembled code > M[V] startadr endadr zieladr Move memory [and Verify] >>O [byte] [port] Output a byte to port > Q[J] startadr endadr bytes Qery memory for a byte string [Justified] > R [displacement] Read a binary or hex file [add displacement] S startadr Substitute memory >>T[N][J] [befehlsanzahl] Trace [No list] [Jumps only] T[N][J] W ausdruck ..Wile.. T[N][J] U ausdruck ..Until.. > V startadr endadr zieladr Verify (compare) two memory areas > W startadr endadr Write a file to disk > X eXamine all cpu registers X register eXamine [and substitute] a register > Y examine all Y variables Yziffer0bis9 examine [and substitute] an Y variable > Z startadr endadr bytes Zap (fill) memory with a byte string --- Registernamen: A , F , B , C , D , E , H , L ,BC , DE , HL A', F', B', C', D', E', H', L',BC', DE', HL' IX oder X , IY oder Y , SP oder S , PC oder P , I Flags des F- und des F'-Registers: S Sign Vorzeichen Z Zero Null H Half carry Uebertrag von bit 3 nach bit 4 V oVerflow/parity Ueberlauf/gerade Paritaet N Negation NEG, DEC, SUB o.ae. ausgefuehrt C Carry Uebertrag von bit 7 E interrupt Enabled Das Interrupt flag wird im DDTZ wie ein flag des F-Registers behandelt. Variablen und Konstanten: L Low Benutzerspeicher-Anfang. Festwert 100H H High Hoechste Adresse der letzten gelesenen File M Max Maximale Adresse aller gelesenen Files T Top Oberes ende des Benutzerspeichers @ Displacement Register $ beim Assemblieren Anfangsadresse des Befehls sonst = PC Y0..Y9 Frei verwendbare Variablen ^register Inhalt eines Registers (adresse) Inhalt eines Speicherplatzes (Byte) (adresse). Inhalt eines Speicherplatzes (Wort) Aufruf des DDTZ: DDTZ oder DDTZ d:filename.ext Bei beiden Aufrufen laedt das Disk Operating System das DDTZ bei Adresse 100H beginnend in den Speicher. Das DDTZ verlagert sich danach direkt vor das BDOS und ueberschreibt dabei den CCP. Der Adressteil des Befehls JP BDOS auf Adresse 5 wird erniedrigt, um dem Anwenderprogramm die durch das DDTZ verringerte Speichergroesse mitzuteilen. Der urspruenglich vom DDTZ belegte Speicher wird daraufhin mit Nullen geloescht. Wurde im Aufruf ein Filename angegeben, so laedt das DDTZ die File in den Speicher. Nach Ausgabe des Prompt-Zeichens '>' ist das DDTZ betriebsbereit. Allgemeines zum Gebrauch des DDTZ: Ausdruecke: In allen Situationen, in denen Zahlen eingegeben werden koennen, ist auch die Eingabe von Ausdruecken erlaubt. Ausdruecke haben die Form arithmetischerausdruck oder arithmetischerausdruck relationsoperator arithmetischerausdruck Die relationsoperatoren sind = <> > >= <= < Der ausdruck hat den Wert -1, wenn die Relation wahr ist, 0 sonst. z.B: der Ausdruck 1+2=3 hat den Wert -1, und 'A'<'B' den Wert 0 Ein Arithmetischer Ausdruck hat die allgemeine Form faktor arithmetikoperator faktor arith... faktor Die Arithmetikoperatoren sind + - * / % Plus, Minus, Multiplikation, Division, Modulo & ! # bitweise AND, OR, XOR Ein Faktor hat Die Form [ausdruck] geklammerter Ausdruck +faktor -faktor Negation ~faktor bitweise NOT 'a' Wert eines ASCII-Zeichens 'a'. " mit gesetztem Bit 7 'ab' Wert zweier ASCII-Zeichen 'ab'. " das niederwertige mit gesetztem bit 7 (ausdruck) ein Byte im Speicher (ausdruck). ein Wort im Speicher variable eine der oben aufgezaehlten Variablen hhhh[H] Hex-Zahl ddddd. Dezimal-Zahl bbbbbbbb"bbbbbbbb" Binaer-Zahl (beliebig mit '"' unterteilt) Enthaelt ein Ausdruck einen Relationsoperator, so werden erst die beiden arithmetischen Ausdruecke berechnet und dann die Relation. Ein arithmetischer Ausdruck wird von links nach rechts berechnet, also ohne Beachtung 'Punktrechnung vor Strichrechnung', die Reihenfolge kann jedoch mit Klammern '[' und ']' geaendert werden. Ausdruecke duerfen keine Blanks enthalten. Befehle: Befehle beginnen mit einem der Zeichen '@' bis 'Z', eventuell gefolgt von weiteren optionalen Buchstaben, sowie Argumenten. Wird eine optionale Anfangsadresse weggelassen, so wird die Adresse benutzt, bei der Befehl zuletzt beendet wurde. Wird eine optionale Endadresse weggelassen, so wird der Befehl (z.B. L oder D) so lange ausgefuehrt, bis etwa ein Bildschirm vollgeschrieben ist. Ein weggelassenes optionales Argumemt, hinter dem weitere Argumente angegeben werden sollen, muss durch ein Komma ersetzt werden. Zwischen zwei Argumenten muss ein Blank, ein Tab (^I) oder ein Komma stehen. Bei Befehlen, die eine Start- und eine Endadresse erfordern, kann anstelle der Endadresse auch der Buchstabe 'S', gefolgt von einer Laengenangabe verwendet werden. z.B. bedeutet