Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15531265
  • 博文数量: 2005
  • 博客积分: 11986
  • 博客等级: 上将
  • 技术积分: 22535
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-17 13:56
文章分类

全部博文(2005)

文章存档

2014年(2)

2013年(2)

2012年(16)

2011年(66)

2010年(368)

2009年(743)

2008年(491)

2007年(317)

分类:

2007-10-15 09:55:12

1.__put_user_1:
    bic r2, sp, #0x1f00
    bic r2, r2, #0x00ff
    ldr r2, [r2, #TSK_ADDR_LIMIT]
    sub r2, r2, #1
因为bic r2, sp, #0x1fff指令操作超出使用范围,所以只能用两步完成.
2.typeof的使用
const register typeof(*(p)) __r1 asm("r1") = (x);
const register typeof(*(p)) *__p asm("r0") = (p);
假如:long *p,所以*p就是long类型,而不是指针类型,typeof(x)返回的是x的类型,
所以typeof(*(p))之后编译器返回long,所以,等效为:
const register long __r1 asm("r1") = (x);同理,
const register long *__p asm("r0") = (p);

阅读(1321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~