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