跳转至

2.debug指令

1.r (register)

用于查看、修改CPU寄存器的内容

image

上图展示了查看寄存器的内容并将AX寄存器中的内容改为5678

2.d (dump)

用于查看内存中的内容

image

如上图,表示查看从0000开始偏移为3处开始查看

image

如上图,表示从0000开始偏移为4,并限定输出长度为2f

3.e (enter)

用于修改内存中的内容

image

如上图,表示从0000:0处写入数据12 34 56 78

4.a (assemble) 和 t (trace)

a 用于在内存中以汇编格式写入一条机器指令

t 用于执行==一条==写入的汇编指令

image

如上图所示,我们先用r命令将ax改为1,bx改为2,然后用a命令在073f:0100处(即cx:ax,为什么?(CS:IP两个寄存器指示了CPU当前将要读取的指令的地址,其中CS为代码段寄存器,而IP为指令指针寄存器))写入汇编代码:

add bx,ax
mov cx,ax

表示将ax与bx相加并放到bx,然后将ax中的内容拷贝一份放到cx

然后用t命令逐条运行

5. u (unassemble)

用于将内存中的机器指令反编译成汇编指令

image

如上图,我们可以先用d命令查看一下内存中机器指令的样子

然后我们用u命令将内存中机器指令翻译为汇编指令:

image