`
saybody
  • 浏览: 907946 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

二十年前的程序设计回忆

阅读更多
1987年秋,我刚上大三。某日,班主任王老师,一位吉林大学物理系高材生出身的专业课老师,通知我随他做工业控制项目。从此,开始了我七年的Z80、8088汇编语言程序设计工作。
说是程序设计,当时可没有现在这么好用的设计语言、设计环境。我参加的第一个项目是棉纺厂织机监测,从电路板,到监控程序,全部自己设计。电路板要派人到河北青县去制板,几周能做好,自己再坐公共汽车去取回。之后再做轧染机监测项目,这是我真正独立地进行程序设计的开始。当时连续几个月,下午五点一过就进实验室(白天有别的工作),不抬头、不离座位,通常干到凌晨两、三点,有时到四、五点,与计算机连续斗智。连续八、九个小时坐在那不动,一旦被值夜的老大爷多次催促后无奈地站起来,各种生理的需求全来了:喝水、去洗手间、吃东西、活动筋骨、照顾一下干涩的眼睛。但坐在那儿的时候全然不知,想想可怕,就是睡觉还能被去洗手间的需求唤醒呢,但程序设计时这类需求唤不醒人。
编程序,则是先在系统机上设计程序、汇编,然后用EPROM擦写器把汇编好的程序代码写入EPROM,再把带着监控程序的EPROM插到工业控制机上测试。若通过,就进入下一段程序的编写。但未通过的时候居多,只好用EPROM擦写器擦除监控程序(紫外线擦除),下次再用,还得省着用,因为一个EPROM芯片很贵、不能无限次擦写。呵,许多工程意识就是这时建立的,得有成本概念呀!
那时的系统机程序设计工作也不轻松,一开始用行编缉器EDLIN(DOS环境),一行行地写、删。记得用的首个全屏幕编缉器是VI,用上下左右的光标键控制,可全屏幕编缉,觉得好用得不得了。存储全是五寸半的软盘,读写(尤其是写)噪音特别大、特别慢,还易折损、易坏,至少双备份,费时费力。印刷电路板的设计程序一开始只能设计两层电路,后来变成能设计三层、四层的。
当时芯片的集成度低,CPU、计时器、输入输出管理器等都是独立的、形体很大的芯片,要自己设计电路,再把芯片焊上去,焊接的功夫都是那时练的。各种抗干扰措施,包括高低容量的电容器、电阻、电感,还有保险丝、通风降热用的电扇、防尘网、防硬撞击的机壳等等,都要自己设计上去。然后到中关村采购(全国大概就中关村有三两家店卖这些东西,只有科海一家货较全)。那时的中关村电脑商店没几家,买电脑、打印机,交款后常要等上几个月,也没啥售后服务。每次来中关村最享受的是白石桥路(现在叫中关村大街)上的林荫道,最为难的是住和吃。一天补助16元,吃住行全在里面了。中关村饭馆只有两三家,最有名的是颐宾楼,卖的油水巨大无比的低质饺子,两三元一份,吃几口就腻得你不再想吃。从北京站下火车后,得先坐103无轨电车到动物园,再倒332路到中关村,全程得一个多小时(幸好不像现在这样堵车)。就是这样,来出差还算机会呢——能了解点最新的技术动态、设备动态。当时卖东西的能告诉顾客点技术、设备动态,还得看人家高兴不高兴呢。电脑类报纸、杂志非常少,信息也不全。网,还没人知道呢!
那个年代内存特昂贵,所以程序设计里如何能有效使用一两个,最多8个字节的内存,是程序设计最大的诀窍之一。谁在合理调度内存上过不了关,就甭想设计程序的事儿。堆栈被广泛使用,以保护内存里的参数。有时程序入口上做了PUSH,出口时少POP了一句,结果就出不来。这类毛病又不太好查。
汇编语言程序设计最终生成的代码量很小,1K左右的程序就不算小了,得让你忙上两三个月。最耗时的是调试。记得有一次程序总不能通过,左查右查,一个月下来,软件设计的毛病全挑出来了,还是通不过,伙伴们还时有抱怨和催促——耽误总体进度,那叫郁闷呀!连睡觉都在编程序。真别说,有些问题还真是睡觉时想出来解决之道的,半夜起来写下来,再睡,第二天编过去了,那叫兴奋!后来实在没办法,只能怀疑硬件的问题了,拿逻辑表一测,定时器的一个输出口不管有没有输入指令,都在不停地输出信号。而那个口是用来管理不可屏蔽中断的。问题找出来了,心中的石头才落地,那一夜睡得那叫甜呀!
从87年到94年,我的业余时间大都花在这些事情上了,七年的重复工作过来,至今忘不了Z80、8088汇编的指令。这些工作从基本的硬件设计、抗干扰措施,到软件设计、调试,全程下来,让程序员们对计算机的各个部分没办法不了解,倒是很锻炼人。现在回想起来,那感觉也不错,很有些自豪感——大概凡是很累人的事儿,容易让人记忆的原因吧。
  更多关注教育、职业发展的原创文章:http://blog.csdn.net/shuangtixi
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics