找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1185|回复: 10
打印 上一主题 下一主题
收起左侧

51单片机中汇编语言IF语句怎么理解?很多没有介绍

[复制链接]
跳转到指定楼层
楼主
ID:748096 发表于 2022-9-21 21:22 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题 谢谢大家
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:121859 发表于 2022-9-22 08:35 | 只看该作者
亲,51单片机汇编语言中是没有IF语句的。
回复

使用道具 举报

板凳
ID:123289 发表于 2022-9-22 08:54 | 只看该作者
请先阅读完51的指令系统,读完自然就会了。
回复

使用道具 举报

地板
ID:155507 发表于 2022-9-22 09:12 | 只看该作者
请先阅读完51的指令系统,特别是程序分支指令。
JNZ JZ CJNE DJNZ
跳转指令。
JB JNB JC JNC JBC
回复

使用道具 举报

5#
ID:748096 发表于 2022-9-22 12:32 来自手机 | 只看该作者
汇编预处理指令,我认为是给编译器看的,如果条件满足就编译
回复

使用道具 举报

6#
ID:748096 发表于 2022-9-22 12:33 来自手机 | 只看该作者
zhxiufan 发表于 2022-9-22 08:35
亲,51单片机汇编语言中是没有IF语句的。

碰到过,3000多行代码,出现多次
回复

使用道具 举报

7#
ID:155507 发表于 2022-9-22 13:15 | 只看该作者
沧兴电子 发表于 2022-9-22 12:32
汇编预处理指令,我认为是给编译器看的,如果条件满足就编译

不要将 IF 指令与 IF 语句混淆。 它们不是等效的,并且不能与相同的符号一起使用。

IF 指令开始一个用于条件程序汇编的 IF-ELSE-ENDIF 结构。 对指定的表达式求值,如果值为非零 (TRUE),则汇编 IF 块内的代码。 如果表达式为零 (FALSE),则不组装 IF 块,并评估构造的后续块。

IF 块由 ELSEIF、ELSE 或 ENDIF 指令终止。

IF-ELSE-ENDIF 块最多可以嵌套 10 层。

  1. $IF (SWITCH = 1)
  2. .
  3. .
  4. .
  5. $ELSEIF (SWITCH = 2)
  6. .
  7. .
  8. .
  9. $ELSE
  10. .
  11. .
  12. .
  13. $ENDIF
复制代码


回复

使用道具 举报

8#
ID:155507 发表于 2022-9-22 13:18 | 只看该作者
沧兴电子 发表于 2022-9-22 12:33
碰到过,3000多行代码,出现多次

Ax51 汇编器提供了许多可用于控制源文件汇编的指令。 指令由一个或多个字母或数字组成,除非另有说明,否则可以在命令行上的文件名之后或在源文件中以美元符号 ('$') 开头时指定。 例如:

  1. A51 SAMPLE.A51 SYMBOLS DEBUG
  2. or

  3. $SYMBOLS DEBUG
  4. or

  5. $SYMBOLS
  6. $DEBUG
复制代码
回复

使用道具 举报

9#
ID:1034262 发表于 2022-9-22 14:27 | 只看该作者
楼主你问问题最好贴一句例子。
汇编IF一般是用于条件编译,跟C语言的#if一个意思,而51的111条指令是没有IF的,判断指令是JNB、JBC、JZ、JNZ、CJNE等等。
回复

使用道具 举报

10#
ID:748096 发表于 2022-9-22 21:58 来自手机 | 只看该作者
感谢各位答复
回复

使用道具 举报

11#
ID:624769 发表于 2022-9-23 12:20 | 只看该作者
沧兴电子 发表于 2022-9-22 12:32
汇编预处理指令,我认为是给编译器看的,如果条件满足就编译

对的,就是这个意思。
所以,不是汇编语言, 是 编译标记。
分  if  和  $if  两种,一个是 文件层面的,一个是编译器层面的,
相对应的  也分, else   和  $else,  两者互不干涉,要分清。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表