社区
汇编语言
帖子详情
请问下 ARM 的VFP指令如何用,谢谢!
sno_guo
2012-12-11 05:35:45
我想在我的代码中加入浮点计算, 这样我使用到inline 嵌入到gcc中, 如果正常的程序(非vfp):我会这样:
__asm__(
"add %0, %1,%2,lsl #16\n"
:"=r"(ret)
:"r"(a),"r"(b)
);
可是如果是浮点计算的话,应该怎么做的, 谁能给个例子,谢谢!
我没有从google上搜到相关的例子,谢谢!
...全文
620
10
打赏
收藏
请问下 ARM 的VFP指令如何用,谢谢!
我想在我的代码中加入浮点计算, 这样我使用到inline 嵌入到gcc中, 如果正常的程序(非vfp):我会这样: __asm__( "add %0, %1,%2,lsl #16\n" :"=r"(ret) :"r"(a),"r"(b) ); 可是如果是浮点计算的话,应该怎么做的, 谁能给个例子,谢谢! 我没有从google上搜到相关的例子,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cimeng2013
2015-05-09
打赏
举报
回复
还记得咋解决的吗,博客里面没找到
sno_guo
2013-01-06
打赏
举报
回复
自己看明白了,如果谁刚好也不懂不话,可以看我的博客。 里面说的很清楚,有例子。
sno_guo
2012-12-31
打赏
举报
回复
有些计算是汇编做不了的,比如你要在一个有很多个大型结构体的函数中。使用汇编,怎么办,结构体中的每个元素的偏移地址是不知道的,那么只能使用inline汇编,这样就要使用到inline的汇编。
HMGuardian
2012-12-31
打赏
举报
回复
编译交叉编译工具链的时候使用选项"--with-float=hard"以生成支持硬件浮点的gcc 编译程序的时候使用选项“-mhard-float”以指明使用硬件浮点 呵呵,我自己也不清楚,木有用过,可以一试,注意浅尝则止……
lr2131
2012-12-30
打赏
举报
回复
C与汇编的混编有2中方法: 1.在C中用类似于__asm的关键字来插入汇编 2.在汇编文件*.s中用汇编编写代码,在C中调用。 我一般都是用第二种,上面帖子说的也是第二种。因为第一种有什么限制(不记得了,而且感觉确实第二种好用的多),你这是不是因为__asm的限制不知道,我一般都不采用第一种方式的,不是很清楚。
lr2131
2012-12-20
打赏
举报
回复
你的意思是说,已经在汇编文件中实现了汇编函数是吗?但只是不会在C文件中来调用这个汇编的函数是吗? 如果是这样,LZ应该问怎么在C中调用汇编。方法是: 1. 在汇编文件中写好汇编函数,自己注意寄存器的压栈。调用最好要服从APCS或ATPCS的要 求,说白了也就是函数传参的要求。汇编函数名也就是这个函数的lable,也即是起始 地址,假如说叫AssemblyFunction 2. 在这个汇编文件中的开头添加 EXPORT 汇编函数函数名,你这就该是 EXPORT AssemblyFunction 3. 在需要调用这个汇编函数的c文件或对应的头文件中声明: extern 函数返回类型 AssemblyFunction(形参列表); 如果有返回值,一般都是用R0返回的。
sno_guo
2012-12-20
打赏
举报
回复
等我明白了,我会贴出来的,呵呵
sno_guo
2012-12-20
打赏
举报
回复
哦,谢谢,我的意思是:怎样编写一个嵌入到C代码中的vfp指令,我试了很多方法,可是无法成功, 我上面有举例子的,呵呵 一般的arm指令 用__asm__(xxxxxx)这样就可以直接嵌入到C代码中,可是vfp指令却不行,不知道为什么 等我把这个弄明白了,再看看,呵呵,谢谢了
sno_guo
2012-12-12
打赏
举报
回复
谢谢回复,我用的cpu是有浮点运算的,我可以直接在.S文件中编写浮点的汇编函数,然后用CROSS-gcc编译,然后在板子上运行, 可是现在的情况是:我想嵌入到我的C代码中,这样就用到了嵌入的一些东西,不知道该如何做了,才来这里提问的,呵呵,
lr2131
2012-12-12
打赏
举报
回复
没有浮点数协处理器的CPU,处理浮点数的时候是用的软件模拟浮点数的。前一周的项目开发还遇到过这种问题,最后不用浮点数运算,生成的bin文件直接少了2K,可见这个软件模拟浮点数运算的代码量是很大的,当然这个和精度有关,精度越高,代码量越大。没有去看这个软件模拟浮点数运算的汇编代码。LZ可以用C写一下用到浮点数运算的代码,然后再调试或生成的汇编中去看这个是怎么做的。
ARM
指令
全集!!!!!!
ARM
指令
集是嵌入式系统和移动设备领域中广泛使用的处理器架构的核心部分。这份资源,"
ARM
指令
全集",提供了全面的
ARM
指令
系统信息,包括数据处理、控制流、状态转移、浮点运算等各个方面的
指令
。它以CHM(Compiled ...
ARM
Cortex
指令
集
ARM
Cortex
指令
集是基于
ARM
架构的处理器核心所使用的
指令
系统,是
ARM
Holdings公司设计的微处理器架构中非常重要的一部分。Cortex系列是
ARM
公司的高端产品线,广泛应用于移动设备、嵌入式系统以及服务器等领域。其...
ARM
+
指令
集.rar
ARM
指令
集是嵌入式系统和移动设备领域中广泛使用的处理器架构的核心部分,它以其高效、低功耗的特性著称。本资源“
ARM
+
指令
集.rar”包含了一个关于
ARM
汇编
指令
集的详细参考指南,名为“
ARM
+
指令
集.chm”。这个CHM...
ARM
汇编
指令
(中文版)
- **浮点运算
指令
**:对于支持
VFP
(Vector Floating Point)的
ARM
处理器,有专门的浮点运算
指令
。 3. **寄存器**:
ARM
处理器有一组通用寄存器(R0-R15),其中R15作为程序计数器(PC),R14通常用作链接寄存器...
ARM
指令
集中文版
ARM
指令
集是嵌入式系统和移动设备领域中广泛使用的处理器架构的重要组成部分。这份资源,"
ARM
指令
集中文版",包含了一份详细的
ARM
指令
集的中文文档,这对于学习和理解
ARM
汇编语言至关重要。以下是对这个主题的深入...
汇编语言
21,497
社区成员
41,616
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章