小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

masm masm32 fasm nasm yasm gas的區(qū)別與聯(lián)系

 oskycar 2013-06-30

masm

MASM是微軟公司開發(fā)的匯編開發(fā)環(huán)境,擁有可視化的開發(fā)界面,使開發(fā)人員不必再使用DOS環(huán)境進行匯編的開發(fā),編譯速度快,支持80x86匯編以及Win32AsmWindows下開發(fā)匯編的利器。它與windows平臺的磨合程度非常好,但是在其他平臺上就有所限制,使用MASM的開發(fā)人員必須在windows下進行開發(fā)。

masm32

MASM32 是一個為那些對學(xué)習或者編寫 32 位微軟匯編( MASM )感興趣 的程序員提供的工作環(huán)境,它最流行的版本是 8.0 版,而我所知道最新版本是 9.0 版。但是請大家一定要注意,這里的 8.0 版和 9.0 版不是指 MASM 編譯器 ( 即 ML) 的版本,而是 MASM32 開發(fā)環(huán)境的版本。

那么 MASM(ML) 編譯器的版本到底有哪些呢?教學(xué)上常用的版本是 5.0 版的, 5.0 版之后有個 5.1 版本,在這之后,從 6.0 版開始 MASM 就改名 ML 了,因為它把編譯和連接組合在一起了。而且 6.0 版還對匯編語言進行了大幅改造,使之支持高級語言的很多特性。 6.0 版之后常看到的就是 6.11 、 6.13 、 6.14 MASM32(V8.0 和 V9.0) 就是包含有 ML6.14 版 , 而不是 ML8.0 版。 6.14 之后就是 6.15 但不常見 , 我手頭上有 6.15 的 ML 。但 Microsoft 從 6.15 版開始好象就不再單獨發(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 方便一點點

MASM 5.00

MASM 5.00 比 4.00 在速度上快了很多,并將段定義的偽指令簡化為類似 .code 與 .data 之類的定義方式,同時增加了對 80386 處理器指令的支持,對 4.00 版本的兼容性很好

MASM 5.10

對程序員來說,這個版本最大的進步是增加了對 @@ 標號的支持。這樣,程序員可以不再為標號的起名花掉很多時間。另外, MASM 5.10 增加了對 OS/2 1.x 的支持

MASM 5.10B

1989 年推出,比上一個版本更穩(wěn)定、更快,它是傳統(tǒng)的 DOS 匯編編譯器中最完善的版本

MASM 6.00

1992 年發(fā)布,有了很多的改進。編譯器可以使用擴展內(nèi)存,這樣可以編譯更大的文件,可執(zhí)行文件名相應(yīng)從 Masm.exe 改為 Ml.exe 。從這個版本開始可以在命令行上用 *.asm 同時編譯多個源文件,源程序中數(shù)據(jù)結(jié)構(gòu)的使用和命令行參數(shù)的語法也更像 C 的風格。最大的改進之一是開始支持 .if/.endif 這樣的高級語法,這樣,使用復(fù)雜的條件分支時和用高級語言書寫一樣簡單,可以做到幾千行的代碼中不定義一個標號;另外增加了 invoke 偽指令來簡化帶參數(shù)的子程序調(diào)用。這兩個改進使匯編代碼的風格越來越像 C ,可讀性和可維護性提高了很多

MASM 6.00A

未發(fā)售的版本

MASM 6.00B

最后一個支持 OS/2 的 MASM 版本,修正了上一版本中的一些錯誤

MASM 6.10

修正了一些錯誤,同時增加了 /Sc 選項,可以在產(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ā)布

nasm fasm yasm

這三個都是免費開源的匯編編譯器,總體上都是采用的Intel的語法。yasm是從nasm的基礎(chǔ)上開發(fā)出來的,屬于同宗,使用了相同的語法,所以nasm的代碼可以用yasm編譯。

yasm雖然更新較慢,但對nasm一些不合理的地方進行了改良。從這個角度來看,yasm比nasm更優(yōu)秀些,而nasm更新快,能支持更新的指令集,而且還支持Gas語法和AMD64(EM64T)架構(gòu),跨平臺,支持多種目標文件格式。在Windows平臺上,fasm是另一個不錯的選擇,平臺支持比較好,可以直接用來開發(fā)Windows上的程序,語法也比較獨特。在對Windows程序結(jié)構(gòu)的支持上,fasm是3個免費的編譯器里做得最好的。

yasm的官方地址:http://yasm./Download.html。使用很簡單:將下載下來的yasm-1.2.0-win32.exe重命名為yasm.exe,放到D:\Program Files\Microsoft Visual Studio 9.0\VC\bin目錄下即可。

nasm的官方地址:http://www./

gas

Gas即GNU assembler 是linux下的匯編編譯器,使用的AT&T的語法。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多