10.8 函数内部的处理

  1. 函数参数接收与返回值返回机制:以AddNum函数汇编代码为例,展示参数接收和返回值返回过程。ebp寄存器值先入栈再出栈,以恢复函数调用前状态;将esp寄存器值赋给ebp寄存器,因mov指令中不能直接用esp读写栈内容。
  2. 参数读取与运算:用[ebp + 8]读取栈中第一个参数123到eax寄存器,[ebp + 12]读取第二个参数456 ,通过add指令将两参数相加结果存于eax寄存器,C语言规定函数返回值需通过eax寄存器返回。
  3. 函数返回:ret指令运行后,函数返回目的地内存地址自动出栈,程序流程跳转回调用处。同时展示了AddNum函数调用和执行过程中栈的状态变化情况。
posted @ 2025-02-14 21:38  叽里呱啦哇里呱唧  阅读(18)  评论(0)    收藏  举报