masm汇编编译器
⑴ 汇编语言编译工具masm怎么使用
MASM是Microsoft Macro Assembler 的缩写,是微软公司为x86微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利器。
使用方法:
如果你的电脑是X86,那么没有太多限制,直接网上现下载masm5.0,并将所有文件解压到非C盘中某一个文件夹之内(编写的.asm文件也放在这里面)在运行中使用cmd命令,进入你文件所在目录,如我的文件在D:masm中,键入d:masm便可进入该文件夹 。使用masm **.asm 命令生成obj文件,link **.obj链接生成exe文件 然后 就可以执行了,同样也是确保在文件目录下,使用 **.exe命令,还有就是debug的方法,使用方法类似 debug **.exe
如果你的电脑不是X86而是x64,那么就需要使用DOSBox工具。安装完成后,打开软件
会出现两个界面,在可运行界面会让你先挂载你的目录 。输入你的文件所在目录便可以,例如mount d d:masm “d”作为虚拟d盘 "d:masm"你要虚拟的文件夹位置。然后就可按着x86的方法操作了。很多具体的DOSBox的使用方法,请自行学习,如果一般用于汇编卡法的话,挂载也可以写到DOSBox的option文件中,方便自己使用 。
⑵ 什么是MASM
怎么说呢,MASM是汇编语言的调试工具吧,我是这样理解的.
自二十世纪80年代初 Microsoft 公司推出 MASM 1.0 以来,目前MASM的版本已升至6.15,支持MMX Pentium、Pentium II、Pentium III及Pentium 4指令系统。
MASM 4.0支持80286/80287的处理器和协处理器;MASM 5.0支持80386/80387处理器和协处理器,并加进了简化段伪定义指令和存储模式伪指令,汇编和连接的速度更快。
MASM 6.0是1991年推出的,支持80486处理器,它对MASM 进行重新组织,并提供了许多类似高级语言的新特点。MASM 6.0之后又有一些改进,微软又推出MASM 6.11,利用它的免费补丁程序可以升级到MASM 6.14,支持到Pentium III指令系统。
MASM 6.x安装文件(链接下载文件MASM611FULL.ZIP)包含在5张软盘上,在DOS(或Windows的MS-DOS模拟环境)下,运行第一张盘上的SETUP.EXE程序就可以开始安装,通常选择在MS-DOS / Microsoft Windows操作系统下使用MASM。
一个MASM汇编系统,主要包含如下内容:
• MASM 6.15的汇编程序ML.EXE和配套的汇编错误信息文件ML.ERR,连接程序LINK.EXE,子程序库管理文件LIB.EXE;
• CV目录下的CodeView调试程序CV.EXE以及配套的库文件;
• HELP目录下的快速帮助文件QH.EXE,以及MASM宏汇编语言、汇编程序ML、连接程序LINK、调试程序CV等所有帮助文件;
• 本书作者为方便操作建立的批处理文件、I/O子程序库等。书中例题程序文件也可以建立在某个子目录(例如HBYYLT)下。
⑶ masm是汇编编译器,它是不是把汇编语言编译成obj文件,这个obj文件里是机器码(一堆0和1)吗
obj
文件时中间文件.
可以将这个中间文件编译成其他格式的可执行文件,
如果一次性的就编译成了exe
的话,
如果别人要的不是
exe格式的文件...且不是给用户带来巨大的不方便
⑷ 汇编器和编译器有什么区别
汇编器(比如MASM)全称是汇编编译器,用来编译汇编语言的。汇编语言的大部分命令都和机器码一一对应,而高级语言和汇编的伪指令是不和机器码一一对应的
,因此从某种意义上说,汇编码就相当于机器码。
编译器的作用是,将源文件(.c/.cpp/.pas等)转换为目标代码(.obj/.dcu等)。这是已经是二进制代码了。
最后由连接器(Linker),将目标代码连接起来,这样就形成了可执行文件
⑸ 汇编语言编译工具masm怎么使用
你可以先在
masm文件夹里建一个新的文件夹,名为nm
然后
将masm文件夹里的masm.exe和link.exe复制到新建的文件夹
调用dos命令
如果你的masm文件在d盘
先用d:
接着d;>\cd
masm
d;\masm\cd
nm
d;\masm\nm
\edit
进入编辑界面
写好程序后
程序命名为123.asm
退出
d;\masm\nm\masm
123.asm
d;\masm\nm\link
123.obj
生成可执行文件
d;\masm\nm\123.exe
⑹ 什么是masm汇编工具包
MASM32是一个由个人开发的包含了不同版本工具组
masm32书写记录建的汇编开发工具包。它的汇编编译器是MASM6.0以上版本中的Ml.exe,资源编译器是Microsoft
Visual
Studio中的Rc.exe,32位链接器是Microsoft
Visual
Studio中的Link.exe,同时包含有其他的一些如Lib.exe和DumpPe.exe等工具。该工具是由Steve
Hutchesson开发的。
完整的MASM汇编系统包含很多文件,但最基本的有如下几个:
ML.EXE
汇编程序
ML.ERR
汇编错误信息文件
DOSXNT.EXE
MS-DOS扩展文件
LINK.EXE
连接文件
LIB.EXE
子程序库管理文件
如果采用集成开发环境PWB,主要涉及如下文件:
PWWB.EXE
程序员工作平台
NMAKER.EXE
工程维护程序
NMAKE.EXE
nmaker的MS-DOS扩展驱动程序
CV.EXE
源代码调试器CodeView
CVPACK.EXE
调试信息压缩器,它为CODEVIEW准备一个可执行文件
HELPMAKE.EXE
帮助文件维护程序
BSCMAKE.EXE
浏览数据库创建程序
SBRPACK.EXE
浏览信息程序
PWBRMAKE.EXE
BSCMAKE兼容驱动程序
*.MXT
各种PWB扩展工具文件
*.XXT
各种语言的PWB扩展文件
⑺ masm编译器用下载吗我的电脑在DOS中怎么不能用啊
masm是微软出的汇编编译器,支持8088/8086架构的汇编语言,在dos下运行,需要下载。masm包括:
(1)编辑程序edit.exe
(2)汇编程序masm.exe
(3)连接程序link.exe
(3)调试程序debug.exe
⑻ 汇编语言用什么软件写的后缀名是什么
汇编语言不是用什么软件写的,是由字母、单词来代替一个特定的指令来编辑的,后缀名是.asm。
汇编语言是用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“MOV”代表数据传递等等,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。
汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。
(8)masm汇编编译器扩展阅读
汇编语言表达式常量:
1>数值常量1010H
2>符号常量
伪指令:<符号名>EQU<表达式>
功能:定义所指符号常量所代表的常量的值
说明:表达式可以是常数、指令助记符、伪指令助记符、寄存器名字或其他自定义的符号
例子:VAEQU100;表达式为常数
NUMEQUVA+100;表达式为数值表达式
OPEEQUADD;表达式为指令助记符
伪指令:<符号名>=<常数表达式>
功能:定义所指符号常量所代表的常量的值
说明:“=”之后只能是常数,对于字符和字符串汇编时按照整数处理
例子:VA=100
NUM=3*100
NUM=VA+500
⑼ 汇编语言编译器的MASM编译器介绍
MASM是Microsoft公司推出的汇编编译器。它的版本从低到高经过了很多次的升级(微软的通病,升级补丁多如牛毛)。每次升级除了例行的错误修正外都增加了一些新的功能,以至于到最后高版本和低版本的语法和功能相差很多,向下兼容性也不好。低版本的MASM固然无法编译高版本的源程序,但高版本的MASM也可能无法正常编译低版本的源程序,如MASM 4.0写的源程序常常无法在MASM 6.x上编译成功。在使用MASM系列编译器时,如果不先搞清楚特定的语法和编译选项可以在哪个版本上用,编译中就会错误连篇。所以在这里有必要了解一下MASM各版本的演变过程
下表列出了不同版本MASM编译器的区别。
版 本
简 介
MASM 4.00
这是最先广泛使用的一个MASM版本,适用于DOS下的汇编编程。它很精巧,但使用起来不是很智能化,需要用户自己一板一眼地写出所有的东西。很多教科书上讲的8086汇编语法都是针对这个版本的,对程序员来说。它只比用Debug方便一点点。
MASM 5.00
MASM 5.00比4.00在速度上快了很多,并将段定义的伪指令简化为类似 .code与.data之类的定义方式,同时增加了对80386处理器指令的支持,对4.00版本的兼容性很好
MASM 5.10
对程序员来说,这个版本最大的进步是增加了对@@标号的支持。这样,程序员可以不再为标号的起名花掉很多时间。另外,MASM 5.10增加了对OS/2 1.x的支持
MASM 5.10B
1989年推出,比上一个版本更稳定、更快,它是传统的DOS汇编编译器中最完善的版本
MASM 6.00
1992年发布,有了很多的改进。编译器可以使用扩展内存,这样可以编译更大的文件,可执行文件名相应从Masm.exe改为Ml.exe。从这个版本开始可以在命令行上用*.asm同时编译多个源文件,源程序中数据结构的使用和命令行参数的语法也更像C的风格。最大的改进之一是开始支持 .if/.endif这样的高级语法,这样,使用复杂的条件分支时和用高级语言书写一样简单,可以做到几千行的代码中不定义一个标号;另外增加了invoke伪指令来简化带参数的子程序调用。这两个改进使汇编代码的风格越来越像C,可读性和可维护性提高了很多
MASM6.00A
未发售的版本
MASM 6.00B
最后一个支持OS/2的MASM版本,修正了上一版本中的一些错误
MASM 6.10
修正了一些错误,同时增加了/Sc选项,可以在产生的list文件中列出每条指令使用的时钟周期数
MASM6.10A
1992年发布,修正了一些内存管理方面的问题
MASM 6.11
1993年11月发布,支持Windows NT,可以编写Win32程序,同时支持Pentium指令,但不支持MMX指令集
MASM6.11C
1994年发布,增加了对Windows 95 VxD的支持
MASM 6.12
1997年8月发布,增加 .686,.686P,.MMX声明和对相应指令的支持
MASM 6.13
1997年12月发布,增加了 .K3D声明,开始支持AMD处理器的3D指令
MASM 6.14
这是一个很完善的版本,它在 .XMM中增加了对Pentium III的SIMD指令集的支持,相应增加了OWORD(16字节)的变量类型
MASM 6.15
⑽ 安装MASM汇编编译器时出现的,怎么处理
例如如下:
在打开的“另存为”对话框中选择好保存路径,再单击“保存类型”中的下拉箭头选择“所有文件”(一定要选择此步,不然保存后的文件会自动加上TXT的扩展名),然后在“文件名”中输入“restore.reg”后按