masm使用教程 - 图文(3)

2020-07-27 11:03

在“环境变量窗口”的系统变量列表中选择“PATH”项,再点击系统变量列表下的“编辑”按钮。

在“编辑环境变量窗口”的“变量值”栏里追加MASM的BIN、BINB、INCLUDE目录的路径参数。例如:当MASM安装在E:\\MASM611目录,则在“变量值”栏里追加“; E:\\MASM611\\BINR; E:\\MASM611\\BIN”。

除此之外,还需要增加以下环境变量: LIB=E:\\MASM611\\LIB

INCLUDE=E:\\MASM611\\INCLUDE INIT=E:\\MASM611\\INIT

HELPFILES=E:\\MASM611\\HELP\\*.HLP ASMEX=E:\\MASM611\\SAMPLES

说明:环境参数改变后需要重新启动计算机才能生效。有些机房在计算机中使用了磁盘保护卡,一旦重新启动所有安装的文件和设置的参数都将消失。在这种情况下,可以在DOS命令行模式中输入一些临时命令设置MASM的环境参数。(假设MASM安装在E:\\MASM611目录)

SET PATH=E:\\MASM611\\BINR;E:\\MASM611\\BIN;%PATH% SET LIB=E:\\MASM611\\LIB

SET INCLUDE=E:\\MASM611\\INCLUDE SET INIT=E:\\MASM611\\INIT

SET HELPFILES=E:\\MASM611\\HELP\\*.HLP SET ASMEX=E:\\MASM611\\SAMPLES

2.4. MASM.EXE的使用

MASM.EXE用于将汇编源程序汇编成目标文件。当MASM汇编环境参数配置好之后,在“命令提示符”窗口中键入“MASM /H”指令,将显示出MASM的使用介绍。

MASM的命令格式如下:

MASM [option...] source(.asm),[out(.obj)],[list(.lst)],[cref(.crf)][;]

可选部分是MASM的各种汇编参数。source(.asm)指定汇编源文件的名称,缺省的扩展名是ASM。out(.obj)指定输出的目标代码文件。缺省的文件名与汇编源文件相同,扩展名改为OBJ。list(.lst)指定输出的列表文件,缺省的扩展名是LST。缺省情况下MASM不生成列表文件。cref(.crf)指定输出的交叉参考文件,缺省的扩展名是CRF。缺省情况下MASM不生成交叉参考文件,交叉参考文件的后缀为SBR。最后的分号表示其后的项目按缺省情况处理。

以下就各个汇编参数逐个加以说明。

参数名 /C /D[=] /E /H /HELP /I 生成交叉参考文件 定义一个符号sym并对其赋值val 模拟浮点运算指令和IEEE格式 显示MASM的使用帮助 显示MASM的使用帮助 寻找引入文件(INC)的目录 生成列表文件 生成全部列表文件 区分所有标识符号的大小写 将全局标识符号转换为大写 区分全局标识符号的大小写 隐藏列表文件中的符号表 隐藏成功汇编时的显示消息 设置告警等级(0:无;1:严重;2:劝告) 列举错误条件 生成CodeView的行号信息 生成CodeView的标识符号信息 作用 /L /La /ML /MU /MX /N /T /W[0/1/2] /X /Zi /Zd 下面用一个汇编程序说明MASM.EXE的使用方法。汇编程序名称为HELLO.ASM,内容如下: data1 segment msg db \data1 ends

code1 segment assume cs:code1, ds:data1 start:

mov ax, data1

mov ds, ax mov dx, offset msg mov ah, 9

int 21h mov ax, 4c00h

int 21h code1 ends

end start

输入“masm hello;”指令,指令后的分号表示一切按缺省情况进行。运行后显示以下内容: Microsoft (R) MASM Compatibility Driver

Copyright (C) Microsoft Corp 1993. All rights reserved.

Invoking: ML.EXE /I. /Zm /c hello.asm

Microsoft (R) Macro Assembler Version 6.11

Copyright (C) Microsoft Corp 1981-1993. All rights reserved.

Assembling: hello.asm

执行MASM /LA /ZI /ZD HELLO.ASM指令,用记事本观看生成的HELLO.LST的内容。

2.5. LINK.EXE的使用

LINK.EXE用于将目标文件链接成可执行文件。当环境参数配置好之后,在“命令提示符”窗口中键入“LINK /?”指令,将显示出LINK的参数表。

LINK的命令格式如下:

LINK [option...] ,,,,[;] 可选部分是LINK的各种链接参数。

objs指定目标文件的名称,缺省的扩展名是OBJ。可以有多个目标文件,目标文件之间用加号或者空格间隔。

exefile指定输出的可执行文件的名称。缺省的文件名与目标文件相同,缺省扩展名改为EXE。 mapfile指定输出的列表文件的名称,缺省的扩展名是MAP。缺省情况下不生成列表文件。 libs指定链接时使用的库文件,缺省的扩展名是LIB。可以有多个库文件,库文件之间用加号或者空格间隔。缺省情况下MASM不使用库文件。最后的分号表示其后的项目按缺省情况处理。

