汇编语言实验(DEBUG的使用)

xiaoxiao2025-06-09  8

一、实验目的:

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的常用命令。

转载请注明原文地址: https://www.6miu.com/read-5031556.html

最新回复(0)