DOS的debug命令表Word格式.docx

上传人:b****5 文档编号:8545413 上传时间:2023-05-11 格式:DOCX 页数:12 大小:2.85MB
下载 相关 举报
DOS的debug命令表Word格式.docx_第1页
第1页 / 共12页
DOS的debug命令表Word格式.docx_第2页
第2页 / 共12页
DOS的debug命令表Word格式.docx_第3页
第3页 / 共12页
DOS的debug命令表Word格式.docx_第4页
第4页 / 共12页
DOS的debug命令表Word格式.docx_第5页
第5页 / 共12页
DOS的debug命令表Word格式.docx_第6页
第6页 / 共12页
DOS的debug命令表Word格式.docx_第7页
第7页 / 共12页
DOS的debug命令表Word格式.docx_第8页
第8页 / 共12页
DOS的debug命令表Word格式.docx_第9页
第9页 / 共12页
DOS的debug命令表Word格式.docx_第10页
第10页 / 共12页
DOS的debug命令表Word格式.docx_第11页
第11页 / 共12页
DOS的debug命令表Word格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DOS的debug命令表Word格式.docx

《DOS的debug命令表Word格式.docx》由会员分享,可在线阅读,更多相关《DOS的debug命令表Word格式.docx(12页珍藏版)》请在冰点文库上搜索。

DOS的debug命令表Word格式.docx

SP根据被调试程序确定,分别指向代码段和堆栈段。

DS=ES指向当前可用的主存段,BX.CX包含被调试文件大小的字节数(BX为高16位),其他通用寄存器为0,状态标志都是清0状态。

Debug的命令都是一个字母,后跟一个或多个参数:

字母 

[参数]

命令的使用中注意:

① 

字母不分大小写;

② 

只使用16进制数,没有后缀字母;

③ 

分隔符(空格或逗号)只在两个数值之间是必须的,命令和参数间可无分隔符;

④ 

每个命令只有按了回车键后才有效,可以用Ctrl+Break中止命令的执行;

⑤ 

命令如果不符合Debug的规则,则将以“error”提示,并用“^”指示错误位置。

许多命令的参数是主存逻辑地址,形式是“段基地址 

偏移地址”。

其中,段基地址可以是段寄存器或数值;

偏移地址是数值。

如果不输入段地址,则采用默认值,可以是缺省段寄存器值。

如果没有提供偏移地址,则通常就是当前偏移地址。

对主存操作的命令还支持地址范围这种参数,它的形式是:

“开始地址 

结束地址”(结束地址不能具有段地址),或者是:

L字节长度”。

显示命令D

D(Dump)命令显示主存单元的内容,它的格式如下(注意分号后的部分用于解释命令功能,不是命令本身):

D[地址] 

显示当前或指定开始地址的主存内容

D[范围] 

显示指定范围的主存内容

例如,显示当前(接着上一个D命令(mì

nglì

ng)显示的最后一个地址)主存内容:

左边部分是主存逻辑地址,中间是连续16个字节的主存内容(16进制数,以字节为单位(dānwè

i)),右边部分是这16个字节内容的ASCII字符显示,不可显示字符用点“.”表示。

一个D命令仅显示“8行×

16个字节”(80列显示模式)内容。

再如:

-d100 

显示数据段100h开始(kāishǐ)的主存单元

-dcs:

显示(xiǎnshì

)代码段的主存内容

-d2f0L20 

)ds:

2f0h开始的20h个主存数据

E(Enter)命令用于修改主存内容,它有两种格式:

地址 

 

格式1,修改指定地址的内容

数据表 

格式2,用数据表的数据修改指定地址的内容

格式1是逐个单元相继修改的方法。

例如,键入“e 

ds:

100”,Debug显示原来内容,用户可以直接输入新数据,然后按空格键显示下一个单元的内容,或者按“-”键显示上一个单元的内容;

不需要修改可以直接按空格或“-”键;

这样,用户可以不断修改相继单元的内容,直到用回车键结束该命令为止。

格式2可以一次修改多个单元,例如:

-e 

100 

F3`XYZ`8D 

用F3/`X`/`Y`/`Z`/8D这5个数据替代DS:

0100 

0104的原来内容

F(Fill)命令用于对一个主存区域(qūyù

)填写内容,同时改写原来的内容,其格式为:

范围(fà

nwé

i) 

数据表

该命令用数据表的数据写入指定(zhǐdì

ng)范围的主存。

如果数据个数超过指定的范围,则忽略多出的项;

如果数据个数小于指定的范围,则重复使用这些数据,直到填满指定范围。

R(Register)命令(mì

ng)用于显示和修改处理器的寄存器,它有三种格式。

格式1,显示(xiǎnshì

)所有寄存器内容和标志位状态

例如,当我们刚进入Debug时,就可以执行该命令,显示示例如下:

其中,前两行给出所有寄存器的值,包括各个标志状态。

最后一行给出了当前CS 

IP处的指令;

由于这是一个涉及数据的指令,这一行的最后还给出相应单元的内容。

寄存器名 

格式(gé

shi)2,显示和修改指定寄存器

例如,键入“r 

ax”,Debug给出当前(dāngqiá

n)AX内容,冒号后用于输入新数据,如不修改则按Enter键。

RF 

格式3,显示和修改(xiūgǎi)标志位

Debug将显示当前各个标志位的状态。

显示的符号及其状态如表F1.1所示,用户只要输入(shūrù

)这些符号就可以修改对应的标志状态,键入的顺序可以任意。

汇编命令(mì

ng)A(Assemble)用于将输入的汇编指令汇编成为机器代码保存于主存。

[地址] 

从指定地址开始汇编指令

A命令中如果没有指定地址,则接着上一个A命令的最后一个单元开始;

若还没有使用过A命令,则从当前CS 

IP开始。

输入A命令后,就可以输入8086指令,Debug将它们汇编成机器代码,相继地存放在指定地址开始的存储区中,记住最后要输入一个回车结束A命令。

进行汇编的步骤如下:

输入汇编命令A 

[地址],按回车。

Debug提示地址,等待你输入新指令;

输入汇编指令,按回车;

如上继续输入汇编指令,直到输入所有指令;

不输入内容就按回车,结束汇编,返回Debug的提示符状态。

A命令支持标准的8086(和8087浮点)指令系统(zhǐlì

nɡxì

tǒnɡ)以及汇编语言语句格式,但要注意以下一些规则:

• 

所有输入的数值都是16进制数;

段超越指令需要在相应指令前,单独一行输入;

段间(远)返回(fǎnhuí

)的助记符要使用RETF;

A命令也支持最常用的两个伪指令DB和DW。

反汇编命令U(Unassemble)将主存内容按照机器代码形成(xí

ngché

ng)汇编指令显示:

[地址(dì

zhǐ)] 

从指定地址开始,反汇编32个字节(80列显示(xiǎnshì

)模式)

范围 

对指定范围的主存内容进行反汇编

U命令中如果没有指定地址,则接着上一个U命令的最后一个单元开始;

若还没有使用过U命令,则从当前CS 

屏幕显示的左边是主存逻辑地址,中间是该指令的机器代码,而右边则是对应的指令汇编格式。

运行命令G(Go)从指定地址(dì

zhǐ)处开始运行程序,直到遇到断点或者程序正常结束。

