|
组 合 语 言 之 艺 术(二)(6) 2: DR1+DR2+.. DRn 3: DRAW,DRAW,, 在执行 DO 後,如果没有错误,所产生的 DRAW.EXE 以及DRAW.SYM 即可供测试。
也可在第三条後加入: 4: SYMDEB (或仅用 S)DRAW.EXE DRAW.SYM 似此,在发展初期,立即可以测试。如果不需再次联结,将第四条另外作一 .BAT 档,随时执行亦可。
另外有一点需要注意的是,为了要让可执行的程式由指定的起点开始,应在原始档 .ASM 的结束格式标记‘END '後,加一起点的标题名称。 此标记不论有多少,联接目标档时,会以第一个找到的标题为唯一的入口。如果程式很多,叁与工作的程式师也多,在分开测试时,经常使用自己的入口,一旦联接在一起,就可能发生错误。 解决的方法是由负责联接的程式师,事先准备好前述XXXX记录档,将带有入口标记的程式放在最前面即可。当然,将其他程式标记後的标题删除亦可,但不如前法效率高。
二、目标档侦错及工具
在使用 DEBUG时,因为名称简短,用法也简单。若使用「标题侦错」SYMDEB.EXE则不然,因为首先要生成.MAP档,测试时,输入文字也较多。对不断使用的人来说,难免嫌烦。简化的方法,是先制作执行档:S.BAT 及 SM.BAT
S.BAT 是专供指定程式侦错用,内容为: 1:SYMDEB %1.SYM %1.EXE 这是指已经有了原档的 .MAP 时,如果程式刚联接完毕,且在联接档中,没有生成 .MAP 的语句,则应制作 SM.BAT 如下: 1:MAPSYM %1.MAP 使用「标题侦错」工具有很多优点,其功能较 DEBUG强得多。但是使用者必须注意,需要测试的标题,应该在程式中宣告PUBLIC,否则无法直接跳到该处。 尚有些特殊效果的程式,也应备妥测试的工具,甚至以利用「监视器」的方式,用另外一台电脑来控制。有一些通讯软件,如 XTALK加上SYMDEB.EXE,通过串行埠(Serial Port )可以联机调试,其手续如次:
1,先在待调程式的主机上输入通讯指令: C:\>MODE COM1:9600,N,8,1 C:\>SYMDEB MYFILE.EXE
2,再於已与主机经串行埠联接的副机上输入: C:\>XTALK 进入指令输入状态,再输入: C:\>SP 表示设定传输速度,一般多采用9600,但视主机而定。 C:\>9600 最後,输入操作指令: C:\>GO LO 表示用区域网络,即串行埠口。 这时等待联机成功的讯号,见到萤幕上出现“ ”,即可 开始侦错。
3,在主机方面,尚要输入: C:\>=COM1 ( 或COM2,端视双方的通讯口而定 )
4,至於侦错方式,与利用一台电脑时相同,只是此时在主机上出现的是执行後的结果,而由副机控制侦错步骤。 第三节 分类定义
一、段名(Segment Name)定义
对段名多於一个的程式,最好先有一个定义段的程式,以DRAW为例,假定程式为两段,一为控制程式段,一为绘图程式段。资料分为三段,一为应用资料,一为叁考资料,以及制作资料。此外还有一资料索引段,合计有六个段。 兹建议,在通用的基础上,简化段名,将段分类如下: 程式段 (CODE SEGMENT) 定名为 CG
|