条件控制伪指令:
格式:
.if 条件表达式 ;条件为真执行分支体 分支体 .elseif 条件表达式 ;条件为真执行分支体 分支体 .else 分支体 .endif
注意:
- 条件表达式中操作符 ! 优先级最高,其次是 ==,!=, >, >= ,<, <=这些比较运算符,&&和 || 优先级最低,可以通过 () 改变运算顺序。
- 条件表达式中,用db,dw,dd定义的变量默认为无符号数,可用sbyte,sword,sdword定义有符号数
- 条件表达式中,寄存器或常数默认为无符号数,可以sbyte ptr或sword ptr指明,若其中一个数为有符号数,则强制另一个数作为有符号数进行比较
循环控制伪指令:
.while 条件表达式 ;条件表达式为真执行循环体 循环体 .endw
.repeat 循环体 .until 条件表达式 ;条件为真结束循环
.repeat 循环体 .untilcxz [条件表达式]
注意:
- .repeat和.untilcxz 循环中,条件表达式可选
- 若无条件表达式,当cx -1 == 0时,结束循环
- 若有条件表达式,当cx - 1 == 0或条件表达式为真结束循环
- 条件表达式比较寄存器和寄存器,存储单元和寄存器,以及存储单元与常数相等或不等
过程声明和过程调用伪指令:
格式:
过程名 proc [调用距离] [语言类型] [作用范围] [<起始参数>] [USES 寄存器列表] [,参数:[类型]] [......]
local 变量名 [个数] [:类型] [, ...] 过程体 过程名 endp
可以使用proto声明过程,语法为:
过程名 proto [调用距离] [语言类型] [,参数:[类型]] ……
与proto配合使用的过程调用伪指令:
invoke 过程名 [,参数,……]