标题:谁知道MOV r0, #0x3FFFC0有没有错误 为什么
只看楼主
lzxm160
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-26
 问题点数:0 回复次数:1 
谁知道MOV r0, #0x3FFFC0有没有错误 为什么
谁知道MOV r0, #0x3FFFC0有没有错误 为什么
搜索更多相关主题的帖子: MOV 
2008-12-10 15:04
魔幻星空
Rank: 1
等 级:新手上路
帖 子:149
专家分:0
注 册:2006-8-24
得分:0 
是ARM指令吗?
ARM里的指令长度为32,其中MOV指令的第12~15们是第一操作数Rn,即寄存器编号,第0~11位是第二操作数<shifter_operand>,即立即数。
这样的立即数必需满足是由一个8位的常数循环右移偶数位得到,其中循环右移的位数由一个4位的二进制数的两倍表示,这样就用了12位的第二操作数。
0x3fffc0不能满足上述条件,所以错误,应改成伪指令: ldr r0, =0x3fffc0

2008-12-10 17:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-248602-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.639329 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved