好学IT学院:IT信息技术分享交流平台
标签:汇编  来源:互联网  作者:本站整理  发布时间:2009-05-19  ★★★加入收藏〗〖手机版
摘要:汇编语言的艺术之一:(组合语言的艺术)观念正误第一节 电脑一、前言电脑的到来,被喻为人类文化的第三波革命,由于它具有强大的资讯机能和弹性,正好弥补了人类记忆不足、反应迟钝、厌于重覆和受限于时空的缺点。遂在当今世事繁杂、变化多端的动态社会中,……

汇编语言的艺术之一:(组合语言的艺术)观念正误

第一节  电脑

一、前言

电脑的到来,被喻为人类文化的第三波革命,由于它具有强大的资讯机能和弹性,正好弥补了人类记忆不足、反应迟钝、厌于重覆和受限于时空的缺点。遂在当今世事繁杂、变化多端的动态社会中,成为人类日常工作中有力的帮手。

它之不同于人类其他的发明,是以机件的「硬体」结构,去执行可以随设计理念而改变的「软体」。这一来,机器便具有了灵活应用的弹性,只要有适合的软体,它就会忠实不渝地去处理各种繁琐的任务。

在初,它的速度及容量很低,但已有足够的魅力,吸引了无数狂热的有心人士,为它尽智竭力,不断地改良更新。仅仅不过十余年,它已脱胎换骨,蔚为龙象。

这是一个崭新的天地,凡是思路广、创意新,能将各种抽象观念整理成为有秩序、有条理的人,都能利用电脑的特种「语言」,发展成为实用而成功的「软件」。随着软件大量的应用,工作绩效显着增进。终于,它的地位奠定了,整个人类社会的变化加速发展,对它的依赖也逐日加深。

在这种形势下,我们要想充份掌握电脑的发展方向,就必须澈底瞭解电脑的本质,再进一步分析探讨可行的、最理想的途径。由于它还在发展阶段,一定存在着许多缺陷,也正因为它并不够完美,所以更需要我们用心力去浇灌。

二、正名

任何一个行业,其专业术语的正确性、优雅性,代表了从事该业人士的文化水准。或许有人认为文化水准不重要,那么还有什么更重要呢?「信、雅、达」不是一种装饰,术语是供学习、沟通及表达之用。因此,文化水准在另一个角度来说,相当于该行业从业人员所具有的常识及智力水平。

有人称电脑为「电子计算机」,就其源起而言,Computer确是这种定义,因为当时的电脑,仅仅具备计算能力。但是微电脑(Micro Computer)问世后,其计算能力已由小型计算器(Calculator)所取代,其主要功能反而是逻辑推理、图形及影象处理等。

当今是一个演进淘汰极为剧烈的时代,举凡新生事物,由产生到消失,由稚弱到茁壮,无不历历在目。原名计算机,现在已证明是当时观念的不足,我们应该将错就错吗?而且,趋势所及,它必将朝向人工智能发展,成为道地的「电子」脑。所以,我们认为应该及时更正,名之为「电脑」。

此外,将Assembly Language 译为「汇编语言」,这是理解的错误,因为绝大多数的程式都需要「汇编」,而Assemble的本意正是「组合」。名不正,理解就会发生偏差,对功能的实际应用就难以发挥。

最不可原谅的错误是因为国人好吃成性,硬把在现代科技界「假借」使用的 MENU 「清单、目录」,全部直译为「菜单」!我国文字原有的优越性荡然无存矣,我无法想像当智慧电脑天天面对「菜单」时,要从何理解!

有把Program 「程式」当作「程序」,这也是对文字概念认识不够所致,「程式」是一种具有「程序」的「式子」,而「程序」只是行事先后的「过程及顺序」,读者不可不知。

又「硬体、软体」分指固定及可变的物理性质,「硬件、软件」则为某一具体的物件;「套件、软件包」是可以出售的商品;「硬、软盘」指附属机器上之设备;「软盘」是可取用的磁盘。

