下面介绍宏汇编译器MASM5.0的使用:
命令格式:MASM [/options] [source(.asm)],[out(.obj)],[list(.list)],[cref(.cfr)][;]
/options: 可选的命令,由“/”引导,利用命令“MSAM /HELP”可查看命令选项及其说明
source(.asm): 指定源程序,缺省的扩展名为ASM
out(.ob): 指定输出目标代码文件名。缺省的文件名同源程序名相同,缺省的扩展名是OBJ
list(.lst): 指定输出的列表文件,缺省的扩展名是LST,缺省情况下不生成列表文件
cref(.crf): 指定输出的交叉参考文件,缺省的扩展名是CRF,缺省情况下不生成交叉参考文件
命令行最后的分号表示其后的缺省项按缺省设置处理
例子:汇编源程序HELLO.ASM
第一种:
C>MASM Source filename[.ASM]:HELLO.ASM 指定源文件名为HELLO.ASM
Object filename[HELLO.OBJ]:TEST 指定目标代码文件名为TEST.OBJ
Source listing [NUL.LST]: 按回车键,表示不要生成列表文件
Cross-reference[NUL.CRF]: 按回车键,表示不要生成交叉参考文件
不交互方式就在后面加 分号 ;
C:>masm.exe hello.asm;
第二种:
C>MASM HELLO Object filename[HELLO.OBJ]: 按回车键,默认生成HELLO.OBJ
Source listing [NUL.LST]:; 输入分号再回车,不生成其它文件
第三种:
C>MASM HELLO; 只生成HELLO.OBJ,其它文件都不生成
下面介绍连接器LINK3.0版本:
命令格式:LINK [/options] [source(.obj)...],[out(.exe)],[mapfile(.map)],[library(.lib)...][;]
/options: 可选的命令,由“/”引导,利用命令“LINK /HELP”可查看命令选项及其说明
source(.obj): 指目标代码文件,缺省的扩展名为OBJ,可以有多个目标程序代码文件,文件间用加号或空格进行间隔
out(.exe): 指定输出的可执行文件。缺省的文件名同第一个目标代码模块的文件名,缺省的扩展名是EXE
mapfile(.map): 指定输出的定位图文件,缺省的扩展名是MAP,缺省情况下不生成定位图文件
library(.lib): 指定连接时使用的库文件,缺省的扩展名是LIB,可以有多个库,用加号或空格进行间隔,缺省的情况下不使用库
命令行最后的分号表示其后的缺省项按缺省设置处理
例子:连接目标代码文件HELLO.OBJ
第一种:
C>LINK Object Modules[.OBJ]:HELLO 指定目标代码模块文件标识,扩展名是OBJ
Run File[HELLO.EXE]:TEST 指定可执行文件标识,缺省扩展名是EXE
List File[NUL.MAP]: 按回车键,不生成定位图文件
Libraries[.LIB]: 按回车键,不使用库
第二种:
C>LINK HELLO
Run File[HELLO.EXE]:; 输入分号再按回车,生成HELLO.EXE,不生成其它文件
第三种: C>LINK HELLO; 全按缺省处理,只生成HELLO.EXE
如下的命令把两个代码模块TEST1.OBJ和TEST2.OBJ连接,生成的可执行程序放在文件TEST.EXE中
C>LINK TESET1+TEST2,TEST;
如下的命令把主目标代码模块ABC.OBJ与库DEF.LIB内的函数(过程)连接,生成的可执行程序存放在文件ABC.EXE中
C>LINK ABC,,,DEF