MASM32 是一個為那些對學(xué)習(xí)或者編寫 32 位微軟匯編( MASM )感興趣 的程序員提供的工作環(huán)境,它最流行的版本是 8.0 版,而我所知道最新版本是 9.0 版。但是請大家一定要注意,這里的 8.0 版和 9.0 版不是指 MASM 編譯器 ( 即 ML) 的版本,而是 MASM32 開發(fā)環(huán)境的版本。 經(jīng)常看到網(wǎng)上有網(wǎng)友發(fā)的貼把這兩個概念都搞混了。
那么 MASM(ML) 編譯器的版本到底有哪些呢?教學(xué)上常用的版本是 5.0 版的,之前還有個 4.0 版的記得“全國計算機(jī)等級三級考試”就是用的 4.0 版。 5.0 版之后有個 5.1 版本,在這之后,從 6.0 版開始 MASM 就改名 ML 了,因?yàn)樗丫幾g和連接組合在一起了。而且 6.0 版還對匯編語言進(jìn)行了大幅改造,使之支持高級語言的很多特性。 6.0 版之后常看到的就是 6.11 、 6.13 、 6.14 MASM32(V8.0 和 V9.0) 就是包含有 ML6.14 版 , 而不是 ML8.0 版。 6.14 之后就是 6.15 但不常見 ,但 Microsoft 從 6.15 版開始好象就不再單獨(dú)發(fā)布 MASM 的開發(fā)工具包了。
以后的 ML 還有 7.0 、 7.1 版,最新的是 ML8.0 版。但它們都只包含在 Visual Studio.Net 和 Visual Studio 2005 里面。而且如果你 安裝了 Visual Studio 2005 的 64 位開發(fā)環(huán)境,你將得到一個 MASM for x64 ( ml64 .exe ) 哈哈,各位這可是支持 Intel 和 AMD 的 64 位 CPU 的匯編語言編譯器!有志于 64 位底層開發(fā)的趕快去試用看看吧。
MASM 編譯器各版本的區(qū)別
版 本
|
簡 介
|
MASM 4.00
|
這是最先廣泛使用的一個 MASM 版本,適用于 DOS 下的匯編編程。它很精巧,但使用起來不是很智能化,需要用戶自己一板一眼地寫出所有的東西。很多教科書上講的 8086 匯編語法都是針對這個版本的,對程序員來說。它只比用 Debug 方便一點(diǎn)點(diǎn)
|
MASM 5.00
|
MASM 5.00 比 4.00 在速度上快了很多,并將段定義的偽指令簡化為類似 .code 與 .data 之類的定義方式,同時增加了對 80386 處理器指令的支持,對 4.00 版本的兼容性很好
|
MASM 5.10
|
對程序員來說,這個版本最大的進(jìn)步是增加了對 @@ 標(biāo)號的支持。這樣,程序員可以不再為標(biāo)號的起名花掉很多時間。另外, MASM 5.10 增加了對 OS/2 1.x 的支持
|
MASM 5.10B
|
1989 年推出,比上一個版本更穩(wěn)定、更快,它是傳統(tǒng)的 DOS 匯編編譯器中最完善的版本
|
MASM 6.00
|
1992 年發(fā)布,有了很多的改進(jìn)。編譯器可以使用擴(kuò)展內(nèi)存,這樣可以編譯更大的文件,可執(zhí)行文件名相應(yīng)從 Masm.exe 改為 Ml.exe 。從這個版本開始可以在命令行上用 *.asm 同時編譯多個源文件,源程序中數(shù)據(jù)結(jié)構(gòu)的使用和命令行參數(shù)的語法也更像 C 的風(fēng)格。最大的改進(jìn)之一是開始支持 .if/.endif 這樣的高級語法,這樣,使用復(fù)雜的條件分支時和用高級語言書寫一樣簡單,可以做到幾千行的代碼中不定義一個標(biāo)號;另外增加了 invoke 偽指令來簡化帶參數(shù)的子程序調(diào)用。這兩個改進(jìn)使匯編代碼的風(fēng)格越來越像 C ,可讀性和可維護(hù)性提高了很多
|
MASM 6.00A
|
未發(fā)售的版本
|
MASM 6.00B
|
最后一個支持 OS/2 的 MASM 版本,修正了上一版本中的一些錯誤
|
MASM 6.10
|
修正了一些錯誤,同時增加了 /Sc 選項(xiàng),可以在產(chǎn)生的 list 文件中列出每條指令使用的時鐘周期數(shù)
|
MASM 6.10A
|
1992 年發(fā)布,修正了一些內(nèi)存管理方面的問題
|
MASM 6.11
|
1993 年 11 月發(fā)布,支持 Windows NT ,可以編寫 Win32 程序,同時支持 Pentium 指令,但不支持 MMX 指令集
|
MASM 6.11C
|
1994 年發(fā)布,增加了對 Windows 95 VxD 的支持
|
MASM 6.12
|
1997 年 8 月發(fā)布,增加 .686 , .686P , .MMX 聲明和對相應(yīng)指令的支持
|
MASM 6.13
|
1997 年 12 月發(fā)布,增加了 .K3D 聲明,開始支持 AMD 處理器的 3D 指令
|
MASM 6.14
|
這是一個很完善的版本,它在 .XMM 中增加了對 Pentium III 的 SIMD 指令集的支持,相應(yīng)增加了 OWORD ( 16 字節(jié))的變量類型
|
MASM 6.15
|
2000 年 4 月發(fā)布
|