汇编语言高级语言特性

条件控制伪指令:

格式:

.if 条件表达式 ;条件为真执行分支体
  分支体
.elseif 条件表达式 ;条件为真执行分支体
  分支体
.else
  分支体
.endif

注意:

  • 条件表达式中操作符 ! 优先级最高,其次是 ==,!=, >, >= ,<, <=这些比较运算符,&& || 优先级最低,可以通过 () 改变运算顺序。
  • 条件表达式中,用dbdwdd定义的变量默认为无符号数,可用sbyteswordsdword定义有符号数
  • 条件表达式中,寄存器或常数默认为无符号数,可以sbyte ptrsword ptr指明,若其中一个数为有符号数,则强制另一个数作为有符号数进行比较

循环控制伪指令:

.while 条件表达式   ;条件表达式为真执行循环体
    循环体
.endw

  

.repeat
    循环体
.until 条件表达式   ;条件为真结束循环

  

.repeat 
    循环体
.untilcxz [条件表达式]

注意:

  • .repeat.untilcxz 循环中,条件表达式可选
  • 若无条件表达式,当cx -1 == 0时,结束循环
  • 若有条件表达式,当cx - 1 == 0或条件表达式为真结束循环
  • 条件表达式比较寄存器和寄存器,存储单元和寄存器,以及存储单元与常数相等或不等

过程声明和过程调用伪指令:

格式:

过程名 proc [调用距离] [语言类型] [作用范围] [<起始参数>] [USES 寄存器列表] [,参数:[类型]] [......]
   local 变量名 [个数] [:类型] [, ...] 过程体 过程名 endp

可以使用proto声明过程,语法为:

过程名 proto [调用距离] [语言类型] [,参数:[类型]] ……

与proto配合使用的过程调用伪指令:

invoke 过程名 [,参数,……]

  

原文地址:https://www.cnblogs.com/countfatcode/p/11918129.html