Im Handbuch Teil IIB (→ Handbücher) ist ein Reassembler zum Selbstabtippen abgedruckt. Anlage 11, REASSEMBLER FÜR U880-BEFEHLE, ROBOTRON Z 1013 REASS 1.02.
Im Downloadpaket ist eine 100% korrekt abgetippte Programmversion enthalten (reass 1.02.z13, Binärdatei ohne Header).
Ich habe den Reassembler 1.02 untersucht, reassembliert, kommentiert und die 3 Fehler ausgemerzt → REASS_103, und ein wenig weiter optimiert → REASS_104
korrigiert sind
Der Reassembler steht ab Adresse 3600H bis Adresse 3FE4H. Der Start erfolgt auf der Adresse 3600H. Das Programm meldet sich mit der Ausschrift:
ROBOTRON Z 1013 REASS 1.02 AB BIS ORG-ADRESSE:
Unter dieser Ausschrift können nun z.B. folgende Adressen eingegeben werden:
F000 F020 F000
D.h., es wird der Anfang des Monitorprogramms rückübersetzt. Ist die letzte Adresse gleich der ersten, so kann diese entfallen. ORG-Adresse bedeutet die Adresse, auf der das lauffähige Programm stehen müsste. Man kann also auch Programme reassemblieren, die eigentlich außerhalb des RAM-Bereiches laufen würden oder auf z.Z. belegten Speicherbereichen lauffähig sind. Sie können z.B. den in Anlage 13 angeführten Zählermodul nicht auf den Originaladressen ab 3C00H reassemblieren, weil dort der Reassembler steht. Wenn Sie das tun wollen, so müssen Sie den Zählermodul einlesen, anschließend mit dem T-Kommando z.B. auf die 1000H umladen und danach den Reassembler einlesen und starten. Kommandos nach dem Einlesen des Zählermoduls:
# T 3C00 1000 400 ;Umladen des Zählermoduls # L 3600 3FFF ;Einlesen des Reassemblers # J 3600 ;Starten des Reassemblers ROBOTRON Z 1013 REASS 1.02 AB BIS ORG-ADRESSE 1000 1020 3C00
Zu beachten ist, dass der Reassembler auch bei ASCII-Zeichen eine Übersetzung versucht! Daraus können mitunter Verschiebungen entstehen, die dann auch bei richtigen Maschinenbefehlen zu einer falschen Rückübersetzung führen. Nach einigen Bytes fängt sich der Reassembler und arbeitet wieder korrekt. Der Abbruch erfolgt mit S4/K (SHIFT 4/K).
Ich habe 1988 den Reassembler ein wenig erweitert (extended reassembler, EXREASS 2.02):
auch diese Version habe ich aktualisiert → exreass_204. Im Bild sieht man, wie undokumentierte Befehle jetzt korrekt angezeigt werden und auch die Systemrufe reassembliert werden: