倍,以得到 48X48的字形。这种点阵处理,有很多高阶语言难以胜任,所以只好在常用的语言中,选了五种。另一是排序,一般语言都能处理,只是效率相去甚远。
┌─┬────┬────┬────┬────┬────┬────┐
│ │语言类别│执行速度│占用空间│制作时间│通用机种│应用限制│
├─┼────┼────┼────┼────┼────┼────┤
│ │assembly│ 1.0 │ 1.0 │ 2.1 │限于机种│ 无限 │
│图├────┼────┼────┼────┼────┼────┤
│ │turbo c │ 7.2 │ 3.2 │ 1.4 │ 不限 │ 无限 │
│形├────┼────┼────┼────┼────┼────┤
│ │pascal │ 6.8 │ 8.1 │ 1.4 │ 不限 │工商应用│
│处├────┼────┼────┼────┼────┼────┤
│ │fortran │ 8.0 │ 6.9 │ 1.0 │ 不限 │科学计算│
│理├────┼────┼────┼────┼────┼────┤
│ │basic │ 720.0 │ 8.1 │ 1.0 │ 不限 │ 有限 │
├─┼────┼────┼────┼────┼────┼────┤
│ │assembly│ 1.0 │ 1.0 │ 10.0 │限于机种│ 无限 │
│排├────┼────┼────┼────┼────┼────┤
│ │c │ 3.0 │ 3.0 │ 1.5 │ 不限 │ 无限 │
│序├────┼────┼────┼────┼────┼────┤
│ │pascal │ 6.0 │ 6.0 │ 2.0 │ 不限 │一般应用│
│处├────┼────┼────┼────┼────┼────┤
│ │fortran │ 8.0 │ 7.5 │ 3.0 │ 不限 │科学计算│
│理├────┼────┼────┼────┼────┼────┤
│ │basic │ 10.0 │ 8.0 │ 1.0 │ 不限 │ 有限 │
└─┴────┴────┴────┴────┴────┴────┘
由于个人写作能力,以及程式不同的特性,这种比较并无绝对的价值。不论从什么角度看,组合语言效能最佳,但制作时间较长,且限于机种,是其不利之处。据统计,C语言近年来有取代组合语言的趋势,尤其在系统设计上,由于硬体速度的改进,组合语言的边际效益已日渐减少。
然而,从附录的程式测试中可以看出,只有组合语言的写作变化多、弹性大,能够精雕细琢,将程式的效率发挥得淋漓尽致。纯以技术的立场、以及成本的分析来看,真正有实用、推广的价值的软件,其初期的开发费用及时间等成本根本微不足道。
硬体之速度及记忆空间每增进一倍,其产品之售价亦上涨一倍,故组合语言仍有其绝对的优势。至于通用性问题,以目前发展的趋势来看,机种日渐统一,故丝毫不足为虑。
还有一点也常被忽视的,是程式的积累价值。效率不高、功能不强的程式,很容易就被扬弃掉。反之,则可以不断地重覆利用,甚至累积起来,成为日后软件继续发展的基石。像这样,程式的制作效率将会随着累积的程度而直线增加。当然,没有长远的眼光和妥善的规划,是难以竟功的。
要发挥组合语言真正的效益,必须先澈底认识其特性及机能,并应用各种技巧,整理出一套法则,以便推广应用。这样虽然辛苦,但是,以未来社会对电脑的需求量,不论成本、效益,也不论硬体发展到什么程度,唯有组合语言才能使软体更上一层楼。 第二节 组合语言