ret指令是转移指令,它们都修改IP,或同时修改CS和IP。
ret指令用栈中的数据,修改IP的内容,从个人实现近转移
ret指令用栈中的数据,修改CS和IP的内容,从而实心远转移
CPU执行ret指令时,进行下面两步操作:
1、(IP)=((SS)*16+(SP))
2、(SP)=(SP)+2
CPU执行retf指令时,进行下面4步操作:
1、(IP)=((SS)*16+(SP))
2、(SP)=(SP)+2
3、(CS)=((SS)*16+(SP))
4、(SP)=(SP)+2
用汇编语法来解释ret和retf指令,则:
CPU执行ret指令时,相当于进行:POP IP
COU执行reft指令时,相当于进行:POP IP POP CS