masm安装教程Word格式文档下载.docx

上传人:b****6 文档编号:8658316 上传时间:2023-05-12 格式:DOCX 页数:22 大小:496.33KB
下载 相关 举报
masm安装教程Word格式文档下载.docx_第1页
第1页 / 共22页
masm安装教程Word格式文档下载.docx_第2页
第2页 / 共22页
masm安装教程Word格式文档下载.docx_第3页
第3页 / 共22页
masm安装教程Word格式文档下载.docx_第4页
第4页 / 共22页
masm安装教程Word格式文档下载.docx_第5页
第5页 / 共22页
masm安装教程Word格式文档下载.docx_第6页
第6页 / 共22页
masm安装教程Word格式文档下载.docx_第7页
第7页 / 共22页
masm安装教程Word格式文档下载.docx_第8页
第8页 / 共22页
masm安装教程Word格式文档下载.docx_第9页
第9页 / 共22页
masm安装教程Word格式文档下载.docx_第10页
第10页 / 共22页
masm安装教程Word格式文档下载.docx_第11页
第11页 / 共22页
masm安装教程Word格式文档下载.docx_第12页
第12页 / 共22页
masm安装教程Word格式文档下载.docx_第13页
第13页 / 共22页
masm安装教程Word格式文档下载.docx_第14页
第14页 / 共22页
masm安装教程Word格式文档下载.docx_第15页
第15页 / 共22页
masm安装教程Word格式文档下载.docx_第16页
第16页 / 共22页
masm安装教程Word格式文档下载.docx_第17页
第17页 / 共22页
masm安装教程Word格式文档下载.docx_第18页
第18页 / 共22页
masm安装教程Word格式文档下载.docx_第19页
第19页 / 共22页
masm安装教程Word格式文档下载.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

masm安装教程Word格式文档下载.docx

《masm安装教程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《masm安装教程Word格式文档下载.docx(22页珍藏版)》请在冰点文库上搜索。

masm安装教程Word格式文档下载.docx

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

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

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

选择安装MASM工具,继续。

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

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

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

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

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

检查若是无需改动,那么选择“NOCHANGES”开始安装。

安装完毕后系统会提示MASM与版本有一些区别,具体的内容能够观看安装菜单中的“SpecialNoteforMASMusers”,或编程指南中的附录A。

设置MASM的DOS操作系统环境参数需要修改和两个文件,MASM提供了和两个文件作为参考。

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

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

若是MASM安装在Windows操作系统中,需要参考文件修改系统环境配置文件。

若是MASM安装在32位Windows中,不必理会的内容。

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

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

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

在安装终止前最好看一看“SpecialNoteforCodeViewusers”、“SpecialNoteforMASMusers”、“”和“”的内容。

最后再退出安装。

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

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

步骤如下:

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

点击“环境变量”按钮。

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

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

例如:

当MASM安装在E:

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

E:

\MASM611\BINR;

\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目录)

SETPATH=E:

E:

\MASM611\BIN;

%PATH%

SETLIB=E:

SETINCLUDE=E:

SETINIT=E:

SETHELPFILES=E:

SETASMEX=E:

.的利用

用于将汇编源程序汇编成目标文件。

当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的标识符号信息

下面用一个汇编程序说明的利用方式。

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

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:

/I./Zm/c

Microsoft(R)MacroAssemblerVersion

Copyright(C)MicrosoftCorp1981-1993.Allrightsreserved.

Assembling:

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

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

当环境参数配置好以后,在“命令提示符”窗口中键入“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不兼容

/?

下面将适才用汇编出来的目标程序进行链接。

目标程序名称为。

输入“linkhello;

Microsoft(R)SegmentedExecutableLinkerVersionJul131992

Copyright(C)MicrosoftCorp1984-1992.Allrightsreserved.

LINK:

warningL4021:

nostacksegment

链接警告没有概念栈段,这不阻碍程序的运行。

接下来能够运行,看看显示结果是不是“Hello,world.”。

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

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

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

ML的命令格式如下:

ML[/options]filelist[/linklinkoptions]

可选部份是ML的各类链接参数,/linklinkoptions里设定的是链接参数,这些参数能够参照LINK的有关参数。

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<

Assemblefile

汇编非ASM后缀的文件

/VMEnablevirtualmemory

启动虚拟存储器

/wSameas/W0/WX

设置告警级别为0

/WXTreatwarningsaserrors

传回告警的错误码

/W<

Setwarninglevel

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

/XIgnoreINCLUDEenvironmentpath

忽略INCLUDE环境路径

/ZdAddlinenumberdebuginfo

在目标文件中产生CodeView列号

/ZfMakeallsymbolspublic

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

/ZiAddsymbolicdebuginfo

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

/ZmEnableMASMcompatibility

与MASM兼容

/Zp[n]Setstructurealignment

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

/ZsPerformsyntaxcheckonly

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

下面利用对ASM文件进行汇编和链接。

汇编文件的名称为。

执行“ML”指令,如无错误的话将生成可执行文件。

Copyright(C)MicrosoftCorp1981-1991.Allrightsreserved.

Assembling:

Microsoft(R)Segmented-ExecutableLinkerVersion

Copyright(C)MicrosoftCorp1984-1991.Allrightsreserved.

ObjectModules[.OBJ]:

RunFile[]:

"

ListFile[]:

NUL

Libraries[.LIB]:

DefinitionsFile[]:

;

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

.用DEBUG调试可执行文件

用MASM编译了汇编语言源文件以后,用DEBUG调试可执行程序。

具体的做法是:

1、在“命令提示符”窗口下执行“DEBUG<

文件所在途径+文件名>

”指令。

2、执行“R”指令观看段寄放器CS和DS的值,在EXE文件中两值应该不同。

3、执行“U”指令观看CS:

IP所指地址的反汇编代码。

4、程序刚开始时会设置DS段寄放器的值,将其指向DATA1数据段。

用跟踪指令“P”检查这两条指令的执行结果。

5、DS段寄放器的值被修改后,执行指令“DDS:

0”,观看数据段的具体内容。

6、继续用指令P进行程序跟踪,检查各寄放器和标志位的修改内容和程序的运行情形。

7、程序正常终止后,用“RIP”指令修改寄放器IP的值,将其设置为0。

8、重复第4步到第6步的工作,改用指令T而不是指令P对程序进行跟踪,观看跟踪情形。

.用MASM和LINK生成COM可执行文件

关于有多个数据段、栈段的汇编语言程序,建议将其汇编和链接成EXE文件。

若是程序的代码和数据量比较小,能够将其汇编和链接成COM文件。

EXE文件能够有多个段,每一个段的最大空间为64KB,程序在执行需要对多个段进行治理,因此EXE文件的结构有些复杂。

而COM文件只有一个段,执行代码和数据都处于一个段中,因此,COM文件比EXE文件显得加倍短小精悍。

COM文件其唯一的约束确实是可执行的程序的大小不许诺超过64KB。

编写如下的汇编程序,文件名定为,内容如下:

assumecs:

code1

jmpnext

msgdb"

next:

movax,cs

mov

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2