<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=MASM</id>
	<title>MASM - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=MASM"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=MASM&amp;action=history"/>
	<updated>2026-07-01T22:24:04Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=MASM&amp;diff=229128&amp;oldid=prev</id>
		<title>imported&gt;Adachan06：​修正失效錨點</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=MASM&amp;diff=229128&amp;oldid=prev"/>
		<updated>2025-10-01T12:49:59Z</updated>

		<summary type="html">&lt;p&gt;修正失效錨點&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA|G1=IT}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| name = Microsoft Macro Assembler&lt;br /&gt;
| logo = &lt;br /&gt;
| developer = [[Microsoft]]&lt;br /&gt;
| latest_release_version = 12.0.21005.1&lt;br /&gt;
| latest_release_date = {{release date|2013|11|8}}&lt;br /&gt;
| operating_system = [[Microsoft Windows]] and [[MS-DOS]]&lt;br /&gt;
| genre = [[汇编语言#工具|Assembler]]&lt;br /&gt;
| license = [[Microsoft]] [[EULA]]&lt;br /&gt;
| website = &lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;MASM&amp;#039;&amp;#039;&amp;#039; 是 &amp;#039;&amp;#039;&amp;#039;Microsoft Macro Assembler&amp;#039;&amp;#039;&amp;#039; 的縮寫，它是[[微軟]]為 [[x86]] [[微處理器]]家族，所寫的一套[[巨集組譯器]]。它最初是用來發展在 [[MS-DOS]] 上面執行的軟體，同時，它也是該系統最流行的組譯器。&lt;br /&gt;
&lt;br /&gt;
它支援的[[巨集]]很靈巧，既廣泛又多樣性，結構化程式的慣用語法，包含高階架構式的迴圈、程序呼叫，以及輪替 (alternation)（因此，MASM 算是[[高階組譯器]]的一個範本）。MASM原本是由微軟公司維護的，但從6.12版後不再單獨銷售，而是隨附在微軟軟體開發套件與C語言編譯器下，近期版本的MASM也包含在微軟開發工具Visual Studio中。&lt;br /&gt;
&lt;br /&gt;
== 競爭 ==&lt;br /&gt;
&lt;br /&gt;
在 1990 年代初期，不管如何，有一些可供選擇的[[組譯器]]，像是 [[Borland TASM]]、共享版的 [[A86]]，以及（在 90 年代末期）[[NASM]]，都開始取得 MASM 的一些市場份量。但是在 1990 年代終，有兩種因素，使得 MASM 保住大部分的市場份量：&lt;br /&gt;
&lt;br /&gt;
於是，微軟停止把 MASM 作為商業產品一樣的出售，並開始當成免費散佈的 [[DDK]]（[[驅動器]]發展套件）之一部分；其次，[[MASM32 開發包]]、[[Iczelion&amp;#039;s Win32 教材]]的出現，讓[[視窗應用程式]]的設計，更方便使用 MASM.&lt;br /&gt;
&lt;br /&gt;
後來在 2000 年，[[MASM 6.15]] 的發行，一樣是 [[Visual C++ Processor Pack]] 的一部份，費用全免。結果，在 [[Visual C++ 6.0]] 後來的所有版本，所包含的 MASM 之版本，都相等該 [[Visual C++]] 的版本。後來在 [[Visual C++ 2005]]，64 位元版的 MASM 出現了（檔名為 &amp;lt;code&amp;gt;ml64.exe&amp;lt;/code&amp;gt;）。加上有龐大數量已安裝 MASM 的用戶群基礎，這些因素，使得MASM仍能繼續生存而不被淘汰。&lt;br /&gt;
&lt;br /&gt;
== 支援 MASM 的專案 ==&lt;br /&gt;
&lt;br /&gt;
有許多正在進行的軟件開發專案，都有支援到 MASM，其中包括 [[整合開發環境|IDE]]（如 [[WinAsm Studio]]，[[RadASM]]）、[[除錯器]]（像是 [[OllyDbg]]），以及 [[反組譯器]]（如 IDAPro, [[Interactive Disassembler]]）&lt;br /&gt;
&lt;br /&gt;
為了 MASM 使用者的方便，有[[MASM32]]的專案把[[程序员]]所寫的[[程式庫]] (library)、程式範例 (sample code) 以及說明文件集合在一起。也有很多[[網上論壇]]在支援 MASM。&lt;br /&gt;
&lt;br /&gt;
這些也都是沿習著著名的產品，如 [[Visual Basic]]、Visual C++、[[EasyCode]] 的 [[集成开发环境|IDE]] 一樣，為 MASM 提供 [[視覺化]] (visual) 的能力。雖然這個產品上了年紀，但它仍然是最受各方支援的[[組譯器]]。&lt;br /&gt;
&lt;br /&gt;
== MASM 的版本 ==&lt;br /&gt;
&lt;br /&gt;
* 商業軟體時期的 MASM 主要版本：&lt;br /&gt;
&lt;br /&gt;
** 4.x 1980 年代末期最流行的版本，很多組合語言入門書都以它為範本。&lt;br /&gt;
** 5.x 開始強化組譯器簡易指令（點指令），以簡化程式架構。稍晚的組合語言入門書亦大量運用此一版本。&lt;br /&gt;
** 6.x 版本為了支援 Windows，有幾個重大特色：&lt;br /&gt;
*** 支援 flat 與 386 以上 CPU保護模式。&lt;br /&gt;
*** 整合 PWB（Programmer&amp;#039;s WorkBench） 開發環境。這軟體在同時期的 Quick BASIC 也找得到。&lt;br /&gt;
*** 支援 [[DOS Extender]]，內建 DOS/16M。&lt;br /&gt;
*** 開始支援 [[OS/2]] 與 [[WinAPI]]。&lt;br /&gt;
*** 簡易指令加入流程控制敘述，如 .IF、.While、.Exit......等。&lt;br /&gt;
*** 強化對外部函式庫的支援命令，如 proto 與 invoke 等指令，其中最核心的是將 proc 指令包裝成符合高階語言風格（支援 C 與 Pascal 風格）的形式，且 invoke 指令重新包裝 call 與 push/pop 指令，可以更直觀、高階地運用函式。這對呼叫高階語言寫成的函式、特別是繁複的 WinAPI 非常重要。&lt;br /&gt;
*** masm 與 link 整合為 ML。&lt;br /&gt;
*** [[NMake]] 的 makefile 描述結構也產生了巨大的變化。&lt;br /&gt;
&lt;br /&gt;
單獨銷售的最終版本 MASM 是 6.11。自從微軟停止 MASM 單獨銷售之後，至今他們也更新了幾次的 MASM。因為在微軟的作業系統等產品內，還是有大量以[[組合語言]]撰寫的[[程式碼]]。&lt;br /&gt;
&lt;br /&gt;
* 6.15 版是放在 [[Visual C++ 6.0 Processor Pack]] 中。&lt;br /&gt;
* 7.0 版是放在 [[Visual C++ .NET 2002]]。&lt;br /&gt;
* 7.1 版是放在 [[Visual C++ .NET 2003]]。&lt;br /&gt;
* 8.0 版是放在 [[Visual C++ .NET 2005]]，它也可以[[組譯]] [[x64]] 的[[程式碼]]。&lt;br /&gt;
&lt;br /&gt;
在這些新版 [[Visual C++]] 的 bin 目錄中，皆有 ml.exe。[[Visual C++ .NET 2005]] 的相同目錄，還有一個 ml64.exe，它可以[[組譯]] [[x64]] 的[[程式碼]]。相關的說明，都包含在這些新版 [[Visual C++]] 的說明文件裡。&lt;br /&gt;
&lt;br /&gt;
有些新版的 MASM，也會放在微軟的 [[SDK]] 和 [[DDK]] 中。&lt;br /&gt;
在VisualStudio2010中可用如下方式运行MASM（ML.exe）：&lt;br /&gt;
    [SetupDir]\VC&amp;gt;ML [SourceFile]&lt;br /&gt;
&lt;br /&gt;
== 支援 ==&lt;br /&gt;
&lt;br /&gt;
雖然有傳言說，微軟不再支援發展組譯器，事實上，微軟是繼續支援發展這個產品。大致來說，支援僅限於添加新的[[指令集]]，如出現較新的[[處理器]]，以及加強支援 64 位元；往後將不會見到此[[組譯器]]被徹底的改頭換面。&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.masm32.com MASM32 Homepage] {{Wayback|url=http://www.masm32.com/ |date=20210128171022 }}&lt;br /&gt;
* [https://web.archive.org/web/20090513083157/http://sourcerip.com/ Free MASM Source Code]&lt;br /&gt;
* [https://archive.today/20130502143022/http://freespace.virgin.net/roy.longbottom/win64.htm PC Benchmarks For 64] &lt;br /&gt;
* [http://www.microsoft.com/china/MSDN/library/Windev/64bit/issuesx64.mspx?mfr=true 開始進行 64 位 Windows 系統編程之前需要瞭解的所有信息] {{Wayback|url=http://www.microsoft.com/china/MSDN/library/Windev/64bit/issuesx64.mspx?mfr=true |date=20160524072033 }}&lt;br /&gt;
&lt;br /&gt;
{{X86汇编话题}}&lt;br /&gt;
&lt;br /&gt;
[[Category:微軟開發工具]]&lt;br /&gt;
[[Category:DOS軟體]]&lt;br /&gt;
[[Category:Windows软件]]&lt;br /&gt;
[[Category:汇编语言]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Adachan06</name></author>
	</entry>
</feed>