一,准备工具
DOSBox + 编译调试工具(debug + MASM + LINK)
注意事项DOSBox和编译调试工具最好不要安装在C盘,安装的路径上最好不要有空格和中文
将下载好的编译调试工具放在asm文件夹下,该文件夹就是工作目录,要包含编译调试工具以及源代码,output文件也会放在里面。
我DOSBox的路径位D:\DOSBox,工作目录的路径为D:\asm
二,挂载
我们需要将工作目录asm所在路径当作c盘目录(虚拟)
运行DOSBox目录下的DOSBox 0.74-3 Options会打开一个记事本文件,在文件最后追加:
[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.
mount c D:\asm
c:
DOSBox的命令行运行时会默认执行这一段代码,将工作目录的所在路径当作c盘目录,并进入c盘,不必每次进入都重复这个命令。正确的结果如下:
此时DOSBox可以定位到工作目录,并且可以在此目录下编译MASM-链接LINK-调试debug。
三,编写源代码并编译运行
1.找个喜爱的编辑器编写源代码 命名为xxx.asm
.model small
.data
mess1 db 'input x:','$' ;输出字符串要以$结尾
mess2 db 0ah,0dh,'y=2x+3=$' ;0ah,0dh就是回车换行
.stack 100h
.code
start:
mov ax,@data
mov ds,ax
mov dx,offset mess1
mov ah,9
int 21h
mov ah,1
int 21h
sub al,30h
shl al,1
add al,3
mov ah,0
mov bl,10
div bl
add ax,3030h
mov bx,ax
mov dx,offset mess2
mov ah,9
int 21h
mov ah,2
mov dl,bl
int 21h
mov dl,bh
int 21h
mov ah,4ch
int 21h
end start
2.编译
MASM xxx.asm
如果代码没有错的话一路三个回车会0 warnings 0 errors,生成xxx.obj
3.链接
LINK xxx.obj
如果代码没有错的话一路三个回车会0 warnings 0 errors,生成xxx.exe
4.运行
键入xxx回车即可
四,解决DOSBox窗口太小的问题
在C:\Users\计算机名\AppData\Local\DOSBox\文件夹下找到dosbox-0.74.conf文件
打开后在第一大段注释后面找到
windowresolution=original
output=surface
修改为
windowresolution=1028x1024
output=opengl
保存后再重新打开DOSBox就发现窗口调整到了自定义的大小。
五,结语
一般的汇编代码编译链接就是这么一个过程,具体汇编的规则与机器运行原理会放在下面的章节,debug也会单独开一章具体去讲。