C语言如何利用20H-2FH的位地址?

2020-01-24 11:59发布

新人请教:在语言中,能像汇编一样的利用位址吗,好像没有找到这方面的贴子。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
chenxiongwei
1楼-- · 2020-01-25 09:08
回复【5楼】dqlspzl
-----------------------------------------------------------------------

再请教5楼的朋友,您的方法可行,想问下08以后的点写呢?
lyxing
2楼-- · 2020-01-25 10:11
unsigned char bdata redata; //字符变量redata定位于可位寻址片内数据存储区,允许位与字节混合访问
bit bdata redata;            //位变量redata定位于数据存储区中的位寻址区(20H-2FH)
avic
3楼-- · 2020-01-25 14:07
 精彩回答 2  元偷偷看……
AIHHLI
4楼-- · 2020-01-25 18:57
回复【9楼】avic  
-----------------------------------------------------------------------
也可以用联合体和位域实现,sbit尽限在51里使用,用联合体方法更通用,也更容易移植。
-------------------------------------------------------------------------------
不太明白,能不能说详细点?最好能给个例子,谢谢。
songshanxiaozi
5楼-- · 2020-01-25 21:56
本帖最后由 songshanxiaozi 于 2014-4-8 16:58 编辑

位域的用法
typedef union
{
unsigned char xx;
struct
{
  unsigned char bit0:1;
  unsigned char bit1:1;
  unsigned char bit2:1;
  unsigned char bit3:1;
  unsigned char bit4:1;
  unsigned char bit5:1;
  unsigned char bit6:1;
  unsigned char bit7:1;
};
}BIT_FIELD;

BIT_FIELD  x;

使用方法:
x.bit0=1;
x.xx=100;

想不通,既然用C语言编程,为什么还非要用20H~2FH这个位寻址区呢

一周热门 更多>