《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > 匯編IDE的選擇與配置

匯編IDE的選擇與配置

2017-07-23
關(guān)鍵詞: 匯編語(yǔ)言

IDE,全稱(chēng)集成開(kāi)發(fā)環(huán)境,對(duì)于MASM的IDE,我想每個(gè)人最低的要求都至少要求在寫(xiě)程序時(shí)不需要在命令行中手工輸入命令來(lái)編譯再鏈接,這樣很不方便,如果代碼有錯(cuò),就需要用編輯器(一般是計(jì)事本)修改然后再重復(fù)的編譯、鏈接,把大量的時(shí)間花在這種操作上,不爽!

為此,RedASM出現(xiàn)了,它具備了寫(xiě)MASM程序的所有基本功能,只要設(shè)置好,在RedASM中寫(xiě)程序簡(jiǎn)直和用VC差不多,API函數(shù)原型的提示、常數(shù)自動(dòng)的彈出、結(jié)構(gòu)的成員變量顯示(暫不支持聲明為結(jié)構(gòu)類(lèi)型的變量)、過(guò)程變量名自己列出、支持快速跳轉(zhuǎn)、關(guān)鍵字的自動(dòng)補(bǔ)齊、集成對(duì)話(huà)框編輯器/菜單編輯器、工具欄編輯器、調(diào)試器等等等等,讓我等匯編狂人驚喜不已,但是(住住聽(tīng)到這兩字時(shí)總是讓人心里發(fā)緊^_^),RedASM對(duì)中文的支持相當(dāng)不好,并且一直沒(méi)有解決,情況就是打開(kāi)、編輯有中文的源文件時(shí)會(huì)停止響應(yīng)或死機(jī),除非整個(gè)程序都不用中文那就沒(méi)問(wèn)題,最新版本的RedASM能通過(guò)設(shè)置中文字體來(lái)支持雙字節(jié)的編輯,但這種方法只適用于2000以上的操作系統(tǒng),對(duì)于我們這些用著破機(jī)器裝個(gè)98都覺(jué)得慢、對(duì)英文頭痛的人來(lái)說(shuō),RedASM成了我等人心頭之雞肋---功能強(qiáng)大卻用著煩心,可是它的確非常實(shí)用,心里這個(gè)可惜啊,猶如滔滔江水....(打住)!

所以,如果你操作系統(tǒng)在98以上(不包括ME),推薦你選擇RedASM,最新版本的RedASM速度更快,實(shí)用的功能讓MASM程序的編寫(xiě)真的非常方便,你可以到作者主頁(yè)上去下載(http://radasm.sonshinesoftware.com/

),記住RedASM更新相當(dāng)快,要時(shí)常去看看是否更新了,這也是對(duì)作者的一種支持。

不過(guò)因?yàn)槲襌edASM只用過(guò)幾次,它的功能與特點(diǎn)我不清楚,詳細(xì)自己去玩吧,而MASM的設(shè)置也相當(dāng)方便,只要設(shè)置好MASM32的路徑就行。
  RedASM的幾個(gè)缺點(diǎn):

1.是沒(méi)有模板,雖然可以自己寫(xiě)一個(gè),但是內(nèi)建模析是一個(gè)IDE所具備基本條件,不知道RedASM的作者為什么不寫(xiě)幾個(gè)。

2.高亮顯示的API函數(shù)與常數(shù)庫(kù)不全,遇到?jīng)]有加入的函數(shù),我們還是得去看參考手冊(cè)。(建立寫(xiě)MASM總開(kāi)著參考手冊(cè),方便查詢(xún))。

3.資源編輯功能不是很實(shí)用,RedASM把對(duì)話(huà)框編輯、菜單編輯等等分開(kāi)了,碰到需要加入其它資源,還是得自己去修改,這點(diǎn)不方便。

另外向大家重點(diǎn)推薦另一個(gè)也是我一直使用的IDE,不,不能說(shuō)是IDE,只能說(shuō)是編輯器,那就是EditPlus,只要自己設(shè)置好,EditPlus就可以相當(dāng)方便的用來(lái)進(jìn)行MASM的編程,如何配置大家就不要操心了,我已經(jīng)為大家寫(xiě)好了相關(guān)的配置文件,并做了一個(gè)安裝程序,請(qǐng)大家下載本站的MASM for EditPlus,安裝好后就行了,目前MASM for EditPlus已經(jīng)升級(jí)到Serial 0004,因?yàn)镸ASM for EditPlus是我自己配置的,我就它詳細(xì)向大家說(shuō)說(shuō)MASM for EditPlus的優(yōu)點(diǎn)。

1.MASM for EditPlus的關(guān)鍵字非常全,因?yàn)槲沂前凑兆钚掳姹镜腗ASMv8.0來(lái)制作語(yǔ)法文件表的,所有MASMv8.0支持的函數(shù)都能高亮顯示,如果某個(gè)在API手冊(cè)中存在的API在EditPlus中輸入后沒(méi)有高亮顯示就證明此函數(shù)MASM不支持,同理,常數(shù)與結(jié)構(gòu)也是一樣,另外所有的關(guān)鍵字都支持自動(dòng)完成,這樣可以盡量的避免大小寫(xiě)這種討厭的錯(cuò)誤.

2.MASM for EditPlus的模板相當(dāng)多,這樣省得大家在學(xué)習(xí)時(shí)得去自己寫(xiě)重復(fù)的代碼.

3.批處理相當(dāng)完善,還支持VC的編譯,批處理有相當(dāng)?shù)闹悄?當(dāng)編譯的文件是EXE/DLL等程序時(shí),如果源文件目錄下不存在資源文件,批處理會(huì)通過(guò)復(fù)制的方法把相應(yīng)的res改名復(fù)制到目標(biāo)目錄,編譯后就能行到一個(gè)包含資源文件的程序,這樣方便點(diǎn)4號(hào)工具欄啟動(dòng)VC資源編輯器來(lái)進(jìn)行編輯.

3.當(dāng)編譯的模式是DLL/VxD時(shí),如果源文件目錄下不存在DEF文件,則批處理也會(huì)自動(dòng)用重定向文件來(lái)創(chuàng)建它,這樣你就不用手工去自己建立了,當(dāng)然要輸出函數(shù)的話(huà)還是得自己添加。

4.當(dāng)建立LIB時(shí),INC文件會(huì)自動(dòng)的創(chuàng)建,雖然有時(shí)會(huì)把一些API函數(shù)也加進(jìn)去,但是這樣不影響它的使用,因?yàn)镸ASM編譯時(shí)是找到原型就跳過(guò)的,所以建立自己建立的LIB在使用時(shí)盡量包含在最后。

5.因?yàn)镸ASM for EditPlus集成了MASM5.0、MASMv8.0、VC資源編輯器,98DDK的頭文件,所以,你只需要安裝好MASM for EditPlus后就不需要進(jìn)行其它設(shè)置了,并且只要你安裝了SoftICE,還可以使用MASM for EditPlus進(jìn)行源碼調(diào)試。

6.如果你喜歡手工進(jìn)行編譯,可以這樣,在啟動(dòng)時(shí)打通MASM for EditPlus的BIN目錄,如在Autoexec.bat中添加一句set PATH=%PATH%;D:\MASM32\BIN,注意D:\MASM32\BIN要是你自己的安裝目錄下的BIN,以后在命令行方式下只要輸入mlink 文件路徑就可以進(jìn)行一步到位的編譯,例如編譯C:\1.asm,則輸mlink c:\1.asm,則能自動(dòng)的編譯出1.EXE文件來(lái)。唯一的要求就在源代碼最前面幾行中加入一行注釋?zhuān)锩嬗秒p引號(hào)包含說(shuō)明編譯的模式,如;MODE="DOS",則編譯程序會(huì)自動(dòng)編譯為DOS匯編程序,相關(guān)的關(guān)鍵關(guān)有DOS/CON/DLG/EXE/DLL/MDI/VXD/LIB.

小技巧:

===============

1.RedASM有一個(gè)很方便的功能,叫ASCII碼表,這在想知道某些字符的值的相當(dāng)有用,其實(shí)EditPlus中這個(gè)功能更加方便,你只要把光標(biāo)移動(dòng)到相應(yīng)字符前面,在EditPlus的狀態(tài)欄中會(huì)自動(dòng)顯示其ASCII值,雖然無(wú)法顯示特殊的字符,但是已經(jīng)相當(dāng)方便好用。

2.當(dāng)一個(gè)文件中自定義的過(guò)程、函數(shù)過(guò)多時(shí),可以點(diǎn)搜索->函數(shù)列表來(lái)查看已有的過(guò)程,雙擊后能馬上跳到目錄行.對(duì)于大文件相當(dāng)文件。

3.當(dāng)要查找字符時(shí),如想查找一些變量是否重聲明,可以雙擊選擇這個(gè)單詞,再點(diǎn)查找時(shí)選擇的文本會(huì)自動(dòng)出現(xiàn)在查找編輯框中。

4.當(dāng)要查找某個(gè)API函數(shù)相應(yīng)的LIB時(shí)或查看某個(gè)常數(shù)的值時(shí),你可以這樣做:點(diǎn)搜索->在文件中查找,輸入API的名字,然后文件類(lèi)型使用*.inc,文件夾選擇MASM for EditPlus的INCLUDE文件,然后點(diǎn)查找,不到1秒鐘,就能查找到它所對(duì)應(yīng)的INC文件。也很方便,并且設(shè)置好后,以后查找時(shí)只需雙擊想查詢(xún)的API再點(diǎn)在文件中查找,所有的設(shè)置都不需要輸入,直接點(diǎn)查找就行,用得好的話(huà),這比在API手冊(cè)中查找還要方便。

5.如果編譯時(shí)使用EditPlus的輸出窗口,當(dāng)發(fā)生錯(cuò)誤后,你只需雙擊列表中錯(cuò)誤提示的那一行,則能自動(dòng)跳運(yùn)源文件中相關(guān)行,這一點(diǎn)和VC的編輯器一樣。這個(gè)功能也相當(dāng)方便。具體在參數(shù)設(shè)置中,在用戶(hù)工具需要使用輸出窗口的工具下復(fù)選"捕捉輸出"就行了。

6.如果你用MASM已經(jīng)在寫(xiě)程序了,并且想寫(xiě)一個(gè)軟件,建議使用工程功能,這樣可以把一系列的文件設(shè)置在一個(gè)工程中,在下面的打開(kāi)的文件名列表左邊有一個(gè)文件夾的圖標(biāo),點(diǎn)一下能在彈出的菜單中相當(dāng)文件設(shè)置工程文件。

7.把API的幫助文件添加到5號(hào)工具欄,以后只需選擇要查詢(xún)的關(guān)鍵字,點(diǎn)5號(hào)工具欄就可以顯示它的信息,非常方便。如果您還未安裝API參考手冊(cè),請(qǐng)到我的站點(diǎn)下載。

EditPlus做為一個(gè)文本編輯器是非常實(shí)用的,對(duì)于編程來(lái)說(shuō),有一些非常有用的功能不容易被您發(fā)現(xiàn),我均放到了工具欄上,相應(yīng)的快捷鍵我?guī)湍x好了,這些快捷鍵是我習(xí)慣的,如下:

==============================================================

把選擇的文本復(fù)制追加到剪切板   Ctrl+Shift+C

選擇文本全部轉(zhuǎn)換成大寫(xiě)   Ctrl+U
  選擇文本全部轉(zhuǎn)換成小寫(xiě)   Ctrl+L

選擇當(dāng)前的字詞      Ctrl+W

選擇當(dāng)前行      Ctrl+R 或 單擊行號(hào)

開(kāi)始進(jìn)行列塊選擇     Alt+Mouse

注釋選擇的文本     Ctrl+;

復(fù)制當(dāng)前行      Ctrl+J

增加當(dāng)前行的縮進(jìn)     Ctrl+I

縮進(jìn)或縮進(jìn)選擇行     Tab

顯示當(dāng)前源代碼中的所有函數(shù)列表  F4

在當(dāng)前光標(biāo)所在行設(shè)置一個(gè)標(biāo)記  F5

清除當(dāng)前文檔中的所有標(biāo)記   F6

快速跳轉(zhuǎn)到當(dāng)前行上一個(gè)標(biāo)記   F7

快速跳轉(zhuǎn)到當(dāng)前行下一個(gè)標(biāo)記   F8

跳到指定行      Ctrl+G

顯示或隱藏列標(biāo)記     Ctrl+`

開(kāi)始記錄或停止鍵盤(pán)宏記錄   Ctrl+Q

鍵盤(pán)宏回放      Alt+ 0,1,2,3...

運(yùn)行用戶(hù)工具     Ctrl+ 0,1,2,3...

其中最實(shí)用的是文檔標(biāo)記,當(dāng)一個(gè)文件很長(zhǎng)時(shí),如果您突然想聲明一個(gè)全局變量,當(dāng)然您可能會(huì)用宏在代碼中定義,但更有可能的是您會(huì)拖動(dòng)光標(biāo)到最前面的.data或.data?段添加好變量,再拖動(dòng)光標(biāo)到剛才的地方,如果代碼很多,非常麻煩,這個(gè)時(shí)候,請(qǐng)一定要使用標(biāo)記功能,碰到這種情況,您只需先在當(dāng)前行按下F5做一個(gè)標(biāo)記,然后再到前面聲明好變量,再按一個(gè)F8,就能馬上返回剛才的位置,非常方便。

接著是函數(shù)列表,當(dāng)一個(gè)文件很大,里面有N個(gè)過(guò)程/函數(shù)時(shí),F4就太方便了,您可能在某個(gè)過(guò)程中修改時(shí)突然想到另外某個(gè)過(guò)程也要修改,此時(shí)您只需按下F4,所有的過(guò)程就全部出來(lái)了,選擇馬上跳轉(zhuǎn)到這個(gè)過(guò)程,結(jié)合標(biāo)記功能,在文件中來(lái)回跳轉(zhuǎn)根本不會(huì)再麻煩。本文來(lái)自編程入門(mén)網(wǎng)

另外一個(gè)非常實(shí)用的功能是增加縮進(jìn),當(dāng)源代碼的某一塊要全部往前減少一個(gè)制表符時(shí),你只需選擇這些行,再按Ctrl+I就OK了(全部往后添加一個(gè)制表符就是Tab鍵,當(dāng)然要選擇),對(duì)代碼美化非常實(shí)用。


  還有宏(不是MASM的宏),比如說(shuō)對(duì)話(huà)框過(guò)程,每個(gè)對(duì)話(huà)框返回過(guò)程最初都是一樣的,您可以把過(guò)程記錄為一個(gè)宏,以后需要添加對(duì)話(huà)框模板的地方按Alt+n就行了。一樣方便。

另外有一個(gè)功能就是顏色選擇工具,猜想您以前定義色彩搞不好是使用宏RGB或自己進(jìn)行移位,現(xiàn)在不必這么麻煩了,顏色選擇功能已放到了工具欄上,不過(guò)記得選擇了相應(yīng)色彩后一定要把前面兩位與后面兩位調(diào)換,如選擇后為:#45FF10h,這時(shí)應(yīng)該改為10FF45h,如果前面是A-F,還應(yīng)添加0.如#89FFEEh,應(yīng)改為0EEFF89h.

另外還有一些編輯器非常好,如UE,如果你想使用UE做編輯器,可以直接掛上MASM for EditPlus的批處理,參數(shù)的提供設(shè)置一下后就能進(jìn)行MASM for EditPlus一樣的編譯操作。

另外,大家不要老是在意IDE的選擇,其實(shí)做為一個(gè)編輯器來(lái)說(shuō),關(guān)鍵是要自己用著順手,很多朋友都不喜歡RedASM的封裝性,老覺(jué)得它就像VC一樣搞得很復(fù)雜,還有些朋友不喜歡用EditPlus,這些都有個(gè)人的原因,所以,大家在選擇IDE時(shí),選擇好后覺(jué)得好用最好就一直用下去,像RedASM,將來(lái)它一定會(huì)解決雙字節(jié)的問(wèn)題的,如果現(xiàn)在你去使用它,將來(lái)就會(huì)更加順手.當(dāng)然,MASM for EditPlus也會(huì)不斷的進(jìn)行更新,不過(guò)因?yàn)榫庉嬈鞑皇俏揖帉?xiě)的,我的做法可能有點(diǎn)白癡。最好的方法就是自己寫(xiě)一個(gè)編輯器,這個(gè)以后再說(shuō)。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話(huà):010-82306118;郵箱:aet@chinaaet.com。