使用MASM編寫彙編程序

此頁由 Linux Wiki用戶Chenxing 於 2008年10月16日 (星期四) 09:37 的最後更改。 在Linux Wiki用戶Mars zg的工作基礎上。

出自Linux Wiki

提示:此文已超过 8 年(2975 天)未更新,如发现内容过时或有误,欢迎改进:)

目前多數學校的微機原理課程使用的是MASM彙編器,而Linux中的彙編工具是nasm。二者之間的語法有不少差別,不能通用。

安裝dosboxdosemu之後都可以在Linux中使用MASM和Debug,而且由於是在Dosbox及dosemu的虛擬機中運行,安全性也較高。

目錄

安裝

你可以選擇安裝dosbox或dosemu,也可以選擇二者都安裝。

在Dosbox中運行Debug
使用dosemu運行debug
使用dosemu -dumb運行debug

Dosbox的網站為 http://www.dosbox.com/ ,多數發行版的軟件倉庫中都配有這一軟件,比如Debian/Ubuntu中的安裝方法為:

$ sudo apt-get install dosbox

Dosemu的網站為 http://dosemu.sourceforge.net/ ,同樣存在於多數發行版的軟件倉庫中,Debian或Ubuntu中的安裝方法為:

$ sudo apt-get install dosemu

準備彙編工具

debug

Hint.gif
提示:
dosemu已經包括了debug,如果你使用dosemu,就無需單獨準備debug了。

如果你安裝有Windows XP,那可以在Windows XP的system32文件夾找到debug.exe,如果沒有WinXP,就需要上網下載,如這個網頁[1]

masm

你需要找一個DOS中的masm軟件,在DOS中工作的最好是5.0版本,上面的鏈接中就有。


配置DOS虛擬機

分別介紹Dosbox和dosemu的配置方法:

dosbox

把上面的工具放到一個文件夾中,如~/learnASM/tools/,在~/learnASM中創建一個Shell腳本:

$ cd ~/learnASM
$ echo "dosbox -c 'mount c: ./' -c 'path %path%;c:\tools'" > runDosbox.sh
$ chmod +x runDosbox.sh

現在就可以用'./runDosbox.sh'啟動dosbox了:

$ ./runDosbox.sh

dosemu

dosemu的配置方法很簡單[2],由於默認dosemu中的D盤就是用戶的根目錄,只要把masm放在好找的地方就可以了。也可以修改~/.dosemu/drive_c/autoexec.bat(需要root權限)把masm的路徑加到PATH里。

Hint.gif
提示:
如果只是進行彙編操作,還可以運行dosemu -dumb,dosemu會在當前shell中運行。

如果要全屏運行dosemu,推薦在/etc/dosemu/dosemu.conf中加入 $_X_font="vga8x19" ,以使全屏時的字體正常。

Hint.gif
提示:
退出dosemu的命令是exitemu

使用注意事項

可以使用VI等編輯器在系統中編輯源碼,然後在Dosbox界面用Ctrl-F4刷新目錄。

為了在vim中正常高亮顯示彙編源碼,可以創建/etc/vim/filetype.vim,並加入如下內容:

augroup filetypedetect
au BufNewFile,BufRead *.asm setf masm
augroup END

這樣後綴為.asm的文件就可以正常高亮了。

參考

  1. http://hi.baidu.com/jack%5Fhunt/blog/item/77aea650ff90016085352488.html
  2. http://dosemu.sourceforge.net/docs/HOWTO/

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换