使用MASM編寫彙編程序
出自Linux Wiki
目前多數學校的微機原理課程使用的是MASM彙編器,而Linux中的彙編工具是nasm。二者之間的語法有不少差別,不能通用。
安裝dosbox或dosemu之後都可以在Linux中使用MASM和Debug,而且由於是在Dosbox及dosemu的虛擬機中運行,安全性也較高。
目錄 |
安裝
你可以選擇安裝dosbox或dosemu,也可以選擇二者都安裝。
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
如果你安裝有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里。
如果要全屏運行dosemu,推薦在/etc/dosemu/dosemu.conf中加入 $_X_font="vga8x19" ,以使全屏時的字體正常。
使用注意事項
可以使用VI等編輯器在系統中編輯源碼,然後在Dosbox界面用Ctrl-F4刷新目錄。
為了在vim中正常高亮顯示彙編源碼,可以創建/etc/vim/filetype.vim,並加入如下內容:
augroup filetypedetect au BufNewFile,BufRead *.asm setf masm augroup END
這樣後綴為.asm的文件就可以正常高亮了。
參考
- ↑ http://hi.baidu.com/jack%5Fhunt/blog/item/77aea650ff90016085352488.html
- ↑ http://dosemu.sourceforge.net/docs/HOWTO/