一、Debug的使用
看看下面的程序,执行会出现什么问题?
![在这里插入图片描述](https://img-blog.csdnimg.cn/eed3057b94ec4e7bbd9abb8a75bb7ed0.png)
单步执行,看看发生了什么问题
![在这里插入图片描述](https://img-blog.csdnimg.cn/33c05ae58ffb413fbd8e3203094fb40a.png)
可以发现没有mov sp,10的出现,仔细观察可以发现:
mov sp,10一定是执行了,那么是什么时候执行的?当然是在mov ss,ax后执行的,显然当我们在用T命令执行mov ss,ax的时候,它的下一条指令mov sp,10页紧接着就执行了。不单是这样,如mov ss,bx
、mov ss, [0]
、pop ss
等指令都会发生上面的情况,有什么共性?都是修改栈段寄存器SS的指令,为什么会这样子?涉及到中断机制。现在只需要知道T命令在执行修改寄存器SS的指令时,下一条指令也紧接着被执行。