BeHappy 发表于 2025-10-27 17:20:29

如何定义一个可以在多个文件之间使用的标志符号?

问题描述:

在单片机汇编语言编程中,想定义一个标志符号,要做到可以在该项目的多个文件中都可以使用,我该如何做呢?
已经尝试使用SET和EQU指令,均没启作用 :-(

就像C语言中用#define定义的符号那样。
谢谢先 :-)

zhp 发表于 2025-10-29 10:55:32

用下面的方法应该可以实现你的目的



更多帮助请在Keil的帮助中查找public和extrn相关内容
(注意:C语言中是extern,汇编语言中是EXTRN,两个拼写不一样)

BeHappy 发表于 2025-10-29 15:39:55

zhp 发表于 2025-10-29 10:55
用下面的方法应该可以实现你的目的




您好,十分感谢您的答疑!

BeHappy 发表于 2025-10-29 15:54:13

更进一步地,这种定义标志的方式,相当于使用00H ~ 0FFH中的某个具体的内存地址,并给该地址起了个别名,如上述定义的符号“VAR1”.
试过了,使用DATA定义的符号并不会增加DATA段的使用空间。这一点有点不理解,恳请解答。

ercircle 发表于 2025-10-29 17:08:47

BeHappy 发表于 2025-10-29 15:54
更进一步地,这种定义标志的方式,相当于使用00H ~ 0FFH中的某个具体的内存地址,并给该地址起了个别名,如 ...

这相当于给内部 RAM 的固定地址起了一个易读的名字,并没有在 data 区声明占有任何存储空间。


可以对比这个指令

更多内容可查阅keil帮助手册,A51或A251章节:


页: [1]
查看完整版本: 如何定义一个可以在多个文件之间使用的标志符号?