一、环境配置
由于如今一些电脑系统没有自带的汇编环境,所以今天给初学汇编的同学推一个简单的配置小教程(实测win10系统有效)。在32位OS环境中,win+R打开命令提示符(MS-DOS窗口),输入DEBUG等指令即可打开;而在64位OS环境中,需要先安装DOSBOX(一个DOS 模拟程序),每次开始都需要挂载一下磁盘。
(1)DOSBOX安装包链接如下:
链接:https://pan.baidu.com/s/1B957naAW3Tav3-GlKE5LwA
提取码:b9ck (链接与提取码均永久有效,支持百度网盘)
(2)同时也需要一些调试程序,诸如DEBUG.EXE,MASM.EXE等(不下载的话,打开DOS命令提示符不会运行),下载链接如下:
链接:https://pan.baidu.com/s/1FkpshUgJY06DZRMS611CQQ
提取码:ield (链接与提取码均永久有效,支持百度网盘)
(3)详细过程
第一步:将DOSBOX安装至任一磁盘中(这里我自己安装的是C盘,看个人意愿);在C盘根目录下新建一个名为HB的文件夹(名字无所谓,自己好记就行),将调试程序下载解压后放进去;
第二步:找到下载在C盘里的DOSBox-0.74-3文件夹,点击打开;
第二步:点击DOSBox 0.74-3 Options文件,默认用记事本打开;
第三步:拉到最下面,添加
MOUNT C C:\HB\Debug
C:
debug
这三行代码(其他调试程序做法类似,这里就不一一演示,其目的在于让能在DOS状态时找到这个程序在哪);
第四步:点击运行DOSBox
第五步:显示Z:\>时,在其后输入MOUNT C C:\HB,然后回车(enter),当再次显示Z:\>时,在其后输入C:,然后再次回车(enter),之后即可正常使用debug.EXE等程序
二、DEBUG的主要命令及功能如下表所示
命令名 |
含义 |
命令使用格式 |
命令功能 |
D |
显示存储单元 |
-D [address] |
按指定地址范图显示存储单元内容 |
-D [range] |
按指定首地址显示存储单元内容 | ||
E |
修改存储单元内容 |
-E address[list] |
用指定内容表替代存储单元内容 |
-E address |
逐个单元修改存储单元内容 | ||
F |
填写存储单元内容 |
-F range list |
将指定内容填写到存储单元 |
R |
检查和修改寄存器内容 |
-R |
显示CPU内所有寄存器内容 |
-R register name |
显示和修改某个寄存器内容 | ||
-R F |
显示和修改标志位状态 | ||
M |
传送命令 |
-M 范围 地址 |
范围内字节值传送到地址开始单元 |
C |
比较命令 |
-C 范围 起始地址 |
同大小区域比较,显示不同单元 |
G |
运行 |
-G[=address1] [address2] |
按指定地址运行 |
T |
跟踪 |
-T [=address] |
逐条指令跟踪 |
-T [=address][value] |
多条指令跟踪 | ||
P |
单步跟踪 |
-P |
执行汇编程序,单步跟踪 |
A |
汇编 |
-A [address] |
按指定地址开始汇编 |
U |
反汇编 |
-U [address] |
按指定地址开始反汇编 |
-U [range] |
按指定范围的存储单元开始反汇编 | ||
I |
端口输入 |
-I 端口地址 |
从计算机输入端口读取数据并显示 |
O |
端口输出 |
-O 端口地址 字节值 |
向计算机输出端口送出数据 |
N |
命名 |
-N filespecs[filespecs] |
将两个文件标识符格式化 |
L |
装入 |
-L address drive sector sector |
装入磁盘上指定内容到存储器 |
-L [address] |
装入指定文件 | ||
W |
写入 |
-W address drive sector sector |
把数据写入磁盘制定的扇区 |
-W [address] |
把数据写入指定的文件 | ||
Q |
退出 |
-Q |
退出DEBUG |