如何在win11上部署dosbox和masm来调试汇编程序
文章目录
前言
提示:记录的大概内容:
win11系统上普遍不具备运行汇编程序的环境,本篇文章目的在于指导如何使用dosbox和masm程序来运行汇编
链接:https://pan.baidu.com/s/1JzGaOV4bWwzJ5k97LIVhyg?pwd=dass
提取码:dass
提示:以下是本篇文章正文内容
一、百度云
其中主要打包了等下要用到的masm文件,其中主要是debug.exe,cref.exe等5个文件,下载下来解压缩后,一定要记得解压后的位置,后期要用到。
二、使用步骤
1.下载dosbox
- 可上官网下载,这里就不附带我自己的程序了。
- 直接在浏览器搜索就行,进去后点击下方图示,会进到download界面,直接点击下载
- 下载后的程序直接解压缩,可放到盘的根目录,并记录对应位置,后期要用到地址
2.打开dosbox
- 打开dosbox会跳出两个界面,其中一个如下,另一个则指示了dosbox的依赖库在哪
3.依赖地址的调整
- 如果是第一次下载dosbox,弹出来的对话框应该和我的不一样,表达的信息就是说找不到dosbox的位置,需要重新mount一个。
- 我们就要用他的命令来映射依赖地址,因为似乎是dosbox内部对目前win系列的c盘d盘的路径标识不同。
- 具体步骤如下(注意接下用的全是我的路径,大家的路径要自己判断,前面提醒过了):
1.先是将电脑存储你的dosbox和masm的文件的盘映射为dosbox运行过程中的盘
MOUNT C D:\DOS\DOSBox-0.74-3
//这行前面的C:是dosbox中的盘,后面的是我们电脑要映射的盘
//这一行的目的是将dosbox的文件位置作为dosbox的c盘,你们要根据自己的dosbox的位置来进行映射
2.映射完后,就可以使用这类指令将masm的盘映射为dosbox中的D盘或者其他的,如下
mount D: D:\
//就能将D盘映射为dosbox中的D盘
3.接下来就要选定dosbox运行下的环境变量,如下
path D:\masm
//注意这一行代码有很多要注意的地方
//首先是,你的环境变量的路径必须是你前面已经映射过的路径
//其次是,masm中的那几个文件不能变,少一个都无法完整进行编译的过程,具体可看编译原理这门课程
4.选定环境变量地址后,dosbox的命令会直接空一行(正常现象),然后就是跳转到你的代码.asm所在的文
件夹,接下来的操作都是在这个文件夹中进行寻找(说实话是真的不方便)
cd D:\masmcode
//cd本身是跳转指令,后面是文件地址,接下来就可以在文件中进行编译操作
//建议将汇编原码再在D:\masmcode内部开一个文件夹,因为这编译过程会产生3个额外文件
4.编译操作
- 接下来的操作主要是3个步骤,每个步骤输入代码后,都会停一下在filename那行,按enter继续就行,我先给出一段hello world代码成功可输出。
下面展示一些内联代码片
。
这段代码可以先创建txt文件,保存后推出来将文件后缀名.txt改为.asm
DATA SEGMENT
PRINT DB "Hello World!", 0AH, 0DH, '$'
DATA ENDS
STACK SEGMENT STACK
DW 20 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK
START:
MOV AX, DATA
MOV DS, AX
MOV DX, OFFSET PRINT
MOV AH, 09
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END START
1.先是masm操作,如果前面进行的没问题,这一步如下图
masm 1.asm
//masm的操作有很多,想进一步了解可以上网搜索
2.上一步进行完就可以链接了
link 1.asm
3.链接后的代码就可以直接运行了,生成的是.exe可执行文件
1.exe
//这里就是直接输入要运行的程序的exe文件名就可以直接运行
总结
写这篇文章最主要是,这汇编环境太唐了,网上找了很多资料都不是很清晰,后面在博客园看到,一位大哥很多年前写的代码,才完全搞明白,故而将过程中遇到的问题写在这,希望能帮到更多小白。