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