ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
MASM - Wikipedia

MASM

维基百科,自由的百科全书

MASMMicrosoft Macro Assembler 的縮寫, 它是 微軟x86 微處理器家族, 所寫的一套巨集組譯器. 它最初是用來發展在 MS-DOS 上面執行的軟體, 同時, 它也該系統最流行的組譯器.

它支援的巨集很靈巧, 既廣泛又多樣性, 結構化程式的慣用語法, 包含高階架構式的迴圈、程序呼叫, 以及輪替 (alternation) (因此, MASM 算是高階組譯器的一個範本).

目录

[编辑] 競爭

在 1990 年代初期, 不管如何, 有一些可供選擇的組譯器, 像是 Borland TASM、共享版的 A86 , 以及 (在 90 年代末期) NASM, 都開始取得 MASM 的一些市場份量. 但是在 1990 年代終, 有兩種因素, 使得 MASM 保住大部分的市場份量:

一是, 微軟停止把 MASM 作為商業產品一樣的出售, 並開始當成免費散佈的 DDK (驅動器發展套件) 之一部分; 其次, MASM32 開發包、Iczelion's Win32 教材的出現, 讓視窗應用程式的設計, 更方便使用 MASM.

後來在 2000 年, MASM 6.15 的發行, 一樣是 Visual C++ Processor Pack 的一部份, 費用全免. 結果, 在 Visual C++ 6.0 後來的所有版本, 所包含的 MASM 之版本, 都相等該 Visual C++ 的版本. 後來在 Visual C++ 2005, 64 位元版的 MASM 出現了 (檔名為 ml64.exe). 加上有龐大數量已安裝 MASM 的用戶群基礎, 這些的因素, 都有助於遏止從 MASM 叛逃到其他的組譯器.

[编辑] 支援 MASM 的專案

有許多正在進行的軟件開發專案, 都有支援到 MASM, 其中包括 IDE (如 WinAsm Studio, RadASM)、除錯器 (像是 OllyDbg), 以及 反組譯器 (如 IDAPro, Interactive Disassembler)

這個 MASM32 的專案 (http://www.movsd.com/) 為了 MASM 使用者的方便, 它把許多非常令人感動的程式師所寫的程式庫 (library)、程式範例 (sample code) 寶庫, 以及令人感動的說明文件, 全都集合在一起. 也有很多網上論壇, 有在支援 MASM (包括 http://www.masmforum.com).

這些也都是沿習著著名的產品, 如 Visual BasicVisual C++、EasyCode 的 IDE 一樣, 為 MASM 提供 視覺化 (visual) 的能力. 雖然這個產品上了年紀, 但它仍然是最受各方支援的組譯器.

[编辑] MASM 的版本

雖然 MASM 不再是商業產品, 但微軟乃繼續支援著它, 因為在微軟的廠內, 還是存在著大量以組語為基礎的程式碼.

以單獨包裝販賣的 MASM, 最後版本的是 6.11. 自從微軟停止對 MASM 分開銷售後, 至今他們也更新了幾次的 MASM 6.x 版.

6.15 版是放在 Visual C++ 6.0 Processor Pack 中.

7.0 版是放在 Visual C++ .NET 2002.

7.1 版是放在 Visual C++ .NET 2003.

8.0 版是放在 Visual C++ .NET 2005, 它也可以組譯 x64 的程式碼.

在這些新版 Visual C++ 的 bin 目錄中, 都可以看見 ml.exe, 但在 Visual C++ .NET 2005 的同樣目錄中, 可以看見 ml64.exe, 它可以組譯 x64 的程式碼. 它的說明文件, 也都是這些新版本的 Visual C++ 之說明文件的一部份.

有一些新版本的 MASM , 也會放在微軟的 SDK 和 DDK 中.

[编辑] 支援

雖然有傳言說, 微軟不再支援發展組譯器, 事實上, 微軟是繼續支援發展這個產品. 大致來說, 支援僅限於添加新的指令集, 如出現較新的處理器, 以及加強支援 64 位元; 往後將不會見到此組譯器被徹底的改頭換面.

[编辑] 外部聯結


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -