- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 21
微机原理与汇编实验讲义
信息工程学院
实验一 DEBUG软件的使用
一、实验目的
1.学习DEBUG软件的基本使用方法。
2.掌握8086/8088的寻址方式。
3.掌握数据传送、算术运算等指令的基本操作。
4.了解计算机取指令执行指令的工作过程。
5.掌握用DEBUG调试程序。
二、动态调试程序 DEBUG.COM 的使用
DEBUG 是专门为汇编语言设计的一种调试工具,它给汇编语言程序员提供了单步和设置断点等基本的调试手段。
为了运行 DEBUG 程序, 只需在 DOS 提示符下输入如下的命令并回车:
DEBUG [d:][path][ 文件名 ]
其中文件名是要调试的程序的文件名,它是一个可执行文件(*EXE和*COM)。命令中的d:和path分别指定被调试文件的驱动器和路径。
在DEBUG程序调入运行后,出现提示符—,这时就可以使用DEBUG的命令来调试程序了。DEBUG命令都是???个字母,后面跟有若干参数,命令和参数都不区分大小写。可以按Ctrl十Break键来中止一个正在执行的DEBUG命令,并返回 DEBUG 提示符。
. DEBUG常用命令介绍(带*为重点掌握的命令)
*(1) 显示内存单元的命令 D(Dump), 格式为:
D[ 地址 ] 或
D[ 范围 ]
其中范围包括起始地址和结束地址,可以在地址前加段前缀,没有段前缀时则认为是 DS 段。
例如:—D200
—DES:100 0200
其中第二个例子就是指定了一个范围ES:100 0200。
显示的内容中左边部分是内存单元的地址,中间部分是内存单元内容的 16 进制表示,右边部分是相应的 ASCII 字符显示, · 表示不可显示的字符。
—dds:0
1418:0000 CD 20 FF 9F 00 9A F0 FE-1D F0 42 02 E8 10 70 02 M p~.pB.h.p.
1418:0010 E8 10 56 01 57 07 E8 10-01 01 01 00 02 FF FF FF h.V.W.h
1418:0020 FF FF FF FF FF FF FF FF-FF FF FF FF EA 13 C6 2A j.F*
1418:0030 E8 10 14 00 18 00 18 14-FF FF FF FF 00 00 00 00 h
1418:0040 05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
1418:0050 CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20 M!K
1418:0060 20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20
1418:0070 20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00
*(2) 修改内存单元的命令 E(Edit), 它有两种基本格式:
①用命令中给定的内容来代替指定范围的内存单元的内容:
E 地址 内容表
例如 :E DS:100 F3’xyz’8D
此命令在内存单元 DS:100 到 DS :104 这 5 个字节中依次写入给定的F3,’x’,’y’,’z’,8D。其中’x’,’y’,’z’在写入时用它们的 ASCII 码值代替。
②逐个单元的修改方式
E 地址
例如 :E 100
此命令将显示 DS :100 单元的地址和原有内容,并等待程序员输入新值来替换原有内容。例如:
— E 100
— 0A41 100 83.1A
其中 83 为 0A41 100单元的原有内容,1A是由程序员输入的新值。
*(3) 检查和修改寄存器内容的命令 R(Register),它有三种格式:
①显示 CPU 内部所有寄存器的内容和标志位的状态
R
例如:
—R
AX=0000 BX=0000 CX=004A DX=0000 SP =0064 BP=0000 SI=0000 DI =0000 DS=07B5 ES=07B5 SS=07C6 Cs=07C6 IP=0000 NV UP DI PL NZ NA PO NC
07C6:0000 B8C507 MOV AX,07C5
上面 R 命令显示的最后一行中显示了现在CS:IP所指的指令的机器码以及汇编符号。其中显示的各标志位状态的含义如下表所示:
标志位
状态OFDFIFSFZ
文档评论(0)