微型计算机原理与接口技术:DEBUG调试程序_第1页
微型计算机原理与接口技术:DEBUG调试程序_第2页
微型计算机原理与接口技术:DEBUG调试程序_第3页
微型计算机原理与接口技术:DEBUG调试程序_第4页
微型计算机原理与接口技术:DEBUG调试程序_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

补充:上机过程本节重点介绍以下内容:一、DOS常用命令MD、RD、CD、DIR、COPY、DEL、通配符、改变驱动器二、汇编与链接EDIT、MASM、LINK三、DEBUG常用命令U、G、D、T、P、E、R、I、O、Q等附录:DEBUG调试程序汇编语言源程序经过汇编和连接后生成了可执行文件,但并不能代表程序没有错误,汇编程序只能检查语法错误,程序中存在的其它错误只能通过调试程序DEBUG解决。DEBUG是调试汇编语言程序的基本工具,它能使程序设计人员看到程序执行的每一步细节,观察和修改寄存器及存储单元的内容,监视目标程序的执行情况。所有DEBUG命令均为单一字母,其后跟着一个或多个参数。命令中参数之间必须用空格或逗号分隔,每个命令都以回车键作结束符。在DEBUG命令中,使用的地址格式为:段基值:偏移量其中,段基值可以用段寄存器名(如CS,SS,DS,ES)表示,也可以是一个十六进制数。在DEBUG状态下,命令参数中的数据和机器显示的数据都是十六进制数,而且不再以“H”结尾。DEBUG状态的提示

符为中划线“-”。1、进入与退出在DOS状态下,直接键入DEBUG即可进入DEBUG调试程序。如:C:\WORK>DEBUG进入DEBUG后提示符是中划线“-”,此后便可开始使用DEBUG各命令。首先应装入持调试的可执行文件(如LX.EXE),装入方法是:-N

LX

.

EXE-L也可以在进入DEBUG时,同时装入可执行文件,如:C:\WORK>DEBUG

LX.EXE当可执行文件装入后,程序的目标代码,数据已全部送入内存指定单元,此时CPU各寄存器内容处于初始状态。如需退出DEBUG返回操作系统,可使用Q命令,即:-Q2、显示内存单元内容—D命令命令格式:

D[地址]或:D[范围]例如:-D

DS:100

;从DS:100H单元开始,共显示80H个字节单元内容。-D

100-D;默认段是前次使用过的段,从偏移地址100H处显示80H个字节单元内容。;接续前次显示的内存单元内容,再显示80H个字节-D

DS:100

11F

;显示100H至11FH的单元内容。显示内容如下:188C:0100188C:011000

41

04

09

10

19

24

31-40

51

64

79

90

A9

C4

E10C

00

00

00

00

00

00

00-00

00

00

00

00

00

00

00.A....$1@Qdy....................3、修改内存单元内容—E命令

E命令有两种格式:(l)用内容表修改内存单元命令格式为:

E

地址

内容表例如:

-E

DS

:

0010

B6‘ABC’34在以DS:0010为起始单元的连续五个字节单元中依次分别存放数据B6H,字符‘A’、‘B’、‘C’的ASCII值(41H、42H、43H)和数据34H。(2)逐个内存单元修改命令格式为:

E

地址在健入上述命令之后,屏幕上显示出命令指定的单元地址及其内容。这时可输入新的两位十六进制教,以代替原有内容。接着可采用下面三种操作:(a)键空格键,按增地址方式显示下一个字节单元的内容,并等待输入新的数据。如再键人空格键,则显示更高字节单元的内容,这样由低地址向高地址逐个字节单元依次修改。键入连接号“-”,将按减地址方式显示下一个字节单元的内容,并等待输入新的数据。再按“-”号,便又显示下一字节单元内容,这样由高地址向低地址逐个字节单元依次修改。键入回车键,表示结束这次内存单元的修改。在前两种操作中,如没有输入新数据直接键入回车键,表示此单元内容不作修改,仅是结束E命令。4、显示或修改寄存器内容—R命令

