Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
z1013:software:reassembler [2020/09/28 05:43] – angelegt volkerp | z1013:software:reassembler [2020/09/28 06:23] (aktuell) – [EXREASS] volkerp | ||
---|---|---|---|
Zeile 13: | Zeile 13: | ||
* (undoc) IX-Ladebfehle codei407F | * (undoc) IX-Ladebfehle codei407F | ||
- | Und das Ganze noch meiner Erweiterung | + | ===== Download ===== |
+ | |||
+ | * {{ : | ||
+ | |||
+ | ===== Anleitung ===== | ||
+ | |||
+ | 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, | ||
+ | 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). | ||
+ | |||
+ | ===== EXREASS ===== | ||
+ | |||
+ | Ich habe 1988 den Reassembler ein wenig erweitert (extended reassembler, | ||
+ | |||
+ | * Die Angabe der End-Adresse entfällt. | ||
+ | * Nach Anzeige des ersten Datenbytes kann entschieden werden, wie die Interpretation erfolgen soll: als Adresse, Byte, Ascii, Maschinencode (Drücken | ||
+ | * Systemaufrufe via RST 20H werden mit symbolischem Namen angezeigt | ||
+ | * bei Systemaufruf PRST7 wird der nachfolgende Text angezeigt | ||
+ | * Man kann mit ' | ||
+ | |||
+ | auch diese Version habe ich aktualisiert | ||
Im Bild sieht man, wie undokumentierte Befehle jetzt korrekt angezeigt werden und auch die Systemrufe | Im Bild sieht man, wie undokumentierte Befehle jetzt korrekt angezeigt werden und auch die Systemrufe | ||
reassembliert werden: | reassembliert werden: | ||
Zeile 19: | Zeile 66: | ||
{{: | {{: | ||
- | ===== Download ===== | ||
- | * {{ : |