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 DateiReassemblieren 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ü DateiAls Assembler-Quelltextkopieren) oder als Datei zu speichern (Menü DateiAls Assembler-Quelltextspeichern 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.