现在的位置: 首页 > 综合 > 正文

masm.exe 与 link.exe 的参数

2013年08月10日 ⁄ 综合 ⁄ 共 1551字 ⁄ 字号 评论关闭

 下面介绍宏汇编译器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

抱歉!评论已关闭.