Debug的常用命令

1. -r 查看和改变寄存器的内容

-r1

如图上面两行是各寄存器和寄存器中的内容

下面一行是下条指令的地址(即CS中的段地址和IP中的偏移地址,顺便补充一个知识点:在8086机中物理地址=段地址*16+偏移地址)、指令的机器码和汇编指令

-r ‘寄存器名’

可以改变寄存器中的内容,输入后屏幕会显示寄存器名和当前寄存器中的数值,然后在下一行显示一个’:'提示输入

这里输入了2000H,如果不输入直接按Enter键即可。

在这里插入图片描述

2. -d 查看内存中的内容

-d ‘段地址:偏移地址’

Debug 将列出从指定内存单元开始的连续最多 128 个内存单元的内容。这里很明显一个内存单元为一个字节8bit

在这里插入图片描述

左边是每行的起始地址。中间是从指定地址开始的 128 个内存单元的内容,用十六进制的格式输出。右边是每个内存单元中的数据对应的ASCII码字符。
在使用“d 段地址:偏移地址”之后,接着使用d命令,可列出后续的内容。如:

在这里插入图片描述

-d ‘段地址:起始偏移地址’ ‘结尾偏移地址’

查看指定范围内的内存单元的内容

在这里插入图片描述

3. -e 改写内存中的内容

-e ‘起始地址’ ‘数据’ ‘数据’ ‘数据’ …

在这里插入图片描述

-e ‘起始地址’

采用提问的方式来一个一个改写内存中的内容。
输入 ‘e 2000:0’ 回车。Debug显示起始地址 然后显示当前单元的原始内容,光标停在’.'后面等待输入,输入数据然后按空格,即用输入的数据改写当前的内存单元;直接按空格不改变内存中的数据。回车操作结束。

在这里插入图片描述

也可以写入字符,字符串

在这里插入图片描述

4. -u 查看机器码对应的汇编指令

-u ‘起始地址’

在这里插入图片描述

5. -a 以汇编指令的形式在内存中写入机器指令

-a ‘起始地址’

回车输入下一条指令,按两次回车结束

在这里插入图片描述

6. -t 执行指令

想要执行指令就必须让CS:IP指向需要执行的指令

image/t-1.png

可输入-t继续执行下一条指令。

7. -q 退出debug

猜你喜欢

转载自blog.csdn.net/weixin_44223946/article/details/108719173