[=地址(dì

[断点地址1,断点地址2,...,断点地址10]

G命令等号后的地址指定程序段运行的起始地址,如不指定则从当前的CS 

IP开始运行。

断点地址如果只有偏移(piānyí

)地址,则默认是代码段CS;

断点可以没有,但最多只能有10个。

程序遇到断点(实际上就是断点中断指令INT 

3),停止执行,并显示当前所有寄存器和标志位的内容、以及下一条将要执行的指令(显示内容同R命令(mì

ng)),以便观察程序运行到此的情况。

程序正常结束,将显示“Program 

terminated 

normally”。

注意(zhù

),G命令以及后面的T和P命令要指向正确的指令代码,否则会出现不可预测的结果,例如“死机”。

跟踪命令T(Trace),也称为单步命令,每执行一条指令就显示运行结果,使程序员可以细致地观察程序的执行情况。

[=地址] 

逐条指令跟踪

[数值] 

多条指令跟踪

从指定地址起执行一条或数值参数指定条数的指令后停下来,每条指令执行后都要显示所有寄存器和标志位的值以及下一条指令。

如未指定地址则从当前的CS 

IP开始执行。

注意给出的执行地址前有一个等号,否则会被认为是被跟踪指令的条数(数值)。

T命令逐条指令执行程序,遇到子程序(CALL)或中断调用(INT 

n)指令也不例外,也会进入(jì

nrù

)到子程序或中断服务程序当中执行。

继续命令P(Proceed)类似T命令,逐条执行指令(zhǐlì

ng)、显示结果。

但是当遇到子程序调用、中断功能调用和循环指令等时,不在子程序、中断服务程序或循环体中单步执行,而是直接执行完成子程序、中断服务程序或循环体,然后显示结果。

当不需要调试(dià

oshì

)子程序、中断服务程序或循环程序段时,要应用P命令,而不是T命令。

[数值]

继续命令P(Proceed)类似T命令,逐条执行指令、显示结果。

但是当遇到(yù

o)子程序调用、中断功能调用和循环指令等时,不在子程序、中断服务程序或循环体中单步执行,而是直接执行完成子程序、中断服务程序或循环体,然后显示结果。

当不需要调试子程序、中断服务程序或循环(xú

nhuá

n)程序段时,要应用P命令,而不是T命令。

命名命令N(Name)把一个或两个可以包含路径的文件全名存入Debug中,以便(yǐbià

n)在其后用L或W命令把文件装入或存盘。

文件名1[,文件名2]

装入命令(mì

ng)L(Load)将磁盘中的文件或扇区内容装载到主存中。

格式1:

装入由N命令指定的文件

格式1的L命令(mì

ng)装载一个文件到给定的主存地址处。

地址(dì

zhǐ) 

驱动器 

扇区号 

扇区数 

格式2:

装入指定(zhǐdì

ng)磁盘扇区范围的内容

格式2的L命令装载磁盘的若干扇区(最多80h)到给定的主存地址处;

缺省段地址是CS。

其中(qí

zhōng),0表示A盘,1表示B盘,2表示C盘,……。

写盘命令W(Write)主存内容写入磁盘的文件(wé

njià

n)或扇区中,与L命令相反。

将由N命令指定的文件写入磁盘

格式1的W命令将指定开始地址的数据写入一个文件(这个文件应该已经用N命令命名);

如未指定地址则从CS 

100开始。

要写入文件的字节数应先放入BX(高字)和CX(低字)中。

如果采用这个W命令保存你的可执行程序,它的扩展名应是COM;

它不能写入具有EXE和HEX扩展名的文件。

把数据写入指定磁盘扇区范围

格式2的W命令将指定地址的数据写入磁盘的若干扇区(最多80H);

如果没有给出段地址,则缺省是CS。

其他说明同L命令。

由于格式2的W命令直接对磁盘写入,没有经过DOS文件系统管理,所以一定要小心,否则可能无法利用DOS文件系统读写。

写盘命令W(Write)主存内容写入磁盘的文件或扇区中,与L命令相反。

格式1的W命令将指定开始地址(dì

zhǐ)的数据写入一个文件(这个文件应该已经用N命令命名);

shi)2:

由于格式2的W命令直接对磁盘写入,没有经过DOS文件系统管理,所以一定要小心,否则(fǒuzé

)可能无法利用DOS文件系统读写。

内容总结

(1)DOS的提示符下,可如下键入Debug启动调试程序:

[路径\文件名] 

Debug后可以不带文件名,仅运行Debug程序

(2)DOS的提示符下,可如下键入Debug启动调试程序:

(3)运行命令G(Go)从指定地址处开始运行程序,直到遇到断点或者程序正常结束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2