symbian gcc arm 汇编

   symbian大部分平台使用的都是arm的CPU,所以在某些特殊的场合,例如为了加快程序运行速度等。就可以编写汇编代码来实现程序高速运行。vs.net + gcc环境测试后发现不支持汇编,所以只能用carbide+gcc环境,至于carbide+armv5因为需要昂贵的费用购买arm专用汇编器,所以就不测了。

   GCC arm汇编和 arm汇编在伪指令上有些区别,所以在学了arm的基本指令后还得研习gcc for arm的伪指令,不然,在carbide 中编译的时候会提示错误。

 

 

C语言的函数为:

 

int SearchBig()

{

 int a[4] = {10 , 11, 13 ,0, 22 };

 

return a[4]

}

 

用gcc arm汇编后如下:

 

.text
.global SearchBig
SearchBig:
LDR r12,=value
LDMIA r12, {r0-r4}
CMP r0,r1
MOVLE r0,r1
CMP r0,r2
MOVLE r0,r2
CMP    r0,r3
MOVLE r0,r3
CMP    r0,r4
MOVLE r0,r4
mov pc,lr
.end

.data
value:
.int 10 , 11, 13 ,0, 22
.end

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值