还有 CALL 被译为「访问」,似乎太拟人化了,它本来就是「调用」特定子程式,名正言顺,何不「调用」?Run 被译为「跑」,则过于「写实」。这些译名不禁令我想到,在十多年前,1台湾曾有人将Backspace 翻译为「后悔」,结果贻笑大方,传为趣事。

其他此类疏误尚多,我认为电脑界必须谦虚一些,邀请文学界专家学者,或博采众见,以免被讥为不学无术。

实际上,由于概念的应用日趋精密,文字本身也在不停地调整变化。以《庄子》逍遥游为例,在汉朝时作「消摇游」。后来,改成以「??」为部首,代表「动作及行为的状态」的「逍遥游」,显然比「消摇游」更为妥贴,于是沿用迄今。

连哲学上都如此,为什么当今的高科技就做不到呢?

三、应用

电脑发展的初期,不论硬体、软体,都出于个人的意向,其功能完全根据发展者自我的认知而定。

现在,电脑软、硬体的技术迅速成长,社会上对它的要求越来越高,尤其是软件的复杂程度,已非任何一个个人能够掌握。于是,个人英雄主义消逝了,集体合作、功能强大的各种软件纷纷出笼,电脑的应用普及到社会上各行各业。

人的愿望是永远无法满足的,随着技术的日新月异,使用者开始期待着一种万能软件,能一举解决他们所有的需求。然而,电脑虽然是一种商品,其涉及的技术层次甚高,只有少数专家洞悉其中奥秘。在理论上,只要把所有已知的功能,溶汇在一个套件中,就叫做「整合软件」,再不断改进,必然可以符合人的需求。

这种整合软件,对西方的功利社会而言,只是可望而不可及的理想。他们制作软件纯为了牟利,成本越低,上市越早越好。既然他们才是掌握技术的专家,而要达到敛财的目的,当然不想劳神费力,去为使用者考虑。

设计软件的工具,称为「程式语言」,其种类甚多,最早用的是「机器码」,后来为了程式师使用方便,特在机器码与编程者之间建立了一个界面,此界面所用的字汇及语法,便是「组合语言」。

由于技术发展之初,各种观念及认识尚不完整,一般程式师都嫌组合语言太琐碎,难学难用。故而又发展出一些比较容易应用的「高阶语言」。这种高阶语言制作的程式,在执行时不仅速度慢,又极占空间,使得容量有限的微电脑,常常被这种「高级」程式占满。

虽然硬体逐年改进,而软体工作却也不断增加,如果采用高阶语言来制作,水涨船高之余,整合的理想仍旧遥遥无期。电脑界一直有种谬论,咸认记忆体的容量越来越大,所以程式空间并不重要。这是最不负责任的态度!记忆体的增加,正宜用来强化电脑的功能,怎能无故挥霍浪费?

组合语言则没有这种问题,在严谨的制作方式下,不仅其程式空间小,执行效率高,且制作容易。这一次,我们仅用了百余个人月,170KB 的程式,完成了有视窗、文书、试算表、资料库、绘图、排版及通讯等功能的整合软件。

更进一步,我们把这个整合软件的各个模组,继续发展成为“整合系统模组”,提供给各系统、软体公司,作第二次开发之用。由于利用现成模组可以节省程式制作的时间,藉着大量应用软件的开发,以提升电脑的功能。

当然,各种电脑语言都有其优劣点,完全看设计者的理念及目的而定。原则上,其执行速度、占用的系统空间、在各个不同机种上的通用性、待处理资料的性质以及使用该语言需要的工作量等,都是必须详加考虑的因素。

如果我们把眼光放在未来电脑的趋势上,人工智能必将是唯一的方向。要想微电脑具有人的智能,由于对空间速度的要求,只有借助组合语言始有可能。至于目前一些人工智能专用语言,则都是过渡时期的垃圾,毫无价值!

不论从事任何工作,必须具有敏锐的眼光和判断力,等到人人都看到了,再行动手,则只有拚命追赶的份。组合语言正是一个崭新的领域,先把观念建立了,再下功夫钻研技术,将无往而不利。