2010-06-03 218 views
6

我遇到了一个PIC微控制器的问题。PIC的十六进制反编译器

很久以前我有一个微控制器编程,我丢失了相关的源代码和原理图。现在我需要反转一个端口的值。我可以用非门来做到这一点,但这样做很麻烦。或者我需要将整个程序写回来。

我不希望在PIC C或MikroC中看到代码。有一个可理解的汇编代码就足够了。

那么有没有人有一个好的HEX反编译器的经验,我可以用于这个目的?根据您的经验做​​出评论? :)

编辑:设备PIC 16F84A

回答

6

反汇编不太可能是一个实际的解决方案,甚至不太可能为您的特定编译器和指令集组合工具甚至存在。

然而反汇编很简单,不过您是否能够理解结果代码是另一回事,因为在HEX文件中没有保留注释或符号;如果你有原始的目标代码,它可能会使反汇编更具可读性。有很多PIC反汇编程序可用,只有Google它;我不能指导你,因为有许多PIC系列有不同的指令集,而且你没有指定。

反汇编的一种简单方法是简单地将HEX文件加载到MPLAB中,然后选择查看 - >反汇编列表,然后右键单击窗口并选择“输出到文件”。该输出可能需要一些按摩才能适合输入汇编器。

1

你应该能够十六进制文件加载到MPLAB IDE,并从那里查看汇编代码以及运行它,如果我通过代码在simulater步骤我没有错。

如果它没有代码保护,您也可以使用它读取设备中的代码。

2

在官方PICList技术参考中有PIC反汇编器列表。许多人从不使用独立的反汇编程序,但更喜欢在他们最喜欢的PIC模拟器中使用反汇编程序。

http://piclist.com/techref/microchip/dissassemblers.htm

http://piclist.com/techref/microchip/simulators.htm

+0

这两个链接都死了。其实这个网站似乎是'空的'&泰文 – brewmanz 2018-01-09 20:07:06

+0

@brewmanz:好的,我修复了损坏的链接 - 现在看到相同内容的新网址似乎正在为我工​​作。 – 2018-02-23 20:16:32