現在很多朋友都在學習彙編語言,一方面彙編語言是大學計算機課程的必修課,另一方面則是為了從其它語言轉到彙編語言來,無論什麼原因,我認為學習彙編語言是 件很有趣的事,學習它不但可以深入了解程式設計語言的内部表現,也是進一步了解作業系統的途徑。可是很多朋友不知道彙編語言也可以開發基于Windows的視窗程式,現在64位CPU都已經在應用了,而在學校學的彙編還是十年前的8086/8088彙編語言,不但是基于Dos環境的16位彙編語言,而且用于開發程式的MASM也是不支援32位的。是以很多朋友的感受是在學校學了彙編等于沒學,因為學到的知識在Windows平台上根本用不上或不知如何去用。
有部分朋友原來學過其它語言,如VB、Delphi、C++等等,随着學習的深入而想學習彙編語言,因為學習加解密和逆向工程彙編是必學的語言。而且如果是追求程式的高效和靈活的話彙編更是不二之選。
學習彙編語言的基礎不難,難的是怎麼用的問題,如何能在Windows環境下用彙編語言解決一些實際的應用問題正是很多朋友想了解的知識。這裡有必要提一下Win32彙編的程式設計方式,所謂的Win32Asm就是利用彙編語言來直接調用Windows系統提供的API函數,其中不加任何限制和封裝。而現在很多語言都或多或少地對API函數進行了封裝,諸如我們熟悉的VC中的MFC就把很多API函數封裝成類的成員函數,VB就封裝得更厲害了。如果你已經有使用API函數的經驗,如果你已經有彙編語言的基礎,那麼你進入Win32Asm隻是換個環境而已,沒有其它的路障在你面前。那麼究竟如何在已有彙編基礎的情況下學習Windows環境的程式設計呢?有這方面的文章或資料嗎?可以說很少!但都是精品,Win32彙編界公認的入門經典是Iczelion的Win32彙編教程,網上同時有它的英文版和中文翻譯版下載下傳,如果找不到的話給個郵件給我。另外一個就是國内的羅雲彬編著的《Windows環境下32位彙編語言程式設計》網上也有該書的pdf檔案下載下傳。可是兩種教程都沒有介紹在Windows環境下的彙編IDE使用,羅雲彬的書依然建議用makefile方式來手工編譯程式,而源代碼的編輯則用editplus來做。老實說,當一個人已經熟悉了一種環境後在另一個環境下總會有所比較,而比較的結果是:用彙編開發程式還是這麼麻煩,我已經習慣了VB、VC等Windows環境下的內建開發環境,一下子要自己整合編輯、編譯、連接配接、運作、調試等的工具确實是一個不好的開端。難道就沒有一個類似于Vb、VC的彙編內建開發環境嗎?還是那句:很少,但都是精品!最多人使用的莫過于RadAsm了,最新版本是RadASM 2.2.0.3d (09-14-2005),整個程式很像我們熟知的VB開發界面,一樣可以像VC那樣用向導方式建立一個工程。關鍵字着色、自動完成API函數等,總之在常用開發環境下有的功能它都有,沒有的它也有。它支援多種彙編編譯器,目前支援MASM、TASM、NASM、FASM、GoAsm、HLA(High Level Assembly);還支援多國語言,夠多了吧。另外一個受人矚目的彙編IDE是WinAsm,最新的版本是WinAsm V5.0.4.142 ,它同樣的是一個出色的彙編開發環境,老實說,我個人感覺它和Radasm并沒有很大的差別,無論是開發界面和功能上都大同小異。或許造成使用者群的多少隻是因為個人喜好不同而造成的。遺憾的是它目前隻有英文版,隻支援MASM。還有一個小有名氣的是Easy Code,最新的版本是Easy Code 1.00.0.0029(9-23-2005),這個開發環境好像是VB環境的近親,因為第一次看到它的時候以為打開了Vb,實在太像了。而且它對視窗和控件做過了一定的封裝,如我們知道輕按兩下在VB視窗中建立的按鈕可以直接跳到該按鈕的代碼編輯行,而這個Easy Code也有同樣的功能。