转自:http://wenku.baidu.com/view/93aaf5758e9951e79b8927d8.html

DOS常用命令

1.3.1、目录操作类命令:

1.3.1.1、MD——建立子目录

1.功能:创建新的子目录

2.类型:内部命令

3.格式:MD[盘符:][路径名]〈子目录名〉

4.使用说明:

(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;

(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。

例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。

C:\>MD FOX (在当前驱动器C盘下创建子目录FOX)

C:\>MD FOX \ USER (在FOX 子目录下再创建USER子目录)

1.3.1.2、CD——改变当前目录

1.功能:改变当前目录

2.类型:内部命令

3.格式:CD[盘符:][路径名][子目录名]

4.使用说明:

(1)如果省略路径和子目录名则显示当前目录;

(2)如采用“CD\”格式,则退回到根目录;

(3)如采用“CD..”格式则退回到上一级目录。

例:(1)进入到USER子目录;

(2)从USER子目录退回到子目录;

(3)返回到根目录。

C::\>CD FOX \USER(进入FOX子目录下的USER子目录)

C:\FOX\USER>CD.. (退回上一级根目录)

C:\FOX>CD\ (返回到根目录)

C:\>

1.3.1.3、RD——删除子目录命令

1.功能:从指定的磁盘删除了目录。

2.类型:内部命令

3.格式:RD[盘符:][路径名][子目录名]

4.使用说明:

(1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该目录本身;

(2)不能删除根目录和当前目录。

例:要求把C盘FOX子目录下的USER子目录删除,操作如下:

第一步:先将USER子目录下的文件删空;

C:\>DEL C:\FOX\USER\*.*

第二步,删除USER子目录。

C:\>RD C:\FOX\USER

1.3.1.4、DIR——显示磁盘目录命令

1.功能:显示磁盘目录的内容。

2.类型:内部命令

3.格式:DIR [盘符][路径][/P][/W]

4.使用说明:

(1)/P的使用:当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示::Press any key to continue

(2)/W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。

1.3.1.5、PATH——路径设置命令

1.功能:设置可执行文件的搜索路径,只对文件有效。

2.类型:内部命令

3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}

4.使用说明:

(1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;

(2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;

(3)PATH命令有三种使用方法:

PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径)

PATH:(取消所有路径)

PATH:(显示目前所设的路径)

1.3.1.6、TREE——显示磁盘目录结构命令

1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。

2.类型:外部命令

3.格式:TREE[盘符:][/F][》PRN]

4.使用说明:

(1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;

(2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。

1.3.1.7、DELTREE——删除整个目录命令

1.功能:将整个目录及其下属子目录和文件删除。

2.类型:外部命令

3.格式:DELTREE[盘符:]〈路径名〉

4.使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除,而且不管文件的属性为隐藏、系统或只读,只要该文件位于删除的目录之下,DELTREE都一视同仁,照删不误。使用时务必小心!!!

1.3.2、磁盘操作类命令

1.3.2.1、format——磁盘格式化命令

1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。

2.类型:外部命令

3.格式:formAT〈盘符:〉[/S][/4][/Q]

4.使用说明:

(1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:

WARNING:ALL  DATA  ON  NON——REMOVABLE DISK

DRIVE C:WILL BE LOST !

Proceed with format (Y/N) ?

(警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?)

(2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A;and press ENTER when ready…

(在A驱中插入新盘,准备好后按回车键)。

(3)选用[/S]参数,将把DOS系统文件IO.SYS、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磁盘只能读写信息,而不能做为启动盘;

(4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;

(5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。

(6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORMAT恢复原来的数据。

1.3.2.2、DISKCOPY——整盘复制命令

1.功能:复制格式和内容完全相同的软盘。

2.类型:外部命令

3.格式:DISKCOPY[盘符1:][盘符2:]

4.使用说明:

(1)如果目标软盘没有格式化,则复制时系统自动选进行格式化。

(2)如果目标软盘上原有文件,则复制后将全部丢失。

(3)如果是单驱动器复制,系统会提示适时更换源盘和目标盘,请操作时注意分清源盘和目标盘。

1.3.3、文件操作类命令

1.3.3.1、 COPY文件复制命令

1.功能:拷贝一个或多个文件到指定盘上。

2.类型:内部命令

3.格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]

4.使用说明:

(1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化;

(2)复制过程中,目标盘上相同文件名称的旧文件会被源文件取代;

(3)复制文件时,必须先确定目标般有足够的空间,否则会出现;insufficient的错误信息,提示磁盘空间不够;

(4)文件名中允许使用通配符“*”“?”,可同时复制多个文件;

(5)COPY命令中源文件名必须指出,不可以省略。

(6)复制时,目标文件名可以与源文件名相同,称作“同名拷贝”此时目标文件名可以省略;

(7)复制时,目标文件名也可以与源文件名不相同,称作“异名拷贝”,此时,目标文件名不能省略;

(8)复制时,还可以将几个文件合并为一个文件,称为“合并拷贝”,格式如下:COPY;[源盘][路径]〈源文件名1〉〈源文件名2〉…[目标盘][路径]〈目标文件名〉;

(9)利用COPY命令,还可以从键盘上输入数据建立文件,格式如下:COPY CON [盘符:][路径]〈文件名〉;

(10)注意:COPY命令的使用格式,源文件名与目标文件名之间必须有空格!

1.3.3.2、TYPE——显示文件内容命令

1.功能:显示ASCII码文件的内容。

2.类型:内部命令。

3.格式:TYPE[盘符:][路径]〈文件名〉

4.使用说明:

(1)显示由ASCII码组成的文本文件,对。EXE.COM等为扩展名的文件,其显示的内容是无法阅读的,没有实际意义;

(2)该命令一次只可以显示一个文件的内容,不能使用通配符;

(3)如果文件有扩展名,则必须将扩展名写上;

(4)当文件较长,一屏显示不下时,可以按以下格式显示;TYPE[盘符:][路径]〈文件名〉|MORE,MORE为分屏显示命令,使用些参数后当满屏时会暂停,按任意键会继续显示。

(5)若需将文件内容打印出来,可用如下格式:

TYPE[盘符:][路径]〈文件名〉,>PRN

此时,打印机应处于联机状态。

1.3.3.3、 REN——文件改名命令

1.功能:更改文件名称

2.类型:内部命令

3.格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉

4.使用说明:

(1)新文件名前可以不加上盘符和路径,因为该命令只能对同一盘上的文件更换文件名;

(2)允许使用通配符更改一组文件名或扩展名。

1.3.3.4、 DEL——删除文件命令

1.功能:删除指定的文件。

2.类型:内部命令

3.格式:DEL[盘符:][路径]〈文件名〉[/P]

4.使用说明:

(1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除;

(2)该命令不能删除属性为隐含或只读的文件;

(3)在文件名称中可以使用通配符;

(4)若要删除磁盘上的所有文件(DEL*·*或DEL·),则会提示:(Areyou sure?)(你确定吗?)若回答Y,则进行删除,回答N,则取消此次删除作业。

1.3.4、其它命令

1.3.4.1、CLS——清屏幕命令

1.功能:清除屏幕上的所有显示,光标置于屏幕左上角。

2.类型:内部命令

3.格式:CLS

1.3.4.2、 VER查看系统版本号命令

1.功能:显示当前系统版本号

2.类型:内部命令

3.格式:VER

1.3.4.3、 DATA日期设置命令

1.功能:设置或显示系统日期。

2.类型:内部命令

3.格式:DATE[mm——dd——yy]

4.使用说明:

(1)省略[mm——dd——yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm——dd——yy]为“月月——日日——年年”格式;

(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。

1.3.4.4、 TIME系统时钟设置命令

1.功能:设置或显示系统时期。

2.类型:内部命令

3.格式:TIME[hh:mm:ss:xx]

4.使用说明:

(1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式;

(2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。

1.3.4.5、MEM查看当前内存状况命令

1.功能:显示当前内存使用的情况

2.类型:外部命令

3.格式:MEM[/C][/F][/M][/P]

4.使用说明:

(1)选用/C参数列出装入常规内存和CMB的各文件的长度,同时也显示内存空间的使用状况和最大的可用空间;

(2)选用/F参数分别列出当前常规内存剩余的字节大小和UMB可用的区域及大小;

(3)选用/M参数显示该模块使用内存的地址、大小及模块性质;

(4)选用/P参数指定当输出超过一屏时,暂停供用户查看。

1.3.4.6、 MSD显示系统信息命令

1.功能:显示系统的硬件和操作系统的状况。

2.类型:外部命令

3.格式:MSD[/I][/B][/S]

4.使用说明:

(1)选用/I参数时,不检测硬件;

(2)选用/B参数时,以黑白方式启动MSD;

(3)选用/S参数时,显示出简明的系统报告。

DEBUG

DEBUG是专门为汇编语言设计的一种调试工具,它通过步进、设置断点等方式为汇编程序员提供了非常有效的调试手段,DEBUG程序可跟踪运行程序的踪迹,还可直接与磁盘文件或指定的扇区对话。所有的DEBUG命令为单一字母,其后可跟一个或多个参数,参数间用分界符号(逗号或分号)隔开(DEBUG对字母的大小写不敏感);每个命令以回车键作为结束符;所使用的地址的格式为:段基址:偏移量,其中段地址可用CS、DS、SS、ES表示,也可用十六进制表示;命令参数中的数据和机器显示的数据均为十六进制(数据后不再以H结尾)。

进入DEBUG后出现提示符“—”后可使用DEBUG命令。DEBUG中常用的命令有:

格  式  图  例

格式

意义

斜体

用户必须提供的信息

粗体

用户必须严格按照其显示键入的元素

省略号 (...)

可在命令行中重复多次的参数

在括号 ([]) 之间

可选项目

用户必须从中只选择一个选项的选项组

Courier 字体

在大括号 ({})     之间;将选项用管线     ( | ) 隔开。例如:{even|odd}

代码或程序输出

1.4.1、Debug:a (assemble)

直接将 8086/8087/8088 助记键合并到内存。在没有参数的情况下使用,a 命令会从它最后停止的位置开始汇编。

语法

a [Address]

参数

Address

指定键入汇编语言助记键的位置。对Address 使用十六进制值,并键入不以h 字符结尾的每个值。

示例

a 子命令支持所有形式的间接注册命令。例如:

add bx,34[bp+2][si-1]

pop [bp+di]

push [si]

a 子命令还支持所有操作码同义词。例如:

loopz 100

loope 100

ja 200

jnbe 200

1.4.2、Debug:c (compare)

比较内存的两个部分。

语法

c range address

参数

Range

必需。指定要比较的内存第一个区域的起始和结束地址,或起始地址和长度。

Address

必需。指定要比较的第二个内存区域的起始地址。

示例

要比较从100h 到10Fh 的内存块与从 300h 到 30Fh 的内存块,可键入:

c100,10f 300 或  c100l10 300 (注意100与10中间是小写L)

这两个命令都会产生下列输出结果(假定 DS = 197F):

197F:0100 4D E4 197F:0300

197F:0101 67 99 197F:0301

197F:0102 A3 27 197F:0302

197F:0103 35 F3 197F:0303

197F:0104 97 BD 197F:0304

197F:0105 04 35 197F:0305

197F:0107 76 71 197F:0307

197F:0108 E6 11 197F:0308

197F:0109 19 2C 197F:0309

197F:010A 80 0A197F:030A

197F:010B 36 7F 197F:030B

197F:010C BE 22 197F:030C

197F:010D 83 93 197F:030D

197F:010E 49 77 197F:030E

197F:010F 4F8A 197F:030F

该列表中缺少地址197F:0106和197F:0306。这表明那些地址中的值是相同的。

1.4.3、Debug:d (dump)

显示一定范围内存地址的内容。使用不带参数的d 可用从前一个d 子命令中指定的地址范围的末尾开始,显示 128 个字节的内容。

语法

d [Range]

参数

Range

指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。

示例

键入:

dcs:100 10f

Debug.exe 按以下格式显示该范围中的内容:

04BA:0100 54 4F 4D 00 53 41 57 59-45 52 00 00 00 00 0000.....

如果键入不带参数的d 子命令,Debug.exe 将按上面示例中的格式来格式化显示内容。“命令提示符”窗口中的每一行都起始于比前一行地址大 16 个字节(如果是 40 列的屏幕,则为 8 个字节)的地址。对于后面键入的每个不带参数的d 子命令,Debug.exe 将紧接在最后显示的命令后立即显示字节内容。

要显示从 CS:100 开始的 20h 字节的内容,请键入:

dcs:100 l 20     (注意100与20中间是小写L)

要显示 CS 段中从 100h 到 115h 行范围内的所有字节的内容,请键入:

dcs:100,115

 

1.4.4、Debug:e (enter)

将数据输入到内存中指定的地址。

语法

eAddress [List]

参数

Address

必需。指定输入数据的第一个内存位置。

List

指定要输入到内存的连续字节中的数据。

示例

键入:

ecs:100

Debug.exe 按下面的格式显示第一个字节的内容:

04BA:0100 EB._

要将该值更改为 41,请在插入点键入41,如下所示:

04BA:0100 EB.41_

可以通过一个e 子命令键入连续的字节值。在键入新值后按空格键,而不是按 Enter。Debug.exe 将显示下一个值。在此示例中,如果按三次空格键,Debug.exe 将显示下面的值:

04BA:0100 EB.41 10. 00. BC._

要将十六进制值 BC 更改为 42,请在插入点键入42,如下所示:

04BA:0100 EB.41 10. 00. BC.42_

要将值 10 更改为 6F,请按两次 Hyphen 键以返回到地址 0101(值 10)。Debug.exe 显示如下信息:

04BA:0100 EB.41 10. 00. BC.42-

04BA:0102 00.-

04BA:0101 10._

在插入点键入6F 以更改此值,如下所示:

04BA:0101 10.6F_

按 Enter 以停止e 子命令并返回到debug 提示符下。

以下是字符串项的示例:

eds:100 "This is the textexample"

将使用该字符串从 DS:100 开始填充 24 个字节。

1.4.5、Debug:f (fill)

使用指定的值填充指定内存区域中的地址。

语法

f Range List

参数

Range

必需。指定要填充内存区域的起始和结束地址,或起始地址和长度。

List

必需。指定要输入的数据。

示例

要使用 5 个特定值(例如,42、45、52、54、41)填充从 04BA:100 到 04BA:1FF 的内存位置,Debug.exe 重复这 5 个值直到 100h 个字节全部填满为止,请键入:

f04ba:100l100 42 45 52 54 41(注意100与100中间是小写L)

 

1.4.6、Debug:g (go)

运行当前在内存中的程序。如果在没有参数的情况下使用,则 g 命令将在 CS:IP 寄存器的当前地址处开始运行。

语法

g [=Address] [BreakPoints]

参数

Address

对于当前在内存中的程序,指定它开始运行的地址。

BreakPoints

指定可以设置为 g 子命令的一部分的 1 到 10 个临时断点。

示例

要运行当前内存中的程序,并要执行到 CS 段中的断点地址 7550 为止,请键入:

gcs:7550

Debug.exe 将显示寄存器的内容和标志的状态,然后终止g 子命令。

要设置两个断点,请键入:

gcs:7550, cs:8000

如果在 Debug.exe 遇到某个断点之后再次键入 g 子命令,将从该断点之后的指令开始执行,而不是在开始地址处执行。

1.4.7、Debug:h (hexadecimal)

对指定的两个参数执行十六进制运算。

语法

h Value1Value2

参数

Value1

必需。代表从 0 到 FFFFh 范围内的任何十六进制数字。

Value2

必需。代表从 0 到 FFFFh 范围内第二个十六进制数字。

示例

键入:

h19f 10a

Debug.exe 执行计算并显示以下结果:

02A9 0095

1.4.8、Debug:i (input)

从指定的端口读取并显示一个字节值。

语法

iPort

参数

Port

必需。按地址指定输入端口。地址可以是 16 位的值。

示例

键入:

i2f8

如果端口的字节值为 42h,Debug.exe 会读取该字节并按下述形式显示其值:

42

1.4.9、Debug:l (load)

将某个文件或特定磁盘扇区的内容加载到内存。在不带参数的情况下使用,l 子命令会将您在 debug 命令行上指定的文件从地址 CS:100 开始加载到内存中。

Debug.exe 同时将 BX 和CX寄存器设置为加载的字节数。如果未在 debug 命令行上指定文件,将加载最近使用 n(名称)子命令指定的文件。

语法

l [Address]

l [Address] [Drive] [FirstSector] [Number]

参数

Address

指定要在其中加载文件或扇区内容的内存位置。如果不指定Address,Debug.exe 将使用CS 寄存器中的当前地址。

Drive

指定包含读取指定扇区的磁盘的驱动器。该值是数值型的:0 = A、1 = B、2 = C 等等。

FirstSector

指定要加载其内容的第一个扇区的十六进制数。

Number

指定要加载其内容的连续扇区的十六进制数。只有要加载特定扇区的内容而不是加载在 debug 命令行上或在最近 n(名称)子命令中指定的文件时,才能使用 Drive、FirstSectorNumber 参数。

示例

在命令提示符下,键入:

debug

键入:

nfile.com

要加载 File.com 文件,请键入:

l

Debug.exe 加载该文件并显示 debug 提示符。

要从驱动器 C 将起始逻辑扇区为 15 (0Fh) 的 109 (6Dh)个扇区的内容加载到起始地址为 04BA:0100的内存中,请键入:

l04ba:100 2 0f 6d   (第一个字符是小写L)

 

1.4.10、Debug:m (move)

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

语法

mRangeAddress

参数

Range

必需。指定要复制其内容的内存区域的起始地址和结束地址,或起始地址和长度。

Address

必需。指定要将 Range 内容复制到的位置的起始地址。

示例

要将 CS:110 地址中的内容复制到地址 CS:510 中,然后将 CS:10F 地址中的内容复制到 CS:50F 中,如此操作直至将 CS:100 地址中的所有内容复制到地址 CS:500 中,请键入:

mcs:100 110 cs:500

要查看结果,请使用d(转储)子命令,并使用m 子命令指定使用的目标地址。

1.4.11、Debug:n (name)

debugl (load) 或w (write) 子命令指定可执行文件的名称,或者针对要调试的可执行文件指定参数。如果在没有参数的情况下使用,则n 会清除当前规范。

语法

n [Path][Executable]

n [FileParameters]

参数

[Path][Executable]

指定要测试的可执行文件的位置和名称。

[FileParameters]

为正在测试的可执行文件指定参数和命令行选项。

示例

本示例中,将运行 debug 并加载用于调试的程序 Prog . com。要为 Prog.com 指定两个参数,然后运行该程序,请键入:

debug prog.com

nparam1 param2

g

在这种情况下,g(转向)子命令会运行该程序,就如同在命令提示符下键入了如下命令一样:

prog param1 param2

测试和调试操作反映了 Prog . com 通常的运行时环境。

在下面的命令序列中,第一个 n 子命令指定 File1.exe 将用于其后的 l(load) 子命令,该命令会将File1.exe 加载到内存。第二个 n 子命令指定了 File1.exe 将要使用的参数。最后,g(转向)子命令将运行File1.exe 文件,就如同在命令提示符下键入了 File1

File2.dat File2.dat 一样。

nfile1.exe

l

nfile2.dat file3.dat

g

不要在n 子命令的第二个实例后使用 l 子命令。如果在n 子命令的第二个实例后使用了w(写入)子命令,将会使用 File2.dat 的文件名保存 File1.exe(即要调试的文件)。为避免出现此结果,应该总是在lw 子命令之前使用 n 子命令的第一种形式。

1.4.12、Debug:o (output)

将字节值发送到输出端口。

语法

o PortByteValue

参数

Port

必需。通过地址指定输出端口。端口地址可以是 16 位值。

ByteValue

必需。指定要发送到 Port 的字节值。

示例

要将字节值 4Fh 发送到地址为 2F8h 的输出端口,请键入:

o2f8 4f

 

1.4.13、Debug:p (proceed)

执行循环、重复字符串指令、软件中断或子例程。或者,通过其他指令进行跟踪。如果在不含参数的情况下使用,则 p 列出寄存器和它们当前的值。

语法

p [=Address] [Number]

参数

Address

指定执行第一条指令的位置。如果不指定地址,则默认地址是在 CS:IP 寄存器中指定的当前地址。

Number

指定将控制返回给 Debug.exe 之前要运行的指令数。默认值为 1。

示例

该示例中,要测试的程序在地址 CS:143F 处包含一个 call 命令指令。要运行由call 命令调用的子例程,然后将控制返还给

Debug.exe,请键入:

p=143f

Debug.exe 按以下格式显示结果:

AX=0000 BX=0000 CX=0000 DX=0000SP=FFEE BP=0000 SI=0000 DI=0000

DS=2246 ES=2246 SS=2246 CS=2246IP=1443 NV UP EI PL NZ AC PO NC

2246:1442 7505 JNZ 144A

 

1.4.14、Debug:q (quit)

无需保存当前测试的文件即可停止 Debug.exe 会话,并返回到命令提示符。

语法

q

1.4.15、Debug:r (register)

显示或改变一个或多个 CPU 寄存器的内容。如果在不含参数的情况下使用,则r 命令在当前位置显示所有寄存器的内容和寄存器存储区的标志、所有标志的状态以及指令的解码形式。

语法

r [Register]

参数

Register

指定包含要显示信息的寄存器名称。

示例

如果当前位置是 CS:11A,则显示外观将类似于以下内容:

AX=0E00 BX=00FF CX=0007 DX=01FFSP=039D BP=0000 SI=005C DI=0000

DS=04BA ES=04BA SS=04BA CS=O4BAIP=011A NV UP DI NG NZ AC PE NC

04BA:011A CD21 INT 21

如果只希望查看标志状态,请键入:

rf

Debug.exe 按以下格式显示信息:

NV UP DI NG NZ AC PE NC - _

按任意顺序键入一个或多个有效的标志值,而且可以带或不带空格。例如:

nv up di ng nz ac pe nc -pleicy

Debug.exe 终止r 子命令并显示 Debug 提示符。要查看所作的更改,请键入 rrf。Debug.exe 显示如下信息:

NV UP EI PL NZ AC PE CY - _

按 Enter 返回 Debug 提示符。

1.4.16、Debug:s (search)

在某个地址范围搜索一个或多个字节值的模式。

语法

sRangeList

参数

Range

必需。指定要搜索范围的起始地址和结束地址。

List

必需。指定要搜索的一个或多个字节值,或者字符串的模式。

示例

要在从 CS:100 到 CS:110 的范围中查找包含值 41 的所有地址,请键入:

scs:100 110 41

Debug.exe 按以下格式显示结果:

04BA:0104

04BA:010D-

要在从 CS:100 到 CS:1A0 的范围内搜索字符串“Ph”,请键入:

scs:100 1a0 "Ph"

 

1.4.17、Debug:t (trace)

执行一条指令,并显示所有寄存器内容、所有标志的状态以及所执行指令的解码形式。如果在不含参数的情况下使用,t 命令会开始跟踪由程序的 CS:IP 寄存器指定的地址。

语法

t [=Address] [Number]

参数

Address

指定 Debug.exe 开始跟踪指令时所用的地址。

Number

指定要跟踪的指令数。该值必须是十六进制数。默认值为 1。

示例

如果程序中的指令位于 04BA:011A,则 Debug.exe 显示下列信息:

AX=0E00 BX=00FF CX=0007 DX=01FFSP=039D BP=0000 SI=005C DI=0000

DS=04BA ES=04BA SS=04BA CS=O4BAIP=011A NV UP DI NG NZ AC PE NC

04BA:011A CD21 INT 21

1.4.18、Debug:u(unassemble)

反汇编字节并显示相应的原语句,其中包括地址和字节值。反汇编代码看起来像已汇编文件的列表。如果在没有参数的情况下使用,则u 子命令分解 20h 字节(默认值),从前面的u 子命令所显示地址后的第一个地址开始。

语法

u [Range]

参数

Range

指定要反汇编代码的起始地址和结束地址,或起始地址和长度。

示例

要从地址 04BA:0100 开始反汇编 16 (10h) 字节,请键入:

u04ba:100l10    (注意100与10之间是小写L)

Debug.exe 按以下格式显示结果:

04BA:0100 206472 AND [SI+72],AH

04BA:0103 69 DB 69

04BA:0104 7665 JBE 016B

04BA:0106 207370 AND [BP+DI+70],DH

04BA:0109 65 DB 65

04BA:010A 63 DB 63

04BA:010B 69 DB 69

04BA:010C 66 DB 66

04BA:010D 69 DB 69

04BA:010E 63 DB 63

04BA:010F 61 DB 61

如果只显示从指定地址 04BA:0100 到04BA:0108 的信息,请键入:

u04ba:0100 0108

Debug.exe 显示如下信息:

04BA:0100 206472 AND [SI+72],AH

04BA:0103 69 DB 69

04BA:0104 7665 JBE 016B

04BA:0106 207370 AND [BP+DI+70],DH

1.4.19、Debug:w (write)

将文件或特定扇区写入磁盘。不带参数的w 将从 CS:100 开始写入。

语法

w [Address]

w [Address] [Drive] [FirstSector] [Number]

参数

Address

指定要写入磁盘文件的文件或部分文件的起始内存地址。

Drive

指定包含目标磁盘的驱动器。该值是数值型的:0 = A、1 = B、2 = C 等等。

FirstSector

指定要写入第一个扇区的十六进制数。

Number

指定要写入的扇区数。

示例

要将起始地址为 CS:100 的内存内容写入驱动器 B 的磁盘中,并收集从磁盘的逻辑扇区号 37h 开始并持续 2Bh 个扇区的数据,请键入:

wcs:100 1 37 2b

当写操作完成时,Debug.exe再次显示debug 提示符。

DOS和Debug常用命令相关推荐

  1. DOS操作系统的一些常用命令

    最近付老师上课的时候要求我们 下来了解一下关于DOS操作系统的一些常用命令. 下面是我在网上找的一些资料. 第1.最常用的命令 cd 改变当前目录 sys 制作DOS系统盘 copy 拷贝文件 del ...

  2. DOS 和 Linux 常用命令的对比

    此为转载文章,转自:http://www.huihoo.org/gnu_linux/ch-doslinux.html Red Hat Linux 9: Red Hat Linux 入门指南 后退 前进 ...

  3. Dos批处理编程常用命令

    Dos批处理编程常用命令 打印输出交互 echo:打印输出.比如:echo 哈哈哈  就在dos页面里输出"哈哈哈" echo .:输出空行.[注意空格和点哈] echo off: ...

  4. DOS的一些常用命令

    原文发布时间为:2011-02-12 -- 来源于本人的百度文章 [由搬家工具导入] DOS远程桌面连接命令 mstsc /v: 192.168.1.250 /console cmd        运 ...

  5. DOS介绍以及常用命令

    DOS介绍 来自百度百科: dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统.DOS是1979年由微软公司为IBM个人电脑开发的MS-DOS,它是一个单用户单任务的操作系统.DOS是Disk ...

  6. DOS控制台及其常用命令

    Win10打开DOS控制台的方式: 1.按住Shift键,点击鼠标右键 ,可以看到"在此处打开PowerShell窗口",点击它就可以在当前目录下打开DOS控制台窗口.所谓&quo ...

  7. Dos控制台及常用命令

    本文根据秦疆老师的java系列教学视频而整理 文章目录 开启Dos控制台的几种方法 Dos常用命令 目录切换 文件操作 网络命令 打开应用软件 开启Dos控制台的几种方法 开始菜单>Window ...

  8. DEBUG常用命令总结

    DEBUG下最常用的调试指令为六个 一.常用DEBUG命令 (1)R :查看更改cpu寄存器内容 (2)D:查看内存中内容 (3)E:改写内存中内容 (4)U:将内存中机器指令翻译成汇编指令 (5)T ...

  9. 【汇编语言】debug常用命令使用

    Dosbox - debug常用指令 1. r指令 [r指令]用于查看和修改寄存器中的值. 1.1 查看寄存器 1.2 修改寄存器中的内容 2. d指令 d 指令用于查看内存中的内容,有三种使用方式 ...

  10. Linux debug 常用命令

    CentOS/Redhat/Fedora 系統命令: 1. 安装软件源 # 导入public key rpm --import https://www.elrepo.org/RPM-GPG-KEY-e ...

最新文章

  1. filter vue 循环_Vue - 基础
  2. Atitit.数据操作dsl 的设计 ---linq 方案
  3. QQ协议分析及其还原(一)
  4. windows CMD生成文件夹树状图(tree)命令(以图形显示驱动器或路径的文件夹结构)
  5. CSS中,float浮动的理解
  6. Linux之grep:过滤器按照字符进行过滤  选项规定内容样式 模式规定内容
  7. lintcode: 左填充
  8. python---numpy简单用法
  9. 读大道至简第四章有感
  10. 山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(二)
  11. 保存csdn网页为pdf,防止网页乱码
  12. 全球及中国双十烷基二甲基氯化铵(DDAC)行业现状动态及供需前景预测报告2022-2027
  13. 不要用for in 不要用for in 不要用for in 尤其在JavaScript 遍历document时
  14. Qt设置按钮背景图片,点击不显示背景
  15. 高度平衡二叉树的构建_平衡二叉树 构造方法(绝妙)
  16. linux下discus/apache服务器,局域网内无法访问--解决办法
  17. 【P110 27】C++ 深拷贝与浅拷贝
  18. Matlab中ode45求解时报错:必须返回列向量。
  19. lstm预测单词_下一个单词预测完整指南
  20. Python Appium移动端app自动化测试框架

热门文章

  1. 微信引流技巧,精准日加100+粉丝
  2. 微信小程序 地图组件标记文字
  3. matlab 中值滤波 medifit,基于多级中值滤波-提升小波技术的图像去噪
  4. kindle paperwhite2 越狱备忘
  5. 手机软件测试wifi需要注意哪些问题,WiFi工作原理、测试及生产注意事项
  6. 五险一金和个人所得税
  7. BZOJ 1695 [Usaco2007 Demo]Walk the Talk 链表+数学
  8. 【老罗笔记】异类(Outliers)
  9. bong手环显示连接不上服务器,bong智能手环使用说明
  10. 操盘手“本来生活”,这样把“褚橙”卖成“励志橙”