打印

用汇编进行数**算真是麻烦!!

[复制链接]
楼主: E_T
手机看帖
扫描二维码
随时随地手机跟帖
21
程序匠人| | 2007-6-14 12:44 | 只看该作者 回帖奖励 |倒序浏览

看高手程序是成长过程中的一条捷径

当然,前提是该程序有可学习的价值。

这有点像“偷师”了

使用特权

评论回复
22
stone99| | 2007-6-14 12:46 | 只看该作者

其实产品有一个稳定的过程,重写就意味着

所有可能的错误也从头开始,所以能改的话还是尽量改

使用特权

评论回复
23
HWM| | 2007-6-14 12:53 | 只看该作者

修改的前提是前面的程序是具有可读性的,且具备齐全的资

否则的话还不如从头再来,这样对今后是绝对有好处的。

使用特权

评论回复
24
conwh| | 2007-6-14 12:55 | 只看该作者

在编程中经验与灵感是并存的,大概这也是人与动物的区别

使用特权

评论回复
25
东尧| | 2007-6-14 16:02 | 只看该作者

用框图法读汇编

我的方法是:
 用框图法分析汇编程序,分几步吧,赶着说吧
 1、按硬件结构分别制作相关存储器表格,在读程序过程中,一边读一边把
遇到的内容记在相应的存储器地址上,读完程序了,你的数据结构分配也就清晰了。
 2、把硬件的各个接口地址,分析列表。
 3、标志位,寄存器分的定义分析列表。就算编汇的人自已也不会一点标记也不做的。
 4、刻苦钻研框图,因为汇编的程序,最繁锁的地方就是来回用DPTR,ACC,R0-R7这些东西,先把框图做的细一点,一条一条写,慢慢去掉中间环节,你会发现,程序变得简单明了了。
 5、当然,你所读的汇编最好是结构分配比较合理的,否则混乱的汇编程序只有两个选择一个是重新来过,一个是深陷泥坛。
 6、能用C是最好不过了,公司曾让我做一个系统软件,按汇编的程序预期2个半月完成,我**先择了C,最后真正完成项目的时间只用的20多天。

使用特权

评论回复
26
ocon| | 2007-6-14 20:34 | 只看该作者

边看边加注释,没别的办法。

好的汇编代码也是尽量模块化的,区分出各功能模块,剩下的就好办了。

使用特权

评论回复
27
joyce8848| | 2007-6-14 20:37 | 只看该作者

我也很想知道,我也是初学者

使用特权

评论回复
28
mohanwei| | 2007-6-14 21:01 | 只看该作者

有这么难么?我扒过一个42k的汇编程序,两个星期不到就搞

一开始的确是有点畏惧……
后来先把产品说明书研究几遍,画出工作流程图;
然后研究电路图几遍,列出所有外设的地址,并且搜索程序里的外部地址,替换成“P1.0”、“P2”以及“LCD_Write_Command”“LCD_Write_Data”“LCD_Check_BF”等等;根据产品说明书上的保存参数说明,找出程序中的存储单元,修改名字。
最后研读程序,在子程序头部加上注释、调用关系……最终画出流程图。

要说明的一点是:这种规模比较大的正规的汇编代码结构性非常好(不好的话它的作者怎么写出来?),读起来简直是受益匪浅!

不过,过后也忘的差不多了^_^现在用C比较多,偶尔嵌几行汇编。

使用特权

评论回复
29
一朝成名| | 2007-6-14 23:32 | 只看该作者

我这样做的

顺着程序画一个流程图下来
一步步画    如果中断的话就画一条同步的平行线
改分支的话就分成两条线 
当然啦  做好注释
返回就画回去啊
走一遍  流程图出来了什么都好解决了

使用特权

评论回复
30
古道热肠| | 2007-6-15 10:54 | 只看该作者

汇编最大的坏处就是过后容易望

  想当初,PC机的汇编背得滚瓜烂熟,用得如行云流水,几年过去,哈哈,回头看看当初的代码,都要思考老大一会,才能整明白如何实现功能的。更何况是去理解别人的代码。

使用特权

评论回复
31
jcsasm| | 2007-6-15 11:01 | 只看该作者

汇编是很基础的,读懂不太难吧.

使用特权

评论回复
32
gyt| | 2007-6-15 15:54 | 只看该作者

不是这个问题

读懂指令当然不难,可是吃透整个程序就很难了。

使用特权

评论回复
33
xood| | 2007-6-15 16:14 | 只看该作者

re:

我看过一个汇编程序,43K,2W多行,看了大概1个月吧,现在已经可以在原程序的基础上改动了,我想看汇编最先还是从整个程序的结构和各模块完成功能开始看,然后仿真调试每个模块的具体执行,然后详细记录下各个功能需要哪些模块来共同完成并找出各个模块之间的联系,一遍一遍不厌其烦的调试仿真,自然就会看得懂了。
  有些年纪比较大的工程师真的对汇编情有独钟,而且汇编写的确实好,看懂了高质量的汇编程序也是受益匪浅的,呵呵,仅是一家之言,希望坛子里的大虾们不要见怪。

使用特权

评论回复
34
tyw| | 2007-6-15 16:44 | 只看该作者

每一句语都写解释

俺95年花了一个月给一个32k的z80**程序写了近10w字的解释,谁都能象看小说那样看懂.确实需要足够的耐心,没有捷径.

使用特权

评论回复
35
zuoqingyue| | 2007-6-15 20:21 | 只看该作者

慢慢看

我是先看各个子程序后再从mian开始看,边看边写

使用特权

评论回复
36
平常人| | 2007-6-15 20:29 | 只看该作者

快速地看懂程序的方法因人而异

我的方法是先把各子程序的调用关系画出来,再把各主要数据结构画出来,剩下的事就很容易啦,您就随便吧。

使用特权

评论回复
37
gyt| | 2007-6-15 21:18 | 只看该作者

不错不错

八仙过海,各显神通啊:)

使用特权

评论回复
38
edanzg| | 2007-6-15 21:43 | 只看该作者

学习了

使用特权

评论回复
39
9804zhb| | 2007-6-16 10:40 | 只看该作者

熟能生巧

只有靠平时的积累了

使用特权

评论回复
40
E_T|  楼主 | 2007-6-17 04:35 | 只看该作者

用汇编进行数**算真是麻烦!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则