1. -r 查看和改变寄存器的内容
如图上面两行是各寄存器和寄存器中的内容
下面一行是下条指令的地址(即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指向需要执行的指令
可输入-t继续执行下一条指令。