一、回顾
上一节,我们学习了 JMP FAR 实现段间跳转,该指令修改了 CS 和 EIP。本节我们学习长调用 CALL FAR,该指令除了修改 CS和EIP,还会修改堆栈。
二、CALL 堆栈图
学习长调用之前,不妨先回顾一下短调用CALL的堆栈图:

三、长调用
CALL FAR 和 RETF 一般是成对的,RETF 的执行流程(权限控制)和 CALL FAR 是一样的
CALL FAR 不提权
3环跳转到另一个3环代码段,不会切换堆栈。

CALL FAR 提权
从3环跳转到0环,此过程发生堆栈替换。

四、总结
