X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
ARM技术
[讨论] ARM 内嵌汇编
luminix
2012-5-28 00:33
楼主
我想问个问题,就是X86上SSE上可以
int func(int a, int b)
{
int c = 2;
asm
{
mov eax, a;
mov ebx, b;
mov ecx, c;
}
}
如果是ARM上, 下面的内嵌汇编似乎不行
int func(int a, int b)
{
int c = 2;
asm
{
mov r0, a;
mov r1, b;
mov r2, c;
}
}
那我如何能够实现(内嵌汇编)把 a, b,c分别赋值给r0,r1,r2呢?
谢谢。
点赞
回复评论 (3)
沙发
zca123
在arm体系中,r0~r3是用于函数调用时参数传递的,r0用于记录返回值,r4~r11用于局部变量。如果不够用堆栈处理
点赞
2012-5-28 10:42
板凳
luminix
那内嵌汇编具体怎么实现呢?
我用
mov r0, %0;
mov r1, %1;
mov r2, %2;
mov r3 %3
mov r4, %4
...........
这种方式,通过汇编代码发现,不能保证所有的结果都正确,因为寄存器不知道维护之前mov的寄存器之中的值。
点赞
2012-6-4 07:25
4楼
zca123
回复 板凳 luminix 的帖子
我之前发了一个笔记是关于混合编程的,虽然不是基于ARM的,但是给出了一些实例。
链接:
https://bbs.eeworld.com.cn/thread-327421-1-1.html
另外arm在处理定义局部变量的时候,会由编译器自己决定是局部变量还是寄存器变量,需要小心
点赞
2012-6-4 10:48
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
帮忙看看 drWaston的LOG
WINCE 6.0下如何安装驱动
西安外资公司寻觅终端固件开发及验证工程师
浅析全球通讯电源技术发展的趋势
电动汽车充电器电路拓扑的设计考虑2
tsb41
新人求一份MSP430G2553.h 头文件
AD转换后的缓存模块
电子沟通QQ群,39036974邀请加入
光敏器件的基本特性
EEWORLD大学堂----传感器与测试技术
PCB布线的标准
求助!CCS怎么能够通过FET430UIF仿真器给F149烧程序啊?
求助:有人用过语音芯片吗?
随拆两则
什么是拉电流,什么是灌电流?什么是吸收电流 ?
LPCXpresso LPC1114 SSP读写SD卡成功分享
关于12864描点问题 希望大家能给与解答
新年过后第一问,这个igbt驱动电流怎么敢用。
台积电向芯片设备商ASML投资11亿欧元
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复