Hallo, ich kenne mich ein wenig mit Ghidra aus und versuche gerade ein Programm gemacht für den TMS70C02 im Full Expansion Mode zu decompilieren. Dazu habe ich folgendes Modul in Ghidra geladen: https://github.com/benpye/tms7000 In der Memory Map von Ghidra habe ich den ROM Speicher Bereich definiert und als Read Only markiert. Ebenso habe ich ein in der Schaltung vorhandenes externe RAM definiert und als RWX markiert. Nun bekomme ich zwar relativ viel decompiliert, habe aber immer wieder Bereiche von Funktionen mit Daten die unbekannt sind. (Beispiel im Screenshot) Was mache ich falsch? Ich vermute Ghidra weiß nicht, dass der TMS im Full Expansion Mode laufen soll da ich auch Dinge sehe wie z.B. P13 = 0x12; Letzendlich möchte ich ja nicht wissen welche einzelenen Schritt In der CPU laufen, sondern welche Adresse im RAM oder Rom gelesen wird. Ist die Frage ob das überhaupt möglich ist? Weil dafür letztendlich ja die ganzen ASM Befehle ablaufen müssen in der CPU, Ghidra müsste diese Muster nur zum decompileren in den C-Code erkennen können.
Versuchs mal mit dasmxx. "dasmxx provides a suite of disassemblers for a variety of popular 8-bit and 16-bit microprocessors." Die TMS7000 Serie kennt so etwas wie "user defined opcodes". Hast du das in Betracht gezogen?
Den hatte ich auch gefunden, bin aber davor zurückgeschreckt erst alles compilieren zu müssen. Außerdem bin ich denke ich nicht fit genug mit dem reinen Assemblercode um das rauszufinden, was ich rausfinden möchte. Aber dann versuche ich mal dasmxx zu compilieren um das ASM Ergebnis zu vergleichen.
Johannes M. schrieb: > Außerdem bin ich denke ich nicht fit genug mit dem reinen Assemblercode > um das rauszufinden, was ich rausfinden möchte. dasmxx ist nur ein simpler Dissassembler und kein IDA Pro. Er braucht u.U. auch Hilfestellung bzgl. der Speicherbereiche. Aus den Beispielen: ffirmware.bin q,30 c8000 p804d Reset p91a1 INT1_Handler p91c3 INT2_Handler p922e INT3_Handler p9279 INT4_Handler p9282 INT5_Handler bf2d2 vfff4 Vector_Table effff
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.