汇编Case语句

评价:
0
(0用户)

Case语句

要点

  • MASM不存在case结构的汇编指令,可以使用嵌套的IF结构来替代。
  • 一旦程序中出现太多的嵌套IF语句,最终的结果是代码变得非常难以阅读和维护
  • 当Switch后面的变量值等于下面某一个常量时,程序控制流转到相应的CASE语句。
  • ==默认的CASE语句可以通过无条件跳转来实现==。 不要忘记这个无条件跳转。
  • 正如C语言每个case后面有一个break一样,使用无条件跳转语句将程序的控制流跳转到case结构的结尾处。
  • 最后一个case语句或default语句不要break一样,汇编里页不需要跳转。

例子

SWITCH01:    
    cmp w,1
    je  case11;
    cmp w,2
    je  case12
    cmp w,3
    je  case12
    jmp DEFAULT01
CASE11:      
    inc x
    jmp ENDSWITCH01
CASE12:       
    inc y
    jmp ENDSWITCH01
DEFAULT01:    
    inc z
ENDSWITCH01:

练习:请使用MASM汇编指令实现

if(a>b){
      a= a-1;
}
else if(b>=c){
      b = b*2;
}
else if(c>d){
  c = c+ d;
}
else{
  d = d/2;
}

注册并通过认证的用户才可以进行评价!

发表评论