Hallo Leute, wenn ich meinen Mega8 auslese, bekomme ich ein Hexfile. Wie kann ich dieses File disassemblieren, Gruß Rolf.
:
Bearbeitet durch User
Rolf G. schrieb: > Wie kann ich dieses File disassemblieren, Indem man die hex-Datei im Studio öffnet.
Hi, https://community.atmel.com/projects/reavr klappt. Label werden durchnummeriert. Aussagekräftige Kommentare gibts allerdings nicht. Wäre auch zu schön. Ports und Register werden (leider) in Hex-Format angegeben. Um die in Timer oder sowas umzubenennen, nimmt man die I/O View vom Studio Beispiel: 0x36 -> OCR0A Der boardeigene Disassembler vom Studio bringt zum Beispiel die Ansicht: RJMP PC+0x0002 ;Relative jump RJMP PC-0x0005 ;Relative jump LDI R24,0x10 ;Load immediate LDI R25,0x27 ;Load immediate RCALL PC+0x03A7 ;Relative call subroutine das ist mir zu unübersichtlich. reavr ist da besser. ciao gustav
:
Bearbeitet durch User
Karl B. schrieb: > klappt. Zum schnellen Vergleich und zur Suche nach speziellen Opcodes recht nützlich, jedoch kann AS die hex auch simulieren.
Das Resultat scheint mir allerdings nicht plausibel: +00000000: E50F LDI R16,0x5F Load immediate +00000001: BF0D OUT 0x3D,R16 Out to I/O location +00000002: E004 LDI R16,0x04 Load immediate +00000003: BF0E OUT 0x3E,R16 Out to I/O Location täusch ich mich, oder hat sich da was verschoben? Gruß Rolf.
Was soll verschoben sein? Da wird SP mit 0x45f (=Ram-Ende) geladen.
Rolf G. schrieb: > täusch ich mich, oder hat sich da was verschoben? > Gruß Rolf. Hi, nimm das andere Prog. Alles unnötige Gerödel ist da nämlich weg. so sieht das vergleichbare Display von ReAVR aus: LDI R24,0xDF ;Load immediate OUT 0x3D,R24 ;Out to I/O location Stack init und ich hole mir aus der I/O-Ansicht dann die zum Target (AtTiny2313) gehörigen Klarnamen und gehe in Studio Menü edit mark und replace all ldi R24, low(ramend); Stack init out SPL, R24 Damit kann ich dann IMHO schon mehr anfangen. ciao gustav
:
Bearbeitet durch User
Hallo Gustav, von früher bin ich noch auf das Z80 Disassembler-Format eingestellt, das hier im Studio 4 in der Art auch angewendet wird! Damals hats jedenfalls mit dem zugehörigen Hex-Code gepasst. Ich werde mir mal dein Programm ansehen. Danke, Rolf.
Karl B. schrieb: > Hi, > Der boardeigene Disassembler vom Studio bringt zum Beispiel die Ansicht: > RJMP PC+0x0002 ;Relative jump > RJMP PC-0x0005 ;Relative jump > LDI R24,0x10 ;Load immediate > LDI R25,0x27 ;Load immediate > RCALL PC+0x03A7 ;Relative call subroutine > das ist mir zu unübersichtlich. > reavr ist da besser. > > ciao > Gustav Ja, hab ihn getestet, das Resultat überzeugt, Rolf.
Rolf G. schrieb: > Karl B. schrieb: >> reavr ist da besser. > Ja, hab ihn getestet, das Resultat überzeugt, Und das ist ja nur die erste Iteration. Man kann das interaktiv noch sehr deutlich aufbessern, je mehr man von dem Code versteht, den man da analysiert.
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.