3294|8

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

win ce arm汇编高手请进 [复制链接]

// 预定义函数
inline f32 Mulfx(f32 x, f32 y)
{   
        return ((y) * (x)) >> 12;
}
inline f32 Divfx(f32 x, f32 y)
{
        return (((x) << 12) / (y));            // Divide a fixed by a fixed
}
inline f32 inttof32(int n)
{
        return (n) << 12;
}
inline int f32toint(f32 n)
{
        return ((n) >> 12);
}
inline float f32tofloat(f32 n)
{
        return (((float)(n)) / (float)(1<<12));
}
inline f32 floattof32(float f)
{
        return (int(4096.0*f));
}
inline f32 divf32(f32 num1, f32 num2)
{
        return (num1 << 12) / num2;
}
inline f32 f32floor(f32 xv)
{
        return (xv>>12)<<12;
}

inline f32 f32ceiling(f32 xv)
{
        if ((xv - f32floor(xv)) > 0)
        {
                return inttof32(f32toint(xv)+1);
        }
        else
        {
                return inttof32(f32toint(xv));
        }
}


上面这些函数是我用c写的,可是在执行的时候发现效率不佳,希望可以汇编花,各位大侠有没有做过,或者帮忙写几个,写着有分,谢谢
此帖出自ARM技术论坛

最新回复

谢谢楼上的 大家在没有浮点协处理器的arm cpu上面有没有吹乘除的经验 分享一下,谢谢啊  详情 回复 发表于 2009-9-7 19:53
点赞 关注
 

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
反汇编不就行了,再从汇编中找出你你觉得需要优化的代码
此帖出自ARM技术论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
ARM的我忘了,只会DSP的了
不过你这些函数基本都是一句,如果写好了C,可以和汇编效率差不多的。
此帖出自ARM技术论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
效率不佳和
你用汇编写或者c写 没有一点关系,ads编译后可能看到编译后的汇编,可以对照一下编译后的结果

ads下的O(x)编译选项下编译的代码通常说比自己动手写的效率要高

lz这些函数纯逻辑的东西,没有必要用汇编写。


f32应该是int吧?
看到了2个float的函数,lz能不能想办法不使用float类型,优化以下2个函数?

浮点运算

inline float f32tofloat(f32 n)
{
return (((float)(n)) / (float)(1 < <12));
}

inline f32 floattof32(float f)
{
return (int(4096.0*f));
}
此帖出自ARM技术论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
谢谢楼上的,我也在想怎么处理这一快

我作的是windows mobile手机的开发,现在作的上面的图像变形软件

运算量比较大,这些是常用的几个函数。

我先想办法把float去除出去,函数的汇编话大家看看有没有,帮忙给写写

此帖出自ARM技术论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

6
 
你的芯片支持浮点数处理么?
此帖出自ARM技术论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 
不支持,浮点运算在上面跑很慢很慢,所以我才改成顶点的

可是顶点的在最差的200mhz的cpu上面跑图像变换还不是很流畅

所以才考虑到一些常用的函数进行汇编话的
此帖出自ARM技术论坛
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

8
 
如果没有浮点单元的话,那你得考虑一下怎么处理乘除。否则单纯的转为汇编不会有什么改善。瓶颈应该是如何实现乘除上。
此帖出自ARM技术论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
谢谢楼上的

大家在没有浮点协处理器的arm cpu上面有没有吹乘除的经验

分享一下,谢谢啊
此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表