Hi, ich suche einen guten Disassembler für den o.g. PIC. Ich habe hier zwar einen von Norbert Hageman V1.6 welcher wirklich toll funktioniert. Er nimmt die Hex aus MPLAB, steuert Confbits, ID, RAM Label etc. richtig toll ein, das sieht dann wirklich gut aus, aber was nicht geht ist das Labeling in Abhängigkeit der Bits: PCLATH,3 und 4. Vielleicht ist das auch ein wenig viel verlangt, aber er Labelt wohl nicht richtig... es sind oft solche Ausdrücke zu sehen: BSF PCLATH,4 ; !!Bank Program-Page-Select BSF PCLATH,3 ; !!Bank Program-Page-Select CALL LADR_0x0107 ; !!Bank!! 0x0107 - 0x0907 - 0x1107 - 0x1907 BCF PCLATH,4 ; !!Bank Program-Page-Select BCF PCLATH,3 ; !!Bank Program-Page-Select BSF PCLATH,4 ; !!Bank Program-Page-Select BCF PCLATH,3 ; !!Bank Program-Page-Select CALL LADR_0x0001 ; !!Bank!! 0x0001 - 0x0801 - 0x1001 - 0x1801 BCF PCLATH,4 ; !!Bank Program-Page-Select BCF PCLATH,3 ; !!Bank Program-Page-Select Naja, jedenfalls ist es auch so wenn ich es dann wieder assembliere passt es nicht mehr in den Controller... Ich betreibe hier gerade etwas Forschung an Codeschnipseln... Kann man soetwas überhaupt "richtig" disassemblen? JJ
Jens schrieb: > Naja, jedenfalls ist es auch so wenn ich es dann wieder assembliere > passt es nicht mehr in den Controller... Märchenstunde? oder ist der Prozessortyp nicht richtig eingestellt? Oder interpretiert der Assembler einige Zeilen als MACRO? Jens schrieb: > Kann man soetwas überhaupt "richtig" disassemblen? Meistens braucht man etwas Nachbearbeitung. Jens schrieb: > es sind oft solche Ausdrücke zu sehen: Deutet auf einen schlecht optimierenden Compiler hin. Ein guter Assembler Programmierer würde den code so anordnen daß möglichst wenig Pagewechsel erforderlich sind. > > BSF PCLATH,4 ; !!Bank Program-Page-Select > BSF PCLATH,3 ; !!Bank Program-Page-Select > CALL LADR_0x0107 ; !!Bank!! 0x0107 - 0x0907 - 0x1107 - 0x1907 > BCF PCLATH,4 ; !!Bank Program-Page-Select > BCF PCLATH,3 ; !!Bank Program-Page-Select ein guter Disassembler würde folgendes daraus machen: pagesel LADR_0x1107 CALL LADR_0x1107 pagesel $ allerdings hat Microchip das pagesel-Macro im Laufe der Zeit umgestellt. (war früher "movlw high (LADR_0x1107)" + "movwf pclath" ) Gruß Anja
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.