惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security Archives - TechRepublic
MongoDB | Blog
MongoDB | Blog
量子位
博客园 - 叶小钗
罗磊的独立博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
MyScale Blog
MyScale Blog
GbyAI
GbyAI
Help Net Security
Help Net Security
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
Hacker News - Newest:
Hacker News - Newest: "LLM"
Latest news
Latest news
H
Hacker News: Front Page
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
S
Schneier on Security
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
Security @ Cisco Blogs
Recorded Future
Recorded Future
S
Securelist
博客园 - Franky
Application and Cybersecurity Blog
Application and Cybersecurity Blog
A
About on SuperTechFans
N
News and Events Feed by Topic
AI
AI
T
Tenable Blog
N
News | PayPal Newsroom
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX - 技术
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 热门话题
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google Online Security Blog
Google Online Security Blog
S
Security Affairs
Webroot Blog
Webroot Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 三生石上(FineUI控件)
C
Comments on: Blog
G
GRAHAM CLULEY

博客园 - 老保

python获取当前脚本所在目录 python迭代器 mysql 随记 c程序设计语言(第二版) 阅读笔记 九 unix系统IO c程序设计语言(第二版) 阅读笔记 八 文件 c程序设计语言(第二版) 阅读笔记 七 结构和联合 c程序设计语言(第二版) 阅读笔记 六 指针 c程序设计语言(第二版) 阅读笔记 五 变量作用域及变量声明和定义 c程序设计语言(第二版) 阅读笔记 四 函数定义域声明规则 c程序设计语言(第二版) 阅读笔记 三 ANSI C及较早版本函数声明 c程序设计语言(第二版) 阅读笔记 二 变量声明 extern c程序设计语言(第二版) 阅读笔记 一 特点和简介 XMLHttpRequest和W3C DOM备忘 socket 常用的数据结构备忘 笔试题目 NHibernate Configuration和Sessionfactory c# 学习笔记1 (枚举和结构类型和数组) js常用函数 一个很简洁 效果很好的js效果 - 老保
不要把MASM32开发环境和MASM汇编器版本搞混了
老保 · 2010-12-07 · via 博客园 - 老保

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 月发布