找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 855|回复: 4
打印 上一主题 下一主题

为何ARM的c程序中对寄存器的操作有好多左移,右移

[复制链接]

19

主题

27

帖子

75

积分

二级会员(20)

Rank: 2Rank: 2

积分
75
跳转到指定楼层
1#
发表于 2012-4-5 22:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
为何ARM的c程序中对寄存器的操作有好多左移,右移,比如:1《《18。能不能直接对它赋值?或者这样左移,右移的本意是什么?求各位帮忙。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

18

主题

229

帖子

3994

积分

五级会员(50)

Rank: 5

积分
3994
2#
发表于 2012-4-10 09:29 | 只看该作者
如果你对寄存器的每一位值都很了解的话可以直接赋值。如果不了解的话,最好把寄存器的值读出来再去与或你要改变的那位。所以就有很多左移等操作

5

主题

120

帖子

699

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
699
3#
发表于 2012-4-16 21:36 | 只看该作者
是为了向ARM寄存器中的某一位置一或者清零操作,同时又不影响其他位。

8

主题

84

帖子

351

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
351
4#
发表于 2012-4-19 13:53 | 只看该作者
左移和右移还有另外一个解释就是乘法和除法操作,但是比C语言的乘法和除法快。

2

主题

181

帖子

1137

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1137
5#
发表于 2012-4-28 19:50 | 只看该作者
LZ 应该没有看完全!或者是没有说完全!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-3 21:58 , Processed in 0.057066 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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