下载DOSBox和MASM:https://download.csdn.net/download/u011832525/88418043
将DOSBox0.74-3-win32-installer.exe,默认安装到C:\Program Files (x86)\DOSBox-0.74-3。
选择工作目录,路径中不要有中文,路径越简单越好,我们这里选择D盘。
因此,将masm32文件夹拷贝到D:/目录下。
然后,运行DOSBox 0.74-3,输入如下命令:
mount C D:/masm32
C:
mount C D:/masm32,表示把D:/masm32的内容挂载到C盘中。
C:,表示进入C盘,也就是进入D:/masm32目录。
在D:/masm32目录下,有一个汇编文件hw.asm,该段代码,主要实现打印一行“hello world!”。如下:
datas segment
;此处输入数据段代码
hello db "hello world!",0ah,0dh,'$'
datas ends
stacks segment
;此处输入堆栈段代码
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacks
start:
mov ax, datas
mov ds, ax
mov dx, offset hello
mov ah, 09H
int 21h
mov ax,4c00h
int 21h
codes ends
end start
输入如下命令,对该文件,进行编译:
masm hw.asm
一路按回车,会出现以下界面,无报错:
输入如下命令,进行链接:
link hw.obj
一路按回车,出现如下界面:
这时候你就会发现,D:/masm32文件夹下,多了两个新文件:hw.obj和hw.exe。
masm会先将伪指令计算出来,然后指令替换为二进制代码,将一个个段打包好放到obj文件里面。
link会将obj文件的一个个段拿出来,按照程序员规定的组合方式进行段组合,确定是否要合并或则颠倒一些顺序,然后生成exe文件。
直接输入,如下内容,运行程序:
hw.exe
程序运行结果,如下所示:
打印出了hello world。
输入如下内容,对程序进行调试:
debug hw.exe
进入调试界面,如下所示:
然后输入t,可以进行单步执行,可以观察各个寄存器值变化,如下所示:
常见的调试命令,含义如下:
更多功能可以自行尝试。