到理想的效果。
2,副程式:副程式都是一些细节的处理,可以用‘CALL’的方式执行。原则上说来,细节的处理经常重覆发生在不同 的情况下,作为副程式相当有利。只是应该注意调用的手 续,为了效率,通常将需要处理的参数或
资料,经由暂存器或者必要时用缓冲器载入。
既然是数个程式均可共用的副程式,而且此类程式为一独立的过程,所以应该事先分别测试,保证无误。
此外,各副程式的入口处,宜明白的交待暂存器的使用方式,且要能一目瞭然。
3,子程式:子程式与副程式有一点不同,就是具备完整的机能。所谓完整的机能,指该段程式可以独立执行、有固定的功能。在应用时,两者没有分别,然而在写作时,子程式的考虑要慎重些。
4,资料档:资料档也可以视为一种静态的程式,虽然不是执行用的,但却是执行时不可或缺的素材。资料档的设计应该注意空间的利用,等长度的资料结构最具效率,最好保证
资料起点为双数,以节省16位元汇流排的执行速度。
在应用缓冲器时,切忌随意设置,往往程式师们设了一缓冲器,等后来发现没有必要,再想删掉就麻烦大了。所以事先应安排妥当,以便于随时查找和调整。安排的方式视使用的情形而定,有的以模组归类;也可以用字母排序为依据;再不然就加上详细注释说明功能及使用的程式标号。
5,应用表:在本书第四章第六节将介绍应用表的功能和应用方式,此类表一次设计完成以后,很少需要再修改,为了工作效率,独立成为一个档案,自有其必要性。
此外,各种程式的命名最好能有代表性,以便于应用;程式不能太大,否则编辑耗时费事;分档时,则要注意标号宣告及各段安排的
问题。在磁盘中,应该专辟一个子目录,不要把各种不相干的程式,都混合在一起。
第二章三、四节中已规定了格式的标准,此处仅再补充一点。即各缓冲器的定义与使用时的长度应相等,否则在编译或联结时,容易发生错误。联结时,有时并无足够的错误讯息,供程式师得知错误产生的原委。最难理解的错误,往往与缓冲器的定义有关,即定义的类型与使用的类型不一致。另外一个情况是段值的改变,其补救方法为在应用时,临时加一「前置定义」。
所谓「前置定义」是指当暂存器为一字元时,其前应加写BYTE PTR,否则用 WORD PTR 以确定其值,即可保证安全。
如:MOV BYTE PTR BBSDOT1,AL
此外,每当段值有所改变时,都加写一条:
ASSUME CS:XXX,DS:YYY,ES:ZZZ
这种用法,完全是给汇编程式「看」的,程式本身并没有增加任何指令。
其他规定,请参阅各相关手册。
二、对资料的认识 在画布上,所有色彩都是由红、蓝、黄三原色及白色调制而成,瞭解色彩的变化是画家的基本素养。在电脑中,所有的
资料则都由二进位数据组成,要写程式,必须对二进位的特性先有深刻的认识。
绝大部份的程式师,都不知道二进位数据的妙用,充其量能够很快地换算二进位与十进位的数值。再不然,由二进位值领会到图形的点阵排列,如此而已。
二进位就是开关的观念,把一连串的开关联在一起,其所能发生的作用,完全在于每一个开关、以及各开关组合应用的功能。
&n