WEB开发网
开发学院软件开发汇编语言 汇编语言的艺术-观念正误(四) 阅读

汇编语言的艺术-观念正误(四)

 2007-04-25 09:30:25 来源:WEB开发网   
核心提示:三、利人与利己 任何一种商业产品,当然是以利益为先,汇编语言的艺术-观念正误(四),利己后而利人,如果是艺术品创造,可以改进组合语言制作的效率, 这正是本书的主要目的:介绍一种方法,则刚刚相反,唯有能忽视己利

三、利人与利己

任何一种商业产品,当然是以利益为先,利己后而利人。如果是艺术品创造,则刚刚相反,唯有能忽视己利,沥血泣心地探索,虔诚狂热地奉献,才会迸发出人性的光辉,创造不朽的杰作。
艺术家之伟大,在于此,人性之可贵,在于此。
对组合程式语言,有人视为商品,将写作技巧当作专利,轻不示人。相信这也是迄今尚无一本像样的参考书籍之根本原因,我买了不少这类书,但书中除了指令介绍以及编程、侦错的手续外,完全没有技巧的说明,好像懂得指令就可以把程式写好一般。当我自己下了不少功夫,得到了一些心得,再回过头来看那些参考书,才发现连作者本人所举的例子,都是平铺直叙,毫无技巧可言。
(更正,在序言中我曾提到有本最近出版的“禅-组合语言”,是唯一的例外,希望读者不要错过。)
多年来,我一直想写本有关组合语言写作技巧的书,可惜都得不到机会。这次,为了实现「整合系统」革命性的计划,所有招收的工程师,一概从头训练。由于没有可用的教材,只好自己动手,于是初步有了讲义,再经修改,便成此书。
我认为,既然组合语言是种艺术,我们不仅不应该藏私自珍,而且要相互探讨,交流切磋,以期发扬光大。
不过,技术本身与利用该技术所创造的产品却不能混为一谈,产品是藉以谋生的工具,能够生存,大家才有研究发展的机会,也才能把成果贡献给社会。如果国人不尊重别人的产品权利,只是互相抄袭盗用,或能受惠于一时,但影响所及,人人贪图现成,不事发展,则观念停顿,技术落伍,其后果不堪设想。

第三节 效率定律

一、效率的定义

在宇宙中,大至物种的演进、变化,小至个人的工作、运动等,都严格地遵守效率法则。 
效率的定义是:
┌─────────────────────────┐
│F=E/t,即特定的能量在特定的时、空中所作的「功」。 │
└─────────────────────────┘
由上式 F = E/t 可知,特定的「能量」在特定的「时空」中所作的「功」,是一恒定值,既为恒定值,表示不可能有任何浪费。当能量不变时,时、空的延长往往会导致「功率」的不足,从另一个角度看,可以说是能量不够,效率低。
对电脑而言,如果写作程式的「功率」能接近此一「恒定值」,而又具有长远的使用价值,则我们可以假定,这种程式的效率最高。
由人类文明的演进,可以看出,因为技术日渐专业化,工作的难度不仅没有减低,反而更加复杂。这种藉着职业专家的投入,以节省一般应用者宝贵时间的方法,事实上可以说就是效率的追求。
因为人的生命仅存在于有限的时间,所以其价值极高。每一个电脑程式,其最终目的都是为了服务大多数的使用者,制作程式者仅仅是少数人,其制作时间的长短,永远无法与大多数的使用者,在操作中所耗费的时间相提并论。
此外,以写作程式为职业的人,一生中所需写作的程式,也一定有相当的数量。如果能重复应用写过的程式,将更缩短其写作时间。无论从哪一个角度,若要追求效率,组合语言应是唯一的选择。
作为电脑的从业者,在职业良知上,理应禀着服务人类、追求效率为最高准则。

二、电脑的效率性

电脑的发明,是人类追求效率最具代表性的成就。
目前电脑的机能尚局限在资料处理以及自动控制上,人们利用电脑,所期望得到的效率不外乎下述六点。
1,节省工作时间及工作成本。
2,取代繁琐、重覆性高或具有危险性的作业。
3,追求精密无误的资料、讯息。
4,贮存或运算大量的数据或资料。
5,远距离的通讯或遥控作业。
6,自动化工业生产或一般性服务。
然而,电脑发展方兴未艾,上述数点难以表达于万一。因此,我们有必要将人类所期望的效率整理归类,以作为分析判断的依据。

三、四大效率定律

兹以人类社会中,有关作业过程、生产成本及应用价值等三方面,分别假设定律如下:

定律一:
在作业过程上,能以最少步骤产生最大功率者,效率最高。
定律二:
在生产成本上,时、空间及原料最节省者,其效率最高。
定律三:
在应用价值上,功能及成果能一再累积者,其效率最高。
定律四:
最佳的效率,是最符合实际需求的最大边际效应。

电脑的应用,纯粹是为了追求工作效率,据此,硬体、软体的设计,都应严格遵守效率定律。可是事实却不然,由于电脑发展迄今,一直是「卖方市场」,美其名为「高科技」,内行人高利、高酬,外行人则唯恐后人,亦步亦趋。
电脑界为了谋取近利,在软件设计的过程上,常采用最缺乏工作效率的高阶语言。但是由于高阶语言易于制作,生产成本低,只是苦了「无知无觉」的买者,为了追求效率往往要花费更多的代价,购买更昂贵的、更新型的硬体,以满足其效率的需要。
有人说高阶语言制作的程式还有一个组合语言无法比拟的优点,就是很容易「转移」到其他的机种上。事实上,目前微电脑市场仅存两种机型:一为IBM PC系列及其兼容机,另一为MACINTACH ,而这两者所有的软件,不论采用哪一种语言,都无法轻易地「转移」!
一般说来,任何一种新的微电脑上市,其执行速度及记忆容量每增加一倍,其价格亦成正比上升。是不是有必要非改进硬体,才能达到效率的要求呢?如果我们能澈底瞭解程式语言的特性,当会明确地认知怎样才具最大边际效益。
这也是进化的基本法则之一,当电脑技术成熟之时,真正的效率才会受到重视。同理,在电脑应用效率达到最高点时,也就是电脑技术成熟的时机。我们如果能掌握这个原则,自不难看到长远的发展趋势,洞烛机先。

四、组合语言之效率

根据定律一,组合语言之效率是不容置疑的,因为组合语言相当于电脑运行的「机器命令」,能直接产生「功率」。
生产成本有多种意义,在此我们仅讨论其中两点:一是生产过程所需的时间,一是产品的直接成本。
组合语言能以最小的空间,发挥最大的功能。显然,在等效的功能下,其成品所占空间最小,成本最低。但是对生产过程所需时间而言,组合语言就处于相当不利的地位。除非能有一种方法,可以改进组合语言制作的效率。
这正是本书的主要目的:介绍一种方法,以提高组合语言之制作效率。

1 2  下一页

Tags:汇编语言 艺术 观念

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接