回忆我与电脑在一起的日子

还没有完成,没有很多时间来写。慢慢再更新吧。

接触电脑和编程已经有20年了,最近想把一些东西记录下来,作为一种回忆,也是一种对过去的总结。最近总有很多的感慨,学了这么多年的编程,我还是一个普通的程序员,技术上也没有很本质的提高。总结一下,看看哪里做得不好,有哪些方面做得好但已经被我遗忘了。其实最关键的是怕自己遗忘过去,因为现在自己对过去的记忆已经越来越模糊了,很可怕的一种感觉。

我觉得自己的问题是思维不够灵活,做事情不够积极主动,性格里消极的成分太多了。有些事情喜欢钻牛角尖,浪费了大量时间在同一件事情上却收获很少。另外在游戏上花的时间太多了,很可惜(玩物丧志啊,古人总结得太好了)。

记得小学高年级的时候第一次基础电脑和编程,在老师那里看到一台不知名的电脑(不过样子都忘了),记得有同学在上面用一些print语句打印一个船的图形。从那开始,不知为什么就开始对电脑感兴趣了。我买了一本讲Basic语言的书(好像是32开的小册子)就开始学。

初中时加入了学校的电脑兴趣小组,也是学Basic语言。学校已经有一个不错的计算机房,有几十台苹果机(AppleII),单显,屏幕是绿色的。有几个同一年级一起加入兴趣小组的同学,大家一起玩一起学编程,也都喜欢趁老师不在的时候玩游戏,很有意思的。现在回忆起来,那个阶段是我和电脑在一起最单纯快乐的日子了,一个好玩的游戏就可以让我兴奋很长时间。苹果机上的游戏有很多不错的作品,都是用汇编写的。印象比较深的有警察抓小偷、打伞兵。记得苹果机的屏幕分辨率横向是256点,但有一种技巧可以让它达到512点的效果(需要在彩显上才能看出来),画面非常细腻,感觉比当时的PC机(8086/80286)上的游戏画面好多了。因为对游戏感兴趣,也开始研究苹果机上的汇编语言。苹果机的CPU是6502。开始没有什么类似MASM那样成熟的汇编语言工具,只有在一个固化在ROM里被称为监控程序(用call -151启动 - 好熟悉的感觉...)的下面(和DOS上的debug差不多)一条一条指令的敲,每敲一条指令就立刻被翻译成机器码存放在RAM里。监控程序里也可以把内存里的机器码直接反汇编,可以用来研究很多游戏的编程技巧,非常有意思。
那时候家里还有一台Laser-310(当时叫什么学习机),Z-80的CPU,Basic语言,用磁带存储文件,是在当时一种很有名的电脑TRS-80基础上改的。那时买了一本TRS-80的系统汇编代码分析,非常不错(真想找出来再看看了,等有时间回家再去翻翻看能不能找到),注释很详细。这个系统包括Basic语言的解释器,我研究了很长时间。因为Laser-310是学习机,可能是为了追求更简单的Basic语言,所以去掉了TRS-80的一些Basic指令。不过执行这些指令功能的汇编代码还在,只是语法分析的时候不解释这些指令而已。我就试着重新恢复这些指令,并扩展了一些指令,比如AppleII的图形表功能、TRS-80上的图形扩展ASCII字符功能(扩展ASCII字符显示成一些简单的图形,可以用于游戏里,加这个功能是为了移植TRS-80的一个弹球游戏)。我把这些扩展功能的机器码抄了下来,是防止保存在磁带上容易丢失。
熟悉了Laser-310的Basic语言解释器,我又去分析AppleII的Basic解释器。当时在看数据结构的书,里面的代码是用Pascal写的。这样我又看到了比Basic更好的结构化语言。为了方便在AppleII上练习Pascal程序,我也试着扩展了AppleII的Basic解释器,增加了while,do/until,子程序调用这些东西,但不很完善。不过在此基础上我还是可以练习一些数据结构的例子了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值