搜索
bottom↓
回复: 23

PIC 8位机的汇编如何下手转为C呢?

[复制链接]

出0入0汤圆

发表于 2013-2-28 13:11:01 | 显示全部楼层 |阅读模式
公司有一个项目是外包给人的,程序拿回来想自己研究,升级先有方案,但对方写的全是汇编,而且没有一句话的注释,代码量在2000行左右,我该如何下手转为自己的思路!谢谢各位大哥

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2013-2-28 13:11:45 | 显示全部楼层
期待各位大婶的献策

出0入0汤圆

 楼主| 发表于 2013-2-28 13:13:02 | 显示全部楼层
一直在刷新

出0入0汤圆

 楼主| 发表于 2013-2-28 13:13:25 | 显示全部楼层
沙发,板凳,自己坐

出0入0汤圆

 楼主| 发表于 2013-2-28 13:19:03 | 显示全部楼层
做等吧

出0入0汤圆

发表于 2013-2-28 13:21:55 | 显示全部楼层
这个。想弄成C,只能重写。没有捷径。
先读ASM的,读懂了之后重写。
2000行的程序,仅从数量上看,不算大。难度就不清楚了。

出20入22汤圆

发表于 2013-2-28 13:23:52 | 显示全部楼层
两千行汇编用C写没多少,转为C好像不行

出0入0汤圆

发表于 2013-2-28 13:39:32 | 显示全部楼层
估计对方写的其实是C, 编译后给你ASM, 就履行了给源码, 但是是给了你, 你也没用的那种。。

出0入0汤圆

 楼主| 发表于 2013-2-28 13:49:57 | 显示全部楼层
pic_flash 发表于 2013-2-28 13:39
估计对方写的其实是C, 编译后给你ASM, 就履行了给源码, 但是是给了你, 你也没用的那种。。 ...

很有道理,他里面写着   此代码经过重新编辑,不可作为规范代码的示例,可作为应用参考,原理解读。

出0入0汤圆

 楼主| 发表于 2013-2-28 13:50:49 | 显示全部楼层
i_kkyu 发表于 2013-2-28 13:21
这个。想弄成C,只能重写。没有捷径。
先读ASM的,读懂了之后重写。
2000行的程序,仅从数量上看,不算大。 ...

是的,代码量不大,估计是用不想让我们知道里面的内容

出0入0汤圆

 楼主| 发表于 2013-2-28 13:52:39 | 显示全部楼层
我上传下代码,大家看看是不是用编译器转成的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-2-28 13:53:24 | 显示全部楼层
这些是C编译后的汇编吗,他里面的文件写着:此代码经过重新编辑,不可作为规范代码的示例,可作为应用参考,原理解读

出0入0汤圆

发表于 2013-2-28 13:57:11 | 显示全部楼层
汇编转为C,没有可能。

你的问题只有两个出路:
1. 老老实实地读懂汇编,是有可能的。但困难极大,也许没有好结局。看你的水平和耐力了。
2. 根本不管它。只要知道工程中需要实现的功能特性,自己去实现它。看你的功夫和能力了。

出0入0汤圆

 楼主| 发表于 2013-2-28 14:14:25 | 显示全部楼层
JQ_Lin 发表于 2013-2-28 13:57
汇编转为C,没有可能。

你的问题只有两个出路:

我不是要求有什么工具可以转成C,而是想要一种思路,就是说我读汇编文件的时候,从哪里入手,读懂思路,然后自己写C而已

出0入0汤圆

 楼主| 发表于 2013-2-28 14:16:00 | 显示全部楼层
JQ_Lin 发表于 2013-2-28 13:57
汇编转为C,没有可能。

你的问题只有两个出路:

以楼上见,我发的图片截图,是原汇编文件,还是用C写好后,然后编译器生成的汇编文件

出0入0汤圆

发表于 2013-2-28 14:33:42 | 显示全部楼层
本帖最后由 JQ_Lin 于 2013-2-28 14:35 编辑
zhuosifan1989 发表于 2013-2-28 14:16
以楼上见,我发的图片截图,是原汇编文件,还是用C写好后,然后编译器生成的汇编文件 ...


你的截图表明,是人工书写、编辑的。
由 C 经过编译出来的汇编文件,应与此不同。
由机器码经过编译出来的汇编文件,也与此不同。

出0入0汤圆

发表于 2013-2-28 14:37:33 | 显示全部楼层
感觉应该就是用汇编写的

出0入0汤圆

发表于 2013-2-28 14:48:55 | 显示全部楼层
yklstudent 发表于 2013-2-28 14:37
感觉应该就是用汇编写的

我在16楼说的“......是人工书写、编辑的”,意指非自动编译生成,而不论使用了何种可用的文本编辑工具。

出0入34汤圆

发表于 2013-2-28 14:50:08 | 显示全部楼层
看不懂的话,就不看了嘛,直接按需要用C重写就是了。。

出0入0汤圆

 楼主| 发表于 2013-2-28 16:13:56 | 显示全部楼层
JQ_Lin 发表于 2013-2-28 14:48
我在16楼说的“......是人工书写、编辑的”,意指非自动编译生成,而不论使用了何种可用的文本编辑工具。 ...

谢谢,明白了你的意思了

出110入0汤圆

发表于 2013-2-28 22:10:12 | 显示全部楼层
JQ_Lin最近很热心,赞一个

出0入0汤圆

 楼主| 发表于 2013-2-28 22:53:23 | 显示全部楼层
Flyback 发表于 2013-2-28 22:10
JQ_Lin最近很热心,赞一个

必须的,

出0入0汤圆

发表于 2013-3-14 16:54:10 | 显示全部楼层
  代码量不是很大。每个人思路不同,硬要去读懂别人的汇编,再改写C,不如直接重新写。
  当然,学习汇编的话就另说了

出0入0汤圆

发表于 2013-3-16 08:02:51 | 显示全部楼层
看样子楼主不懂汇编,那就别研究了,有那功夫都能把C程序搞定了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-17 14:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表