Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )
?
Windows10下搭建匯編語言開發環境(利用DOSBOX和MASM32):https://www.cnblogs.com/zyever/p/7919007.html
如何在win10 64位下搭載匯編環境(包含匯編dosbox和masm文件):https://blog.csdn.net/xyisv/article/details/69062382
win10等環境下配置匯編程序的運行環境:https://www.jianshu.com/p/0c42f6b4b11f
win10 64 使用 visual studio 2017 搭建匯編開發環境:https://www.e-learn.cn/content/qita/2227999
?
以下是搭建基于 DOSBOX + MASM32 的匯編語言開發環境記錄。
?
匯編 IDE :radasm、MasmPlus、Easy Code、Visual Studio、Emu8086、ASM-Tool?等。使用比較多的就是?radasm、MasmPlus、Visual Studio。
masmplus 和 Radasm 匯編工具.zip:https://download.csdn.net/download/freeking101/11665308
在 64位系統下,使用 RadASM IDE 寫 32 位及 16 位的匯編程序(中文版報有木馬,英文版沒報,可以使用英文版的):https://blog.csdn.net/Alisebeast/article/details/79868992
匯編語言集成開發環境 RadASM 中文版:https://blog.csdn.net/qq_35699073/article/details/86362558
RadAsm 3.x支持中文注釋:https://bbs.pediy.com/thread-210513.htm
在64位系統下,使用 RadASM IDE 寫 32 位及 16 位的匯編程序
https://blog.csdn.net/Alisebeast/article/details/79868992
Win64下RadASM運行16位DOS程序
http://www.hankcs.com/program/asm/win64-running-under-16-bit-dos-program-radasm.html
?
MasmPlus
詳解從零開始配置匯編開發環境(DosBox,MasmPlus):https://blog.csdn.net/yongf2014/article/details/46273949
64位Windows10下實現MasmPlus 一鍵執行16位程序:http://www.360doc.com/content/16/0519/20/33311358_560523404.shtml
window7下完美運行masmplus+dosbox,解決64位widnows無法運行16位程序問題
https://blog.csdn.net/xxt9388/article/details/79987865
?
?
?
1. 工具準備
?
1)下載 DOSBOX
?? ?工具介紹:DOSBox 是一個 DOS 模擬程序,由于它采用的是 SDL 庫,所以可以很方便的移植到其他的平臺。目前,DOSBox 已經支持在 Windows、Linux、Mac OS X、BeOS 、palmOS、Android 、webOS、os/2等系統中運行。不少DOS下的游戲都可以直接在該平臺上運行。
工具官網:http://www.dosbox.com/
項目主頁:http://sourceforge.net/projects/dosbox/
下載鏈接:http://sourceforge.net/projects/dosbox/files/dosbox/0.74/DOSBox0.74-win32-installer.exe/download(32位)
說明:由于項目已經停更,目前官網上指出,DOSBOX可以運行于32位和64位的Windows Vista和Windows 7之上,根據本人親測,亦可在 32位 和 64位 的 Windows 10 上運行 DOSBOX,因此有需要的童鞋可以試試。
?
?2)下載 MASM32
工具介紹:MASM32是國外的MASM愛好者Steve Hutchesson自行整理和編寫的一個軟件包,目前最高版本為11r版。MASM32并非指Microsoft的MASM宏匯編器,而是包含了不同版本工具組建的匯編開發工具包。它的匯編編譯器是MASM6.0以上版本中的Ml.exe,資源編譯器是Microsoft Visual Studio中的Rc.exe,32位鏈接器是Microsoft Visual Studio中的Link.exe,同時包含有其他的一些如 Lib.exe 和 DumpPe.exe 等工具。
工具官網:http://www.masm32.com/
下載鏈接:http://www.masm32.com/download.htm
匯編文件2019年7月?https://pan.baidu.com/s/1w27JQtrklbaM4ZpzGVZr7A
masm文件夾內至少要包含這4個文件:masm.exe, link.exe, debug.exe, exe2bin.exe。其中:
masm.exe:匯編程序,用于匯編源程序(.asm),得到目標程序(.obj);
link.exe:連接程序,用于連接目標程序,得到可執行程序(.exe);
debug.exe:調試程序,用于調試可執行程序。
還可以下載其他的程序。
注意:masm工具壓縮包,里面包含必要的匯編、鏈接、調試工具
?
?
2. 安裝工具
?
1)安裝 DOSBOX
? ? ? 安裝下載到的DOSBox0.74-win32-installer.exe,直接一路Next完成安裝。
?
2)配置 DOSBOX??
創建兩個目錄,
? ? ? 打開 DOSBOX 的安裝根目錄(默認安裝路徑:C:\Program Files\DOSBox-0.74;若是64位的系統,則默認安裝路徑:C:\Program Files (x86)\DOSBox-0.74),雙擊文件 DOSBox 0.74 Options.bat,運行該批處理文件后系統會用文本文檔Notepad打開配置文件dosbox-0.74.conf。( 如果雙擊沒反應,直接命令行執行 )
? ? ? 將光標定位到 dosbox-0.74.conf 文件的 [autoexec] 節點(一般在該文件末尾),在文件中添加以下內容:
MOUNT C D:\huibian # 將 目錄 D:\huibian 掛載為 DOSBOX 下的 C: set PATH=$PATH$;C:\masm # 將 映射后 C:\masm 寫入環境變量 PATH 中 # 環境變量添加 c:\masm,這樣就可以調用 d:\huibian\masm\下的編譯工具; # 注意:不能設置成 set path=%path%;d:\masm\,因為此時 d盤 已掛載到 c盤 上 C: # 進入 dosbox 系統 的 C 盤mount 的作用是將 pc 目錄映射到 dos 系統的目錄。這里是將我電腦中?D:\huibian 映射到了 dos 系統 c 盤,這樣你對 dos 的c盤的操作就相當于是對 D:\huibian 的操作。
其實可以不修改 conf 文件,只要在每次運行時輸入這兩個命令就行了。
保存文件后關閉。
為什么要修改 dosbox 的 conf 文件 ? dosbox 的 conf 文件的 [autoexec]標簽 下面的代碼會在 dosbox 啟動時運行,這樣就不用在 dosbox 中每次輸入代碼了。
?
??3)安裝 MASM32
將壓縮包里面的?MASM 文件夾里面的東西放到一個文件夾,路徑 盡量為 英文,其他路徑也可以,但是路徑不要有中文和空格。?
我的電腦中路徑:(?D:\huibian\masm )
現在,打開 dosbox,輸入?dir 。看看有沒有 DEBUG,MASM 等文件。如果有的話就說明成功了,可以開始寫匯編了。
安裝結束后,可直接利用 masm32v11r 中的 gedit.exe 程序編寫、編譯 和 鏈接 asm 匯編程序。
?
?
?
3. 編輯和調試程序
?
3.1.?編輯 源程序。
有 兩種方法 編輯?匯編源程序:
也可以使用?edit?命令直接編輯。使用?edit?命令進去后光標會消失,此時調用任務管理器 alt+ctrl+del 即可釋放光標。
如果你覺得窗口太小,字體太小,你可以按 alt+enter 切換到全屏模式
同時在配置文件的第26行有一行字符 “fullresolution=original”,這是用來調節DOS窗口全屏下的分辨率的,默認original的值是640x480(中間是小寫x),我個人的電腦將 original 改為 800x600 就比較舒服
?
3.2.?匯編。
打開 dosbox,輸入命令:masm,然后輸入匯編源文件名,其他都默認即可。
命令執行完后,會生成目標文件文件名 .OBJ(生成過程中可以修改目標文件名,直接回車可保持默認目標文件名)。
? ? ?注意:此時可能生成三個文件:*.obj、*.lst和*.crf文件( Windows10 x64系統只會生成*.obj文件 )。其中,列表文件*.lst和交叉引用文件非必選,前者是匯編語言匯編的機器語言與匯編語言對照表,可用于調試;后者給出了用戶定義的所有符號和對每個符號定義、引用的行號。
?
3.3.?連接。
先輸入link,再輸入文件名,之后一直回車。
LINK?文件名.OBJ,鏈接生成可執行文件文件名.EXE。
? ? ?注意:由于在上述代碼中未定義堆棧段,故在鏈接時會提示:LINK : warning L4021: no stack segment,因不會影響執行文件的生成,故暫時忽略。
? ? ?另外,此時可能生成兩個文件:*.exe和*.map文件(Windows10 x64系統可能只會生成*.exe文件)。其中,地址映射文件*.map給出內存地址分配的有關信息。
?
3.4.?運行。
直接運行生成的 exe?程序
?
?
3.5.?調試。
匯編語言之 Debug 教程篇:https://blog.csdn.net/qq_36215315/article/details/79893476
輸入命令:debug 文件名.EXE,在 DEBUG 的命令提示符 '-' 出現后開始調試,
注意:是針對 可執行程序。debug 文件名.exe。進入調試模式,在短橫線后輸入命令。
網上可查到命令集。以下是部分調試命令及截圖:
? ? R:查看程序運行前的寄存器組初始值;
? ? U:查看程序反匯編代碼。從反匯編代碼中可看出,變量會被匯編為直接尋址方式,使用變量在數據段內的有效地址表示。
? ? T:單步調試;
? ? D:觀察內存變化(D后不帶地址或范圍,默認顯示上一個D命令之后的80字節內容);
? ? G 地址:程序從當前位置直接運行到指定地址處停下。
? ? E 地址:修改內存中的內容,如:E DS:0100,輸入空格可逐個字節修改,回車停止修改。
例如,g:運行程序。q:退出調試模式。
?
?
4. 其他工具
?
1.?emu8086。直接編譯、運行、調試,不需要dosbox。
2.?masm for windows,友好的文本編輯器,但是運行和調試仍會調出dosbox。
鏈接:https://pan.baidu.com/s/16DxS5Yjizc-mve_5oUShBg?密碼:3z3e
?
?
?
總結
以上是生活随笔為你收集整理的Windows10 下搭建汇编语言开发环境( 利用 DOSBOX 和 MASM32 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AirtestIDE 教程 — 5分钟上
- 下一篇: Python 读写配置文件模块: con