《debug命令详解》

下载本书

添加书签

debug命令详解- 第2部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
有关指定用于 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 
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架