MASM的使用安装方法Word下载.docx

上传人:b****6 文档编号:16706268 上传时间:2022-11-25 格式:DOCX 页数:32 大小:536.67KB
下载 相关 举报
MASM的使用安装方法Word下载.docx_第1页
第1页 / 共32页
MASM的使用安装方法Word下载.docx_第2页
第2页 / 共32页
MASM的使用安装方法Word下载.docx_第3页
第3页 / 共32页
MASM的使用安装方法Word下载.docx_第4页
第4页 / 共32页
MASM的使用安装方法Word下载.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

MASM的使用安装方法Word下载.docx

《MASM的使用安装方法Word下载.docx》由会员分享,可在线阅读,更多相关《MASM的使用安装方法Word下载.docx(32页珍藏版)》请在冰豆网上搜索。

MASM的使用安装方法Word下载.docx

2.3.MASM的安装

首先从Internet下载masm60.zip,这是一个ZIP压缩文件。

可以用WINZIP或WINRAR等压缩解压软件指定一个目录将其解压,目录名例如为F:

\MASM60。

运行“命令提示符”,在解压目录中运行setup程序,开始安装MASM。

在主菜单界面选择“InstalltheMicrosoftMacroAssembler”继续。

在系统设置界面选择“DOS/Windows&

NT”操作系统继续。

选择安装Windows有关文

选择安装PWD(Programmer’sWorkBench),继续。

无须安装“Briefcompatibility”(常见编辑器兼容),继续。

选择复制微软鼠标驱动器“MicrosoftMouseDriver”,继续。

选择安装MASM工具,继续。

选择安装帮助文件,继续。

选择安装例程(sampleprogram),继续。

选择系统的安装目录,例如将系统安装在E盘。

接下来是询问各部分程序的安装目录,一般情况下由系统自行决定即可。

参数设置完毕后最后检查一次。

检查如果无需改动,则选择“NOCHANGES”开始安装。

安装完毕后系统会提示MASM6.11与5.1版本有一些区别,具体的内容可以观看安装菜单中的“SpecialNoteforMASMv5.1users”,或者编程指南中的附录A。

设置MASM的DOS操作系统环境参数需要修改autoexec.bat和config.sys两个文件,MASM提供了NEW-VARS.BAT和NEW-CONF.SYS两个文件作为参考。

如果MASM安装在Windows98/NT/2000/XP操作系统环境下,需要参考文件NEW-VARS.BAT的内容进行设置,设置方式稍后介绍。

接下来是Windows3.x操作系统环境下的设置要求。

如果MASM6.11安装在Windows3.0/3.1/3.11/3.2操作系统中,需要参考文件NEW-SYS.INI修改系统环境配置文件SYSTEM.INI。

如果MASM6.11安装在32位Windows中,无须理会NEW-SYS.INI的内容。

然后是关于PWD(Programmer’sWorkBench)的设置,安装系统会提供一个参考文件TOOL.PRE。

最后是有关内存方面的设置。

当MASM工作在非DOS环境下时,不需要理会这些方面的内容。

在安装结束前最好看一看“SpecialNoteforCodeViewusers”、“SpecialNoteforMASMv5.1users”、“README.TXT”和“PACKING.TXT”的内容。

最后再退出安装。

2.3.WIN32操作系统中MASM的环境参数设置

安装完MASM后,需要设置一下MASM的环境参数。

步骤如下:

在桌面“我的电脑”上点击鼠标右键,在弹出式菜单上选择“属性”项,在“系统属性”窗口里打开“高级”页。

点击“环境变量”按钮。

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

在“编辑环境变量窗口”的“变量值”栏里追加MASM的BIN、BINB、INCLUDE目录的路径参数。

例如:

当MASM安装在E:

\MASM611目录,则在“变量值”栏里追加“;

E:

\MASM611\BINR;

\MASM611\BIN”。

除此之外,还需要增加以下环境变量:

LIB=c:

MASM611\LIB

INCLUDE=c:

MASM611\INCLUDE

INIT=c:

MASM611\INIT

HELPFILES=c:

MASM611\HELP\*.HLP

ASMEX=c:

\ASM611\SAMPLES

说明:

环境参数改变后需要重新启动计算机才能生效。

有些机房在计算机中使用了磁盘保护卡,一旦重新启动所有安装的文件和设置的参数都将消失。

在这种情况下,可以在DOS命令行模式中输入一些临时命令设置MASM的环境参数。

(假设MASM安装在E:

\MASM611目录)

SETPATH=E:

E:

\MASM611\BIN;

%PATH%

SETLIB=E:

\MASM611\LIB

SETINCLUDE=E:

\MASM611\INCLUDE

SETINIT=E:

\MASM611\INIT

SETHELPFILES=E:

\MASM611\HELP\*.HLP

SETASMEX=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<

sym>

