![]() | 第4章 奇妙的声音 | -51- | |||||||||||||||||||
得到正确的目标文件后,我们就可以用连接程序(LINK或TLINK)将其转换成可执行文件(.COM或.EXE文件),使用LINK.EXE的方法是: | |||||||||||||||||||||
C:\ASM\>LINK[Enter] Microsoft (R) Overlay Linker Version 3.60 Copyright (C) Microsoft Corp 1983-1987. All rights reserved. Object Modules [.OBJ]: prog7[Enter] Run File [PROG7.EXE]: [Enter] List File [NUL.MAP]: [Enter] Libraries [.LIB]: [Enter] LINK : warning L4021: no stack segment |
|||||||||||||||||||||
".MAP"文件是连接程序生成的图文件,这个文件默认为不输出。".LIB"文件是子程序库文件,如果程序中某个子程序来源于一些现成的子程序库,则在连接时应明确指出库文件名。至于LINK程序产生的"Warning L4021:"是因为程序中没有明确定义堆栈段的缘故,这并不影响最续生成的可执行程序。 使用TLINK(Turbo LINK)的方法是: |
|||||||||||||||||||||
C:\ASM\>tlink prog7/t[Enter] Turbo Link Version 2.0 Copyright (c) 1987, 1988 Borland International Warning: no stack |
|||||||||||||||||||||
由于程序中没有定义堆栈段,因此TLINK同样出现了一个"Warning",这也没有关系。不过"/T"参数只能在这里使用,因为PROG7可以转成".COM"类的可执行程序。对于那些具有多个段的程序因其只能以.EXE的形式存在,所以不能用"/T"参数。 经过这一步骤,我们便得到一个名PROG7.COM的文件。运行此程序,即可从喇叭中听到1000Hz的声音。 有时候程序中可能有逻辑错误,这需要我们用DEBUG将其排除掉,将一个可执行文件调入DEBUG中的方法在前面已经应用过: |
|||||||||||||||||||||
C:\ASM\>DEBUG PROG7.COM[Enter] | |||||||||||||||||||||
或者这样操作: | |||||||||||||||||||||
L(LOAD)命令的作用是装入一 个文件,文件名由N命令给出。 |
C:\ASM\>DEBUG[Enter] -NPROG7.COM[Enter] -L[Enter] |
||||||||||||||||||||
文件装入后即可用T、P命令跟踪执行或用U命令反汇编,下面是PROG7的反汇编形式: | |||||||||||||||||||||
Copyright © 2004-2015 Reanimator | www.cookmoon.org |