汇编语言的未来展望
本人曾在ASM专家门诊上发表过一个“win98出于速度考虑,系采用asm开发
”的贴子。发布后立即有网友提出质疑;另因本人也正在苦练ASM,亦对汇编有一些新的体会,故一并回答如下:
此消息是我在一本著名电脑杂志上看到,因年代久远,现已记不清了。但因本人当时正在大学苦练c,想当然认为只有C+ASM才能写OS,更可况win9x这么大的软件工程?故深感震动,也让我对ASM有了新认识。您若仔细看看MASM 6。X,就会发现一些类似pascal的语法已进入ASM的世界了,本人个人认为,引进.if、.else.while..until、invoke、 proto 、struct、 union后,最明显的好处是可以不用标号,不信你看,在使用了.startup和.end后,主执行模块再也不需用end+标号了。这使得asm的可读性大大加强,也符合结构化编程的原则。在dos 下写ASM,没有像C-样的库可以利用,举个例子,读入a、b,输出结果a+b,就要牵涉到ASCII码到二进制的相互转换,用C只需用scanf和printf就可轻松解决。所以,要降低ASM的难度,关键在于有大量的库可调用,并要有像高级语言一样的调用语句,用传统ASM的stack 传递参数方式,实在是太过麻烦了。故microsoft搞出了invoke和proto,让此问题得到了良好解决。不信你看win32asm,加上了新扩充语法后,可以灵活调用win32API,上述两个问题均得到解决。用win32asm写windows application,简直像用C写一样简单。故我发表了上述言论,本人生平最恨弄虚作假,虽然是在虚似网络上,亦是生活的一部份。
从上论述,可以想见ASM的未来应该是向高级语言靠拢,并加入OOP的思想,若一时做不到,也可以用大量的库来解决。若也能做出ASM版的MFC或者是VCL,相信由于ASM的强大功能,将会有更多的爱好者加入。
另注:操作系统是计算机软件中最复杂的一部份,但目前其核心技术是掌握在老美手中。我国windows的装机量占90%以上,关于windows的安全问题,如microsoft暗中收集用户信息(windows xp更是极端)、intel PIII蕊片号码问题、美国法律禁止windows源程序出离美国本土、海湾战争期间,伊位克得到的武器设备内含病毒,开战后设备自动失控、CPU内部装有保险丝,一旦碰上电磁炸弹,便会自动熔断等都对我们国家有着致命潜在威胁。据新闻报道:我国已生产出类似486的CPU蕊片,但播音员在播此“486”时明显底气不足,原因我想无须多说。出于安全考虑和国家利益,老外其实很多技术是对外封锁的,作为有着50亿人口的中国,四大发明的继承者,尤其是美国现在对外虎视耽耽,小日本一心想要侵略中国,(我从不相信什么一衣带水、中日友好天长地久之类),我们一定要造自已的Computer出来。同胞们,努力!
郑红文
2001-10-18 22:42 于上海有感而发