无我

让内心永远燃烧着伟大的光明的精神之火!
灵活的思考,严谨的实现
豪迈的气魄、顽强的意志和周全的思考

【转】MASM32开发环境和MASM汇编器版本

 

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 但不常见 ,但 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 月发布

posted on 2008-06-09 18:49 Tim 阅读(2565) 评论(0)  编辑 收藏 引用 所属分类: 汇编语言


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2008年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

公告

本博客原创文章,欢迎转载和交流。不过请注明以下信息:
作者:TimWu
邮箱:timfly@yeah.net
来源:www.cppblog.com/Tim
感谢您对我的支持!

留言簿(9)

随笔分类(173)

IT

Life

搜索

积分与排名

最新随笔

最新评论

阅读排行榜