红联Linux门户
Linux帮助

Linux下使用dosemu写汇编

发布时间:2015-10-10 16:15:37来源:linux网站作者:lwoyvye

ubuntu下安装dosemu (同类软件还有dosbox)模拟Dos环境

sudo apt-get install dosemu

安装汇编器和链接器


运行

sudo  dosemu

Linux下使用dosemu写汇编

dosemu 下看到的C盘和D盘只是虚拟出来的,对应的目录在~/.dosemu/drives 下:
执行命令:
cd ~/.dosemu/drives

Linux下使用dosemu写汇编

dos 下用到的程序放置在 ~/.dosemu/drives/d/bin 目录下

Linux下使用dosemu写汇编

dosemu 已经自带了debug,若要编译汇编代码还需要增加 masm.exe 和 link.exe 程序(如上图绿色文件,网上下载即可)。


编写汇编代码

在哪编写?

在dos默认进入的C盘下编写即可,两种方法

在dos下用自带的edit 编辑器编写,输入命令edit

Linux下使用dosemu写汇编

打开后鼠标选择File->New 开始编写,之后选择Save as 保存为 .asm 后缀文件即可

Linux下使用dosemu写汇编

在C盘对应的 ~/.dosemu/drives/c 目录下用vim 编写

但是可能会觉得在这个目录下编写程序有点麻烦,不太好管理程序,而我们平时习惯在家目录下专门的文件夹内写程序(我的~/Program/Assembly/Nasm 目录是专门存放汇编程序的)。我们可以在C盘目录下创建一个软链接:

sudo ln -s ~/Program/Assembly/Nasm ./Asm

这样我们在~/Program/Assembly/Nasm下写的汇编代码,在Dos 下进入Asm目录就可以直接编译。


汇编链接

编译上面写好的 hello.asm 文件

汇编
执行命令:

masm

Linux下使用dosemu写汇编

输入文件名hello,不需要加后缀.asm ,然后一直回车,汇编完成,生成hello.obj 文件。


链接
执行命令:

link

Linux下使用dosemu写汇编

输入文件名hello,不需要.obj后缀,然后一直回车,生成可执行程序hello.exe,(有一个报错不用理会)。


运行
输入hello即可运行程序

Linux下使用dosemu写汇编


退出

exitemu


在Linux环境下(Ubuntu)编写MASM汇编程序:http://www.linuxdiyf.com/linux/14429.html

linux下的汇编环境搭建(nasm):http://www.linuxdiyf.com/linux/13778.html

Linux下使用objdump反汇编:http://www.linuxdiyf.com/linux/7292.html

安装Skyeye学习ARM汇编:http://www.linuxdiyf.com/linux/5749.html

Linux GCC内嵌嵌入汇编程序基础知识:http://www.linuxdiyf.com/linux/649.html