汇编语言程序设计(一)
2007-04-25 09:30:06 来源:WEB开发网三、改进
上述的编码方式,是否很理想呢?绝对不是,不仅由于当年的经验不足,考虑的不够周全,已经有了一些错误的编码,而且观念上也有疏忽处。希望读者能进一步的研究出更好的方法,至少,应该能把我个人所发生的缺点加以改进。关于这一点,不妨当作考试题目,在参考本章第五节程式写作时,留心一点,就会发现其中大有文章。
编码确定以后,就可以写程式了。由于编码时已经把程式的「位元资料」一并考虑,所以立刻分支,利用绘图的程式,轻松愉快地,用几条指令,就完成了任务。
第二节 系统分析
所谓系统分析,即为有系统、有规则地去分析「对象」,以电脑术语而言,对象指的是所使用的硬体及软体。
系统是一系列有组织且统属的整体,从宏观角度来看,系统所涵盖的有:
1,目的:
任何一种系统,必然有一个特定的目的,如果不能对其目的先作分析,甚至于不知道目的为何,又怎能发挥系统的功能?
2,结构:
系统之组成,是基于其特殊结构,也可以说是组件、部件或或部门,端视其系统特性而定。瞭解结构,分析结构的性质,再配合各种条件,才能达到目的。
3,效应:
效应指预期的结果,系统分析的意义是为了实现,唯有透过对目的的认识,对结构的瞭解,才能设计出方案。可是这种方案所产生的效应,如不能料于机先,又怎知是否符合理想?
同时,系统分析还有另一层意义,天下所有的事都是相互的,单一的系统没有分析的可能与必要。比如说分析一部汽车而不理会其行经的路况,不顾使用的条件、油料、配件、人员素养等因素。则我们可以断言,这种分析的结果,除了提供参考外,毫无实用价值。
在电脑上亦不例外,电脑术语上的系统分析,概指对硬体机种的性质、设备以及使用者的需求范围等的分析、瞭解和设计而言。在下面我们将对这些一一进行分析。
一、硬体机种
以 IBM PC/AT作为发展对象,本来不必讨论其硬体机种。只是,站在系统分析的立场,则不能不加以说明,因为这是系统分析必要的步骤之一。
根据市场分析,国内 IBM及与其兼容的微电脑几乎占 80%以上,中文系统是特为国人发展的,而且是种「附属程式」。以目前的形势看来,可以说是别无他途。
既然决定了系统,进一步是探讨系统的规格。
硬体系统的规格,不妨参考随机而来的手册或说明书,资料越齐全,对工作越方便。尤其是「程式师手册」(Programm-er's Manual)更是必备,应事先收集妥当,随时可以取用。
有了硬体的规格资料,再看哪些与程式本身有关,摘录下来,一条一条地比对,直到全部有了答案,机体的系统分析才算完成。
兹以一、所述的任务为目标,并假定使用的机种为 IBM的AT 兼容机。
其相关的规格有:
系统记忆体 640KB
硬磁盘 20 MB
软磁盘 360KB
萤幕显示卡 Hercules Graphic Card
键盘 101键,型号 CSK-1101
操作系统 dos 3.3 版本
其他周边无关宏旨,从略。
此外,为了应用中文,假定采用了“聚珍整合系统”,本系统程式包括所有中文字形及七大应用软件,占 440KB。
作为一个系统,使用者能支配的空间越大越好,既然要用中文,而中文系统程式又是一种附属程式,难免就会占用部份空间。
因此,要想使中文的应用功能不弱于原系统,必须非常有效地利用时间及空间。既然已经用了 440KB,千万不要再多事浪费。
有些中文系统的设计,是把中文字形存贮在硬磁盘中,从表面上看来,空间并没有浪费多少。但是不要忘了,硬盘的读写次数有其极限,如果每个中文字要读取一次,大概不到半年的时间,硬盘就会损坏。不仅如此,这种方法速度很慢,用起来也不方便。
有些设计为了避免上述的缺点,便以扩充记忆体的办法,先将「常用字」装入扩充区内。这样速度加快了,硬盘的损耗也减低了,可是成本却大大增加。也有人认为,硬体在不断改进,光盘问世后,容量不再是问题,何必多虑?
软体工程师的责任,是要在自己的技术能力上,发挥最大的边际效益。不论硬体是否能够改进,都应该不辞辛劳,努力将程式写好。一方面当目前硬体尚不够理想时,效率高的软件有立足之地,即使未来硬体改进了,优良的软件仍然占有高效率的优势。
当今电脑的应用观念尚未充份发挥,似乎光盘的容量大得超过我们的想像。可是,在未来的电脑时代,才真是「寸土寸金」,分秒必争的关头。尤其是一旦电脑成为普遍使用的「大众化产品」后,成本之高低将决定产品的成败。中国本来就贫穷,需要的电脑数量又多,能节省一分钱,对整个市场说来,就是一笔天文数字。更何况硬体技术越进步,电脑的体积越缩小,笔记型、口袋型电脑相继问世,其所面临的储存问题并不是光盘能解决的。
假如真能因为多花一点钱,一劳永逸地解决了问题,倒也值得,事实上却不然。文字是民族、文化的根本,收字不足将形成「残缺文化」。同时,电脑技术在进步,使用者的需求也跟着增加,私人用的排版软件以及「视窗」的方兴未艾,中文还能梦想徒以增加记忆体的方式去与拼音文字竞争吗?
那么,有没有其他的办法,用少量的空间,一次解决中文字形的困境呢?
所谓中文系统分析,就是要针对这类问题,提出正确的答案。最理想的答案,就是用事实来证明,我们已经完成了全部中文字形的字库,共收能见诸字典的「有效字」六万余,且能组合出符合仓颉输入法的字形「六百万」个!不仅如此,每个字的大小、长宽级次不限,(即所谓「无级次放大」)字型、字体也无限!而这些功能,仅用了 260KB的空间,每秒钟可组字 500至1000个!
我们还在努力改进,几十年的苦工算不了什么,只要我们还有余力,只要能保中国文化源远流长,这一切都是值得的。
前面所提到的任务,正是这些技术之一,因为其范围小,不涉及文字的专门知识,所以特地摘取作为分析的例证,以供有心人士参考。
因为我们能用 440KB完成任务,20MB的硬盘就可以完全由使用者支配了。反过来说,如果我们的中文字形要占用20MB硬盘,对客户而言,等于没有硬盘可用。于是,除了改变系统的规格,便得宣告该系统无法设计。
能不能使用软磁盘来存放字形呢?显然也行不通,软磁盘的读取速度慢,容量也嫌小,一般只用来做资料转换。
更多精彩
赞助商链接