现在的位置: 首页 > 综合 > 正文

CALL和jmp近远调用的区别

2013年09月09日 ⁄ 综合 ⁄ 共 229字 ⁄ 字号 评论关闭

 1. 对于jmp的区别就是:一个是段内调用,一个是段间调用

2. 对于call则有很大的不同,因为call的调用会对栈产生影响:
   (1)call的近调用不会改变使用的栈,但是栈的内容发生了变化:下一条指令被压入栈;如果有参数,参数被压入栈
   (2)call的远调用会改变使用的栈,由于使用的栈发生变化,因此对于参数有一个拷贝的过程。
      保存当前的ss和esp到被调用过程的栈中
      拷贝参数
      保存当前的cs和eip到被调用过程的栈中
     

抱歉!评论已关闭.