全部博文(2005)
分类:
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);