王爽汇编+24

今天继续研究loop指令,这次王老师教我们了debug的g指令和p指令的使用场景

先写段程序再实践,程序还是上一篇里的,这次改一下,改成将ffff:6单元的内容乘以123,结果存放在dx寄存器。远程序如下图

%title插图%num

省略编译连接过程,我直接进入debug调试环节的分析

%title插图%num

先不执行cs:ip处的指令,我现在不想单步执行,我想直接到循环体这儿,从这儿开始单步,那么可以使用g ip指令,这儿的ip得是循环体代码的ip,执行后即可让程序执行到循环体处

%title插图%num

现在就可以单步调试循环体了

%title插图%num

但是这里是循环123次,单步指令会敲到手软,这时我们p指令登场,当遇到loop指令是我们执行debug的p指令即可走完整个循环体

%title插图%num

上图可以看到走完循环体了,走完后dx保存的是结果,178b,已知ds:6单元处的内容是31h,下面我们用python交互式验证一下,如下图

%title插图%num

可以看到结果是正确的。以上就是debug的g指令和p指令的使用场景。