recht universeller Disassembler

#7006844
Lesenswert?

Guten Abend,

aus dem Projekt
Beitrag "Frage zu Assemblercode TLCS-90, Fehler im Datenblatt"
ist ein Disassembler für einen TLCS-90 Controller von Toshiba 
entstanden.

Das interessante dabei ist - und auch der Grund warum ich den mit euch 
teilen will: Aus Faulheit habe ich das so gemacht, das die Mnemonics und 
dazugehörigen Opcodes einfach als Liste übergeben werden. Daraus bastelt 
sich das Programm dann ein Tabellenkonstrukt zusammen, mit dem dann 
disassembliert wird. D.h. er läßt sich in Null-Komma-Nix auf viele 
Architekturen und Maschinenbefehlsätze anpassen. Das funktioniert für 
den (zumindest für mich) recht komplexen TLCS-90 und wahrscheinlich für 
die meisten anderen Architekturen. Ohne Fehleranfällige switch-case 
Orgien.

Das ganze habe ich auf Github hochgeladen..
https://github.com/flolix/disas

Vielleicht ist es für den einen oder anderen Interessant. Der Code ist 
mit Sicherheit nicht sehr schön und noch sicherer mit vielen Bugs.. ich 
werde da aber ohne Grund keine Arbeit reinstecken - erst wenn ich den 
Disassembler wieder mal brauchen sollte. Fragen können natürlich gerne 
gestellt werden.

Die Hauptarbeit macht die Datei mnems.c
Es können Symbole (Register o.ä.) definiert werden und der enschlüsselt 
das dann.
Achso: und es ist auch nicht der gesamte Befehlssatz vom TLCS-90 
implementiert. Nur die für mich notwendigen Befehle.

Schönen Abend.

Flo

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren