彙編開發環境的搭建

來源:互聯網
上載者:User

這個年代還有人弄彙編,肯定很多人都不以為然。

但是我還是想弄弄,主要目的就是為以後寫外掛打好基礎。

編譯器我選擇masm32,其實masm32比tasm32靈活性要差一些,這些靈活的特性有時候在開發外掛的時候是很有效,比如說tasm32就可以把一些代碼直接放進資料區段編譯也不會報錯,這個特性就很容易將你的外掛特殊程式的可執行代碼當作資料直接寫入到遠端資料中去。但是,沒有辦法啊,masm32資料多些啊。雖然選擇了masm32,但是我還是使用了tasm32中的make工具。使用這個工具可以對於方便編譯調試可以節省很多工作。

首先下載editplus for masm32.這個工具在 AoGo去下載,下載了後最好還是單獨再下載masm32_8+masm32_8_sp1。然後添加搜尋路徑環境變數,為d:/masm32/bin/。(你需要根據自己的安裝目錄調整)。將make.exe工具也拷貝到這個目錄下。 這個時候,你在控制台下輸入,make;ml;link;應該都有反應了。然後書寫如下的makefile模板:

!if $d(RELEASE)
TASMDEBUG=
LINKDEBUG=
!else
TASMDEBUG=/Zi
LINKDEBUG=/DEBUG  /DEBUGTYPE:CV
!endif

!if $d(MAKEDIR)
IMPORT=$(MAKEDIR)/../lib/import32
!else
IMPORT=import32
!endif

NAME=EnumProc
RCNAME = EnumProc
INCLUDE = /I D:/MASM32/INCLUDE

$(NAME).exe: $(NAME).obj $(RCNAME).res
#  Link /SUBSYSTEM:WINDOWS  /LIBPATH:d:/masm32/lib  $(LINKDEBUG)  $(NAME).obj
        Link /SUBSYSTEM:WINDOWS  $(LINKDEBUG) /LIBPATH:d:/masm32/lib $(NAME).obj $(RCNAME).res
#$(RCNAME).res: $(RCNAME).rc
#        rc $(INCLUDE) $(RCNAME).rc
$(NAME).obj: $(NAME).asm
        ml /c /coff $(TASMDEBUG) $(INCLUDE) /Cp $(TASMDEBUG)  $(NAME).asm

clean:
 del *.obj

run:
 $(NAME).exe

debug:
 D:/flyODBG/flyODBG.eXe $(NAME).exe

---------------------------------------------------------------

上面的makefile檔案表示:

在控制台下輸入:

  make   ----》》 編譯器

 make run  ----- 》》運行程式

make debug  ----》》使用olldbg偵錯工具

make clean  ---》》清楚 obj檔案。

你可以在控制台下實驗這些命令。當然,你需要將makefile檔案拷貝到你原始碼的目錄,然後將上面的

NAME=EnumProc   -----》》替換為你的工程檔案名稱字
RCNAME = EnumProc   -----》》替換為你的工程檔案名稱字

其他的路徑你也要相應的做修改。

 然後你可以配置你的editplus,使運行編譯和調試都不離開editplus的環境。如下依次(只顯示配置make run,其餘類似):

 

OK,如此後你就可以在editplus中順利的編輯編譯調試asm程式了。

其他嗨喲radasm和winasm都是很好用的IDE環境。其中winasm尤其強大。但是我已經習慣了editplus 這個環境了,也就無所謂了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.