第一章_DEBUG使用.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章_DEBUG使用

第一章 DEBUG的使用 一、DEBUG概述 DEBUG是DOS状态下面供程序员使用的程序调试工具可以用检查内存中任何的以及修改的。可以用于逐指令执行某个程序,追踪执行过程比较一指令执行前后值,读写文件与磁盘扇区。DEBUG状态下,所有数据都字节序列任何类型的文件。DEBUG数据两种: 十六进制数和ASCⅡ码两位数表示十六进制数据。在DEBUG涉及内存中的数据,要指定的内存地址,地址的输入格式是: [段地址]: [位移]。如果没有输入地址,DEBUG将假定为当前内存段,从位于地址100H的字节开始。前100H字节保留给程序段前缀使用,区域用于建立DOS与程序之间的联系。DEBUG中,使用四位十六进制数表示地址。 DEBUG输入数据有两种方法: 提示方法和非提示方法。在提示方法,输入要求输入数据的命令,后跟数据地址。后可以看到该中已有内容及一个冒号提示符。此时可以在提示符下输入一个新的值或者按下回车键或CTRL+C回到提示符。在非提示方法,输入数据的内存地址以及要输入的。?,按ENTER键,如: C:\DEBUG ?,则屏幕显示: - 符号“-”是进入DEBUG的提示符,在该提示符下可键入任意DEBUG命令。 DEBUG的退出: 在DEBUG的提示符后输入Q命令,按ENTER键,则退出DEBUG返回DOS。 DEBUG的使用: 在DEBUG的提示符后输入DEBUG命令,按ENTER键。 二、DEBUG 命令详解 ★ A命令 格式:A[地址] 功能将指令直接汇编成机器码输入到内存中。[地址]A命令使用 说明用于小段程序的汇编及修改目标程序,所有输入的数字均十六进制,用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,语句被汇编到 CS:0100区域。. 直接在A命令下输入跳转指令时,跳转指令后应跟跳转到的语句所在内存单元的地址,不能跟标号;使用跳转指令时,可以指定跳转指令的属性:near,far。near 前缀可以缩写为 ne。如下例所示: -a0100:0100 0100:0100 jmp 102 0100:0102 jmp near 105 0100:0105 jmp far 10a 2. 汇编语言指令所涉及到的操作数可以是字操作数也可以是字节操作数,在语句不能判别操作数的类型时,可以使用前缀 word ptr 或者前缀 byte ptr 指定操作数的类型。缩写分别是 :wo 和 by。如下列所示: -a0100:0100 0100:0100 dec word ptr [100] 0100:0102 dec wo ptr [100] 0100:0105 dec byte ptr [100] 在DEBUG下,应注意区分立即操作数和内存地址的操作数,使用包括在中括号 ([ ])中 的操作数表示内存地址。 在DEBUG下,能够使用的伪指令仅有DB和DW两个,分别用于定义字节和字操作数,此时定义的操作数被存放在该定义指令所在的内存空间中。如下列所示(注意内存空间的变换,why?): -a 0100:0100 0100:0100 DB ‘ABCDEFG’ 0100:0107 ★ C命令 格式:C[源地址范围][目的地址] 功能比较两内存区域中的内容是否相同若不同则显示其地址和内容。[源地址范围][目的地址]C命令使用 说明[源地址范围][目的地址][源地址] 源地址地址[目的地址] ★ D命令 格式:D[地址] 或D[起始地址][目的地址] 功能以内存映象方式显示内存中的。[地址]DS:100处开始显示。 D命令使用 说明左边十六进制右边显示十六进制ASCII字符,所有不可打印字符用句号()表示。每行显示16个字节的内容,在第八和第九个字节之间有一个连字符–“ 。 从键盘键入下面命令: -d cs:100 10f Debug 按以下格式显示地址范围中的内容(假定CS=0AF6): 0AF6:0100 77 61 6E 67 78 69 61 6F-69 6A 6B FF 0E 00 01 FF wangxiaoijk….. 键入以下命令,Debug 将从 CS:100 开始显示 20h 个字节的内容: -d cs:100 l 20 键入以下命令,Debug 将显示范围从 DS 段的 100h 到 115h 中所有字节的内容: -d 100 115 注意:在D命令中若不指定段寄存器,默认规定为DS。 ★ E命令 格式:E[地址] [字节串] [地址] 功能从指定的地址开始修改内存值。[地址][字节串][字节串]E

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档