美文网首页
函数的调用流程总结

函数的调用流程总结

作者: 冰雨9527 | 来源:发表于2022-09-15 07:24 被阅读0次

1 push参数,参数入栈

2 将函数的返回地址(下一条指令的地址)入栈

3 保护sp,将sp赋值给bp

4 分配一定的空间给函数的局部变量使用(让sp减去该空间大小),为了安全,用CC填充(int 3h)

5 保护寄存器, 因为在函数执行过程中会修改寄存器的值,所以在修改之前保存一下之前的值,后面再还原

6 具体的业务代码

7 恢复寄存器的值,跟第5步相反

8 将bp赋值给sp,恢复bp

9 返回(ret)

通过最终的汇编指令可以看出,在执行调用一个函数:本质就是通过call指令调用函数在代码段的地址进行直接调用。

相关文章

  • 函数的调用流程总结

    1 push参数,参数入栈 2 将函数的返回地址(下一条指令的地址)入栈 3 保护sp,将sp赋值给bp 4 分配...

  • 函数的调用流程总结

    1 push参数,参数入栈 2 将函数的返回地址(下一条指令的地址)入栈 3 保护sp,将sp赋值给bp 4 分配...

  • tinyhttpd 注释详解

    宏定义: 函数: 处理流程: main函数入手: main函数变量: main函数执行流程: 首先调用startu...

  • iOS基础总结-1

    1、APP启动流程 APP一启动,便首先调用main函数,main函数会调用UIApplicationMain函数...

  • iOS知识点集合

    iOS程序运行流程 系统调用app的main函数 main函数调用UIApplicationMain. UIApp...

  • iOS开发知识储备

    iOS程序运行流程 系统调用app的main函数 main函数调用UIApplicationMain. UIApp...

  • 函数1

    rbwb r+w+a+ 函数 函数调用 (先定义后调用) 代码执行的流程:现在内存中建立函数,...

  • 函数的调用流程

    1.push参数(64位cpu 任性使用寄存器)2.call指令调用(将下一条指令地址入栈)3.保护bp寄存器,将...

  • 第02天(函数、工程管理)_知识点图片

    01_普通函数调用流程 02_递归函数的调用流程 03_递归实现累加 04_工程管理 05_工程管理

  • js中的this

    总结:1.一个函数被调用,this指向调用这个函数的对象(直接调用这个函数的对象)2.一个函数被调用,但是这个函数...

网友评论

      本文标题:函数的调用流程总结

      本文链接:https://www.haomeiwen.com/subject/vqghortx.html