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.
Undokumentierte Prozessorbefehle sind mit einem Stern
am Anfang der Mnemonik gekennzeichnet.
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.
Optional können Sie eine
Markentabelle importieren
(z.B. von einem Assembler),
um auch im Reassembler Marken bzw. logische Namen zu sehen.
Achtung! Es wird der Speicherbereich reassembliert,
den auch der Mikroprozessor zu dem Zeitpunkt sieht.
Wenn das emulierte System in dem Adressbereich mehrere
parallel liegende Speicherbänke hat,
müssen Sie selbst sicherstellen,
dass die richtige Bank eingeblendet ist.
Achtung! Der Reassembler ist nicht in der Lage,
die Semantik des reassemblierten Programmcodes zu verstehen, d.h.,
nicht ausführbare Datenbereiche werden nicht als solche erkannt
Es werden somit alle Bytes in dem zu reassemblierenden
Speicherbereich immer als Maschinenbefehle des Mikroprozessors
interpretiert, unabhängig davon, ob diese auch tatsächlich
ausführbaren Programmcode darstellen.
Im Kontextmenü (rechte Maustaste) finden Sie einen Menüeintrag,
mit dem Sie im Debugger einen
Halte-/Log-Punkt auf eine Programmadresse
anlegen können.
Dabei wird die Adresse, über der Sie das Kontextmenü
aufgerufen haben, in den neuen Halte-/Log-Punkt übernommen.
Das gleiche gilt fü den optionalen Namen,
wenn Sie Marken in den Reassembler importiert und
das Kontextmenü über solch einer Marke aufgerufen haben.
Der Reassembler ist in der Lage,
aus dem Reassembler-Listing einen Assembler-Quelltext zu erzeugen.
Die Funktionen dazu finden Sie im Menü Datei
(→ Als Quelltext im Texteditor öffnen...
bzw. → Als Quelltext speichern...).
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! Undokumentierte Prozessorbefehle,
die im Reassembler-Listing mit einem Stern gekennzeichnet sind,
enthalten im erzeugten Assembler-Listing keinen Stern mehr,
damit der Assembler keinen Syntax-Fehler meldet.
Wenn der undokumentierte Befehl nur eine andere Byte-Folge
eines dokumentierten Befehls ist,
wird damit automatisch der undokumentierte Befehl
in einen dokumentierten umgewandelt.
Die Schrift für die Reassemlber-Ausgabe kann man im Fenster
JKCEMU-Einstellungen
im Reiter Schriften/Symbole unter
Schrift für Code-Bereiche ändern.