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

c语言 伪指令 if,汇编语言IF、ELSE和DENDIF伪指令相关推荐

  1. 语言翻译成汇编语言_学习编程有没有必要从C语言和C++学起?应该怎么学?

    硬件层级:这里也就是实体硬件,包括:CPU.内存.显卡等等...这些都不属于软件的范畴内. 汇编层级:在之前没有C/C++以及java之前,是汇编的年代.那么汇编语言对于我们来说,可读性是很查的,不适 ...

  2. matlab repeat until,汇编语言用.REPEAT和.WHILE伪指令实现循环

    除了用 CMP 和条件跳转指令外,.REPEAT 和 .WHILE 伪指令还提供了另一种方法来编写循环.它们可以使用之前由<.IF伪指令>一节中关系和逻辑运算符表所列出的条件表达式. .R ...

  3. python语言属于机器语言汇编语言高级语言自然语言_机器语言,汇编语言,高级语言的主要特点及区别是什么...

    机器语言是计算机能直接运行的语言,是二进制语言,属于低级语言:汇编语言是面向机器的低级语言,不能被机器直接识别,需要编译:高级语言是从人类的逻辑思维角度出发的计算机语言,不能被机器直接识别,需要编译. ...

  4. C语言REPEAT程序,汇编语言定使用WHILE、REPEAT、FOR 和 FORC伪指令定义重复语句块

    MASM 有许多循环伪指令用于生成重复的语句块:WHILE.REPEAT.FOR 和 FORC.与 LOOP 指令不同,这些伪指令只在汇编时起作用,并使用常量值作为循环条件和计数器: WHILE 伪指 ...

  5. 伪指令相当于c语言的什么,ARM汇编中关于“.word”伪指令的概念(转)

    PS:在u-boot源码时遇到_armboot_start._bss_start等这些变量,不知道指向什么地址,于是查了一下,弄清了ARM汇编中".word"这个伪指令是什么意思了 ...

  6. c语言自动转汇编,怎么将c语言转变为汇编语言

    汇编语言(Assembly Language)是面向机器的程序设计语言.汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言.汇编语言"作为一门语言,对应于 ...

  7. 语言inc c,汇编语言练习

    习题一 1.在计算机内部,计算机能够直接执行的程序语言是. A.汇编语言 B.C++语言 C.机器语言 D.高级语言 2.在堆栈段中,存放栈顶地址的寄存器是. A.IP B.SP C. BX D. B ...

  8. c语言因为是汇编语言的一种,. C语言是一种(). A.机器语言B.汇编语言C.中级语言D.高...

    . C语言是(). A.机器语言B.汇编语言C.中级语言D.高级语言2. C语言中大多数语句的结尾必须使用()作为终止符,否则该语句不视为结尾. A.逗号,B. 分号: C.时期. D.冒号: 3 . ...

  9. c语言可以调用汇编语言吗,C语言与汇编语言混编方式

    C语言是目前非常流行的一种编程语言,除具有高级语言使用方便灵活.数据处理能力强.编程简单等优点外:还可实现汇编语言的大部分功能,如可直接对硬件进行操作.生成的目标代码质量较高等,而汇编语言没有高级语言 ...

最新文章

  1. 零基础学习大数据:零基础学习大数据最完整的学习路线
  2. 机器学习笔记:非负矩阵分解问题 NMF
  3. 一场惊心动魄的国际黑客入侵保卫战
  4. HTTP协议详解(文档)
  5. 【云速建站】按照给定模板从0开始编辑网站页面
  6. pro android学习笔记,【转】Pro Android学习笔记(一):Android 平台 2013.6.4
  7. sparksql对hive操作
  8. 如何让 Linux 下非 root 用户程序使用小于 1024 端口
  9. html桌面插件,纯JS和CSS3炫酷桌面便签贴纸特效插件
  10. 各种电子面单-Api接口(顺丰、快递鸟、菜鸟)
  11. httpf发送 json_https和http的post发送总结
  12. android短信验证码登录,Android注册登录实时自动获取短信验证码
  13. eNSP中静态路由器和默认路由器的配置连接
  14. Codesys电子凸轮表的规划与凸轮曲线的拟合
  15. 如何查找某一个数据?
  16. redit mysql_这就是Reddit十年来的成就
  17. 安装kubernetes_如何在Kubernetes中安装和使用Linkerd
  18. 快速批量微信dat格式转换为jpg
  19. 飞行棋程序(附源码)
  20. python IDEL 快捷键

热门文章

  1. API JSON 格式设计
  2. 电源大师课笔记 1.6
  3. 01 Hadoop原理
  4. 怎么用c语言写病毒程序,来来来,教你一个用C语言写个小病毒
  5. 蓄电池单格电压多少伏_蓄电池的电压多少伏算正常?
  6. 考试酷解析——A11_Conditional Expressions
  7. html计算数学题,三年级数学计算练习题
  8. 快速GeoHash算法
  9. 第十三周 【项目3 - 是否二叉排序树?】
  10. Android老友记