找回密码
 立即注册
查看: 260|回复: 4

8051U在汇编编程时,如何正确使用EBIT

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2026-03-05 05:40:09

63

主题

211

回帖

2408

积分

金牌会员

积分
2408
发表于 2025-11-22 23:24:50 | 显示全部楼层 |阅读模式
问题描述:

我们知道,8051U的各个端口寄存器都是可位寻址的,对不?
现,假设想给P3.2起另外一个符号名,便于在多个文件之间引用它。定义如下:
  1. ?EB?VARSEBITS    SEGMENT     EBIT
  2.     RSEG    ?EB?VARSEBITS
  3. DEEP   BIT     P1.2
复制代码
build时,以上语法遇到错误:
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重新分配一个符号名,会遇到以上错误?
谢谢先 :-)
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2026-03-05 05:40:09

63

主题

211

回帖

2408

积分

金牌会员

积分
2408
发表于 2025-11-23 11:05:55 | 显示全部楼层
有熟悉汇编的大佬,帮忙分析一下原因喽,感谢先。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:586
  • 最近打卡:2026-07-04 12:34:03
已绑定手机

112

主题

4958

回帖

1万

积分

荣誉版主

无情的代码机器

积分
10758
发表于 2025-11-24 21:45:41 | 显示全部楼层
这个感觉就像C语言里的宏定义和变量定义:宏定义只是替换,变量定义要分配空间。



报错是因为要变量定义:
截图202511242144431367.jpg


截图202511242145269361.jpg

截图202511242145373464.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2026-03-05 05:40:09

63

主题

211

回帖

2408

积分

金牌会员

积分
2408
发表于 2025-11-25 12:15:17 | 显示全部楼层
erci*** 发表于 2025-11-24 21:45
这个感觉就像C语言里的宏定义和变量定义:宏定义只是替换,变量定义要分配空间。

非常感谢,respect送上 :-)
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:295
  • 最近打卡:2026-07-03 15:36:22
已绑定手机

22

主题

663

回帖

2480

积分

金牌会员

积分
2480
发表于 2025-11-25 13:59:27 | 显示全部楼层
P1  DATA  080H
P10  EQU    P1.0
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-7-5 17:01 , Processed in 0.072776 second(s), 65 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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