C 内联汇编

news/2024/9/13 19:48:28/ 标签: 汇编, 前端

 这是一内个汇联编格的式。

拆解

asm

1.说明是一个内联汇编

asm-qualifiers

2.有三个值 volatile inline goto

        volatile 是可选的,编译器有可能对汇编代码进行优化,使用 volatile 关键字之后,告诉编译器不要优化手写的内联汇编代码。

语法规则

asm [volatile] ("汇编指令")

Assembler Template

3.是一个字符串,是放汇编指令的,

  1. 超过一条指令,必须用\n\t分隔符进行分割;
  2. 多条汇编指令,可以写在一行,也可以写在多行;
  3. 所有指令,必须用双引号包裹起来;

#include <stdio.h>int a = 1;
int b = 2;
int c; int main()
{asm volatile ("movl a,  %eax\n\t""addl b, %eax\n\t""movl %eax, c");printf("c = %d \n", c);return 0;
}

C语言中会自动把两个连续的字符串字面量拼接成一个,所以"nop\n\tnop\n\t" "nop" 这两个字符串会自动拼接成一个字符串。

除了汇编指令还有,下面带冒号4,5,6

 OutputOperands

小例子 

结果 

 解释

 它的反汇编代码

 

下面用寄存器版本试试

 结果一样

 汇编

例子2

把b的变量给到a

 


http://www.ppmy.cn/news/1515281.html

相关文章

git push 更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支

提示&#xff1a;更新被拒绝&#xff0c;因为您当前分支的最新提交落后于其对应的远程分支。 提示&#xff1a;再次推送前&#xff0c;先与远程变更合并&#xff08;如 git pull ...&#xff09;。详见 提示&#xff1a;git push --help 中的 Note about fast-forwards 小节。 …

【C++ 面试 - 面向对象】每日 3 题(十)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

【Docker】Docker Consul

docker consul Docker Consul 是一个用于服务发现和配置的开源工具&#xff0c;它是 HashiCorp 公司推出的一个项目。Consul 提供了一个中心化的服务注册和发现系统&#xff0c;可以帮助开发人员轻松地在 Docker 容器和集群之间进行服务发现和配置管理。 Consul 使用基于 HTT…

【QT从入门helloworld到进阶QT(C++)部署YOLOV5】

QT入门看这一篇就够&#xff08;详解含qt源码&#xff09; Qt Creator 简单使用 1.1 Qt Creator 界面组成 启动 Qt Creator 后&#xff0c;Qt Creator 的主界面如下图&#xff0c;默认打开的是欢迎页面。 可以看到 Qt Creator里自带很多示例。 在 Ubuntu 里&#xff0c;由于…

【JVM】剖析字符串与数组的底层实现(二)

剖析字符串与数组的底层实现 字符串jdk8和jdk9的区别 jdk8:底层是一个char[]数组 jdk9及之后:底层是一个byte[]数组 一个中文占两个字节&#xff0c;一个char占两个字节&#xff0c;一个byte占一个字节 Jdk9及之后的版本中&#xff0c;多了一个code属性&#xff0c;这个属性标…

第三题:无重复字符的最长子串

题目描述 给定一个字符串 s&#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例&#xff1a; 输入: s "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc"&#xff0c;其长度为 3。 输入: s "bbbbb" 输出: 1 解释: …

node版本8.x→16.x,前端维护火葬场,问题及解决方案总结

为了后续的工程开发&#xff0c;我需要升级我的node&#xff0c;在此之前我的node版本是8&#xff0c;这个版本太老了&#xff0c;从8升级到16的跨度太大&#xff0c;对于以前的许多项目&#xff0c;产生了非常多维护方面的问题&#xff0c;历时四天终于全部解决了&#xff0c;…

Android车载蓝牙音乐实例(附Demo源码):实现手机播放音乐后车机应用显示音乐名称,歌手,专辑名。且可控制上一曲下一曲,暂停播放功能

