跟m比较大小#(4 1)介绍.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.L8: leal -20(%ebp), %eax incl (%eax) jmp .L6 .L7: movl -16(%ebp), %eax addl $16, %esp popl %ebx popl %esi leave ret int test(int *matrix, int m, int n, int *sum) { int temp,max=0; int i,j; for (i = 0; i m ; i++ ) { sum[i] = 0; for (j = 0; j n; j++) { temp = matrix[i*n+j]; sum[i] += temp; if (tempmax) max = temp; } } return max; } sum n m Matrix Return address Ebp ____current ebp Esi Ebx temp max i j test: pushl %ebp # movl %esp, %ebp pushl %esi # pushl %ebx # subl $16, %esp movl $0, -16(%ebp) # movl $0, -20(%ebp) # .L6: movl -20(%ebp), %eax eax = i #*(4+1) cmpl 12(%ebp), %eax 跟m比较大小 #*(4+1) jl .L9 i m jmp .L7 i = m;跳出大循环 .L9: movl -20(%ebp), %eax eax = i #*4 leal 0(,%eax,4), %edx edx = i*4 movl 20(%ebp), %eax eax = sum #*4 movl $0, (%eax,%edx) (sum + i * 4) = 0 即 sum[i] = 0 #*4 movl $0, -24(%ebp) j = 0 #*4 .L10: movl -24(%ebp), %eax eax = j #*4*(3+1) cmpl 16(%ebp), %eax 跟n比较大小 #*4*(3+1) jl .L13 j n jmp .L8 j = n; 跳出内循环 .L13: movl -20(%ebp), %eax eax = i #*3*4 imull 16(%ebp), %eax eax = i * n #*3*4 addl -24(%ebp), %eax eax = i *n + j #*3*4 leal 0(,%eax,4), %edx edx = eax * 4 = (i * n + j) * 4 movl 8(%ebp), %eax eax = matrix #*3*4 movl (%eax,%edx), %eax eax = *(matrix + edx) = matrix[ i*n + j ] #3*4 movl %eax, -12(%ebp) temp = eax = matrix[ i*n + j ] #3*4 movl -20(%ebp), %eax eax = i #3*4 leal 0(,%eax,4), %ebx ebx = i * 4 movl 20(%ebp), %esi esi = sum #3*4 movl -20(%ebp), %eax eax = i #3*4 leal 0(,%eax,4), %ecx ecx = eax * 4 = i * 4 movl 20(%ebp), %edx edx = sum #3*4 movl -12(%ebp), %eax eax = temp #3*4 addl (%edx,%ecx), %eax eax = temp + *(sum+i*4) = temp + sum[i] #3*4 movl %eax, (%esi,%ebx) *(sum+i

文档评论(0)

189****6140 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档