如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
代码段141E:0000数据段141B:0000附加段141C:00000记住在DOS中显示的数字为16进制代码如下:datareasegmentmess1db'12345hu'datareaendsextrasegmentmess2db23dup(?)extraendscodesegmentassumeds:datarea,es:extra,cs:codestart:movax,datareamovds,axmovax,extramoves,axleasi,mess1leadi,mess2cldmovcx,7repmovsbcodeends1U反汇编从程序开始的地方开始反汇编START开始我们可以得到的信息如下第一列是代码段的逻辑地址第二列是命令的二进制代码第三列后命令0000开始0017结束还可看出数据段段地址141B附加段段地址141C在后面的设置断点地址运行程序时看代码的地址如下2G运行程序G全部运行G断点地址地址执行断点地址之前的程序断点地址处的指令不执行G=开始地址断点地址列表关于debug的g命令的breakpoints是这个样子的:breakpoints可以设置10个,当debug遇到设置的第一个breakpoints时就停止运行,并取消所有的breakpoints,然后显示和t命令执行一样的寄存器信息,如果继续g就从当前breakpoints接着执行,并不会受上一个g命令设置的breakpoints影响.这样设置的好处是:如果你在调试一个很多跳转的程序时,可以在跳转的目的地址设置多个breakpoints,在哪停了就是跳转到哪了“以下命令设置两个断点:-gcs:7550,cs:8000如果在Debug遇到断点之后再次键入g命令,将从在断点之后的指令开始执行,而不是在通常的开始地址执行。”1查看内存内容D紧接着上次显示的内存单元后面如上次没有查看操作默认从代码段0开始D地址从给出的地址开始显示D范围给出范围显示不可跨段显示采用D段地址:初始偏移地址目的偏移地址采用D段地址:初始偏移地址L显示字节数4A汇编命令A偏移地址修改代码段错误命令不输入任何命令按回车结束=A代码段地址:偏移地址不可用于其他段进入DEBUG不调试任何程序A命令给出代码段地址编写命令语句3E修改内存单元内容E逻辑地址内容表从给定的地址依次修改E地址逐个修改与前面不同的是此处直接修改ASCII码值R显示和修改寄存器内容RF修改标志位状态修改时顺序任意因为符号是不同的T追踪命令逐条执行只执行一条指令T从头开始或从上面T的中断处开始T=地址从给定地址执行T=地址N从给定地址执行N条命令后停下P单步执行DEBUG调试DEBUG[D:][PATH][文件名][参数1][参数2]参数就是那些PAU等路径用反斜杠\也用于转义斜杠/可用于代替\\命名命令N装入命令L存盘命令W此命令将两个文件标示符格式化在CS:5CH和CS:6CH的两个文件控制块内,以便使用L或W命令装入或者存盘进入DEBUG,用A命令输入上面所写程序段用U命令查看上面所输入的指令在内存中所占字节数(这里把这一字节数记为A)注意A命令不可带H109H-100H=9H算INT21则A=0AHDEBUG中,输入命令NABC.COM(说明:这是命名命令)5.5用R命令,把BX寄存器的内容改为0,CX寄存器的内容改为A这是因为在用L或W前BX和CX应包含所读文件的字节数DEBUG中,输入命令W(说明:这是存盘命令)5.6退出DEBUG,查看是否存在文件ABC.COM,文件大小是否为A,运行该文件。用DEBUGABC.COM重新装载该文件,U命令查看内容这说明命名命令命名当前装入的代码程序段