智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1440|回复: 3
打印 上一主题 下一主题

位域的使用问题

[复制链接]

3

主题

9

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1140
威望
587
贡献
357
兑换币
383
注册时间
2013-5-19
在线时间
98 小时
跳转到指定楼层
1#
发表于 2016-9-16 22:24:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在支持位操作的单片机中,如C51,使用位域定义变量或者寄存器,操作方便并且节约空间。
    问题1:但是很多单片机不支持位操作,仍然使用位域,那么汇编语言将如何执行?我理解的是,汇编间接实现位操作,但是会额外增加很多代码,不知是否这样?
    问题2:XS128支持位操作吗?官方给的头文件里有很多位域的使用。
回复

使用道具 举报

15

主题

383

帖子

0

精华

杰出人士

三轮飙车狂魔

Rank: 12Rank: 12Rank: 12

积分
18033
威望
12399
贡献
3288
兑换币
2783
注册时间
2015-10-15
在线时间
1173 小时
毕业学校
北方邮政大学
2#
发表于 2016-9-17 13:20:03 | 只看该作者
没用过128,但用过msp430。不支持位操作,但官方头文件同样用了很多位域进行定义。
回复 支持 反对

使用道具 举报

8

主题

280

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3947

优秀会员奖章活跃会员奖章

威望
2180
贡献
589
兑换币
1361
注册时间
2014-1-21
在线时间
589 小时
3#
发表于 2016-9-17 13:41:44 | 只看该作者
记得看过一个视频说过像是 resister = 1 << bit编译器会自动将1 << bit的值算出来
也就是在单片机程序运行中其实这是个立即数,而不是经过位移得到的。
另为数据线如果是32位,一次运行32位数据,设置成int效率最高,成char型会节约空间但是好像会变慢
回复 支持 反对

使用道具 举报

8

主题

280

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3947

优秀会员奖章活跃会员奖章

威望
2180
贡献
589
兑换币
1361
注册时间
2014-1-21
在线时间
589 小时
4#
发表于 2016-9-17 13:49:28 | 只看该作者
其实可以查下反汇编就清楚了
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 03:26 , Processed in 0.046986 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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