一、功能需求 功能需求是在Android10以上设备上实现蓝牙音乐功能&#xff0c;细分为两个功能点&#xff1a; 1、手机和车载设备实现蓝牙连接 &#xff08;本Demo文只做监听蓝牙连接状态&#xff0c;需手动到设置中连接蓝牙&#xff09; 2、连接蓝牙成功后手机播放音乐时车载…

《亿级流量系统架构设计与实战》第十二章 评论服务

评论服务 一、概述二、单级评论模式1、模型设计2、分库分表必要性3、高并发问题 三、二级评论模式1、模型设计2、评论审核与状态3、按照热度排序4、评论读取流程图5、架构总览 四、盖楼评论模式1、数据库递归查询2、数据库保存完整楼层3、图数据库 内容总结自《亿级流量系统架构…

【开端】 如何判断手机号码属于哪个国家(手机号判断正则)汇总

import org.apache.commons.lang3.StringUtils; /** * 手机号判断正则 */ public enum MobileRegularExp { /** * 国家 正则 */ CN("中国", 86, "^(\\?0?86\\-?)?1[3456789]\\d{9}$"), TW("中国台湾", 886, "…

【linux】Linux中网络管理工具--nmcli的详细用法实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

jenkins最佳实践(二):Pipeline流水线部署springCloud微服务项目

各位小伙伴们大家好呀&#xff0c;我是小金&#xff0c;本篇文章我们将介绍如何使用Pipeline流水线部署我们自己的微服务项目&#xff0c;之前没怎么搞过部署相关的&#xff0c;以至于构建流水线的过程中中也遇到了很多自己以前没有考虑过的问题&#xff0c;特写此篇&#xff0…

如何使用Python Flask构建地震爬虫预测系统?

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

笔记整理—uboot启动过程(3)栈的二次设置以及常用名词解析,BL1部分完

前文说到了uboot的lowlevel_init都干了些什么&#xff0c;也就是经过了这项初期的低级启动&#xff0c;使得我们能在串口监视器上看见机器打印出的第一句话“OK”。当lowlevel_init结束后&#xff0c;uboot去做了另一件事情&#xff0c;那就是栈的再次设置。 第一次栈设置发生在…

【GH】【EXCEL】P6: Shapes

文章目录 componentslinepicture components line picture Picture A Picture object Input parameters: Worksheet (Generic Data) A Worksheet, Workbook, Range Object, Excel Application, or Text Worksheet NameName (Text) An optional object nameLocation (Point) A p…

华为OD机试 - 空栈压数 - 栈(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;E卷D卷A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加…

iOS18升级出现白苹果、无法重启等问题,要怎么解决

随着苹果iOS 18系统beta版本的推出&#xff0c;不少用户在私信说升级后遇到了白苹果和无法重启等问题。这些问题不仅影响了大家的正常使用&#xff0c;还会导致数据丢失和系统崩溃。本文将详细介绍iOS 18升级后出现白苹果、无法重启等问题的原因及解决方法&#xff0c;帮助大家…

EmguCV学习笔记 C# 6.3 轮廓外接多边形

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

MyBatis-Plus分页插件使用详解

一、简述 在使用mybatis开发项目的时候我们通常使用pagehelper来进行分页操作&#xff0c; 但是我们在使用MyBatis-Plus 开发时&#xff0c;MyBatis-Plus内置已经有分页功能了&#xff0c;其实不需要在额外引入pagehelper依赖了&#xff0c;而且两者同时引入有时候还会导致分页…

基于.net的外卖点单系统的设计与实现/基于asp.net的外卖系统

基于.net的外卖点单系统的设计与实现 摘 要 国内餐饮行业的快速发展&#xff0c;人们为了能够更加方便地管理用户点单&#xff0c;外卖点单系统被人们开发出来从而更好地方便管理用户点单&#xff0c;一个完美的外卖点单系统已经成为各个餐饮店的追求目标。 本系统asp.net利用…