[=<

val>

定义一个符号sym并对其赋值val

/E

模拟浮点运算指令和IEEE格式

/H

显示MASM的使用帮助

/HELP

/I<

path>

寻找引入文件(INC)的目录

/L

生成列表文件

/La

生成全部列表文件

/ML

区分所有标识符号的大小写

/MU

将全局标识符号转换为大写

/MX

区分全局标识符号的大小写

/N

隐藏列表文件中的符号表

/T

隐藏成功汇编时的显示消息

/W[0/1/2]

设置告警等级(0:

无;

1:

严重;

2:

劝告)

/X

列举错误条件

/Zi

生成CodeView的行号信息

/Zd

生成CodeView的标识符号信息

下面用一个汇编程序说明MASM.EXE的使用方法。

汇编程序名称为HELLO.ASM,内容如下:

data1segment

msgdb"

Hello,world."

0dh,0ah,"

$"

data1ends

code1segment

assumecs:

code1,ds:

data1

start:

movax,data1

movds,ax

movdx,offsetmsg

movah,9

int21h

movax,4c00h

code1ends

endstart

输入“masmhello;

”指令,指令后的分号表示一切按缺省情况进行。

运行后显示以下内容:

Microsoft(R)MASMCompatibilityDriver

Copyright(C)MicrosoftCorp1993.Allrightsreserved.

Invoking:

ML.EXE/I./Zm/chello.asm

Microsoft(R)MacroAssemblerVersion6.11

Copyright(C)MicrosoftCorp1981-1993.Allrightsreserved.

Assembling:

hello.asm

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

2.5.LINK.EXE的使用

LINK.EXE用于将目标文件链接成可执行文件。

当环境参数配置好之后,在“命令提示符”窗口中键入“LINK/?

”指令,将显示出LINK的参数表。

LINK的命令格式如下:

LINK[option...]<

objs>

<

exefile>

mapfile>

libs>

deffile>

[;

可选部分是LINK的各种链接参数。

objs指定目标文件的名称,缺省的扩展名是OBJ。

可以有多个目标文件,目标文件之间用加号或者空格间隔。

exefile指定输出的可执行文件的名称。

缺省的文件名与目标文件相同,缺省扩展名改为EXE。

mapfile指定输出的列表文件的名称,缺省的扩展名是MAP。

缺省情况下不生成列表文件。

libs指定链接时使用的库文件,缺省的扩展名是LIB。

可以有多个库文件,库文件之间用加号或者空格间隔。

缺省情况下MASM不使用库文件。

deffile指定输出的定义文件的名称,缺省的扩展名是DEF。

缺省情况下不生成定义文件。

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

缩写

/ALIGNMENT:

size

/A:

根据指定的大小在分段执行文件中排列段数据,不可用于DOS程序

/BATCH

/B

隐藏库或目标文件找不到的提示

/CODEVIEW

/CO

加入CodeView的标识符号及列号,该选项与/EXEPACK不兼容。

/CPARMAXALLOC:

number

/CP:

以16字节为单位设置程序最大分配空间

/DOSSEG

/DO

用缺省顺序排列段(用于微软高级语言)

/DSALLOCATE

/DS

从数据段的尾部开始装入全部数据,用于链接成EXE文件

/EXEPACK

压缩可执行文件的大小,与/CO和/INCR不兼容

/FARCALLTRANSLATION

/F

优化远程调用,当使用/TINY时自动使用/FARCALL。

当链接WINDOWS程序时不建议同时使用/FARCALL和/FARCALLTRANSLATION

/HE

显示简要帮助信息

/HIGH

/HI

执行时尽可能地装入高端内存区,和/DEALLOC并用。

(用于微软高级语言)

/INCREMENTAL

/INC

准备加入ILINK链接,与/EXEPACK和/TINY不兼容。

/INFORMATION

/INF

显示链接过程的信息

/LINENUMBERS

/LI

将源文件行号和相关地址加入MAP文件,目标文件必须带行号汇编。

/MAP

/M

将公共标识符加到MAP文件

/NODEFAULTLIBRARYSEARCH[:

library]

/NOD[:

忽略指定的缺省库

/NOEXTDICTIONARY

/NOE

阻止LINK寻找库中的扩展字典,当重定义标识符导致错误L2044时使用/NOE

/NOFARCALLTRANSLATION

/NOF

禁止远程调用

/NOIGNORECASE

/NOI

区别大小写字母

/NOLOGO

/NOL

隐藏版权信息

/NONULLSDOSSEG

/NON

类似于/DOSSEG参数,但是在_TEXT段前不加额外的字节

/NOPACKCODE

/NOP

对代码段不压缩

/PACKCODE:

/PACKC:

将相邻的代码段合并压缩,指定的字节数用于设定物理段的最大值。

/PACKDATA:

/PACKD:

将相邻的数据段合并压缩,指定的字节数用于设定物理段的最大值。

仅用于windows

/PAUSE

/PAU

链接过程中暂停以更换磁盘

/PMTYPE:

type

/PM:

指定基于Windows的应用程序的类型。

类型为PM表示是WindowsAPI;

类型为VIO表示是WindowsCompat;

类型为NOVIO表示不是WindowsCompat;

/QUICKLIBRARY

/Q

建立QuickBasic程序库

/SEGMENTS:

/SE:

设置链接时的段总数,缺省值为127

/STACK:

/ST:

设置栈段的最大字节数,不超过64K

/TINY

生成小模式的COM文件,与/INCR不兼容

/?

下面将刚才用MASM.EXE汇编出来的目标程序进行链接。

目标程序名称为HELLO.OBJ。

输入“linkhello;

Microsoft(R)SegmentedExecutableLinkerVersion5.31.009Jul131992

Copyright(C)MicrosoftCorp1984-1992.Allrightsreserved.

LINK:

warningL4021:

nostacksegment

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

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

2.6.ML.EXE的使用

ML.EXE的功能相当于MASM.EXE和LINK.EXE的总和,可以将汇编语言源程序汇编和链接后直接生成可执行文件。

当环境参数配置好之后,在“命令提示符”窗口中键入“ML/?

”指令,将显示出ML的参数表。

ML的命令格式如下:

ML[/options]filelist[/linklinkoptions]

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

filelist指定汇编源文件的名称,缺省的扩展名是ASM。

可以有多个汇编源文件,文件之间用空格间隔。

/ATEnabletinymodel(.COMfile)

允许小模式(生成COM文件)

/Bl<

linker>

Usealternatelinker

使用linker参数里指定的链接器

/cAssemblewithoutlinking

仅仅汇编不链接

/CpPreservecaseofuseridentifiers

区分用户标识符的大小写

/CuMapallidentifierstouppercase

将所有标识符映象为大写

/CxPreservecaseinpublics,externs

区分公共标识符和外部标识符的大小写

name>

[=text]Definetextmacro

用给定的名字定义文字宏

/EPOutputpreprocessedlistingtostdout

生成预处理列表并输出至屏幕

/F<

hex>

Setstacksize(bytes)

设置堆栈大小

/Fb[file]Generateboundexecutable

生成限制性的可执行文件

/Fe<

file>

Nameexecutable

设置可执行文件的名称

/Fl[file]Generatelisting

生成汇编代码列表文件

/Fm[file]Generatemap

生成链接映象文件

/Fo<

Nameobjectfile

设置目标文件的名称

/FPiGenerate80x87emulatorencoding

生成80x87模拟代码

/Fr[file]Generatelimitedbrowserinfo

生成源浏览文件(SBR)

/FR[file]Generatefullbrowserinfo

生成扩展源浏览文件(SBR)

/G<

c|d>

GeneratePascalorCcalls

指定汇编生成的调用格式。

C:

pascal类型

D:

C类型

/H<

number>

Setmaxexternalnamelength

设置扩展名的最大长度

Addincludepath

添加include文件的目录

/link<

linkeroptionsandlibraries>

链接选项和库

/nologoSuppresscopyrightmessage

取消版权信息

/SaMaximizesourcelisting

列表文件最大化

/SfGeneratefirstpasslisting

生成第一遍的汇编代码列表

/Sl<

width>

Setlinewidth

设置列表文件行宽

/SnSuppresssymbol-tablelisting

/Sp<

length>

Setpagelength

设置列表文件的页长度

/Ss<

string>

Setsubtitle

设置列表文件的子标题

/St<

Settitle

设置列表文件的标题

/SxListfalseconditionals

列表文件中列举错误条件

/Ta<

Assemblenon-.ASMfile

汇编非ASM后缀的文件

/VMEnablevirtualmemory

启动虚拟存储器

/wSameas/W0/WX

设置告警级别为0

/WXTreatwarningsaserrors

传回告警的错误码

/W<

Setwarninglevel

设置告警级别(1、2、3)

/XIgnoreINCLUDEenvironmentpath

忽略INCLUDE环境路径

/ZdAddlinenumberdebuginfo

在目标文件中产生CodeView列号

/ZfMakeallsymbolspublic

在目标文件中产生CodeView所有公共标识符

/ZiAddsymbolicdebuginfo

在目标文件中产生CodeView标识符

/ZmEnableMASM5.10compatibility

与MASM5.10兼容

/Zp[n]Setstructurealignment

排列结构数据的起始地址为n(1、2、4)的倍数

/ZsPerformsyntaxcheckonly

只检查语法不产生目标文件

下面使用ML.EXE对ASM文件进行汇编和链接。

汇编文件的名称为HELLO.ASM。

执行“MLhello.asm”指令,如无错误的话将生成可执行文件HELLO.EXE。

Microsoft(R)MacroAssemblerVersion6.00

Copyright(C)MicrosoftCorp1981-1991.Allrightsreserved.

Assembling:

Microsoft(R)Segmented-ExecutableLinkerVersion5.13

Copyright(C)MicrosoftCorp1984-1991.Allrightsreserved.

ObjectModules[.OBJ]:

hello.obj

RunFile[temp.exe]:

"

hello.exe"

ListFile[NUL.MAP]:

NUL

Libraries[.LIB]:

DefinitionsFile[NUL.DEF]:

;

运行HELLO.EXE,看看显示结果是不是“Hello,world.”。

2.7.用DEBUG调试可执行文件

用MASM编译了汇编语言源文件HELLO.ASM之后,用DEBUG调试可执行程序HELLO.EXE。

具体的做法是:

1、在“

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1