附录E过程调用语句的翻译和数据空间的安排剖析
附录E 过程调用语句的翻译和数据空间的安排 ——以C语言为例 C 的函数调用语句CALL_S - id ( realParams ) ; 小结(一) 1、IA32的栈是用来存放临时数据。栈的增长方向是从高地址向低地址增长,按字节为单位编址。 2、EBP是栈基址的指针,永远指向栈底(高地址),ESP是栈指针,永远指向栈顶(低地址)。 3、CALL指令用来调用一个函数或过程,相当于以下两条指令: pushl %eip jmp _func 4、RET指令用来从一个函数或过程返回,与CALL相反。 5、ENTER是建立当前函数的栈框架,即相当于以下两条指令: pushl %ebp movl %esp,%ebp 6、LEAVE是释放当前函数或者过程的栈框架,与ENTER相反。 7、栈框架的建立由主调过程与被调过程合作完成,撤销则主要由被调完成,跟调用方式(_cdecl,_stdcall...)有关。 小结(二) 8、局部变量的分配,可以通过esp减去所需字节数 subl $8,%esp 局部变量的释放,通过leave指令完成; 局部变量的访问,可以通过ebp减去偏移量实现: movl -8(%ebp),%eax 9、对形式单元
您可能关注的文档
- 阿基注德原理习题课剖析.ppt
- 阳光心态幸福魔方PPT剖析.ppt
- 阻燃剂之多溴二苯醚剖析.ppt
- 阴极保护知识剖析.ppt
- 广告摄影之静物汇编.ppt
- 广告制作常用材料汇总汇编.ppt
- 广告摄影之器材汇编.ppt
- 防静电安全技术知识专题讲座剖析.ppt
- 广告策划(背)汇编.doc
- 防雷技术2008剖析.ppt
- 1+X软件开发实操考核真题及参考答案.docx
- 贵州省县中新学校计划项目高一上学期期中物理试卷(解析版).docx
- 2025年海南省海口市五校中考一模历史试题.docx
- 贵州省黔东南苗族侗族自治州2024-2025学年高一上学期1月期末英语试题.pdf
- 贵州省贵阳市修文县外研版(三起)五年级上册期末质量检测英语试卷(解析版).docx
- 2025届贵州省贵阳市第一中学高三一模考试语文试题.pdf
- 贵州省毕节市威宁彝族回族苗族自治县高一上学期期末考试政治试卷(原卷版).docx
- 贵州省毕节市威宁彝族回族苗族自治县高一上学期期末考试政治试卷(解析版).docx
- 贵州省六盘水市钟山区九年级上学期期末检测数学试题(解析版).docx
- 2026年中国皮鞋剥离试验机市场调查研究报告.docx
原创力文档

文档评论(0)