首页 > 代码库 > 结构体作为参数的反汇编
结构体作为参数的反汇编
1:函数传参数的方式是将数据进行拷贝传递的。
2:基本数据类型编译器一般是通过PUSH指令来将参数入栈的,但是当传入的参数是结构体时,会采取,函数堆栈初始化的方式进行参数的拷贝
PUST EBP
MOVE EBP,ESP
SUP ESP,40H
MOV ESI,[EBP-40]
MOV EAX,0CCCCCCCH
MOV ECX,16H; 需要初始化的堆栈的长度是40H也就是56个字节的长度,在32位的系统中,ESP的移动单位长度是4字节,所以需要16次初始化操作
REP STOS DOWRD PTR[ESI]
3:当传入的参数是结构体是【且宽度比较大的时候】,参数的传递方式会采用类似初始化堆栈的方式
SUB ESP 18H
MOV ECX,6H
MOV ESI,6H
REP STOS DWORD PTR [ESI]
4:结构体变量一般都定义为全局变量
结构体作为参数的反汇编
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。