文档详情

Debug调试程序的主要命令.doc

发布:2017-06-20约2.7千字共4页下载文档
文本预览下载声明
实验二 Debug调试程序的主要命令 DEBUG..EXE程序是专门为分析、研制和开发汇编语言程序而设计的一种调试工具,具有跟踪程序执行、观察中间运行结果、显示和修改寄存器或存储单元内容等多种功能。也是我们学习汇编语言必须掌握的调试工具,必须熟练掌握其一些的命令的使用。 一、DEBUG程序的启动和退出 1.直接启动 DEBUG.EXE是DOS环境下的可执行程序。在DOS提示符下键入命令: 如:C: DEBUG ↙ 在调用DEBUG程序后,出现“一”提示符,等待使用DEBUG命令。 2.启动DEBUG并装入需要调试的用户程序 命令格式: C: DEBUG [盘符:][路径][文件名.EXE][参数1][参数2] 二、DEBUG程序的常用命令 1.DEBUG下汇编语言的语法规则 ① 所有数值全为十六进制数,且不需要加后缀‘H’; ② 只能使用DB或DW,直接把字节、字的数值或字符串的ASCⅡ码送入相应单元中; ③ 不允许使用变量和标号,但变量和标号可用直接地址代替,且直接地址加方括号; ④ 短、近和远转移或调用的目标地址,取决于到目标地址的字节位移量。远返回的助记符为RETF。 ⑤ 修改存储单元字节操作数类型,用BY(BYTE PTR),修改存储单元字操作数类型,用WO(即WORD PTR)。段超越助记符为CS:、DS:、ES:和SS:。 2.DEBUG的常用命令 (1)汇编命令 A 格式:A [地址] 功能:从指定地址单元开始存放输入汇编语言的指令语句。若缺省起始地址,则从当前CS:100地址开始存放。用A命令输入程序语句完毕后,最后一行不要输入并直接按Enter键(或Ctrl+C),退出A命令。A命令按行汇编,主要是用于小段程序的汇编或对目标程序的修改。 例:-A 100 0B07:0100 MOV DL,41 0B07:0102 MOV AH,2 0B07:0104 INT 21 0B07:0106 INT 20 0B07:0108 (2)反汇编命令 U 格式1:U[起始地址] 格式2:U[起始地址][结束地址|L字节数] 功能:格式1从指定起始地址处开始将32个字节的目标代码转换成汇编指令形式。缺省起始地址,则从当前地址CS:IP开始。格式2将指定范围的内存单元中的目标代码转换成汇编指令。起始和结束地址范围是可选项,无此项则从当前的地址单元开始反汇编32个字节。 例:-U 0100 0107↙ ;从地址0100H处对指令语句进行反汇编 0B07:0100 B241 MOV DL,41 0B07:0102 B402 MOV AH,2 0B07:0104 CD21 INT 21 0B07:0106 CD20 INT 20 或-U 0100 L8↙,具有同样的效果。 (3)运行命令 G 格式:G[=起始地址][第一断点地址[第二断点地址……]] 功能:完整或分段执行程序。如果G命令不带参数,则完整地连续执行程序,直到程序结束或遇到INT 3 格式:T[=起始地址][正整数] 功能:从指定地址开始执行‘正整数’条指令,若缺省‘正整数’,表示执行一条指令,若两项都缺省,表示从当前CS:IP指示地址开始执行一条指令。 例: (5)显示存储单元命令 D 格式1:D[起始地址] 格式2:D[起始地址][结束地址|字节数] 功能:格式1从起始地址开始按十六进制显示80H个字节单元的内容,每行16个单元,共8行,每行右边显示16个单元的ASCⅡ码,不可显示的ASCⅡ码则显示“·”。格式2显示指定范围内存储单元的内容,其他显示方式与格式1一样。如果缺省起始地址或地址范围,则从当前的地址开始按格式1显示。 例:-D 100 106 (等同于-D 100 L7) 0B07:0100 B8 10 00 BB 05 00 29 ....... (6)显示、修改寄存器命令 R 格式:R[寄存器名] 功能:若给出寄存器名,则显示该寄存器的内容并可进行修改。缺省寄存器名,则按以下格式显示所有寄存器的内容及当前值(不能修改)。 例:-R ↙ ;显示所有寄存器的内容及当前值(不能修改) AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000 DS=3000 ES=23A0 SS=138E CS=0B07 IP=0000 NV UP DI PL NZ NA PO NC 0B07:0108 CD20 INT 20 (此第三行显示的是CS:IP的当前值,指向下一条
显示全部
相似文档