作者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