一、实验目的:
1.熟悉DEBUG的功能及运行。
2.掌握DEBUG常用命令。
二、实验内容:
DEBUG的加载及其常用命令(A、U、R、D、E、T、P、G、Q)的使用情况。(注意:微机进入DEBUG状态下之后,一切立即数和地址数据均被默认为十六进制数,在输入时数的后面不加后缀“H”。)2.将数据段中的两个数求和,结果保存在数据段中。
源程序、机器语言程序如下:
CS:0100 Al 00 00 MOV AX,[0000]
CS:0103 03 06 02 00 ADD AX,[0002]
CS;0107 A3 04 00 MOV [0004],AX
CS:010A CB RETF
数据段内容如下:
DS:0000 23 25 ;两个已知数
3.在Debug中编制简单的汇编程序片断,并调试运行,得出结果。
三、实验主要步骤:
1.在DOS或Windows的命令行窗口执行命令Debug.exe,进入Debug程序环境,熟悉Debug各个命令的用法。
实验步骤(1)用E命令键人上述机器语言程序和数据段的初值。
—E DS:000 23 25
—E DS:006 2A 2A 2A (2A为*,是为便于查看数据段内容而设置)
—E CS:100 A1 00 00 03 06 02 00
—E CS:107 A3 04 00 CB
(2)用D命令检查数据段、代码段内容。
—D DS:0
—D CS:100
(3)用T命令逐条执行上述程序,注意观察每条指令执行后相应寄存器的变化。
(4)用U命令反汇编本程序。
—U 100 10A
(5)用R命令修改IP的内容为0100重新执行上述程序。
—R IP
显示:IP 010A:0100
(6)用G命令运行程序。
—G =CS:0100 107
观察:IP= AX=
—G =CS:0100 10A
观察:IP= AX=
3.自己试着写段程序:
-A 100↙
16C6:0100 DB‘1234567890‘↙
16C6:010A CLD↙
16C6:010B MOV SI,100↙
16C6:010E MOV DI,200↙
16C6:0111 MOV CX,A↙
16C6:0114 REP MOVSB↙
16C6:0116↙
-G =10A 116↙;运行上述程序(起始地址10AH,结束地址116H)。
-D 100 L A↙;显示DS:100开始10个字节内容
16C6:0100 31 32 33 34 35 36 37 38-39 30 ‘1234567890
-D ES:200 L A↙显示ES:100开始10个字节内容
16C6:0200 31 32 33 34 35 36 37 38-39 30 ‘1234567890
4.写出实验报告。
一、实验目的:
1.熟悉DEBUG的功能及运行。
2.掌握DEBUG的常用命令。
二、实验过程:
1.调试DEBUG
2.更改IP
3.执行命令
三、实验心得:
学习并掌握了如何调试出DEBUG以及其他的一些命令,学会了如何更改IP地址,
基地址,和如何计算,如何从代码中检查自己是否输入错误。
一、实验目的:
1.熟悉DEBUG的功能及运行。
2.掌握DEBUG的常用命令。