2010-06-03 174 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