Einige Einschränkungen wurden aus Platzgründen notwendig,
so z.B. der Verzicht auf einen Blick in den OS-ROM und der Verzicht auf eine Möglichkeit,
Compoundfiles unmittelbar zu erzeugen. Ob das als Nachteil empfunden wird, hängt
vom Arbeitsstil ab. Der Autor selbst verfolgt OS-Aufrufe nie per Debugger, sondern
anhand des OS-Listings und arbeitet lieber mit handlichen Einzelteilen als mit einem
wüsten Codemonster, was ein Compoundfile eben ist. Schließlich ist es
keine Mühe, nach Abschluß a aller Arbeiten und Tests die Teile mit einem
DOS zu einem Compoundfile zu binden
4.1. Befehlssatz des Debuggers
Der auf das Nötigste beschränkte Befehlssatz orientiert sich stark an der
Editor Assembler Cartridge von Atari und entspricht daher vielen anderen Debuggern,
so daß eine tabellarische Auflistung der Befehle genügt. Bei der Befehlseingabe
dürfen keine Leerzeichen eingefügt werden, die Befehle müssen unmittelbar
nach dem Prompt beginnen. Zur Eingabe steht nur die Eingabezeile zur Verfügung,
dafür werden im Ausgabebereich ALLE Änderungen mitprotokolliert. Alle Eingaben
verstehen sich in Hexadezimal. Durch Auslassen eines Werts können Speicherstellen
oder Register ohne Änderung des Inhalts übersprungen werden. Beispiel:
C100<A,,4D ändert $100 auf $0A und $102 auf $4D. Danach steht der interne
Adreßzeiger auf $103. Der Inhalt von $101 bleibt unverändert.
Bei allen Kommandos können Adreßangaben weggelassen werden, der Debugger
verwendet dann den internen Adreßzeiger bzw. einen der übersichtlichen
Darstellung förderlichen Endwert. Die Ausgabe kann jederzeit mit den Tasten
S (Stop) und Q (Weiter) angehalten bzw. fortgesetzt werden.
D Adrl,Adr2 Speicherinhalt anzeigen (DISPLAY)
Q zum Hauptmenü gehen (QUIT)
R Register anzeigen
R<Byte,Byte Register ändern
L Adr1,Adr2 Disassemblieren (LIST)
G Adr Returnadresse ändern (GO)
SR Secno Sektor lesen (SECTOR READ)
SW Secno Sektor schreiben (SECTOR WRITE)
C Adr<Byte,Byte Speicherinhalt ändern (CHANGE)
Anmerkungen: Die hier aus Gründen der Lesbarkeit eingefügten Leerzeichen
müssen bei der Eingabe weggelassen werden. Der PC kann aufgrund der besonderen
internen Behandlung nicht mit R< geändert werden, sondern nur mit G. Der
Sektorpuffer für SW und SR ist mit dem internen Sektorpuffer für das DOS
identisch und wird vom Memorymanager nach $D100 im eingefrorenen Adreßraum
gespiegelt, wo eine Bearbeitung mit dem Debugger erfolgen kann. Physikalisch ist
er dort nicht vorhanden!
Änderungen in den Hardwareregistern äußern sich erst nach dem Auftauen,
schließlich wird der eingefrorene Adreßraum manipuliert, und nicht, wie
bei konventionellen Debuggern, der reale Adreßraum!