Posted on 2006-05-30 09:09
LGX1972·我行我素·Net
阅读(5735)
评论(27) 编辑 收藏 所属分类:
编程相关
MASM32
是一个为那些对学习或者编写
32
位微软汇编(
MASM
)感兴趣
的程序员提供的工作环境,它最流行的版本是
8.0
版,而我所知道最新版本是
9.0
版。但是请大家一定要注意,这里的
8.0
版和
9.0
版不是指
MASM
编译器
(
即
ML)
的版本,而是
MASM32
开发环境的版本。
经常看到网上有网友发的贴把这两个概念都搞混了。
那么
MASM(ML)
编译器的版本到底有哪些呢?教学上常用的版本是
5.0
版的,之前还有个
4.0
版的记得“全国计算机等级三级考试”就是用的
4.0
版。
5.0
版之后有个
5.1
版本,在这之后,从
6.0
版开始
MASM
就改名
ML
了,因为它把编译和连接组合在一起了。而且
6.0
版还对汇编语言进行了大幅改造,使之支持高级语言的很多特性。
6.0
版之后常看到的就是
6.11
、
6.13
、
6.14
MASM32(V8.0
和
V9.0)
就是包含有
ML6.14
版
,
而不是
ML8.0
版。
6.14
之后就是
6.15
但不常见
,
我手头上有
6.15
的
ML
,有兴趣的朋友可以向我索取或点此处进入下载。但
Microsoft
从
6.15
版开始好象就不再单独发布
MASM
的开发工具包了。
以后的
ML
还有
7.0
、
7.1
版,最新的是
ML8.0
版。但它们都只包含在
Visual Studio.Net
和
Visual Studio 2005
里面。而且如果你
安装了
Visual Studio 2005
的
64
位开发环境,你将得到一个
MASM for x64 (
ml64
.exe
)
哈哈,各位这可是支持
Intel
和
AMD
的
64
位
CPU
的汇编语言编译器!有志于
64
位底层开发的赶快去试用看看吧。
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
,可读性和可维护性提高了很多
|
|
MASM 6.00A
|
未发售的版本
|
|
MASM 6.00B
|
最后一个支持
OS/2
的
MASM
版本,修正了上一版本中的一些错误
|
|
MASM 6.10
|
修正了一些错误,同时增加了
/Sc
选项,可以在产生的
list
文件中列出每条指令使用的时钟周期数
|
|
MASM 6.10A
|
1992
年发布,修正了一些内存管理方面的问题
|
|
MASM 6.11
|
1993
年
11
月发布,支持
Windows NT
,可以编写
Win32
程序,同时支持
Pentium
指令,但不支持
MMX
指令集
|
|
MASM 6.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
|
2000
年
4
月发布
|