DEBUG使用单字符命令.doc
文本预览下载声明
DEBUG使用单字符命令:
格式 命令 格式 汇编 A [地址] 命名 N [设备:][路径]文件名[.扩展名] 比较 C [范围] 输出 O 口地址 转出 D [范围]或[地址] 继续执行 P [=地址][值] 键入 E 地址[表] 退出 Q 填入 F 范围表 寄存器 R [寄存器] 执行 G [=地址][地址[地址...]] 搜索 S 范围表 十六进制 H 值? 值 跟踪 T [=地址]或[范围] 输入 I 口地址 反汇编 U [地址]或[范围] 装入 L [地址][设备扇区,扇区]] 写 W [地址[设备扇区,扇区]] 移动 M 范围? 地址 ?☆? 显示存储单元的命令D(DEBUG),格式为: ??? ? -D[address]或????? - D[range]
例如,按指定范围显示存储单元内容的方法为:其中0100至0120是DEBUG显示的单元内容。 左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,“.”表示不可显示的字符。这里没有指定段地址, D命令自动显示DS段的内容。如果只指定首地址,则显示从首地址开始的80个字节的内容。如果完全没有指定地址,则显示上一个D命令的最后一个单元的内容。输入命令E(Enter),有两种格式如下:
??? 第一种格式可以用给定的内容表来替代指定范围的存储单元内容。命令格式为:
??? -E? address? [list]
??? 例如,-E? DS:100?? F3XYZ8D
??? 其中F3,‘X’,‘Y’,‘Z’和8D各占一个字节,该命令可以用这个字节来替代存储单元DS:0100到0104的原先的内容。
??? 第二种格式则是采用逐个单元相继修改的方法。命令格式为:
-E? address
??? 例如,-E? CS:100
??? 则可能显示为:
??? 18E4:0100?? 89. -
如果需要把该单元的内容修改为78,则可以直接键入78,再按空格键可接着显示下一个单元的内容,这样可以不断修改相继单元的内容,直到Enter键结束该命令为止。
填写命令F(Fill),其格式为:
??? -F? range?? list
??? 例如,-F? 4BA:0100?? 105? F3XYZ8D
??? 使04BA:0100-0104单元包含指定的个字节的内容。如果list中的字节数超过指定的范围,则忽略超过的项;如果list的字节数小于指定范围,则重复使用list填入,直到填满指定的所有单元为止。
显示CPU内所有寄存器内容和标志位状态,其格式为:
??? -R
??? 例如,
??? -r
???AX=0000? BX=0000? CX=010A? DX=0000? SP=FFFE? BP=0000? SI=0000? DI=0000 DS=18E4? ES=18E4? SS=18E4? CS=18E4? IP=0100???NV UP DI PL NZ NA PO NC??? 18E4:0100? C70604023801??? MOV??? WORD PTR[0204],0138??? DS:0204=0000
???其中标志位状态的含义可见下表: 标志为1 标志为0 OF
DF
IF
SF
ZF
AF
PF
CF 溢出(是/否)
方向(减量/增量)
中断(允许/关闭)
符号(负/正)
零(是/否)
辅助进位(是/否)
奇偶(偶/奇)
进位(是/否 OV
DN
EI
NG
ZR
AC
PE
CY NV
UP
DI
PL
NZ
NA
PO
NC 显示和修改某个寄存器内容,其格式为:
??? -R? register name
??? 例如,键入
??? -r? ax
??? 系统将响应如下:
??? AX? F1F4:
??? 即AX寄存器的当前内容为F1F4,如不修改则按Enter键,否则,键入欲修改的内容如:
??? -r? bx??? BX? 0369 :059F
??? 则把BX寄存器的当前内容修改为059F。
显示和修改标志位状态,命令格式为:
??? -RF
??? 系统将响应,如:
??? OV DN EI NG ZR AC PE CY -
??? 此时如不修改其内容可按Enter键,否则,建入欲修改的内容,如:
??? OV DN EI NG ZR AC PE CY - PONZDINV
??? 即可,键入的顺序是任意的-G? [=address1][address2[address3? ...]]
??? 其中,地址1指定了运行的起始地址,如不指定则从当前的CS:IP开始运行。后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下
显示全部