文档介绍:DEBUG的使用及调试方法
1、实验目的和要求:
掌握DEBUG下的主要命令如: U、T、 D、E、R、A、G、Q命令等。
掌握调试方法,理解CS:IP的作用,
要求能在DEBUG下编写简单程序。
2. DEBUG的功能 DEBUG是专门为汇编语言设计的调试工具,它通过单步、设置断点等方式,为使用者提供了非常有效的调试手段。在DEBUG下所有输入的数据都是十六进制,所以不需要后面加H。并且不区分大、小写字母。
3. DEBUG的调用 在DOS下有两种方式调用DEBUG:(1)把执行(调试)文件装入存储器中, 格式为: C>DEBUG (2)先调用DEBUG,然后用N、L命令把执行(调试)文件装入存储器。格式为: C>DEBUG -N -L
4. DEBUG的主要命令(1) U(反汇编):将机器指令进行反汇编,默认的寄存器是CS:IP,从指定地址开始反汇编32个字节,它的格式是:-U[ START-ADDR] -U[ START—ADDR END—ADDR] -U 100 ;汇编开始于CS:100-U 100 150 ;反汇编从100H 到 150H的内容。
⑵T(跟踪):以单步方式执行程序。-T ;执行一条指令。-T 10 ;执行下面10H(16) 条指令。-T=3 2 ;从指定IP=0003开始, 执行下面2条指令.
⑶A (把符号指令汇编成机器码):-A 100 ;从指定地址100H开始汇编,结果写入内存。-A ;不指定地址,则从上次 A命令开始汇编。 在A命令下不能使用字段名,A令只识别指令和DB、DW的伪指令。
⑷G (运行可执行程序):-G 200 ;从程序当前地址执行到200H结束-G ;从程序当前位置执行到程序结束-G =200 260 ;从指定(200H)或当前地址开始执行, 遇到断点(260H)停止,显示寄存器和标志寄存器的内容。
⑸E(检查修改内存单元内容): 默认寄存器是DS,格式是: -E[ ADDRESS] [表] -E 105 13 3A 21
;从DS:105H开始输入3个字节的内容 -E CS:211 21 2A
;从CS:211H开始输入2个字节的内容 -E 110 ‘anything’
;输入从DS:110H开始的字符串
-E 12C ;检查修改DS:12C的内容 该操作等待从键盘的输入一个或多个十六进制值的字节, 字节之间用空格隔开。(6) D(显示存储器的内容): 默认寄存器是DS,格式是: -D 200 ;显示从DS:200H处开始的 80H的字节的内容。 -D ;显示从上一次结果处开始的 80H个字节的内容。
-D CS:150 ;显示从CS:150H开始的80H个字节的内容。-D DS:20 L5 ;显示从DS:20H开始的5个字节。-D[ START-ADDR END-ADDR]-D 300 32C ;显示从300H到32CH 字节的内容。