掌握DEBUG基本命令掌握DEBUG基本命令
实验课程名称 微型计算机原理实验报告_
实验项目名称 掌握DEBUG基本命令_
专 业 班 级 电子信息科学与技术101班_
学 生 姓 名 ____________
学 号 _____
实 验 成 绩
指导教师签字
贵 州 大 学 实 验 报 告 纸
系 别班 级姓 名学号课 程 名 称成 绩
评 定
教师签名实 验 时 间 2011年 11 月 23 日教师教师一、实验目的
(1)熟悉DEBUG有关命令的使用方法。
(2)利用DEBUG掌握有关指令的功能。
(3)利用DEBUG运行简单的程序段。
二、实验内容
Ⅰ.掌握DEBUG程序的各种命令,重点掌握U,G,T,D,E,R命令。
反汇编命令:-U[地址]
该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。
运行命令G:
追踪命令T,有两种格式:
1)逐条指令追踪:-T[=地址]
该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。
2)多条指令追踪:
-T[=地址][值]
该命令从指定地址起执行n条命令后停下来,n由[值]确定。
显示内存单元内容的命令D,格式为:
-D[地址]或-D[范围]
1)D命令后跟寄存器表示的地址
2)D命令后不加地址
3)D命令后加直接地址
⒌修改内存单元内容的命令E, 用给定的内容代替指定范围的单元内容:
-E地址 内容表
6.检查和修改寄存器内容的命令R,它有三种方式:
1)显示CPU内部所有寄存器内容和标志位状态;格式为:-R
2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名
3)显示和修改标志位状态,命令格式为:-RF
Ⅱ.用命令A汇编下列指令,判断指令正误并说明原因。
ROR AX,8
LEA DI,[AX]
MOV DS,2010
PUSH AL
OUT 900,AL
MOV [BX],0
Ⅳ.用命令D查看DS:200~22F和F000:200~22F两内存块内容,用命令F将字符“A”分别填入这两个内存块,比较填入前后结果,了解可读写内存RAM和只读内存ROM的区别。
1)
2)
Ⅴ.用A命令汇编一条INT 1C指令,用命令T单步执行该指令,比较指令执行前后CS和IP、堆栈指针SP及堆栈内容变化情况,了解什么是中断向量表,中断向量和中断子程,掌握中断指令的执行过程。
Ⅵ.利用T,P,G命令,执行下列指令段,注意它们的不同之处。
(1)程序代码如下:
利用T单步运行该程序段,一步一步检查程序:
利用P命令运行该程序段:
利用G命令运行该程序段:
(2)利用A命令编辑程序段,如下图所示:
运用T命令单步运行该程序段,一步一步检查该程序:
运用P命令一步一步执行该程序段,格式和T命令类似,但是结果稍有不同:
运用G命令执行改程序:
(3)利用A命令编辑程序段如下图所示:
利用T命令单步运行该程序段。一步一步检查该程序段:
利用P命令执行该程序段:
利用G命令运行该程序段:
Ⅶ.用命令A汇编下列程序段,并将程序写到硬盘上,然后调试程序段,观察程序段能否完成指定功能,若不能,说明原因,并修改程序
(1)完成将DS:2000开始的5个字节内存内容相加,并把相加的结果存放在DS2005内存单元中。
Ⅷ.进入DEBUG后,首先用命令R查看当前DS内容,记录此值,假设为X。
在DEBUG下汇编、调试完成下列功能的程序。
(1)将内容F000:2000H起30H个字数据传送到内存X:1000H开始处。
(2)测试内存X:300H开始的10H个字节数据,计算其中正数、负数、0的个数,并将结果分别存放在X:400H开始的三个内存单元中。
(1)解:先用R命令检查当前的数据段寄存器DS的内容
利用M命令将数据串传送到目的地址
查看传送过后的内存中的内容
三、问题思考
假设某内存单元的内容为CCH,试问该内容如看作一条指令、看作无符号数、看作带符号数,那将分别表示什么?不查看教材中的指令系统代码,如