欢迎来到天天文库
浏览记录
ID:37928279
大小:63.50 KB
页数:3页
时间:2019-06-03
《DEBUG命令用法速查》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、DEBUG命令用法速查 DEBUG是一种最为常见的调试工具,由由MS-DOS的系统盘提供,现在在WINDOWS95、98、2000、XP中也都有。它不仅可用于程序的动态调试,而且还可以用于系统内存和磁盘的维护、软件的修改和加密解密等方面。使用DEBUG要注意以下几点:(1)在修改软件时应注意,应避免在中DEBUG中写EXE为后缀的文件。如果你需要这样作,就必须事先将EXE文件名后缀作暂时的修改。(2)在命令表1-4中,有许多命令的参量定义由表1-3给出。(3)一般命令中的整数参量都已十六进制数表示。(4)字符串引号可用双引号,也可用单引号。(5)在DEBUG中标志寄存器将按8个
2、标志显示,每个标志用两个字母编码,以表示置位或清零。各标志以表1-3中列出的顺序显示。 表1-3DEBUG命令参量参量说明Addr(地址)Addr格式有以下几种:·一个用字母表示的段寄存器标志加上一个偏移值。例如CS:100。·一个段地址,加上一个偏移值。例如4AB:100·仅有一个偏移值。例如100。注:1.前两种格式,用冒号分隔偏移值。2.所有的数值都以1~4位十六进制表示。·地址中规定的内存单元必须是有效的,否则将会发生不可预料的结果。FilSpe(文件说明)FilSpe由一到三部分组成———驱动器名、路径名和文件名
3、。Driver(驱动器)输入1~7个数字。例如,驱动器A用0表示,B用1表示。List(表)List由一个或多个字节值或字符串组成,或者同时输入这两种值。例如:F3'XYZ'8D4“abcd”。这里的List有5项:三个字节项和两个字符串项,共有10个字节。Range(范围)由下列任一格式规定的内存上/下限地址构成:·AddrAddr例如CS:100110注:在第二个地址中,只允许有一个偏移量。地址之间要用一个空格或逗号分隔。·AddrLValue这里的Value是以十六进制表示的字节数。例如CS:100L11注:1.范围的极限是10000H,故地址的值和偏移部分的总和〈64KB。
4、64KB可用0000或0表示。2.在范围中规定的内存单元必须是有效的。否则将会造成不可预料的结果。 表1-4DEBUG命令表命令格式解释A[Addr]从Addr处开始输入汇编语句并进行汇编。CRangeAddr将Range指定的内存数据与以Addr为起始地址的内存数据相比较。D[Addr]或D[Range]显示内存数据(Ctrl—C中断)。EAddr[List]用List从Addr开始修改内存数据。FRangeList将List数据填写到由Range指定的内存中。G[=Addr][Addr]…从内存地址CS:IP或Addr
5、开始执行程序,断点为:Addr1…。HVal1Val2计算十六进制值Val1+Val2和Val1-Val2IPortAddr从端口PortAddr(十六进制表示)输入并显示数据。L[Addr]从内存地址CS:100或Addr开始装入由N命令定义的文件。对于EXE文件装入的地址为CS:0。LAddrDriverSec1Sec2从内存地址Addr开始装入磁盘Driver自绝对扇区Sec1开始的Sec2个扇区数据(Sec1,Sec2用十六进制表示)。MRangeAddr移动Range指定的内存数据至Addr为起始地址的内存中。NFilSpe命名要处理的文件(处理文件由LOAD/WRITE
6、命令使用)。OPortAddrList将List输出到端口PortAddr(用十六进制表示)。P[=Addr][Value]在下Value(十六进制表示,缺省值=1)条指令处停止。Q/QUIT返回DOS。R[Reg]显示/更改寄存器Reg。标志寄存器显示含义见表7-4.。SRangeList在内存Range中查询List指定的数据(Ctrl—C中断)。T[=Addr][Value]从由CS:IP或Addr指定的地址开始执行Value(用十六进制表示)条指令,遇到调用指令或中断时,将跟踪进入。U[Addr]或U[Range]从指定地址处进行代码反汇编(Ctrl—C中断)。W[Addr
7、]把从CS:100或Addr开始的内存数据写到以一个由N命令说明的文件中去。WAddrDriveSec1Sec2将内存Addr开始的数据写到磁盘Driver自绝对扇区Sec1开始的Sec2个扇区中。 表1-5标志寄存器显示含义标志名称置位清零标志名称置位清零溢出(是/否)OVNV零(是/否)ZRNZ方向(减/增)DNUP辅助进位(是/否)ACNA中断(允许/禁止)EIDI奇偶校验(奇/偶)PEPO符号(负/正
此文档下载收益归作者所有