智能车制作

标题: 位域的使用问题 [打印本页]

作者: 丁祖雄    时间: 2016-9-16 22:24
标题: 位域的使用问题
    在支持位操作的单片机中,如C51,使用位域定义变量或者寄存器,操作方便并且节约空间。
    问题1:但是很多单片机不支持位操作,仍然使用位域,那么汇编语言将如何执行?我理解的是,汇编间接实现位操作,但是会额外增加很多代码,不知是否这样?
    问题2:XS128支持位操作吗?官方给的头文件里有很多位域的使用。

作者: 361369499    时间: 2016-9-17 13:20
没用过128,但用过msp430。不支持位操作,但官方头文件同样用了很多位域进行定义。
作者: 杨劼    时间: 2016-9-17 13:41
记得看过一个视频说过像是 resister = 1 << bit编译器会自动将1 << bit的值算出来
也就是在单片机程序运行中其实这是个立即数,而不是经过位移得到的。
另为数据线如果是32位,一次运行32位数据,设置成int效率最高,成char型会节约空间但是好像会变慢

作者: 杨劼    时间: 2016-9-17 13:49
其实可以查下反汇编就清楚了




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2