0x04 高级语法

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

原文地址:https://www.cnblogs.com/zhuzhuqwa/p/5579348.html