summaryrefslogtreecommitdiff
path: root/doc/ddtz-ref.txt
blob: 5d545696ff5d9da894f6d9d0f1e1e89ab81d6f96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
        Zusammenfassung der Kommandos
        -----------------------------

        > @
             examine [substitute] displacement register @
             Anzeigen und eventuell Aendern des Displacement-Registers

        > A [startadresse]
             Assemble Zilog Z80 mnemonics
             Assemblieren von Z80-Befehlen

        > B
             display all breakpoints
             Anzeigen aller Breakpoints
        > B breakp [breakp..]
             set breakpoints
             Breakpoints setzen
        > BX
             clear all breakpoints
             Loeschen aller Breakpoints
        > BX adresse [adresse..]
             clear breakpoints
             Breakpoints loeschen

        >>C[N][J] [befehlsanzahl]
        >>C[N][J] W ausdruck
        >>C[N][J] U ausdruck
             trace over calls [No list] [Jumps only] /.While./.Until.
             Tracen  ueber  CALLs  [ohne Ausgabe]  [nur  Sprungbefehle] 
             /.solange./.bis.

        >>D [startadr] [endadr]
             Display memory in hex and ASCII
             Auslisten des Speichers in HEX und ASCII

        > Fkommandozeile
             specifiy filename and command line
             File-Controlblock und CP/M-Kommandozeile spezifizieren

        > G [startadr] [;breakp..]
             Go [to start] [with temporary breakpoints]
             Starte ein geladenes Programm,  eventuell mit  temporaeren 
             Breakpoints

        > H
             display High and maximal size of files
             Groesse und maximale Groesse von Files anzeigen
        > H ausdruck
             compute hex and other expressions
             Berechnen eines Ausdrucks
        > H ausdruck ausdruck
             Hex and other sum and difference
             Summe und Differenz zweier Ausdruecke

        >>I [port]
             Input a byte from port
             Einlesen eines Daten-Bytes von einem Port

        >>L [startadr] [endadr]
             List disassembled code
             Listen eines Speicherbereichs in Z80-Mnemonics

        > M[V] startadr endadr zieladr
             Move memory [and verify]
             Umladen  eines Speicherbereiches in einen  anderen,  evtl. 
             Vergleichen

        >>O [byte] [port]
             Output a byte to a port
             Ausgeben eines Datenbytes an einen Ausgabeport

        > Q[J] startadr endadr bytes
             Query memory for a byte string [Justified]
             Durchsuchen  des Speichers nach einer gegebenen Folge  von 
             Bytes

        > R [displacement]
             Read a binary or hex file ]add displacement]
             Einlesen  einer  Binaer- oder  HEX-File in  den  Speicher, 
             evtl. verschoben

        > S [startadr]
             Substitute Memory
             Anzeigen und Aendern von Daten im Speicher

        >>T[N][J] [befehlsanzahl]
        >>T[N][J] W ausdruck
        >>T[N][J] U ausdruck
             Trace [no List] [Jumps only] / .While. / .Until.
             Tracen [ohne Ausgabe] [nur Sprungbefehle] /.solange./.bis.

        > Vstartadr endadr zieladr
             Verify (compare) two memory areas
             Vergleichen zweier Speicherbereiche

        > Wstartadr endadr
             Write a file to disk
             Ausschreiben eines Speicherbereichs in eine File

        > X
             eXamine all cpu registers
             Anzeigen aller Register und des Befehls,  auf den der Pro-
             grammzaehler zeigt
        > X register
             eXamine [and substitute] a register
             Anzeigen und eventuell Modifizieren eines Registers

        > Y
             examine all Y variables
             Anzeigen aller Y-Variablen
        > Yziffer0bis9
             examine [and substitute] an Y variable
             Anzeigen und eventuell Modifizieren einer Y-Variablen

        > Z startadr endadr bytes
             Zap (fill) memory with a byte string
             Vorbesetzen eines Speicherbereiches mit einer Byte-Folge


        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. wurde 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)

        Ausdruecke
        ----------

        In allen Situationen,  in denen Zahlen eingegeben werden  koen-
        nen, ist auch die Eingabe von Ausdruecken erlaubt.

        Ausdruecke sind im allgemeinen arithmetische Ausdruecke,  koen-
        nen  aber  auch  (zum Formulieren von  Bedingungen)  Relationen 
        sein.  Relationen bestehen aus zwei arithmetischen Ausdruecken, 
        zwischen denen einer der folgenden Relationsoperatoren steht:
        =  <>  >  >=  <=  <

        Relationen haben den Wert -1 (=0FFFFH),  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 folgende Form

                  faktor arithmetikoperator faktor arith... faktor

        Die Arithmetikoperatoren sind
        + - * / %           Addition, Subtraktion, Mult., Division, Modulo
        & ! #               bitweise AND, OR, XOR

        Ein Faktor hat die Form
        [ausdruck]          geklammerter Ausdruck
        +faktor
        -faktor             Negation
        ~faktor             bitweise NOT (1er-Komplement)
        'a'                 Wert eines ASCII-Zeichens (a=druckbares Zeichen)
        'a'.                  "  mit gesetzem Bit 7
        'ab'                Wert zweier ASCII-Zeichen (a,b=druckbare Zeichen)
        'ab'.                 "  das niederwertige Zeichen mit gesetztem Bit 7
        (ausdruck)          ein Byte im Speicher
        (ausdruck).         ein Wort im Speicher
        hhhh[H]             Hex-Zahl (h=0..9,A..F oder a..f)
        ddddd.              Dezimal-Zahl (d=0..9)
        bbbbbbbb"bbbbbbbb"  Binaer-Zahl (beliebig mit '"' unterteilt (b=0,1)

        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  be-
        rechnet,  also  ohne Beachtung "Punktrechnung  vor  Strichrech-
        nung",  die  Reihenfolge  kann jedoch mit Klammern '[' und  ']' 
        geaendert werden.
        Ein Pluszeichen darf, wenn dabei der Ausdruck eindeutig bleibt, 
        weggelassen werden; z.B. ist @1000 dasselbe wie @+1000.
        Ausdruecke duerfen keine Leerzeichen enthalten!