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