汇编语言debug调试.ppt

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

DEBUG调试程序 * * DEBUG调试程序 一.DEBUG与汇编程序 要在IBM PC机上运行简短的汇编语言程序有两种方法: 1.用汇编程序ASM或与之类似但更先进的MASM,人们通常用这两个汇编程序中某一个来对汇编语言程序进行汇编(转换为机器语言程序). 2.使用另一个不同的程序,称之为DEBUG.DEBUG不是真正的汇编程序它的主要用途是用于“调试”(即修改程序中的错误)汇编语言程序.但也可用DEBUG来汇编简单的汇编语言程序. 二.DEBUG的运行 DEBUG是DOS操作系统提供的程序之一,在DOS提示符下键入程序名“DEBUG”,屏幕上出现的短划线是“DEBUG”的提示符,这符号通知用户机器已作好准备来接受下一个命令。 DEBUG的命令如下: 1.“ D ” 命令 功能:显示内存单元的内容. 注意:十六进制是DEBUG唯一认识的数字系统,键入和输出时十六进制数不用后加“H”,十进制数后要加“D” 格式: -D [存储单元地址] -D [存储单元地址范围] 例如: -D 100 -D 100 120 显示的信息,左边用十六进制表示每个字节,后边用ASCII字符表示每个字节.表示不可显示的字符.D命令自动显示DS段的内容 上机实践 2.“ E ” 命令 功能:修改存储单元的内容 格式: -E 存储单元地址 数据 数据 数据 ... 此格式使键入的数据替代了指定范围的存储单元内容 -E 存储单元地址 此格式采用逐个存储单元相继修改的方法 上机实践 输入数据后按空格键可连续修改数据 3.“ F ” 命令 功能:用一个指定的十六进制数填入一部分存储单元 格式: -F 开始地址 终止地址 常量 “F”命令与“E”命令都可修改存储单元的内容,但“F”命令只能键入一串相同的数据。 例如: -F 100 120 4F 上机实践 4.“ R ” 命令 功能:检查和修改寄存器的内容 格式: (1) -R 执行:显示CPU内所有寄存器内容和标志位状态 (2) -R 寄存器名字 执行:显示和修改某个寄存器的内容 (3) -RF 执行:显示和修改标志位状态 上机实践 5.“ A ” 命令 功能:汇编命令 格式: -A [开始存放指令的地址] 可以键入汇编语言语句,并能把它汇编成机器代码,相继放入从指定地址开始的存储器中. 上机实践 6.“ T ” 命令 功能:跟踪命令 格式: (1) -T [=指令地址] 功能:从指定的地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值;如未指定地址则从当前的CS:IP开始执行 (2) –T [=指令地址][要执行的指令条数N] 功能:从指定地址开始执行N条指令后停下来,显示各寄存器的值 上机实践 7.“ G ” 命令 功能: 运行命令 格式: -G [运行的起始地址] [断点地址] [断点地址]… 执行:若没有指定任何地址,则从当前的CS:IP地址处开始运行程序;若指定地址,则从起始地址开始运行,在断点地址处停止,并显示所有寄存器及标志位内容,和下一条要执行的指令. 上机实践 8.“ U ” 命令 功能:反汇编命令 格式: (1) –U [指令地址] 执行:从指定地址开始,反汇编32个字节;若未指定地址,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节 (2) –U [开始地址] [终止地址] 执行:从指定的开始地址开始反汇编,到终止地址结束 上机实践 9.“ N ” 命令 功能:给输入的汇编程序命名 格式: -N [D:][PATH] FILENAME[.EXE] 说明:如果启动DEBUG程序没有指定文件说明,那么在用LOAD命令装入文件之前必须先使用N命令 10.“L”命令 功能:把程序装入存储器 格式: -L [address[drive sector sector]] 说明: address指定内存的起始装入地址(缺省时为CS:100); drive指定驱动器:0表示A盘,1表示B盘; sector sector:前者表示“相对扇区号”,后者表示需要的“扇区数”。一条L命令所能装入的最大扇区数是十六进制80 例: -L 4BA:100 1 0F 6D L命令常与N命令联合使用 -N myprog -L 从缺省磁盘把名为myprog的文件取出并存入CS:100起始的内存中 11.“ W ”命令 目的:把调试的文件写入磁盘 格式: -W [address[drive sector sector]] 说明:参数address指出起始内存单元;drive指定磁盘驱动器; sector sector前者指定相对扇区,后者指定扇区数,两者都以十六进制形式表示 例如: -W 1FD 1 100 A 把地址

文档评论(0)

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

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

1亿VIP精品文档

相关文档