注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

Win32汇编循环  

2012-03-17 18:17:47|  分类: Win32汇编学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

转自:鱼C论坛
分支语句


分支语句用来根据条件表达式测试的真假执行不同的代码模块,MASM中的分支语句的语法如下


       .if 条件表达式1

              表达式1为“真”时执行的指令

       [.elseif 条件表达式2]

              表达式2为“真”时执行的指令

       …… ……

       [.else]

              所有表达式为“否”时执行的指令

       .endif


注意,切记

使用.if/.else/.endif构成分支伪指令的时候,不要漏写前面的小数点。

if/else/endif是宏汇编中条件汇编宏操作的伪操作指令,作用是根据条件决定在最后的可执行文件中包不包括某一段代码。

这和.if/.else/.endif构成分支的伪指令完全是两回事情,尽管他们很像。

 

示例:具体例题视频中演示


循环语句

循环是重复执行的一组指令,MASM的循环伪指令可以根据条件表达式的真假来控制循环是否继续,也可以在循环体中直接退出,使用循环的语法是:


       .while      条件测试表达式

              指令

              [.break [.if 退出条件]]

              [.continue]

       .endw


.while/.endw 循环首先判断条件测试表达式,如果结果是真,则执行循环体内的指令,结束后再回到.while 处判断表达式,如此往复,一直到表达式结果为假为止。

可以使用.break伪指令强制退出循环,如果.break 伪指令后面跟一个.if测试伪指令的话,那么当退出条件为真时才执行.break 伪指令。

在循环体中也可以用.continue伪指令忽略以后的指令,遇到.continue伪指令时,不管下面还有没有其他循环体中的指令,都会直接回到循环头部开始执行。


演示1:具体例题视频中演示


演示2:具体例题视频中演示


        .repeat

              指令

              [.break [.if 退出条件]]

              [.continue]

       .until 条件测试表达式 (或.untilcxz [条件测试表达式])

.repeat/.until循环首先执行一遍循环体内的指令,然后再判断条件测试表达式,如果结果为真的话,就退出循环,如果为假,则返回.repeat处继续循环,可以看出,.repeat/.until不管表达式的值如何,至少会执行一遍循环体内的指令。


  评论这张
 
阅读(149)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017