while-endw
.while(条件)
循环体(条件满足时执行)
.endw
repeat-until
.repeat
循环体(条件不满足时执行)
.until(条件)
if-elseif-endif
.if(条件1)
指令1
.elseif(条件2)
指令2
.endif
条件运算符
变量与操作数 ==、!=、<、>、<=、>=
两个表达式 &&、||
变量与操作数 &(按位与)
变量或表达式 !(取反)
注意:表达式的左边应为寄存器或变量,不能为常数;表达式两边可以同时为寄存器,但不能同时为变量。
标志测试伪指令
CARRY? 进位标志是置位 !CARRY? 进位标志是清除
SIGN? 符号标志是置位 !SIGN? 符号标志是清除
OVERFLOW? 溢出标志是置位 !OVERFLOW? 溢出标志是清除
ZERO? 零标志为是置位 !ZERO? 零标志为清除
PARITY? 奇偶标志是置位 !PARITY? 奇偶标志是清除
stc ;置进位标志
.if CARRY? ;进位标志是置位?条件满足
MOV EBX,20
.endif
xor edx,edx ;使零标志置位
.if !ZERO? ;零标志为清除?条件不满足
MOV EDX,8
.endif