引言
最近因为要写一个东西需要在C++中嵌入一点汇编代码,所以需要学习一下汇编语言,首先我们要做的事情是配置一个执行汇编语言的环境,一番挑选之后,我选择了DOSbox,并在完成配置以后记录这篇文章,希望后面学习的朋友能够少踩坑,少碰雷。
下载
首先我们需要下载这个软件,我使用的是deepin15.7,deepin强大的应用商店中已经有这个东西了。
当然一般的我们使用指令是这样的:
sudo apt-get install dosbox
下载完成以后我们可以执行来看看是否下载成功:
dosbox -version
然后我们就可以去运行了
当然直接点击图标也是可以的。
配置
然后我们需要挂载c盘并进入,在Dosbox执行以下指令:
mount c /home/lizhaolong/masm
c:
然后我们需要把这个挂在配置中并重新启动Dosbox,配置在~/.dosbox/dosbox-0.74.conf,如下:
这里想要进行汇编的学习还需要masm、link、debug三个工具;其中masm是汇编工具、link是链接工具、debug是调试工具,这里是下载的地址:https://github.com/Super-long/masm,把其中除了readme以外的数据放到/home/lizhaolong/masm下就可以。
执行第一个汇编代码
我们编写第一个汇编代码(借用杨博东学长的代码),命名为hello.asm。如下:
DATA SEGMENT
str db 'Hello World$' ;要输出的字符串必须要以$结尾
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA ;将CS和CODE,DS和DATA段建立联系
START:
MOV BX,DATA
MOV DS,BX
LEA DX,str
MOV AH,9
INT 21H
MOV AH,4CH ;将控制权返回给终端。
INT 21H
CODE ENDS
END START
把这个文件放在/home/lizhaolong/masm中,如下:
接下来我们开始执行,在输入masm hello.asm
后按三下回车,
然后我们的/home/lizhaolong/masm中就出现了hello.obj
输入link hello.obj
以后连续输入三个回车。
然后链接就OK啦,我们发现/home/lizhaolong/masm中出现了hello.exe
然后直接在Dosbox中执行就好啦。
激动人心的一刻!Hello World!
这样Linux下的8086汇编环境就算是搭建完成了,可以愉快的学习啦