Debug的基本使用

Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行

Debug的基本使用_第1张图片

如果显示为窗口模式,可以按下Alt+Enter组合键进入全屏模式

Debug基本功能:

  • R命令:查看、改变CPU寄存器的内容
  • D命令:查看内存中的内容
  • E命令:改写内存中的内容
  • U命令:将内存中的机器指令翻译成汇编指令
  • T命令:执行一条机器指令
  • A命令:以汇编指令的格式在内存中写入一条机器指令

R命令

查看CPU寄存器的内容【R】

修改寄存器中的值【R 寄存器】

Debug的基本使用_第2张图片

D命令

查看内存中的内容【D 段地址:偏移地址】

指定范围查看内存中的内容【D 段地址:起始偏移地址 结尾偏移地址】

D命令输出内容可以分为三部分:

左侧为每行的内存单元起始地址

中间为128个内存单元的内容,用十六进制的格式输出

右侧为每个内存单元中的数据对应的可显示的ASCLL码字符

使用“d 段地址:偏移地址”格式的D命令,Debug会列出从指定内存单元开始的128个内存单元的内容

再使用“d 段地址:偏移地址”之后,接着使用D命令,可列出后续的内容

Debug的基本使用_第3张图片

使用“d 段地址:起始偏移地址 结尾偏移地址”格式可指定范围来查看内存中的内容

E命令

修改内存中的内容【E 段地址:偏移地址】

一次性修改多个内存中的内容【E 段地址:偏移地址 值1 值2 ......】

值1是字符或字符串时,会自动转成ASCLL码

“E 段地址:偏移地址”格式,Debug会以提问的方式来逐个修改从此地址开始的内存单元中的内容

Debug显示10000H处的原内容11,可以在“.”后输入新内容(结束按Enter,继续修改下一个单元内容按Space)

可使用【E 段地址:偏移地址 值1 值2 ......】来一次性修改多个内存中的内容

Debug的基本使用_第4张图片

U命令

将内存中的机器指令翻译成汇编指令【U 段地址:偏移地址】

Debug的基本使用_第5张图片

U命令的显示输出分为三部分:

  • 左侧为机器指令的地址
  • 中间为机器指令
  • 右侧为机器指令所对应的汇编指令

T命令

执行一条或多条指令【T】

执行的命令为CS:IP指向的指令

执行T命令后,CPU执行CS:IP指向的指令,指令执行后,Debug显示输出CPU寄存器的状态

A命令

以汇编指令的形式在内存写入机器指令【A 段地址:偏移地址】

Debug会将这些汇编指令翻译成对应的机器指令,将它们的机器码写入内存,在给出的起始地址后面直接按Enter键表示操作结束

你可能感兴趣的:(汇编语言,jvm)