友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

debug命令详解-第2章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



h19f 10a 
Debug 执行运算并显示以下结果。 
02A9 0095 
Debug:I(输入) 

从指定的端口读取并显示一个字节值。 
i port 
参数 
port 
按地址指定输入端口。地址可以是 16 位的值。 
有关将字节值发送到输出端口的信息,请参看Debug O(输出)。 

范例 
假定键入以下命令: 
i2f8 
同时假定端口的字节值是 42h。Debug 读取该字节,并将其值显示如下: 
42 

Debug:L(加载) 
将某个文件或特定磁盘扇区的内容加载到内存。 
要从磁盘文件加载 BX:CX 寄存器中指定的字节数内容,请使用以下语法: 
l 'address' 
要略过 Windows 2000 文件系统并直接加载特定的扇区,请使用以下语法: 
l address drive start number 

参数 
address 
指定要在其中加载文件或扇区内容的内存位置。如果不指定 address,Debug 将使用 CS 寄存器中的当前地址。 
drive 
指定包含读取指定扇区的磁盘的驱动器。该值是数值型:0 = A; 1 = B; 2 = C 等。 
start 
指定要加载其内容的第一个扇区的十六进制数。 
number 
指定要加载其内容的连续扇区的十六进制数。只有要加载特定扇区的内容而不是加载 debug 命令行或最近的 Debug n(名称)命令中指定的文件时,才能使用 drive、start 和 number 参数。 
有关指定用于 l 命令的文件的信息,请参看Debug n(名称)。 
有关写入调试到磁盘的文件的信息,请参看Debug w(写入)。 

注意 
使用不带参数的 l 命令 
当使用不带参数的 l 命令时,在 debug 命令行上指定的文件将加载到内存中,从地址 CS:100 开始。Debug 同时将 BX 和 CX 寄存器设置为加载的字节数。如果不在 debug 命令行指定文件,所装入的文件将是最近使用 n 命令经常指定的文件。 

使用具有 address 参数的 1 命令 
如果使用带 address 参数的 l 命令,Debug 将从内存位置 address 开始加载文件或指定扇区的内容。 

使用带全部参数的 l 命令 
如果使用带所有参数的 l 命令,Debug 将加载指定磁盘扇区的内容而不是加载文件。 

加载特定扇区的内容 
指定范围内的每个扇区均从 drive 读取。Debug 从 start 开始加载,直到在 number 中指定的扇区数中的内容全部被加载。 

加载 。exe 文件 
Debug 忽略 。exe 文件的地址 address 参数。如果指定 。exe 文件,Debug 将文件重新定位到 。exe 文件的标题中指定的加载地址。在 。exe 文件被加载到内存前,标题自身从 。exe 文件脱离,因此磁盘上的 。exe 文件大小与内存中的不同。如果要检查整个 。exe 文件,请使用不同的扩展名重命名文件。 

打开十六进制文件 
Debug 将具有 。hex 扩展名的文件认为十六进制格式文件。键入不带参数的 l 命令,可以加载从十六进制文件中指定的地址处开始的十六进制文件。如果键入的 l 命令包含 address 参数,Debug 将把指定的地址加到在十六进制文件中找到的地址上,以确定起始地址。 

范例 
假定启动 Debug 并键入以下命令: 
nfile 
现在可以键入 l 命令以加载 File。Debug 将加载文件并显示 Debug 提示符。 
假定需要从驱动器 C 将起始逻辑扇区为 15 (0Fh) 的 109 (6Dh) 个扇区的内容加载到起始地址为 04BA:0100 的内存中。为此,请键入以下命令: 
l04ba:100 2 0f 6d 

Debug:M(移动) 

将一个内存块中的内容复制到另一个内存块中。 
m range address 

参数 
range 
指定要复制内容的内存区域的起始和结束地址,或起始地址和长度。 
address 
指定要将 range 内容复制到该位置的起始地址。 
说明 
复制操作对现有数据的影响 
如果新数据没有写入正在被复制的数据块中的地址,则源数据将保持不变。但是,如果目标块已经包含数据(就象它在覆盖副本操作中一样),则将改写该数据。(覆盖复制操作是指那些目标数据块部分内容覆盖原数据块部分内容的操作。) 

执行覆盖复制操作 
m 命令执行目标地址的覆盖复制操作,而不丢失数据。将改写的地址内容首先复制。因此,如果将较高位地址的数据复制到较低位地址,则复制操作从原块的最低位地址开始并向最高位地址进行。反之,如果要将数据从低地址复制到高地址,复制操作从原块的最高地址开始,向最低地址进行。 

范例 
假定键入以下命令: 
mcs:100 110 cs:500 
Debug 首先将 CS:110 地址中的内容复制到地址 CS:510 中,然后将 CS:10F 地址中的内容复制到 CS:50F 中,如此操作直至将 CS:100 地址中的内容复制到地址 CS:500 
返回目录 上一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!