8051U在汇编编程时,如何正确使用EBIT
问题描述:我们知道,8051U的各个端口寄存器都是可位寻址的,对不?
现,假设想给P3.2起另外一个符号名,便于在多个文件之间引用它。定义如下:
?EB?VARSEBITS SEGMENT EBIT
RSEG ?EB?VARSEBITS
DEEP BIT P1.2build时,以上语法遇到错误:
error A21: EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
经查,可以在EBIT段定义可位寻址的寄存器bit位:
[*]SFR bits which are in the bit-addressable space. For example, P3.3, or PSW.7.
如果定义的时候,直接指定bit位的寄存器地址,又会报告定义了一个空的EBIT段。不知道如何是好了 :-(
问题:
为什么我在EBIT段,给P1.2重新分配一个符号名,会遇到以上错误?
谢谢先 :-)
有熟悉汇编的大佬,帮忙分析一下原因喽,感谢先。 这个感觉就像C语言里的宏定义和变量定义:宏定义只是替换,变量定义要分配空间。
报错是因为要变量定义:
ercircle 发表于 2025-11-24 21:45
这个感觉就像C语言里的宏定义和变量定义:宏定义只是替换,变量定义要分配空间。
非常感谢,respect送上 :-) P1DATA080H
P10EQU P1.0
页:
[1]