Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2290624
  • 博文数量: 395
  • 博客积分: 10994
  • 博客等级: 上将
  • 技术积分: 5586
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-17 19:49
文章存档

2014年(1)

2013年(10)

2012年(74)

2011年(303)

2010年(7)

分类: LINUX

2011-09-16 10:22:38

无语,用arm-linux-gcc编译的时候碰到了这个错误:
led_on.S:5: Error: invalid constant (111400) after fixup
网上搜了一下,出现如下解释:
mov R1, #0xf0f0f021 最好改成LDR R1,=0xf0f0f021 用mov的话 只要立即数大于0x100后 有些数可以编译通过但是有些数就不能编译通过我用ads1.2软件做过实验 你可以试试用ldr时就不会出现这样的问题.:还真是奇怪。。。。记录下来,以后明示。。。
 
从上面的解释可以看出,立即数只能表示8位,超过了8位就有问题了,如果超过了8位,就只能用ldr指令了,呵呵。关于立即数为什么只能循环右移偶数位,下面这个帖子有详细解释:
阅读(8129) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~