Reassembler
Mit dem Reassembler, auch Disassembler genannt,
können Sie die im Arbeitsspeicher des Emulators
liegenden Bytes in die Assemblersyntax übersetzen.
Nach dem Starten des Reassemblers ist die Eingabe der Anfangs-
und Endadresse des zu reassemblierenden Speicherbereichs erforderlich.
Anschließend wählen Sie den Menüpunkt
Datei → Reassemblieren an,
und das Reassembler-Listing wird in dem Fenster angezeigt.
Dieses können Sie nun speichern oder drucken.
Es ist auch möglich,
das eigentliche Reassemblieren durch Drücken
der Enter-Taste zu starten,
solange der Cursor im Eingabefeld für die Endadresse steht.
Achtung! Der Reassembler ist nicht in der Lage,
die Semantik des reassemblierten Programmcodes zu verstehen, d.h.,
nicht ausführbare Datenbereiche werden auch nicht als solche erkannt.
Mit Ausnahme der Interrupt-Vektoren werden somit alle Bytes
in dem zu reassemblierenden Speicherbereich immer
als Maschinenbefehle interpretiert,
unabhängig davon, ob diese auch tatsächlich
ausführbaren Programmcode darstellen.
Achtung! Bytes, die keinem Z8-Maschinenbefehl entsprechen,
werden als Datenbyte übersetzt und mit dem Kommentar
??? versehen:
.DB ... ;???
Assembler-Quelltext erzeugen
Der Reassembler ist in der Lage,
aus dem reassemblierten Bereich einen Assembler-Quelltext zu erzeugen
und diesen entweder in die Zwischenablage zu kopieren
(Menü Datei → Als Assembler-Quelltext
→ kopieren) oder als Datei zu speichern
(Menü Datei → Als Assembler-Quelltext
→ speichern unter...).
Beim Erzeugen eines Assembler-Quelltextes werden auch Assembler-Marken
generiert. Diese bestehen aus einem Präfix und
der betreffenden Adresse in hexadezimaler Form.
Der Präfix wird vor dem Erzeugen des Quelltextes
von Ihnen abgefragt, d.h., Sie können diesen selbst festlegen.
Der Präfix muss jedoch den Namenskonventionen
für Assembler-Marken entsprechen.
Achtung! Sprungbefehle, die nicht auf das erste Byte eines
Maschinenbefehls zeigen, die also in einen Maschinenbefehl hinein zeigen,
werden mit dem Kommentar !!! versehen.
Das kann vorallem dann vorkommen, wenn Datenbereiche reassembliert werden.