社区
C语言
帖子详情
内联汇编的解释。
xuanmao
2011-02-19 03:13:38
asm volatile ("mov sp, %0\n\t"::"r"(val));
请高手解释下这句的意思。 包含几部分,每部分的意思是什么
...全文
185
1
打赏
收藏
内联汇编的解释。
asm volatile ("mov sp, %0\n\t"::"r"(val)); 请高手解释下这句的意思。 包含几部分,每部分的意思是什么
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
embeddedstudy
2011-02-19
打赏
举报
回复
内嵌汇编语法如下:
__asm__(
汇编语句模板:
输出部分:
输入部分:
破坏描述部分)
各部分使用“:”格
开,汇编语句模板必不可少,其他三部分可选,如果使用了后面的部分,而前面部分为空,
也需要用“:”格开,相应部分内容为空。
汇编语句模板由汇编语句序列组成,语句之间使用“;”、“\n”或“\n\t”分开。
指令中的操作数可以使用占位符引用C语言变量,操作数占位符最多10个,名称如下:%0,%1…,%9。
对于这句
asm volatile ("mov sp, %0\n\t"::"r"(val));
asm表示内嵌汇编
volatile表示告知编译器这段汇编语句不用优化
"mov sp, %0\n\t"表示汇编语句,%0表示引用c语言变量,在这里就是val变量
输出部分为空
"r"(val)表示输入部分,r表示使用任何可用的通用寄存器(变量和立即数都可以)
没有破坏描述部分,最后一个:不用写
这个部分是告诉编译器你修改过的寄存器,编译器会自动把保存这些寄存器值的指令加在内嵌汇编之前,再把恢复寄存器值的指令加在内嵌汇编之后
具体你可以搜索“内嵌汇编”
ARM GCC
内联汇编
参考手册
ARM GCC
内联汇编
参考手册
VC
内联汇编
资料 VC
内联汇编
资料
VC
内联汇编
资料 VC
内联汇编
资料 VC
内联汇编
资料 VC
内联汇编
资料
asm.rar_vb.net
内联汇编
_
内联汇编
插件
VB支持
内联汇编
的插件 VB支持
内联汇编
的插件
vc
内联汇编
示例代码.zip.rar_VC 汇编_
内联汇编
vc
内联汇编
示例代码,介绍了VC++的一些被封装的汇编代码,有愿意深入了解VC++的人请进
在Visual_C++中使用
内联汇编
在Visual_C++中使用
内联汇编
本文档主要详细介绍如何在c/c++代码内涵汇编代码,推荐给学习c/c++的同学们下载
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章