On Thu, Dec 3, 2009 at 7:23 PM, frederico schardong w= rote: > I mean ASM source to C source, because HEX to ASM icprog do. The problem with PIC is that sometimes it is hard to disassemble a HEX because of the bank selection and sometimes page selection is not obvious. Especially if the code was originally either hand-written Assembly or C but the compiler used advanced optimizations. Many disassembler only can translate the instruction codes into ASM syntax but then leave the FSR and GPR addresses meaningless numbers. That's why few years ago started to do that unPIC project so that was intended to make a bit more sophisticated disassembly. It was not completed, but still in many times it makes a good output, so if you interested (it is free and opensource) : http://www.mcuhobby.com/articles.php?article_id=3D9 > This software 'translate' ASM to C: http://www.microapl.co.uk/asm2c/ > but only for x86. That looks very interesting! However, I think that was intended to translate hand-written ASM source to C, not a decompiled one that might be compiler generated optimized code. BTW: They say not only x86, but 8051 (erm, which is also Intel :-)) , and then they claim MC68k and IBM mainframe (guess that is an IBM/370 or something like that) Thanks, Tamas > > -- > Abra=E7o, > Frederico Schardong, > SOLIS - O lado livre da tecnologia > www.solis.coop.br > > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- = /* www.mcuhobby.com */ int main() { char *a,*s,*q; printf(s=3D"/* www.mcuhobby.com */ int main() { char *a,*s,*q; printf(s=3D%s%s%s, q=3D%s%s%s%s,s,q,q,a=3D%s%s%s%s,q,q,q,a,a,q); }", q=3D"\"",s,q,q,a=3D"\\",q,q,q,a,a,q); } -- = http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist