2025年4月14日 星期一 乙巳(蛇)年 正月十五 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > 汇编

汇编语言IF、ELSE和DENDIF伪指令

时间:03-05来源:作者:点击数:63

IF 伪指令的后面必须跟一个常量布尔表达式。该表达式可以包含整数常量、符号常量或者常量宏实参,但不能包含寄存器或变量名。仅适用于 IF 和 ENDIF 的语法格式如下:

IF expression
    statement-list
ENDIF

另一种格式则适用于 IF、ELSE 和 ENDIF:

IF expression
    statement-list
ELSE
    statement-list
ENDIF

【示例】宏 mGotoxyConst 利用 LT 和 GT 运算符对传递给宏的参数进行范围检查。实参 X 和 Y 必须为常数。还有一个常数符号 ERRS 对发现的错误进行计数。根据 X 的值,可以将 ERRS 设置为 1。根据 Y 的值,可以将 ERRS 加 1。最后,如果 ERRS 大于零,EXITM 伪指令退岀宏:

  • ;-------------------------------------
  • mGotoxyConst MACRO X:REQ, Y:REQ
  • ;
  • ;将光标位置设置在 X 列 Y 行。
  • ;要求 X 和 Y 的坐标为常量表达式
  • ;其范围为 0 ≤ X < 80, 0 ≤ Y < 25。
  • ;-------------------------------------
  • LOCAL ERRS ;;门局部常量
  • ERRS = 0
  • IF (X LT 0) OR (X GT 79)
  • ECHO Warning: First argument to mGotoxy (X) is out of range.
  • ECHO ******************************************************
  • ERRS = 1
  • ENDIF
  • IF (Y LT 0) OR (Y GT 24)
  • ECHO Warning: Second argument to mGotoxy (Y) is out of range.
  • ECHO ******************************************************
  • ERRS = ERRS + 1
  • ENDIF
  • IF ERRS GT 0 ;;若发现错误,
  • EXITM ;;退出宏
  • ENCIF
  • push edx
  • mov dh,Y
  • mov dl,X
  • call Gotoxy
  • pop edx
  • ENDM
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门