DDT/Z180 (ROM) Commands: > @ examine/substitute the displacement register @ > A [address] Assemble > B[X] display [or clear] all Breakpoints B breakp [:count] [breakp..] set Breakpoints BX address [address..] clear Breakpoints >>C[N][J] [count] trace over Calls [No list] [Jumps only] C[N][J] W|U expression trace over Calls While|Until ... >>D [startadr] [endadr] Display memory in hex and ascii > G [startadr] [;breakp..] Go [to start] [temporary breakpoints] > H display High and max load address (set by R cmd) > H expression [expression] compute Hex and other expressions >>I [port] Input a byte from port >>L [startadr] [endadr] List disassembled code > M[V] startadr endadr destadr Move memory [and verify] >>O [byte] [port] Output a byte to port > Q[J] startadr endadr bytes Qery memory for byte string [Justified] > R [displacement] Read intel hex from console [add displacemt] > S address Substitute memory >>T[N][J] [count] Trace [No list] [Jumps only] [count steps] T[N][J] W|U expression Trace While|Until ... > V startadr endadr destadr Verify (compare) two memory areas > X[register] eXamine [and substitute] registers > Y[0..9] eXamine [and substitute] Y variables > 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) 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 arithmetischerexpression oder arithmetischerexpression relationsoperator arithmetischerexpression Die relationsoperatoren sind = <> > >= <= < Der expression hat den Wert -1, wenn die Relation wahr ist, sonst 0. z.B: der expression 1+2=3 hat den Wert -1, und 'A'<'B' den Wert 0 Ein arithmetischer expression 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 [expression] geklammerter expression +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 (expression) ein Byte im Speicher (expression). 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 expression einen Relationsoperator, so werden erst die beiden arithmetischen Ausdruecke berechnet und dann die Relation. Ein arithmetischer expression 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 Argument, 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 D 1000 S 100 oder D1000S100 das selbe wie D 1000 10FF oder D1000,10FF