第一节 系统
一、系统之选择
只因真正瞭解电脑的人太少,迷信名气的结果,使得 IBM PC/AT占有了市场。为求电脑普及应用,我们唯有因陋就简,针对 IBM PC/AT及其兼容系统,作进一步的分析和说明。
尽管使用 80486 CPU的微电脑已问世,我个人认为以其造价及功能而言,并不符合效率法则。在从事艺术工作的立场,价值的高低,与所采用的材料没有绝对的关系。更何况我们正要证明,利用组合语言的制作技巧,能够使功能不高的微电脑发挥最大的边际效益。故本书仅以8088 CPU指令为研讨对象,至于程式应用在什么机型,就不在本书的考虑范围内了。
二、目录及磁盘
假定读者为有经验的程式师,且电脑为 IBM PC/XT/AT。 则在着手制作程式之初,应该先将系统准备妥当。即所谓「工欲善其事,必先利其器」,如果未能注意到下面所提的细节,仅仅制作一、两个程式尚可应付。待工作量一大,程式渐渐增多,不是某些程式找不到,就是找到了也不能一目瞭然。结果是心烦意躁,马马虎虎,另外再写一个,勉强应付了事。
硬盘空间较大,应行注意的事相对的也较多。首先应妥善规划好目录及子目录的分类及应用方式,否则每当要找一个档案时,往往有大海捞针之叹。再不然,在修改程式时,如果将不同的版本放在一起,一定会张冠李戴,错误百出。
每位程式师都应该有自己的目录,而且每个不同的整套档案都应有不同的子目录,这样方能明确的分辨以及应用。而最有效率的方法是,在每一子目录中,档案数不宜太多,且仅存放在同一工作项目下所需要的程式。
一旦硬盘坏了,所有贮存资料均将付诸流水。为了安全,一定要用软盘备份。最好每天复制一次,虽然每次复制,相当麻烦,但是万一程式被毁坏,那种损失是无从估计的。
最好的方法,是制作一个专门复制的工具,一般用 .bat 应用程式,每天工作完毕,只要执行一次即可。
三、应用工具
程式写作是为了控制电脑运作,应用工具则是将程式师的观念和理解转化为能够连续执行的指令。因此,市面上的应用工具虽多,却不见得对程式的写作有所助益。下面列了几种,只要运用纯熟,绝对够用了。
程式写作:EDLIN ,PE II,WS等。
程式编译:masm.exe
早期 (1.25) 版本容许较多的「外界标题」,即external label,但该版本仅限用于8088指令,较宜大型程式处理。
4.0 以前的版本,于档案开始时,可用.xcref以产生标题及缓冲器的位址对照表。但后期的版本会发生错误,不能再用。
程式联接:link.exe
早期的版本对 segment public 'xxxx' 有些规定,但 3.0以后,除了对code及 data 有效外,其他如 byte 及 word 等皆无作用。
程式侦错:debug.exe 或 symdeb.exe 及 mapsym.exe
后两者为套件,必须另购。其优点为在侦错过程中,可以使用原程式中的标题名称,且可设「断点」等,侦错方便,功能较强。
系统处理:pctools.exe 是 dos下很有用的工具,可以作档案管理,也可用来直接修改程式机器码。此外,连机时可以用ll.exe 或xtalk.exe等。尤其是系统程式的侦错,经常需要用联机的方式,以另一台微电脑作为监视器。
这些工具应统一放在 \dos 子目录中,且须在系统之自动执行程式(autoexec.bat)里,先设妥优先通道(path)如:
1:PATH=\DOS;
是则,不论在哪一个子目录中,前述之工具皆可使用。