使用MASM编写汇编程序

此页由Linux Wiki用户Chenxing于2008年10月16日 (星期四) 09:37的最后更改。 在Linux Wiki用户Mars zg的工作基础上。

出自Linux Wiki

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

目前多数学校的微机原理课程使用的是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/

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

反馈与讨论

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