- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
已知某32位整数X,其值为-101(十进制),则其16进制补码为,另一32位整数Y的补码为0xFFFFFF6A,则X+Y的16进制补码(32位)为,X-Y的16进制补码为。练习题 0xFFFFFF9B0xFFFFFF050x31
练习题 intdecode2(intx,inty,intz){intt1=z-y;intt2=(t115)15;intt3=x^t1;intt4=t2*t1;returnt4;}
练习题一种C函数调用的参数传递与栈恢复模式被称为fastcall,其与我们课堂上学的默认的C函数参数传递与栈恢复方法不同(称为cdecl)。请根据下列的C代码与汇编代码的对应关系,写出fastcall的参数是如何传递的,即哪些参数是通过通用寄存器传递(包括对应关系如何),哪些是通过栈传递、压栈顺序如何,以及传递参数的栈是由被调者还是调用者负责恢复。
int__fastcalldummy(intw,intx,inty,intz){return((w*2+(x+y))2-y*23)*z;}voidcalldummy(intw,intx,inty,intz){intres=dummy(w,x,y,z);}_calldummy:pushl %ebpmovl %esp,%ebpsubl $8,%esp……call dummysubl $8,%espleaveretdummy: …… movl 8(%ebp),%ebx addl %ebx,%edx leal (%edx,%ecx,2),%eax leal (%ebx,%ebx,2),%edx movl $2,%ecx sall $3,%edx subl %ebx,%edx subl %edx,%ecx sarl %cl,%eax movl 12(%ebp),%ecx imull %ecx,%eax …… ret $8……
fastcall:(1)函数的第一个和第二个DWORD参数(或者尺寸更小的)通过ecx和edx传递,其他参数通过从右向左的顺序压栈(2)被调用函数清理栈
练习题_function: pushl %ebp movl %esp,%ebp pushl %edi xorl %edi,%edi pushl %esi xorl %esi,%esi pushl %ebx xorl %ebx,%ebxL11: xorl %ecx,%ecx leal _N(%edi),%edx jmp L10L18: movl (%edx),%eax incl %ecx addl $4,%edx addl %eax,%ebx cmpl $9,%ecx jg L17L10:leal (%esi,%ecx),%eax testb $1,%al jne L18 movl (%edx),%eax incl %ecx addl $4,%edx subl %eax,%ebx cmpl $9,%ecx jle L10L17: incl %esi addl $40,%edi cmpl $9,%esi jle L11 movl %ebx,%eax popl %ebx popl %esi popl %edi popl %ebp retm _N,400 #400intN[10][10];//初始化数组省略!intfunction(intn){intres=0;inti,j;for(i=0;i10;i++){ //????}returnres;}
intN[10][10];intfunction(intn){intres=0;inti,j;for(i=0;i10;i++)for(j=0;j10;j++){if((i+j)%2) res=res+N[i][j];else res=res-N[i][j];}returnres;}
练习题C函数返回struct类型是如何实现的?typedefstruct{intage;intbye;intcoo;intddd;inteee;}TEST_Struct;inti=2;TEST_Struct__cdeclreturn_struct(intn){TEST_Structlocal_struct;local_struct.age=n;local_str
您可能关注的文档
- 稀土金属及其化合物卫生网.pdf
- 课一次坐火车有人邀参加一个聚会new concept 1新概念hx g3nec171.pptx
- 份市场基础知识真题.pdf
- 杂交苜蓿优势steve wagner paul sun mike heterosis in hybrid alfalfa.pdf
- 绥化兰西县苗龙调味品cmnet专线接入工程.pdf
- 2025届甘肃省兰州市第一中学高二物理第一学期期中经典模拟试题含解析.doc
- 2025届上海市浦东新区川沙中学高一物理第一学期期中联考试题含解析.doc
- 吉林省白城市通渭县三校2025届物理高三第一学期期中质量检测试题含解析.doc
- 2025届上海市风华中学高一物理第一学期期中达标检测模拟试题含解析.doc
- 2025届陕西省西安市蓝田县高一物理第一学期期末达标检测试题含解析.doc
- 甘肃省武威市民勤一中2025届物理高三上期中考试试题含解析.doc
- 2025届河南省名校高一物理第一学期期末综合测试模拟试题含解析.doc
- 江西省大余县新城中学2025届高三物理第一学期期中预测试题含解析.doc
- 湖南省长郡中学2025届高三物理第一学期期中质量检测试题含解析.doc
- 安徽省滁州西城区中学2025届物理高三第一学期期中监测试题含解析.doc
- 浙江衢州四校2025届物理高一第一学期期末质量检测模拟试题含解析.doc
- 2025届江西省赣县第三中学物理高三上期末统考模拟试题含解析.doc
- 西藏山南地区第二高级中学2025届物理高二第一学期期末学业水平测试模拟试题含解析.doc
- 2025届吉林省吉化第一高级中学校物理高三第一学期期末调研模拟试题含解析.doc
- 2025届湖北省随州市高一物理第一学期期末质量跟踪监视模拟试题含解析.doc
文档评论(0)