R命令操作及显示如下:-rAX=0090DS=189CBX=000CES=188CCX=0108SS=189EDX=0000

CS=18AB18AB:0011

A21100MOV

[0011],ALSP=00C8

BP=0000

SI=0000

DI=0000IP=0011

NV

UP

EI

PL

NZ

NA

PE

NCDS:0011=00标志位置位复位溢出位OFOVNV方向位

DFDNUP中断位IFEIDI符号位

SFNGPL零值位ZFZRNZ辅助进位位AFACNA奇偶位PFPEPO进位位CFCYNC若要修改寄存器中的内容,可以在R命令后加一寄存器名。如:-r

axAX

000C:20在冒号“:”后写入20,然后回车,便将AX的内容改为20H-rfNV

UP

EI

PL

NZ

NA

PO

NC

-di在中划线“-”后,写入代表各标志位状态的符号,然后回车,便完成了对标志寄存器的修改。本例是将中断允许标志位由开中断(EI)改为关中断(DI)。5、反汇编命令—U命令在DEBUG状态下运行程序是执行某内存区域的目标代码,为了知

道执行的是什么指令,操作数在哪里,就希望把目标代码“还原”为源程序指令。这个操作称为反汇编。U命令就是把目标代码反汇编为源程序指令。反汇编命令格式为:U

[地址]或U

[范围]前一种命令格式是显示32个字节目标代码的源程序指令,后一种命令格式是由操作人员指定起始地址和结束地址(结束地址只能是偏移量)或者指定起始地址和长度。U命令显示源程序指令示例:-u18AB:000018AB:0003B89C188ED8MOVMOVAX,189CDS,AX18AB:00058D1E0000LEABX,[0000]18AB:000918AB:000CA0100098MOVCBWAL,[0010]18AB:000D03D8ADDBX,AX18AB:000F8A07MOVAL,[BX]18AB:0011A21100MOV[0011],AL6、跟踪运行方式—T命令命令格式:T[=地址][值]其中,[=地址]为程序的运行起始地址。如命令中未指定,就以CS和lP的当前值为起始地址。[值]是程序运行的指令条数(十六进制数),命令中如未指定[值]参数,便视为[值]=1,即仅执行一条指令。执行T命令,每执行完一条指令后,就自动显示CPU各寄存器和标志寄存器内容,待T命令指定的指令条数执行完后暂停程序的运行。例:T

5 3;从起始地址5开始执行3条语句T

5T;从起始地址5开始执行1条语句;执行一条待执行指令7、单步执行方式—P命令使用方法同T命令,但P命令执行一条完整的语句,不会进入到子程序或中断程序中。8、连续运行方式—G命令命令格式为:G[=地址],[地址],[地址],……其中第一个参数[=地址]是执行程序的起始地址,默认CS为

段基值,所以这个参数仅送入偏移量。第一命令参数中“=”不可缺少,否则就视为与后面等同的断点地址参数。如没有指定起始地址,则以CS和IP的现有内容为起始地址。后面不带等号的地址均是断点地址。特别注意:指定的地址一定是一条指令的首字节地址,它只包含偏移量(段基值隐含指CS)。指令的首地址可以用U命令查看,找出所需地址,也可以从LST文件中找到。一条G命令的断点地址不能多于10个,断点地址顺序可以任意。若G命令带有断点地址参数,当程序运行至其中任一断点时,便立即停下来,并显示CPU各寄存器内容和下一次将要执行的指令。断点地址参数只对本次G命令有效,再次使用G命令时,仍需重新指定断点地址参数。若不设断点地址参数,那么程序就运行至结束,并显示“Program

terminated

normally”(程序正常结束)。例:G

5302560;从起始地址5开始执行,直到遇到一个断G

530点为止。;从起始地址5开始

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论