请教:8位位图

[复制链接]
2398|3
 楼主| byhoo 发表于 2009-3-15 14:16 | 显示全部楼层 |阅读模式
请教:<br />8位位图<br />mov&nbsp;r0,#0x3F0<br />按照&nbsp;ARM体系结构与编程&nbsp;第24页讲&nbsp;应该采用rotate_imm最小的编码方式.那么下面两种编码方式<br />1,&nbsp;immed_8&nbsp;=&nbsp;0x3F,rotate_imm&nbsp;=&nbsp;0xE<br />2,&nbsp;immed_8&nbsp;=&nbsp;0xFC,rotate_imm&nbsp;=&nbsp;0xF<br />应该采用第一种编码方式,可实际上在AXD查看其内存发现用的是第2种,何解?<br />第2种&nbsp;rotate_imm明明大于第1种<br />
computer00 发表于 2009-3-15 21:26 | 显示全部楼层

第一种往左移4位,而第二种只需要往左移2位。

  
 楼主| byhoo 发表于 2009-3-15 21:38 | 显示全部楼层

怎么现在要考虑左移呢

每一个立即数应该由一个8位的常数循环右移rotate_imm*2位得到啊,怎么现在要考虑左移的位数呢?
computer00 发表于 2009-3-15 21:55 | 显示全部楼层

这样子啊...都忘光了...如果只能右移的话,那就前面的短了

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

本版积分规则

1

主题

16

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部