Chinaunix首页 | 论坛 | 博客
  • 博客访问: 588939
  • 博文数量: 169
  • 博客积分: 2656
  • 博客等级: 少校
  • 技术积分: 1685
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-30 13:03
文章分类

全部博文(169)

文章存档

2011年(1)

2010年(135)

2009年(33)

我的朋友

分类: 嵌入式

2010-05-20 23:12:05

问题:使用gnu编译编译vxWorks的库文件时,编译到cacheAim970ALib.s会报这个错误。
 
答复:错误 cacheAim970ALib.s:433: Error: operand out of range (32768 not between -32768 and 32767) 的原因是汇编语句 li        p2, SCOM_DATA_STS_MODE_L2_DIRECT 中,SCOM_DATA_STS_MODE_L2_DIRECT的值是0x8000,li 语句是按照有符号数来解析后面的参数的,所以此处扩展以后超过了16位数的范围,使用diab编译库文件可以避免这个问题(可能对语法的理解不同,diab编译也不影响结果,风河原始的库都是diab编译的)。
阅读(1210) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~