作者p399975 (阿元仔)
看板PLT
標題Re: [問題]程式語言轉C語言
時間Fri Sep 25 07:32:10 2009
※ 引述《wenghsinwei (信)》之銘言:
: 請問一下如果程式本身是組合語言!那有辦法轉換成C語言之類的嗎?
: 是否有軟體或是溝通媒介之類的??
: 因為好不容易找到想要的程式!卻... ...是是組合語言
: 因為沒有學過!想說問看看大大們有沒有人知道是否有工具可以轉成
其實c語言已經是很接近低層的語言了說
只是他還是有自已的code和syntax
組合語言的話,牽涉到許多一步步硬體指令執行
明確的說就是一行c語言可能要很多行組合語言來完成
還有一些I/O存取,中斷以及記憶體管理
像是c語言寫到的for迴圈,在組合程式中只要一兩行順序改一下
可能就天差地遠了,基本上透過分析軟體轉換,不見得
能100%正確或是轉成c語言比較簡明的寫法,反而比較複雜
更何況如果對c語言熟悉應該自已下去寫反而比較快
到是c語言轉成asm可能用分析軟體去做是比較可行的。
還有一種方式就是c語言常用到的語法
(1)for、while、if else這種條件式語法對應到組語的equal、not equal、jump指令。
(2)變數、function宣告語法對應該到什麼樣的記憶體定址、程式碼段落。
(3)function的call及return對應到硬體stack及register怎樣的操作。
(4)i/o的存取的read、write對應到irq及isr怎樣的控制指令。
熟悉這種常見常用的pattern轉換,至少能減少一半以上的轉換時間。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.27.75