C语言中怎么内嵌汇编语言
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天就跟大家聊聊有关C语言中怎么内嵌汇编语言,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。部分代码如下:static inline void
千家信息网最后更新 2026年11月02日C语言中怎么内嵌汇编语言
今天就跟大家聊聊有关C语言中怎么内嵌汇编语言,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
部分代码如下:
static inline void RestoreLocalPSR (portLONG newMask){ __asm__ __volatile__( "mtcr %0, psr \n" : :"r" (newMask) :"memory" );}该函数实现功能:将入参newMask的值写入到psr寄存器,用于恢复现场。
C内嵌汇编格式
__asm__(
汇编语句部分
:输出部分
:输入部分
:破坏描述部分
);
C内嵌汇编描述
1)C内嵌汇编以关键字__asm__或asm开始。如果使用volatile关键字,则表示告诉编译器不优化后续的代码。
2) 汇编语句部分:可以包含多条汇编语句,每条语句之间用"\n"或";",例:
asm volatile( "mfcr %0, psr\n" "lsri %0, 16\n" "sextb %0\n" :"=r"(vec) : );
注:汇编语句中的操作数可以使用占位符引用C语言变量,名称如下:%0,%1,…。
2) 输出部分:在汇编语言中被修改的C变量
3) 输入部分:作为参数输入到汇编语言中的C变量
注:输出和输入部分是针对汇编语句部分的输入和输出参数而言。例:如果汇编语言使用变量设置寄存器,则用输入部分;如果汇编语言从寄存器读取值,保存到变量,则用输出部分。
4) 破坏描述部分:通知编译器使用了哪些寄存器或内存。
5) 每个部分之间用":"隔开。汇编语句部分必不可少,其他部分可以省略。例:asm("nop"),实现空操作。
看完上述内容,你们对C语言中怎么内嵌汇编语言有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
部分
语言
语句
输入
变量
输出
汇编语言
寄存器
内容
之间
代码
关键
关键字
参数
编译器
编译
内存
函数
功能
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网为科技
世界互联网领先科技成果
浩特互联网科技
科技互联网公司logo
上海亿帐通互联网科技
北京三清互联网科技
互联网教育科技公司vipkid
互联网5g黑科技有哪些
银川新华互联网科技学校联系电话
国大互联网教育科技有限公司工作
国大互联网教育科技有限公司薪资
互联网金融科技元年
启辰互联网科技
互联网科技数字货币
郑州欣桑互联网科技有限公司
昆明中奇联合互联网科技
互联网界的黑科技
求路客互联网科技电话
互联网企业和网络科技有限公司
广州全民伙伴互联网科技有限公司
科技互联网
互联网金融科技
互联网 科技
深圳互联网科技公司
互联网科技生活的内容
互联网科技产业特征
卡尔迅互联网科技有限公司
互联网科技包装股份有限公司上市
福仕德教育科技互联网
好易买互联网科技