C语言中怎么内嵌汇编语言
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,今天就跟大家聊聊有关C语言中怎么内嵌汇编语言,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。部分代码如下:static inline void
千家信息网最后更新 2025年01月31日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安全错误
数据库的锁怎样保障安全
liunx安装pg数据库
洛阳赛格网络技术有限公司
浙江进口软件服务器虚拟主机
应用服务器和web服务器
网络安全的三大要素
简述网络安全的发展现状
国家网络安全公开课观后感
数据库批量保存优化
网络安全基础知识培训课件
c批量更新数据库
绿盟网络安全工程师
数据库建表的字段选择
国际服出现服务器未连接怎么办
荆州网络技术公司电话
网络安全日志期限
三调数据库下载
用什么软件能上传到数据库
服务器扫描
apex被服务器封
update在数据库
数据库 关系 定义
三级网络技术大题视频
青岛同游网络技术
网络安全基础知识培训课件
颐丰互联网科技有限公司
单台服务器搭建多种应用软件
软件开发检验公司
陕西数据网络技术服务五星服务
网络安全与管理制度
刘新鹏网络安全