版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RETN,而参数的传递在不同的编译器中有不同的方式。调用规则有这几种:_cdeclC_stdcallWINAPI、PascalWindows(_fastcall);C++编译的代thiscall(_thiscall)。这里我们重点要注意一下_stdcallWINAPI_stdcallWINAPI,这是标准的C这就是C_cdeclWindowsAPI_stdcall(可变参数函数调用除外)eaxWindowseaxeaxvoidmyfunction(inta,int{int}intmain(intargc,char*{return0;}PUSH;MOV;SUBPUSHPUSHPUSHLEAPTRSS:[EBP-;movedi,ebp-C>MOV;|.B8CCCCCCC>MOV|. REPSTOSDWORDPTR ;EAX2A1C|?E884FFFFF>CALL|?83C4 ADDCE|?E81D00000>CALL|? MOV|. POP|? PUSHMOVSUBPUSHPUSH PUSHLEAEDI,DWORDPTRSS:[EBP->MOV B8CCCCCCC>MOV REPSTOSDWORDPTRES:[EDI]8B45 MOVEAX,DWORDPTR 0345 ADDEAX,DWORDPTREDWORDPTRSS:[EBP-Ebp- 2Ebp- 1 1 2汇编语言(著函数和堆栈的关系密切,这是因为:Cpushpopesp顶总是栈中地址最小的位置。push,esp,pop对于C程序默认的调用方式,堆栈总是调用参数反序(从右到左)地压入堆栈中,被调用堆栈复原(这些我们会在后面见到)。这些参数对齐到机器字长,163264CPU2、4、8C编译器默认的C过程)是必不可少的基础单元。C在某一个函数中。PascalCPU WindowsPascalWINAPI(_stdcall)、C(_cdecl)_cdeclCcdeclPascalWin16在用Cvoidmyfunction(inta,intvoidmyfunction(inta,int{intc=}这是标准的C这就是C_cdeclWindowsAPI_stdcalleaxWindowseaxeax_cdeclebpebpespebp。同pushebpmovespespebpebx、esi、edisubesp,0cchpushebx pushesipush0cccccccch。0cchint3VCDebuglealeaedi,[ebp-0cch]movedi,ebp-0cch,movebp-0cchleaebp-0cchedi;的区域(ebp-0cch)movecx,33hmovrepstosdwordptr[edi]ebp+8ebp+12ebp+4ebx、esi、edi、esp、ebp,poppoppopesipopmovpopebpedi、esi、ebpespeaxeaxVC2003Debugvoidmyfunction(inta,intvoidmyfunction(inta,int{push ebp,espebpespmovebp,espsubesp,0cchesp;的空间用 局部变pushebx pushesipushleaedi,[ebp-0cch]"movedi,ebp-0cch",movebp-0cchleaebp-0cchedi;把保存局部变量的区域(ebp-0cchmovecx,33hmovrepstosdwordptr[edi]0cch(中intc=moveax,dwordptr[a];传入的参数。那么,abaddeax,dwordptr[b]ida;moveax,[ebp+8],addeax,ebpVCmovdwordptr[c],eax}popedi edi、esi、ebxpopesipopmov ebpesp,popebpmoveax,dwordmoveax
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模具工安全文明能力考核试卷含答案
- 五年级数学(小数四则混合运算)计算题专项练习及答案
- 牙粉制造工达标水平考核试卷含答案
- 有色金属强化熔炼工班组管理测试考核试卷含答案
- 通信设备组调工岗前安全生产基础知识考核试卷含答案
- 桥梁巡视养护工创新实践评优考核试卷含答案
- 短波通信机务员冲突解决强化考核试卷含答案
- 妊娠梅毒的实验室检测与护理配合
- 《说数》基础字词梳理2
- 2025年光纤通信工程设计规范考试试卷
- 《永兴县耕地保护国土空间专项规划(2021-2035年)》
- 学堂在线 雨课堂 学堂云 人工智能 章节测试答案
- 国际经济与贸易专升本2025年真题解析试卷(含答案)
- 民政部课题申报书
- 智能电表培训课件
- 《文献检索与科技论文写作入门》课件-01-绪论
- 数据仓库建模课件
- 网络营销与直播电商专业 人才培养方案
- 第3课 AI伙伴项目实现-项目设计教学设计-2025-2026学年小学信息科技清华版贵州2024六年级下册-清华版(贵州)2024
- 基于价值链视角下的营运资金管理研究-以宁德时代为例
- 2025年江苏省无锡市惠山区中考一模物理试题(含答案)
评论
0/150
提交评论