summaryrefslogtreecommitdiff
path: root/doc/ddt180-ref-cb.txt
blob: e96b1247a84d7cd2b3618b818486d260e815325e (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
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
Kurzreferenz zu DDT180 - Ein erweiterter DDTZ

Änderungen zum Original DDTZ [8101] sind mit "|" am                     |
rechten Rand markiert.                                                  |

Zusammenfassung der Kommandos
-----------------------------

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

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

> B
     display all breakpoints
     Anzeigen aller Breakpoints
> B breakp [breakp..]
     set breakpoints
     Breakpoints setzen
> BX
     clear all breakpoints
     Löschen aller Breakpoints
> BX adresse [adresse..]
     clear breakpoints
     Breakpoints löschen

>>C[N][J] [befehlsanzahl]
>>C[N][J] W ausdruck
>>C[N][J] U ausdruck
     trace over calls [No list] [Jumps only] /.While./.Until.
     Tracen über 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 filenames and command line                                |
     File-Controlblocks und CP/M-Kommandozeile spezifizieren            |

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

> H                                                                     |
     display high and maximal size of files                             |
     Höchste Adresse der zuletzt geladenen Datei, höchste               |
     Adresse aller geladenen Dateien (Max) und Ende des                 |
     verfügbaren Speichers (Top) anzeigen.                              |
> HS                                                                    |
     display symbol list                                                |
     Liste der geladenen Symbole anzeigen                               |
> H ausdruck
     compute hex and other expressions
     Berechnen eines Ausdrucks
> H ausdruck ausdruck
     Hex and other sum and difference
     Summe und Differenz zweier Ausdrücke

>>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 and or symbol file [add displacement]    |
     Einlesen einer Binär- oder HEX-File und/oder einer Symboldatei     |
     in den Speicher, evtl. um "displacement" verschoben                |

> S [startadr]
     Substitute Memory
     Anzeigen und Ändern 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
     Programmzähler 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 Parität
N    Negation            NEG, DEC, SUB o.ä. wurde ausgeführt
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                Höchste Adresse der letzten gelesenen
                         File
M    Max                 Maximale Adresse aller gelesenen Files
T    Top                 Oberes Ende des Benutzerspeichers
Z    Zbase               Basis/Startadresse von von DDT180              |
                         Wenn keine Symbole geladen: Z = T              |
@                        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)

Ausdrücke
----------

In allen Situationen, in denen Zahlen eingegeben werden können,
ist auch die Eingabe von Ausdrücken erlaubt.

Ausdrücke sind im allgemeinen arithmetische Ausdrücke, können
aber auch (zum Formulieren von Bedingungen) Relationen sein.
Relationen bestehen aus zwei arithmetischen Ausdrücken, 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 letzte 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"  Binär-Zahl (beliebig mit '"' unterteilt (b=0,1)
.symbol             Wert aus Symboltabelle                              |
.s1:s2: ... :sn     "Qualifiziertes Symbol"                             |

Enthält ein Ausdruck einen Relationsoperator, so werden erst die
beiden arithmetischen Ausdrücke 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 ']'geändert werden.
Ein Pluszeichen darf, wenn dabei der Ausdruck eindeutig bleibt,
weggelassen werden; z.B. ist @1000 dasselbe wie @+1000.
Ausdrücke dürfen keine Leerzeichen enthalten!

Parameter
---------

Am Beginn von DDTZ/DDT180 sind einige Werte gespeichert, die vom
Benutzer angepaßt werden können.

Adr   Default      Bedeutung
--------------------------------------------------------------------
Z3    'RST30'      Opcode für Breakpoint (RST8 - RST38 möglich)
Z4    'NOP'        Wird beim Entritt in DDTZ ausgeführt. Kann durch
                   EI oder DI Opcode (FB/F3) ersetzt werden.
Z5    'RET'        Nicht ändern!
Z6    'JP BDOS'    Nicht ändern!                                        |
Z9    80  (50H)    Bildschirmbreite                                     |
ZA    16  (10H)    Maximal erlaubte Symbol-Länge                        |
ZB    00           Bit 0=1: Gross/Kleinschrift von Symbolen beachten    |
                   Bit 1=1: Symbole beim Laden konvertieren             |
                   Bit 2=1: In Kleinbuchstaben konvertieren             |