汇编程序的编辑、编译、连接与执行(附带DOSBox安装)

若没有下载的小伙伴可以参考这篇文章下载,里面有很多设置也非常不错
Windows 64 位系统下安装配置 DOSBox 及 debug.exe

首先介绍俩种方法来编译源程序

方法一:

step1:编辑源程序

1、打开DosBox
在这里插入图片描述2、运行edit
在命令行输入

edit

在这里插入图片描述
3、在Edit中编译程序,如下图所示(随便举了一个例子)
在这里插入图片描述3.1 File->save as
在这里插入图片描述3.2 输入你要保存的文件名,以asm后缀结尾,之后点击OK
在这里插入图片描述3.3 点击File->exit来退出edit

4、再进行完上述对源程序的编辑之后,会得到一个源程序文件D:\software\DOSBox\MASM\hui.asm
在这里插入图片描述接下来进行编译源程序

step2:编译

1、进入DOS,运行masm.exe,会出现一些版本信息
在这里插入图片描述上面我命名为hui,择需要输入hui即可,如果不是以.asm为扩展名的话,择需要输入全名,比如“hui.txt"

2、输入要编译的源程序文件名后,按enter键

注:若我们当前已经再源文件目录下,直接输入文件名就行,要是是再其他路径中,则要输入完整路径
在这里插入图片描述
执行完后生成hui.obj文件
在这里插入图片描述
在这里插入图片描述

这个列表文件不生成,直接Enter
在这里插入图片描述

同样先不用生成教程引用文件
在这里插入图片描述

step3:连接

对源程序进行编译得到目标文件后,我们需要对目标文件进行连接,从而可以得到可执行文件,接下来我们要将.obj文件连接为.exe文件

1、运行link后,直接输入文件名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、默认可执行文件名(当然在这里也可以指定文件名或者路径),按enter
在这里插入图片描述
3、提示生成映像文件,这里不生成,按enter
在这里插入图片描述
4、这里提示输入库文件名,若调用子程序则要输入库文件名,这里没有调用,直接enter

在这里插入图片描述
注:这里有一个警告:没有栈段,先不用管

偷懒方法!以简化方式进行编译和连接

masm后面要加上被编译的源程序文件的路径,文件名,再加上分号,此时生成hui.obj文件
在这里插入图片描述
link后面要加上被连接的源程序文件的路径,文件名,再加上分号,此时生成hui.exe文件
在这里插入图片描述

方法二
新建一个.txt文件,在里面进行编码,相当于上面的edit步骤
在这里插入图片描述编码完成后进行保存,并修改后缀名为.asm,注意文件应该在MASM路径下,其余步骤和方法一 一样。

EXE文件的执行

  • 在DOS中直接执行hui.exe时,是正在运行的command,将hui.exe中的程序加载入内存
  • commond设置CPU的CS:IP指向程序的第一条指令,从而使程序得以运行
  • 运行结束后,返回到commond中,CPU将继续运行commond

程序执行过程的跟踪,以hui.exe为例
1、使用debug将程序载入内存
在这里插入图片描述
2、使用R命令来查看各个寄存器的设置情况(关于debug命令,参考这篇博客
在这里插入图片描述
3、使用U命令查看其他指令
在这里插入图片描述4、现在开始跟踪,使用T命令进行单步执行每一条指令
在这里插入图片描述5、到了int 21 用P 命令执行
在这里插入图片描述
6、使用q命令退出debug,回到commond中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章