MASM32也称为MASM32 SDK,是一种用汇编语言开发32位Windows应用程序的工具包。它适用于对汇编语言编写程序已有基础,而又对Windows基本架构有兴趣的人;它不适用于初学汇编语言的人。

MASM32 SDK是由澳洲Steve Hutchesson所建立的工具包,主要的工具来自微软开放下载的工具或由Steve Hutchesson等有经验的程序员撰写的工具程序,可供个人、机构、政府部门以及任何公司自由免费使用,但不能出售、重新授权、附加或与任何形式的软件捆绑[1]

MASM32 SDK里面有各式各样的工具,都是为了撰写Windows应用程序所需,它们包含:

  • 汇编器:ml.exe,这是微软MASM6.x内的汇编器,可升级为6.15版。
  • 链接器:link.exe,这是微软Visual Studio中能够生成32位应用程序的链接器。
  • 编辑器:qeditor.exe,这是Steve Hutchesson自行开发的编辑器,适合撰写汇编语言源代码
  • 资源编译器:rc.exe,这是微软Visual Studio中32位的资源编译器。
  • 其他工具:lib.exe、dumpbin.exe、dumppe.exe等工具。
  • 各种含入档(include file)与导入程序库(library)。
  • 许多示例,包含对话框控件BMP等。

在没有MASM32 SDK之前,要用汇编语言撰写Windows程序,要处理许多细节上的问题。在MASM32 SDK出现之后,就变简便了。最新版的MASM32 SDK是第11版,下载链接是The MASM32 SDK网站。

发展历史

版本 发布日期 重要变革
7 约公元1999年左右
  • MASM32 SDK V7是MASM32 SDK的第一个版本。
  • 安装过程是自动化的,仅能安装在本地硬盘,无法安装于网络硬盘上。
  • 含入档内宣告大部分的Win32 API函数原型及常量。
  • 附带编辑器Quick Editor V2.8,默认有额外的工具和配件。
  • Vladimir Kim开发的VKdebug V1.03调试器。
  • Jaymeson Trudgen与Thomas Bleeker编写的面向对象编程(OOP)示例。
  • Ernie Murphy编写的COM程序设计包。
  • 提供多种帮助文件(文件格式是.HLP)。
  • 包含部分Iczelion的教学,帮助程序员熟悉用汇编语言撰写32位Windows程序。
8 约公元2003年
  • Ray Filiatreault全新编写的浮点运算函数库。
  • 含入档内宣告更多的Win32 API函数原型及常量。
  • 工具程序升级为更高版本。
8.2 约公元2003年
  • 来自Pelle工具集,包含专用链接器、资源编译器和汇编器,并附有可运行的示例。
  • 帮助文件改成Windows新个文件格式.CHM文件。
9 公元2006.3.9[2]
  • 提供了新的宏,可以直接将UNICODE字符串转变为ANSI字符串并写入资料区段。
  • 含入档内宣告更多的Win32 API函数原型及常量。
  • 工具程序升级为更高版本。
10 约公元2008.8~9月[3]
  • 新的编辑器,预建的脚本,用于创建汇编项目的工作范本。
  • 由 Greg Lyon 编写的全新专用日期和时间库。
  • 更多的示例代码,涵盖从简单到更复杂的程序设计。
  • 一个非常易于使用的控制台接口,用于开发算法、测试代码和实验性想法。
  • 包含档和导入程序库支持Windows XP SP2。
  • 兼容于Windows资料执行保护(Data Execution Prevention)安全功能。
  • 含入档内宣告更多的Win32 API函数原型及常量。
  • 工具程序升级为更高版本。
11 公元2012.1.12[4]
  • 包含档和导入程序库支持Windows Vista/7,并新增了额外的常量和结构。
  • 完全支持UNICODE版本与ANSI版本的Win32 API。
  • 含入档内宣告更多的Win32 API函数原型及常量。
  • 工具程序升级为更高版本。

外部链接

  1. ^ https://www.masm32.com/licence.htm
  2. ^ https://masmforum.com/board/index.php/topic,4138.0.html?PHPSESSID=809e6847ae4be5c456c0a7e7d2a4b1c8
  3. ^ https://masmforum.com/board/index.php/topic,9610.0.html?PHPSESSID=809e6847ae4be5c456c0a7e7d2a4b1c8
  4. ^ https://masmforum.com/board/index.php/topic,18155.0.html?PHPSESSID=809e6847ae4be5c456c0a7e7d2a4b1c8