关于关键字“sbit”定义某些特殊位的问题

2020-01-30 13:58发布

用关键字“sbit”定义某些特殊位时,在对地址分配有三种格式,其中sbit-bit name=sfr-name中为什么要求该值必须在0x80-0xFF之间,并能被8整除?求解,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
lcb761085384280
1楼-- · 2020-01-31 12:56
wctmdgcd 发表于 2013-3-24 14:22
楼主的ID真长

免得自己没说清楚,大家不好解答嘛
lcb761085384280
2楼-- · 2020-01-31 15:46
xwkm 发表于 2013-3-24 14:24
意思就是说,在51的体系中,能够有效的被SETB操作的8位寄存器的地址必须被8整除
类似0x80(P0)。
拿一个地址 ...

不好意思啊,我们现在是在学习用C语言编程的单片机,上面你讲的是汇编语言,我们没有学,请问两者情况是一样的吗?
xwkm
3楼-- · 2020-01-31 16:52
lcb761085384280 发表于 2013-3-24 14:31
不好意思啊,我们现在是在学习用C语言编程的单片机,上面你讲的是汇编语言,我们没有学,请问两者情况是 ...

C语言最后还是汇编。我也用C语言的。
单片机最后看得还是机器码。
用C/ASM/BASIC都一样。寻址方法都一样的。
lcb761085384280
4楼-- · 2020-01-31 17:04
 精彩回答 2  元偷偷看……
barryliu
5楼-- · 2020-01-31 19:30
设计技巧,为了使用者容易记忆和换算位地址罢了。后来的一些“增强型”51扩展的SFR不再遵从该“规律”。
xwkm
6楼-- · 2020-01-31 20:55
lcb761085384280 发表于 2013-3-24 14:43
我们专业没有学过汇编语言,所以对汇编不是很清楚,另外还想请教一下:sbit OV=0xD0^2与sbit OV=0xD2是两种 ...

对,等效的。
不过顺带说下,sbit仅仅是51的数据而已。
感觉keil c的位操作没有sdcc顺眼。

一周热门 更多>