,并且给IP了,现在IP就会跳转到下一条指令执行的位置
也就是(add sp,4) 现在要注意了,bx 和 ax 都还在栈中,我们没办法让栈恢复所以在外面用 add sp,4 让sp的位置(现在的位置...只要掌握bp所在的位置即可,上面的代码即可明白
3.Call指令的retf段间转移
这个我们首先要明白,在Call的时候会把Call下边一条指令的地址保存到栈中,出栈的时候要给IP,让其更改跳转,
跳转到...Call下一条指令执行的位置的地方
但是现在我们是段间Call,也就是不在一个段中,这个时候栈不光会保存返回地址,还会保存当前CS段寄存器的地址
这样返回的时候 CS:IP返回,但是现在有一个问题,就是我们自己根本就平不了栈...,是一个八位立即数比如 09
IRET: 中断的返回指令,理解为返回,可以进行下一条指令的执行
INTO: 不常用,不讲解.
3.21h中断,到底是个啥玩意
我们每次都调用21h什么的,但是不知道他是个啥玩意...3给内存的时候,其余的程序也可能再往这里写数据,所以同步一下,这样就完成这一条指令,才可以进行下一条指令的操作
自减锁就是 把add 变为sub,交换锁就是 把指令变为 xchg lock只能同时处理一条指令