summaryrefslogtreecommitdiff
path: root/doc/ddtz-help.txt
blob: 13bea7f29f51f53bd2c214961c6cd36b756b8d36 (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
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