单片机程序中,标号的作用是什么

单片机程序中,标号的作用是什么,第1张

标号是表示地址的,凡是转移指令,所转移的目的位置就必须用标号表示。所以加标号有三种情况,一种就是转移指令的目的地址必须加标号。另一种是子程序的起始行,也叫起始地址,也必须加标号,而子程序的标号也可以叫子程序的名称。第三种情况就是程序中有些数据表格等,存放的位置,也是起始地址也要加标号,如用DB伪指令定义的数据表。

汇编语言中标号有以下几层意思:

1、作为转移指令所要到达地址的标记。

例如:

MOV A,R2

CJNE A,#10,NXT

NXT:

JC NXT1

CLR C

NXT1:

SETB C

RET

2、作为一个子程序的名称。

例如:

SETB P1.0

LCALL DELAY

CLR P1.0

LCALL DELAY

......

DELAY:

MOV R2,#200

DJNZ R2,$

RET

3、作为一个表格的起始地址

例如:

MOV DPTR,#TAB

CLR A,R2

MOVC A,@A+DPTR

......

TAB:

DB 0C0H,............

END [label]

其中标号指示程序开始执行的起始地址。如果多个程序模块相连接,则只有主程序要使用标号,其他子程序模块则只使用END 而不必使用标号。······,用END START表示程序结束。end叫做结束语句,它的格式为: END 表达式

也就是说,end start是一条语句,不是两条,它是一个完整的表达式!

你要知道的是“汇编程序并非将在遇END时结束汇编”,而是在“遇END语句时结束汇编”


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7738613.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-09
下一篇2023-04-09

发表评论

登录后才能评论

评论列表(0条)

    保存