3.7 KiB
3.7 KiB
实验一:DEBUG基础
一、实验目的
- 掌握DEBUG程序的加载方法
- 熟悉DEBUG状态下各种常用命令的使用方法
二、实验内容
2.1 DEBUG的加载
DEBUG是为DOS提供的一种调试工具,它不能独立运行,需要在DOS环境下加载运行。
加载方法:在DOS命令提示符下键入:
C:\>DEBUG [程序文件名]
2.2 基础性实验
实验1:DEBUG常用命令(D、E、F、R、G、A、T、U、N、L、W、Q)
(1)显示内存命令D
格式:D [地址] 或 D [范围]
功能:显示指定地址的内存内容
例如:
D 100 ;显示CS:100开始的内存内容
D 100 120 ;显示CS:100到CS:120范围的内容
(2)修改内存命令E
格式:E 地址 [数据表]
功能:修改指定地址的内存内容
例如:
E 100 ;逐个修改CS:100开始的内存内容
E 100 'ABCD' ;从CS:100开始写入字符串ABCD
(3)填充内存命令F
格式:F 范围 数据表
功能:将数据填充到指定范围的内存
例如:
F 100 110 0 ;将100-110区域填0
(4)显示/修改寄存器命令R
格式:R [寄存器名]
功能:显示或修改寄存器的内容
例如:
R ;显示所有寄存器内容
R AX ;显示并修改AX内容
(5)执行程序命令G
格式:G [=起始地址] [断点地址]
功能:运行程序,可设置断点
例如:
G=100 ;从CS:100开始执行
G=100 10A ;从100开始执行,在10A处设置断点
(6)汇编命令A
格式:A [地址]
功能:在指定地址开始汇编入指令
例如:
A 100 ;从CS:100开始输入汇编指令
(7)跟踪命令T
格式:T [=地址] [条数]
功能:单步执行指令
例如:
T ;执行一条指令
T=100 5 ;从100开始执行5条指令
(8)反汇编命令U
格式:U [地址] 或 U [范围]
功能:将机器码反汇编为汇编语言
例如:
U 100 ;从100开始反汇编
U 100 120 ;反汇编100-120范围
(9)命名命令N
格式:N 文件名
功能:给要操作的文件命名
例如:
N FILE.COM ;将FILE.COM作为要操作的文件名
(10)装入内存命令L
格式:L [地址 [驱动器 扇区号 扇区数]]
功能:将文件或扇区内容装入内存
例如:
L ;将已命名文件装入CS:100
L 100 1 10 5 ;将A盘5个扇区装入CS:100
(11)写盘命令W
格式:W [地址 [驱动器 扇区号 扇区数]]
功能:将内存内容写入磁盘
例如:
W ;将CS:100开始的内容写入文件
W 100 1 10 5 ;将CS:100内容写入A盘
(12)退出DEBUG命令Q
格式:Q
功能:退出DEBUG,返回DOS
例如:
Q ;退出DEBUG
2.3 加强性实验
实验2:DEBUG命令综合练习
【程序】
利用DEBUG的A命令,在内存2000:0000处输入以下程序:
MOV AL, [0000]
MOV BL, [0001]
ADD AL, BL
MOV [0002], AL
INT 20
【思考题】
- 在DEBUG中如何正确使用段寄存器作为地址前缀?
- 如何使用D命令查看程序执行后的内存结果?
三、实验步骤
- 在DOS环境下加载DEBUG程序
- 使用R命令查看当前寄存器状态
- 使用D命令查看内存内容
- 使用E命令修改内存数据
- 使用A命令输入汇编指令
- 使用T命令单步执行程序
- 使用G命令运行程序
- 使用U命令查看反汇编结果
- 使用Q命令退出DEBUG
四、实验报告要求
- 记录DEBUG加载过程
- 记录各命令的使用方法和执行结果
- 回答思考题
- 总结DEBUG命令的使用心得