用汇编的眼光看C++(之退出流程).docVIP

  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文档。上传文档
查看更多
用汇编的眼光看C(之退出流程)

软件英才网 软件行业驰名招聘网站 有需要请联系我们 HYPERLINK /feixiaoxing/article/details/6766366用汇编的眼光看C++(之退出流程) 无论是在判断还是在循环的过程中,通常在遇到合适的条件的时候就会退出相应的模块。跳出模块运行的方式很多,break,continue,return都可以。下面我们就可以分别对他们进行将介绍。 (1)continue只能用于循环,而break循环、判断都可以应用。两者有什么区别呢? [cpp] HYPERLINK /feixiaoxing/article/details/6766366#view plainHYPERLINK /feixiaoxing/article/details/6766366#copy 21: for(int m = 10; m 100; m ++) mov dword ptr [ebp-4],0Ah 0040163F jmp process+2Ah (0040164a) mov eax,dword ptr [ebp-4] add eax,1 mov dword ptr [ebp-4],eax 0040164A cmp dword ptr [ebp-4],64h 0040164E jge process+55h 22: { 23: if(m / 20 == 3) mov eax,dword ptr [ebp-4] cdq mov ecx,14h idiv eax,ecx 0040165B cmp eax,3 0040165E jne process+42h 24: { 25: break; jmp process+55h 26: } 27: 28: if(m / 10 == 0) mov eax,dword ptr [ebp-4] cdq mov ecx,0Ah 0040166B idiv eax,ecx 0040166D test eax,eax 0040166F jne process+53h 29: { 30: continue; jmp process+21h 31: } 32: } jmp process+21h 我们在循环模块里面可以看到了代码做了两次判断。一次判断是查看m除以20是否等于3,一次判断是查看m除以10是否可以整除。同样,前面的判断结果是break,后面的结果是continue,那么两者之间的区别是什么呢?我们可以好好看一下。在第一次条件判断的时候,我们发现如果m除以20不等于3,那么下面指令直接跳转到0也就是第二条件的入口处。但是如果第一个条件判断成功了,那么程序就会跳转到地址0也就是说整个循环模块已经结束了。而continue呢?我们发现不管条件判断是否为真,那么指令都会跳转到0执行,也就是循环+1的地方。这说明continue结束的只是本次循环,整个循环的流程还没有结束,而break表示当前已经推出了整个循环模块。如果大家对书本上的概念还有些模糊的话,那么汇编指令在这里已经把细节之处解释得明明白白了。 (2)goto一般用的情况不多,但是有一种情况例外? [cpp] HYPERLINK /

文档评论(0)

cbf96793 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档