您的位置:逆风者 汇编技术 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:11 来源:未知

本文章共2416字,分2页,当前第1页,快速翻页:
 

四、模组分割

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

2,如abcd.lst档中有nop指令,除非是有意安排者,否则亦应删除。如在jmpxxxx之后,可将之改为jmpshortxxxx。
若XXXX之前无连接的程式,亦可将之合并。此外,凡指令CALL所调用的子程式,如仅调用一次,最好将此段子程式合并在程式内,或附属于其后,以便于分辨。

3,程式精简及合并后,再行检查各段程式,凡功能独立者,应先分割。分割后,再检查其中是否调用其他子程式,如有,应先记录下来,此段程式即可视为「功能模组」。

4,凡前述功能模组中调用的子程式,如仅供该模组调用,则可附在该模组后,否则应置于「共用模组」中。

5,但凡程式之「主流程」,大多属「应用模组」。此类应用模组极难分割,也无分割的必要。

6,分割完毕后,应详细注记,以便备用。

五、模组特性

所谓模组特性,是指各个模组在设计或分割之初所考虑的因素。特性包括了功能,效率的特别要求以及使用时应行注意的重点等有关模组的细节。
不论模组设计的目标为何,既然有了模组,就应该高度发挥其应有的效率。各个模组之分割,皆有其必然因素,不论是为了功能,或是为了制作方便,目的都在追求效率。而每个模组皆有其特性,要达到效率要求,应先瞭解模组的特性。
下面以前节所举的中文系统为例,将其中各个模组的特性一一详细分析如下:
【模组一】:中文处理的系统模组-功能模组
1,键盘中断:因为人输入的速度远逊于电脑处理速度,所以,本中断程式应该以节省空间为主。此外,键盘的应用,以灵活达变为重点,宜多采用「建表」法,便于修改、变更。

2,显示中断:显示速度非常重要,本模组应牺牲空间以争取时效。此外,显示的弹性要大,凡字符的大小、位置、属性等,都应该一次考虑清楚。
目前显示器的规格很多,彼此互不相容,一般多在程式载入前,先作安排。在本模组中,尤其应该注意不同的显示程式,如何兼顾速度的运行。
 

本文章更多内容1 - 2 - 下一页>>
相关文章

汇编语言的艺术(组合语言的艺术)--基本认
HELLO WORLD进阶汇编程序系列
分段管理机制
输入/输出保护
IDE的选择与配置
汇编语言中‘子程序’的设计方法
虚拟设备驱动程序结构
用 MASM32 编写通用游戏改器流程
8086/8088指令系统
伪操作
汇编语言---程式设计 (3)
汇编语言的艺术(组合语言的艺术)--基本认
用汇编编写DOS下的内存驻留程序(2)
汇编语言---程式设计 (1)
用汇编编写DOS下的内存驻留程序(4)
汇编语言的准备知识-给初次接触汇编者4
汇编语言的艺术(组合语言的艺术)--基本认
用汇编编写DOS下的内存驻留程序(5)
用汇编编写DOS下的内存驻留程序(3)
用汇编编写DOS下的内存驻留程序(1)

相关评论


本文章所属分类:首页 汇编技术

  热门关键字:
进制数据输出的通用程序 2007-09-12
汇编源码--showmem 2007-08-31
汇编源码--CLEAN 2007-08-31
汇编源码--hdr 2007-08-31
汇编源码--basload 2007-08-31
汇编源码--CHAR 2007-08-31
汇编源码--fxn 2007-08-31
汇编源码--alarm 2007-08-31
汇编源码--getsect 2007-08-31
汇编源码--DEV 2007-08-31
汇编源码--getspace 2007-08-31
汇编源码--frespace 2007-08-31
CIH文件型病毒检测消除程序 2007-08-31
Mixer Volume Ctrler V1.0 2007-08-31
汇编源码--COMINT 2007-08-31
自己用汇编语言写的一个病毒(源码... 2007-08-31
汇编源码--col 2007-08-31
汇编源码--BURNOUT 2007-08-31