汇编与连接软件
汇编语言程序设计中,用于汇编与连接的软件一般有两种:其一是微软公司开发的的MASM和LINK软件,其二是Borland公司开发的TASM和TLINK软件。下面分别介绍这两种软件在汇编语言程序开发过程中使用的基本方法。
MASM和LINK
通过上述编辑产生汇编语言源程序后,就可以用宏汇编程序MASM对它进行汇编。具体操作过程是,在DOS状态下键入MASM并回车,于是屏幕上首先显示软件的版本号,然后依次提出四个问题,如下所示:
Source Filename [.ASM]:Sample
Object Filename [Sample.OBJ]:
Source Listing [Nul.LST]:Sample
Cross Reference [Nul.CRF]:Sample
第一行询问汇编语言源程序名。用户输入文件名后(例如Sample),则显示第二个提示,询问目标程序的文件名,括号内为机器默认的文件名,通常直接回车,表示采用默认的文件名。接着出现第三个提示,提示是否要建立列表文件,该文件列出汇编后的目标代码以及与其有关的地址、源语句和符号表,可供打印输出。若需要这个文件则输入该文件名并回车。接着出现第四个提示,询问是否要建立交叉引用文件,该文件是一个中间文件,可供CREF.EXE程序建立一个扩展名为.REF的引用表文件,以便用户了解源程序中符号和变量的引用情况。若需要则输入文件名,若不需要则直接回车。下面是生成.REF文件的操作步骤。
C>CREF
Cref Filename [.CRF]:Sample
List Filename [Sample.REF]:
当用户回答了第四个询问后,汇编程序就对源程序进行汇编。若汇编过程中发现源程序中有语法错误,则列出有错误的语句和错误的代码,并且指出是什么性质的错误和错误的总数。此时可分析错误,然后再调用编辑程序加以修正。修正后重新汇编,直至汇编完全正确为止。
为了使汇编后产生的.OBJ文件生成可执行的.EXE文件,还必须由LINK程序将已经生成的.OBJ文件与其他.OBJ文件或程序库进行连接操作。具体连接过程是,在DOS状态下键入LINK并回车,于是屏幕上首先显示软件的版本号,然后依次提示四个问题,如下所示:
Object Modules [.OBJ]:Sample
Run File [Sample.EXE]:
List File [Nul.MAP]:Sample
Libraries [.LIB]:
第一行询问要连接的目标文件名,用户输入文件名(例如Sample)作为回答。如果有多个要连接的目标文件,应一次输入,各目标文件名之间用“+”号相连。第二个提示询问要产生的可执行文件名,一般直接回车就采用了括号内默认的文件名。第三个提示询问是否产生扩展名为MAP的输出文件,这是一个连接程序的列表文件,又称为连接映象,它给出每个段在存储器中的分配情况。若需要这个文件,则输入文件名再回车,否则直接回车。最后提示是否用到库文件,要求用户输入源程序访问的库文件名。所谓库文件,就是若干可重定位的目标代码的集合,它可以由库管理程序LIB.EXE建立和修改。若没有库文件,则直接输入回车即可。
程序在连接过程中若出现错误,则显示有关错误信息。例如:
Warning: No Stack Segment
There was 1 error detected
有错误就要重新调用编辑程序进行修改,然后重新汇编、连接,直至没有错误为止。