预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实习一调试工具的使用方法训练(2学时) 1.实验目的 掌握调试工具DEBUG的使用方法,理解汇编指令、存储单元和寄存器等有关概念,能够对简单的汇编语言程序进行调试。 2.实验内容 (1)学习调试工具DEBUG的使用方法,熟悉DEBUG常用命令的功能和用法。 (2)利用DEBUG调试简单的汇编语言程序,体会汇编指令的功能、寄存器的作用、存储单元地址与内容的概念和作用、以及程序的执行过程。 3.实验要求 (1)掌握DEBUG的常用命令和基本的程序调试方法 (2)熟悉和掌握指令系统常用指令的功能和用法,能熟练运用DEBUG调试工具调试简单的程序,并初步掌握使用DOS系统功能调用的方法。 4.重点与难点 存储器和寄存器的概念、各寄存器的用途、常用指令的功能和用法、用DEBUG调试程序的方法。 5.实验结果验收 熟练运用DEBUG调试工具完成本实习6.2节要求的程序设计和调试 6.实验指导 6.1调试工具DEBUG简介 DEBUG是DOS操作系统为汇编语言程序设计者和系统管理员提供的一个通用调试工具,利用DEBUG可以读写、传送、比较、查找和显示存储器单元内容,设置程序起始执行地址或断点,执行程序或分段执行程序,跟踪程序执行,显示处理器状态,汇编或反汇编程序等。用DEBUG编程简单、方便和直观,可以直接查看程序执行情况,便于熟悉和理解指令,掌握基本编程技巧。 DEBUG只使用十六进制表示数据(十六进制数后不加“H”),屏幕的显示数据形式如下: 1400:010024656E64730D0A20-20636F6465202024*ends..code* 1400:01107365676D656E740D-0A20202020202024segment..* 1400:01702461782c300D0A09-2020202070757368*ax,0push 屏幕每行显示内容分为三部分,一行共显示十六个字节单元的内容。第一部分是本行所显示的16个字节数据在存储器中的起始存放地址;第二部分是以十六进制显示的16个字节数据;第三部分是将本行所显示字节数据看作ASCII码时显示的字符,若某字节数据对应不可显示的ASCII码,则显示一个“.”字符代替该字节数据的显示字符。 DEBUG只有十几条单字母命令,功能强且易掌握,常用DEBUG命令如下: 1)DEBUG的进入和退出 进入DEBUG时,如果要同时装入某程序,键入下面的命令: H:>DEBUG<文件名>[<参数>] 其中文件名指定要装入的程序目标码文件,其扩展名可以是.COM或.EXE。<参数>是由被装入程序接收的参数。此外,也可以用下面的方式进入DEBUG: H:>DEBUG - “-”是DEBUG的命令提示符,表明已进入DEBUG状态。在“-”提示符之后,可以键入DEBUG命令。 退出DEBUG时,键入如下命令从DEBUG状态返回DOS: -Q 2)汇编与反汇编命令 汇编命令A和反汇编命令U是常使用的DEBUG命令。 ①汇编命令A 格式:A[<起始地址>] 功能:逐行汇编程序,主要用于小段程序的汇编。 说明:使用A命令汇编程序,不允许程序中出现标号和伪指令,但MS-DOS的DEBUG允许使用DB和DW这两条伪指令。如果未给出起始地址,汇编后的程序代码从指令指针寄存器IP的值指定的地址开始存放。按两次回车键可退出汇编命令A的状态。 例1-1汇编一段程序,该程序的功能是在屏幕上输出一个大写字母′A′。 -A100 1141:0100MOVDL,41 1141:0102MOVAH,02 1141:0104INT21 1141:0106INT20 ②反汇编命令U 格式:U[<地址范围>] 功能:在指定的地址范围内,将二进制机器指令逐条翻译为汇编语言符号指令。 例1-2将例1-1中汇编的程序进行反汇编 -U100107 1141:0100B241MOVDL,41 1141:0102B402MOVAH,02 1141:0104CD21INT21 1141:0106CD20INT20 3)执行程序命令 在DEBUG下,可以完整地执行程序、分段执行程序或单步执行程序。 ①执行程序命令G 格式:G[=<程序起始地址>][<断点>…] 功能:完整地或分段执行程序。 说明:G命令可以从头至尾完整地执行程序,如果G命令带有有断点参数,则执行到断点地址时暂停并显示当前各寄存器状态,断点最多允许设置100个。程序正常结束时显示“Programterminatednormally”。 例1-3执行例1-1中汇编的程序。 -G=100 A Programterminatednormally ②跟踪执行命令P和T 格式:P[=<地址>][<跟踪条数>] T[=<地址>][<跟踪条数>] 功能:跟踪命令P和T可以