masm5.0与masm32

news/2024/10/31 3:20:43/

不要把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 但不常见 , 我手头上有 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 月发布 

 


http://www.ppmy.cn/news/154974.html

相关文章

am5728开始。。。

从今天起本人将正式把自己学习5728的过程连载在这里,希望自己可以坚持下去 现在张自己画的PCB,核心板买的创龙的,无奈底板太贵,本人的工资已经拖了全世界后腿了 简单介绍下硬件:参照TI IDK设计。4网口(2路…

b丅151组成的充电器电路_BT151S-500R118

品牌:WeEn Semiconductors 描述:THYRISTOR 500V 12A DPAK 详细描述:SCR 650V 12A Standard Recovery Surface Mount DPAK 制造商:WeEn Semiconductors 系列:- 包装:带卷(TR) 零件状态:在售 电压…

【MM系列】MB1A MB1B MB1C MB11 MIGO的区别解析

公众号: SAP Technical 本文作者: matinal 原文出处: http://www.cnblogs.com/SAPmatinal/ 原文链接: 【MM系列】MB1A MB1B MB1C MB11 MIGO的区别解析 前言部分 大家可以关注我的公众号,公众号里的排版更好&#xff0…

FMC168-8通道250Msps 16位ADC FMC子卡

板卡介绍 FMC168是一款具有8通道模数转换器(ADC)的FMC卡,具有16bit分辨率,最大采样速率达250Msps。时钟配置芯片为AD9517,可由板载时钟提供参考,也可由外部时钟提供。FMC168采用HPC连接器,输入…

驱动PCF8591模拟电压表

51驱动PCF8591制作电压表 PCF8591模组介绍模块引脚及原理图具体地址和控制字节具体程序流程具体效果可参考下图 小结 原文链接:https://www.yourcee.com/newsinfo/2928811.html PCF8591模组介绍 PCF8591是单片,单电源低功耗8位CMOS数据采集期间&#x…

MW80 DM RGB 蓝牙5.2双模热插拔PCB

键盘使用说明索引(均为出厂默认值) 软件支持一些常见问题解答(FAQ)电池开关电池插座首次使用测试步骤蓝牙配对规则(重要)蓝牙和USB切换键盘默认层默认触发层0的FN键配置的功能默认功能层1配置的功能默认的快…

1553B总线介绍

一、 1553B诞生背景: 1553B总线是MIL-STD-1553总线的简称,MIL-STD-1553总线是时分制命令/响应式多路复用数据总线。主要应用在海陆空等军事装备和航天领域。美国SAE A2K委员会在军方和工业界的支持下于1968年决定开发标准的信号多路传输系统,并于1973年公布了MIL-STD-1553标…

【网络知识】3. 千兆网传输速度125MB/s、百兆网12.5MB/s,码率、比特率、带宽、文件大小M就是MB

千兆局域网的传输速度理论上是125MB/s。 局域网有1000M与100M之分:1000M的传输速度是125Mb/s;100M的传输速度是12.5Mb/s。 1000Mbps 1,000,000,000比特/秒 125,000,000字节/秒 125MB/s。 100 Mbps 100,000,000比特/秒 12,500,000字节/秒 12.5MB/s。…