预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

DEBUG的启动及其基本命令的使用 DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。 1、DEBUG程序的启动 在DOS提示符下,可键入命令: C>DEBUG[d:][path][文件名][参数1][参数2] 其中文件名是被调试文件的名称,它须是执行文件(EXE),两个参数是运行被调试文件时所需要的命令参数,在DEBUG程序调入后,出现提示符“-”,此时,可键入所需的DEBUG命令。 在启动DEBUG时,如果输入了文件名,则DEBUG程序把指定文件装入内存。用户可以通过DEBUG的命令对指定文件进行修改、显示和执行。如果没有文件名,则是以当前内存的内容工作,或者用命名命令和装入命令把需要的文件装入内存,然后再用DEBUG的命令进行修改、显示和执行。 2、DEBUG的主要命令 汇编命令A,格式为: -A[地址] 该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。 反汇编命令U,有两种格式: 1)-U[地址] 该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。 2)-U范围 该命令对指定范围的内存单元进行反汇编,例如: -U04BA:01000108或–U04BA:0100L9 此二命令是等效的。 运行命令G,格式为: %该命令G(go)运行当前在内存中的程序. 使用不含参数的G将在CS:IP寄存器的当前地址处开始运行。 -G[=地址1][地址2[地址3。。。]] 其中地址1规定了运行起始地址,后面的若干地址均为断点地址。 追踪命令T,有两种格式: 1)逐条指令追踪: -T[=地址] 该命令从指定地址起执行一条指令后停下来,显示寄存器内容和状态值。 2)多条指令追踪: -T[=地址][值] 该命令从指定地址起执行n条命令后停下来,n由[值]确定。 显示内存单元内容的命令D,格式为: -D[地址]或-D[范围] 修改内存单元内容的命令E,它有两种格式: 1)用给定的内容代替指定范围的单元内容: -E地址内容表 例如:-E2000:0100F3“XYZ”8D 其中F3,“X”“Y”“Z”和8D各占一个字节,用这五个字节代替原内存单元2000:0100到0104的内容,“X”“Y”“Z”将分别按它们的ASCII码值代入。 2)逐个单元相继地修改: -E地址 例如:-E100: 18E4:010089.78 此命令是将原100号单元的内容89改为78。78是程序员键入的。 检查和修改寄存器内容的命令R,它有三种方式: 1)显示CPU内部所有寄存器内容和标志位状态;格式为:-R R命令显示中标志位状态的含义如下表所示: 标志名置位复位溢出Overflow(是/否)OVNV方向Direction(减量/增量)DNUP中断Interrupt(允许/屏蔽)EIDI符号Sign(负/正)NGPL零Zero(是/否)ZRNZ辅助进位AuxiliaryCarry(是/否)ACNA奇偶Parity(偶/奇)PEPO进位Carry(是/否)CYNC2)显示和修改某个指定寄存器内容,格式为: -R寄存器名 例如打入:-RAX 系统将响应如下: AXFIF4 : 表示AX当前内容为F1F4,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如: -RBX BX0369 :059F 则BX内容由0369改为059F 3)显示和修改标志位状态,命令格式为: -RF 系统将给出响应,如 OVDNEINGZRACPECY- 这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如 OVDNEINGZRACPECY-PONZDINV 命名命令N,格式为: -N文件名 此命令将文件名格式化在CS:5CH的文件控制块内,以便使用L或W命令把文件装入内存进行调试或者存盘。 装入命令L,它有两种功能: 1)把磁盘上指定扇区的内容装入到内存指定地址起始的单元中,格式为: -L地址驱动器扇区号扇区数 2)装入指定文件,格式为: -L[地址] 此命令装入已在CS:5CH中格式化的文件控制块所指定的文件。 在用L命令前,BX和CX中应包含所读文件的字节数。 (10)写命令W,有两种格式: 1)把数据写入磁盘的指定扇区: -W地址驱动器扇区号扇区数 2)把数据写入指定文件中: -W[地址] 此命令把指定内存区域中的数据写入由CS:5CH处的FCB所规定的文件中。在用W命令前,BX和CX中应包含要写入文件的字节数。 (11)退出DEBUG命令Q,该命令格式为 Q 它退出