一、dosbox+masm
- 下载dosbox安装程序并根据提示安装
- 下载masm文件,文件夹中要包含这四个文件:DEBUG.COM, EDIT.COM, LINK.EXE, MASM.EXE
(以上内容由课程提供压缩包,直接解压即可) - 创建工作目录:这里是直接在E盘下建立dos文件夹,里面有两个子文件夹:masm(放置上述masm文件)和asm(保存汇编程序)
- 配置DOSBOX。创建一个用于保存汇编工具和汇编文件的目录dos
打开DOSBOX安装根目录,打开dosbox.conf文件(用记事本打开即可),找到autoexec节点如图:
添加以下内容,这样以后就不用每次打开DOSBOX都重新配置一遍了。
MOUNT C E:\dos # 将目录 E:\dos 挂载为DOSBOX下的C
set PATH=$PATH$; C:\masm # 将映射后的C:\masm写入环境变量PATH,从而可以调用E:\dos\masm32的编译工具
C: #进入DOSBOX系统的C盘
- 打开dosbox,输入dir,查看有没有DEBUG, MASM等文件。如果有,就已经完成Win10系统下的汇编环境配置了。(图中有一处错误忘了改,set PATH对应的是C:\masm)
- 修改dosbox窗口大小。
可以通过alt+Enter进入全屏模式。
修改分配率:配置文件dosbox.conf
把原始代码:
windowresolution=original
output=surface
修改为:
windowsresolution=1280x800
output=opengl
呃,好像不行呢。前后没有变化。
暂且这么用着,之后如果有需要再去改它。
二、编辑和调试程序
编辑
三种方法:
- 在本机E:\dos\asm中直接用文本文件建立新文件,修改文件扩展名为.asm并保存即可。
- 运行DOSBOX,在命令符C:\asm>下输入命令: EDIT test.asm,启动EDIT.EXE进入代码编辑状态。EDIT状态下光标会消失,调用任务管理器alt+ctrl+del即可释放光标。
- 在VS Code中编辑。安装汇编语言插件MASM/TASM,打开E:\dos\asm文件夹,创建文件时直接创建后缀为asm的文件即可。
文件名都需使用英文。
汇编
命令行:masm a.asm
目标:生成目标文件(.obj文件)
检查产生的ERROR并修改
产生的a.obj文件是中间结果
链接
命令行:link *.obj
目标:生成可执行文件(.exe文件)
检查产生的错误,并重新汇编和链接
调试
命令行:debug a.exe
调试命令:
-u: 反汇编
-g: 设置断点
-t: 跟踪执行
-r: 显示寄存器内容
-q: 退出
每次执行显示寄存器内容和下次要执行的指令
Hello World实例
编辑
hello.asm
DSEG SEGMENT
MESS DB 'HELLO WORLD!', 0DH, 0AH, 24H
DSEG ENDS
SSEG SEGMENT PARA STACK
DW 256 DUP(?)
SSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG
BEGIN:
MOV AX, DSEG
MOV DS, AX
MOV DX, OFFSET MESS
MOV AH, 9
INT 21H
MOV AH, 4CH
INT 21H
CSEG ENDS
END BEGIN
masm hello # 编译
link hello # 链接
hello # 执行