Reassembler

Mit dem Reassembler, auch Disassembler genannt, können Sie die im Arbeitsspeicher des Emulators liegenden Bytes in die Assemblersyntax übersetzen.


1. Speicherbereich reassemblieren

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 DateiReassemblieren 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.

2. Halte-/Log-Punkt im Debugger anlegen

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.

3. Assembler-Quelltext erzeugen

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.

4. Einstellungen

Die Schrift für die Reassemlber-Ausgabe kann man im Fenster JKCEMU-Einstellungen im Reiter Schriften/Symbole unter Schrift für Code-Bereiche ändern.