debug安装及使用
转自:https://blog.csdn.net/weixin_42109012/article/details/102726296?depth_1-
更新:
(1)如果只是学校课程学习;
- 自己搭建汇编环境,可以使用 DOSBox 搭建环境(本文介绍)
- masm for windows 集成软件(推荐)
- emu8086 软件(不推荐)
(2)如果是从事汇编可以在网上搜一下其它搭建汇编环境一劳永逸;
一、工具
1、DOSBox0.74-win32-installer.exe
链接:https://pan.baidu.com/s/1h5PZfX2UWqWevMmoiKoEFA
提取码:rnxs
2、MASM5、LINK、DEBUG
链接:https://pan.baidu.com/s/19pq7aC_g8LRTd937YAVsPQ
提取码:7azq
编译程序只要这三个就可以了,至于如何编程的话编辑器就可以了,推荐使用 notepad++。
二、安装及配置
将下载下来的压缩包解压。
1、安装DOSBox
随便安装到哪里都可以,我安装到 E 盘的。
2、创建一个文件夹Assembly(自己取名),在再创建两个文件夹ASM、MASM
汇编程序(ASM):用来存放要编译的汇编程序
编译程序(MASM):用来存放编译程序MASM-5.10、LINK、DEBUG
目前安装结果
3、配置
这样每次都要手动配置很麻烦,我们在 DOSBox 0.74 Options.bat
中添加几行命令,让其每次打开软件自动配置好,直接就可以编译调试文件。
双击打开DOSBox 0.74 Options.bat
(别右键编辑),在文本末尾添上以下语句。
# 挂载驱动器(将放汇编程序、编译工具文件夹挂载到一个虚拟盘)
mount F: E:\Assembly
# 添加系统临时变量(此时的 F: 代表的是E:\Assembly)
set PATH=%PATH%;F:\MASM;
# 转到 F:
F:
# 进入ASM文件夹
cd F:\ASM
(1)mount F: E:\Assembly
mount——是挂载命令语句
F:——是虚拟盘,可以是已存在的盘C:/D:/E:,也可以是不存在的盘F:/G:/H:等
E:\Assembly——汇编程序、编译工具文件夹
结果:F: 代表的是E:\Assembly
(2)set PATH=%PATH%;F:\MASM;
将 MASM 文件中的编译程序添加至临时系统变量中,打开软件就添加,关闭就没有了。
相当于 set PATH=%PATH%;E:\Assembly\MASM;
,但是DOSBox软件只能读取只是你挂载的虚拟盘,不能这么写。
(3)F:
转到挂载的 F: 盘
(4)cd F:\ASM
进入ASM文件夹。
相当于cd E:\Assembly\ASM
,但是DOSBox软件只能读取只是你挂载的虚拟盘,不能这么写。
三、简单使用
这样就配置好了,就可以使用了。打开DOSBox软件即可。
我们写一个 HELLO 试试。
使用 notepad++ 编辑,notepad++其中就有汇编语言格式,编辑好程序,将文件后缀保存 .asm 即可。
STACK SEGMENT PARA 'STACK' ;定义堆栈段,段名为 STACK(可以取其他的)
DB 100 DUP('?') ;分配堆栈的大小,设置为100字节,以?填充
STACK ENDS ;堆栈段结束
DATA SEGMENT ;定义数据段,段名为 DATA (可以取其他的)
STRING DB 'HELLO!','$' ;定义字符串数据
DATA ENDS
CODE SEGMENT ;定义代码段,段名为 CODE (可以取其他的)
ASSUME CS:CODE, DS:DATA, SS:STACK ;特别重要,将 CS、DS、SS 指向定义的段
START: MOV AX, DATA ;程序开始的地方
MOV DS, AX
MOV AX, STACK
MOV SS, AX
LEA DX, STRING
MOV AH, 09H
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END START ;程序结束的地方
然后编译调试。
masm hello.asm
link hello.obj
debug hello.exe
四、扩展
初始的界面很小,且不能直接拉伸界面,一般人都不习惯,都会修改以下大小。
双击打开DOSBox 0.74 Options.bat
(别右键编辑)
将
windowresolution=original
output=surface
修改成
windowresolution=1280x800 # 这个是小写字母 x
output=opengl
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构