首页 理论教育 微型计算机原理-汇编与连接,一步实现可执行目标程序

微型计算机原理-汇编与连接,一步实现可执行目标程序

时间:2023-11-03 理论教育 版权反馈
【摘要】:源程序编辑完成后,就可以使用汇编器和连接器对源程序进行汇编和连接,以获得可执行的目标程序。同时v6版本的MASM工具包中还包含了一个ML.EXE的工具,可以通过调用MASM.EXE和LINK.EXE将汇编和连接两件工作一步做完。所有文件名输入完成后,汇编器开始对源程序进行汇编,源程序中的各种错误和警告信息将被显示在屏幕上。MASM.EXE和LINK.EXE也可以不带任何命令行参数启动,这时MASM.EXE和LINK.EXE将交互询问汇编源程序文件或.OBJ文件的文件名。

微型计算机原理-汇编与连接,一步实现可执行目标程序

源程序编辑完成后,就可以使用汇编器和连接器对源程序进行汇编和连接,以获得可执行的目标程序。这个过程需要使用微软提供的MASM工具包或者是Borland提供的TASM工具包,这些工具包都可以通过网络下载得到。

MASM和TASM的使用方式基本上是相同的。首先使用MASM.EXE或TASM.EXE将.ASM文件汇编成.OBJ文件,同时可选地生成.LST和.CRF文件,然后再用LINK.EXE或TLINK.EXE将.OBJ文件和可能用到的.LIB文件连接生成可执行的.EXE文件,同时可选地生成.MAP文件。

通过网络下载到的MASM工具包通常有两种不同的版本:v5和v6,其中v6的功能要强一些,但是操作上是基本一样的。同时v6版本的MASM工具包中还包含了一个ML.EXE的工具,可以通过调用MASM.EXE和LINK.EXE将汇编和连接两件工作一步做完。为了使用方便,在使用MASM工具包之前,最好将MASM.EXE和LINK.EXE所在的目录加到系统的PATH环境变量之中。

对源程序进行汇编可以通过在命令提示符状态下执行下面指令完成。

C:\>MASM<汇编源程序文件名>

如果给出的汇编源程序文件名不包括扩展名,则默认的扩展名.ASM将被自动加在文件名的末尾。随着汇编器的运行,屏幕上将显示类似如下的内容:

Object filename代表汇编得到的.OBJ文件的文件名,默认情况下为源文件的文件名加上.OBJ后缀。Source listing代表列表文件,Cross-reference代表交叉引用文件,默认的情况为不输出。如果需要改变输出文件的文件名或者要求输出列表文件和交叉引用文件,则可以在相应的提示出现时输入对应的文件名,否则直接按<Enter>键,汇编器将使用默认文件名或不输出。

所有文件名输入完成后,汇编器开始对源程序进行汇编,源程序中的各种错误和警告信息将被显示在屏幕上。如果由于源程序中的各种错误导致汇编失败,.OBJ文件不会被生成,则就需要检查源程序并对错误进行修改。如果汇编器报告了一些警告而没有错误出现,.OBJ文件将被生成,但是建议这时按照汇编器给出的警告对相应的源码进行细致复查,以免存在一些潜在的错误。(www.xing528.com)

汇编完成后,.OBJ文件将被连接器连接以生成可执行文件,其指令如下:

C:\masm>link<OBJ文件名>…

如果给出的OBJ文件名不包括扩展名,则默认的扩展名.OBJ将被自动加在文件名的末尾。随着连接器的运行,屏幕上将显示类似如下的内容:

Run File代表连接得到的.EXE文件的文件名,默认情况下为.OBJ文件的文件名加上.EXE后缀。List File代表映像文件,默认情况下为不输出。Libraries代表需要使用到的库文件,默认情况下为无。如果需要改变输出文件的文件名或者要求输出映像文件,则可以在相应的提示出现时输入对应的文件名,否则直接按<Enter>键,连接器将使用默认文件名或不输出。当连接需要一些库文件的支持时,可以在Libraries提示的时候将库文件所在路径输入以使连接器能够找到这些库文件。

MASM.EXE和LINK.EXE也可以不带任何命令行参数启动,这时MASM.EXE和LINK.EXE将交互询问汇编源程序文件或.OBJ文件的文件名。另外,MASM和LINK也支持一系列的汇编/连接开关选项,以对汇编和连接过程进行更详细地控制,这些开关选项可以通过执行MASM/help和LINK/help看到。

使用TASM工具包的汇编、连接过程和上述过程基本相同,只是TASM和TLINK的开关选项和MASM/LINK有一些不同之处,通过类似的/help选项可以看到TASM和TLINK的开关选项。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