deffile指定输出的定义文件的名称,缺省的扩展名是DEF。缺省情况下不生成定义文件。 最后的分号表示其后的项目按缺省情况处理。 以下就各个链接参数逐个加以说明。 参数名 /ALIGNMENT:size /BATCH /CODEVIEW 缩写 /A:size /B /CO 作用 根据指定的大小在分段执行文件中排列段数据,不可用于DOS程序 隐藏库或目标文件找不到的提示 加入CodeView的标识符号及列号,该选项与/EXEPACK不兼容。

/CPARMAXALLOC:number /DOSSEG /DSALLOCATE /EXEPACK /FARCALLTRANSLATION /CP:number /DO /DS /E /F 以16字节为单位设置程序最大分配空间 用缺省顺序排列段(用于微软高级语言) 从数据段的尾部开始装入全部数据,用于链接成EXE文件 压缩可执行文件的大小,与/CO和/INCR不兼容 优化远程调用,当使用/TINY时自动使用/FARCALL。当链接WINDOWS程序时不建议同时使用 /FARCALL和/FARCALLTRANSLATION 显示简要帮助信息 执行时尽可能地装入高端内存区,和/DEALLOC并用。(用于微软高级语言) 准备加入ILINK链接,与/EXEPACK和/TINY不兼容。 显示链接过程的信息 将源文件行号和相关地址加入MAP文件,目标文件必须带行号汇编。 将公共标识符加到MAP文件 忽略指定的缺省库 阻止LINK寻找库中的扩展字典,当重定义标识符导致错误L2044时使用/NOE 禁止远程调用 区别大小写字母 隐藏版权信息 类似于/DOSSEG参数,但是在_TEXT段前不加额外的字节 对代码段不压缩 /HELP /HIGH /HE /HI /INCREMENTAL /INFORMATION /LINENUMBERS /MAP /NOEXTDICTIONARY /INC /INF /LI /M /NOE /NODEFAULTLIBRARYSEARCH[:library] /NOD[:library] /NOFARCALLTRANSLATION /NOIGNORECASE /NOLOGO /NONULLSDOSSEG /NOPACKCODE /PACKCODE:number /PACKDATA:number /NOF /NOI /NOL /NON /NOP /PACKC:number 将相邻的代码段合并压缩,指定的字节数用于设定物理段的最大值 。 /PACKD:number 将相邻的数据段合并压缩,指定的字节数用于设定物理段的最大值 。仅用于windows /PAU /PM:type 链接过程中暂停以更换磁盘 指定基于Windows的应用程序的类型。 类型为PM表示是Windows API; 类型为VIO表示是Windows /PAUSE /PMTYPE:type

Compat; 类型为NOVIO表示不是Windows Compat; /QUICKLIBRARY /SEGMENTS:number /STACK:number /TINY /? /Q /SE:number /ST:number /T /? 建立Quick Basic程序库 设置链接时的段总数,缺省值为127 设置栈段的最大字节数,不超过64K 生成小模式的COM文件,与/INCR不兼容 显示简要帮助信息 下面将刚才用MASM.EXE汇编出来的目标程序进行链接。目标程序名称为HELLO.OBJ。 输入“link hello;”指令,指令后的分号表示一切按缺省情况进行。运行后显示以下内容: Microsoft (R) Segmented Executable Linker Version 5.31.009 Jul 13 1992 Copyright (C) Microsoft Corp 1984-1992. All rights reserved.

LINK : warning L4021: no stack segment

链接警告没有定义栈段,这不影响程序的运行。

接下来可以运行HELLO.EXE,看看显示结果是不是“Hello, world.”。

2.6. ML.EXE的使用

ML.EXE的功能相当于MASM.EXE和LINK.EXE的总和,可以将汇编语言源程序汇编和链接后直接生成可执行文件。当环境参数配置好之后,在“命令提示符”窗口中键入“ML /?”指令,将显示出ML的参数表。

ML的命令格式如下:

ML [ /options ] filelist [ /link linkoptions ]

可选部分是ML的各种链接参数,/link linkoptions里设定的是链接参数,这些参数可以参照2.5 LINK的有关参数。

filelist指定汇编源文件的名称,缺省的扩展名是ASM。可以有多个汇编源文件,文件之间用空格间隔。

以下就各个链接参数逐个加以说明。

参数名 /AT Enable tiny model (.COM file) /Bl Use alternate linker /c Assemble without linking /Cp Preserve case of user identifiers /Cu Map all identifiers to upper case /Cx Preserve case in publics, externs /D[=text] Define text macro /F Set stack size (bytes) 作用 允许小模式(生成COM文件) 使用linker参数里指定的链接器 仅仅汇编不链接 区分用户标识符的大小写 将所有标识符映象为大写 区分公共标识符和外部标识符的大小写 用给定的名字定义文字宏 设置堆栈大小 /EP Output preprocessed listing to stdout 生成预处理列表并输出至屏幕


masm使用教程 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工商管理双学位人力资源作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: