当前位置:首页 > 网络编程 > 软件语言 > 汇编 > 汇编语言---程式设计 (2)

汇编语言---程式设计 (2)

点击次数:45 次 发布日期:2008-11-10 08:14:43 作者:源代码网
源代码网推荐
广告载入中
汇编语言---程式设计 (2):四、模组分割
源代码网推荐
源代码网推荐 既然称为模组,本不存在分割与否的问题。如果一个程式师一开始就具备模组的观念,彻底瞭解其性质,当然知道如何设计,自然就没有分割的必要。即令如此,在程式的制作过程中,经常是信马游缰,想到哪,写到哪。所以,养成模组分割的观念,对实际工作上,自有其必然的功效。
源代码网推荐 模组分割的原因不定,大约可分下列数种:
源代码网推荐 1,为了制作的方便,把程式分成模组,易于维护。
源代码网推荐 2,为了工作效率,或需要速度、或为节省空间的程式,分别用不同的技巧制作。
源代码网推荐 3,因程式师的工作能力,或工作条件而进行分割。
源代码网推荐 4,因程式的功能分类,分开制作,以便于灵活应用。
源代码网推荐 不论原因为何,分割模组前,一定要先确定目标,全面认知程式的格局,再加以整理、归类,才能根据类别来分割。
源代码网推荐 分类确定后,再以分类来命名,以便于记忆及应用。这时格式的统一定义便是关键所在。因为模组一多,相互间的调用极为频繁,如果格式不能统一,程式间常常需要因应调整,反而增加了使用上的难度,得不偿失。
源代码网推荐 其次,各模组必须建立一个总表,而且要经常维护,务必与实际上所使用者一一对应,切勿偷懒。每次调用时,还需修正记录,如使用次数,调用的程式等。
源代码网推荐 如果程式制作的规模大,参与人数多,最理想是由专人负责模组管理。从事这种工作的人,必须头脑清楚,反应敏锐,而且要能任劳任怨,勤于更新。
源代码网推荐 在做模组分割前,应先备妥 .ref 及 .lst 档,设有一程式 abcd.asm ,其做法为:
源代码网推荐 C:>M ABCD,,,;
源代码网推荐 m 为汇编程式,即 masm.exe 之简化名,请参见第二章第二节。其后之“,,,;”表示需要 .obj,.lst和 .crf三个档,而且不必显示在萤幕上。
源代码网推荐 汇编完成后,再用 cref.exe 生成 abcd.ref 如下:
源代码网推荐 C:>CREF ABCD;
源代码网推荐 这时,将 abcd.lst 及 abcd.ref 印出,相互对照,先将程式精简、整理,再行分割。
源代码网推荐 1,在 abcd.ref 档中,每个「标题」都来自 abcd.lst 档,标题之后,有若干组数字,其中带#者,表示标题出处,余者为调用之处。若仅有来处,而无调用处,则此标题可删除。再如标题前之指令为 jmp 或 ret ,则此标题所代表的程式毫无用处,亦应删除之。
源代码网推荐
源代码网推荐 2,如 abcd.lst 档中有 nop指令,除非是有意安排者,否则亦应删除。如在 jmp xxxx 之后,可将之改为 jmp short xxxx 。
源代码网推荐 若 XXXX 之前无连接的程式,亦可将之合并。此外,凡指令 CALL 所调用的子程式,如仅调用一次,最好将此段子程式合并在程式内,或附属于其后,以便于分辨。
源代码网推荐
源代码网推荐 3,程式精简及合并后,再行检查各段程式,凡功能独立者,应先分割。分割后,再检查其中是否调用其他子程式,如有,应先记录下来,此段程式即可视为「功能模组」。

源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华