- 浏览: 460568 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (538)
- C/C++ Primer (69)
- Objective-C Primer (102)
- Python Primer (19)
- JavaScript Primer (1)
- Java Primer (37)
- PHP Primer (17)
- 泛 Linux (37)
- Shell Script (21)
- APUE (21)
- UNP__1&2 (19)
- NetWork (7)
- Oracle周边 (38)
- Mysql里边 (6)
- Windows技 (9)
- 简单算法 & 数据结构 (14)
- 设计模式 (6)
- GTK历程 (12)
- 工具使用 (25)
- 杂事 (23)
- 一些概念 (17)
- Web方面 (10)
- myCodeTools (9)
- ^未 竟$ (13)
- 硬件通信 (2)
- Games (1)
最新评论
http://hi.baidu.com/liu_bin0101/blog/item/433103007852b216738b658d.html
1、简单的内嵌汇编
例:
__asm__表示后面的代码为内嵌汇编。
__volatile__ 表示编译器不要优化代码,后面的指令保留原样。
括号里面的hlt是汇编指令。
2、内嵌汇编举例
使用内嵌汇编,要先编写汇编指令模板,然后将C语言表达式与指令的操作数相关联,
并告诉GCC对这些操作有哪些限制条件。例如在下面的汇编语句:
"movl %1,%0"是指令模板;"%0"和"%1"代表指令的操作数,称为占位符,
内嵌汇编靠它们将C 语言表达式与指令操作数相对应。
1、简单的内嵌汇编
例:
__asm__ __volatile__("hlt");
__asm__表示后面的代码为内嵌汇编。
__volatile__ 表示编译器不要优化代码,后面的指令保留原样。
括号里面的hlt是汇编指令。
2、内嵌汇编举例
使用内嵌汇编,要先编写汇编指令模板,然后将C语言表达式与指令的操作数相关联,
并告诉GCC对这些操作有哪些限制条件。例如在下面的汇编语句:
__asm__ __violate__ ("movl %1,%0" : "=r" (result) : "m" (input));
"movl %1,%0"是指令模板;"%0"和"%1"代表指令的操作数,称为占位符,
内嵌汇编靠它们将C 语言表达式与指令操作数相对应。
发表评论
-
float equal
2013-05-23 18:21 822- (BOOL)floatA:(float)f1 equalB ... -
C++序列化
2012-07-12 09:51 596http://hi.baidu.com/ewook/item/ ... -
C++著名内裤
2011-12-02 14:00 8131、C++各大有名库的介绍 ... -
C++写C
2011-09-06 17:23 655在C++中写C,标准头文件写法 #ifndef __AB ... -
errno.h
2011-05-05 14:27 696#define EPERM 1 ... -
__cplusplus
2011-04-21 15:09 739http://www.cnblogs.com/stonecra ... -
Pthread__常用
2011-04-21 11:46 852http://blogold.chinaunix.net/u/ ... -
常用预编译
2011-04-21 10:32 657#if defined(WIN32) || defined ... -
C++__容器
2011-04-18 10:16 559http://apps.hi.baidu.com/share/ ... -
C++模板
2011-03-29 14:27 625内容主要来至《钱能C++程序设计教程》&《C++ Pr ... -
交叉引用、前置声明
2011-03-02 09:40 805有两个类相互引用了,编译器报错。 原因是两个类交叉引用: A ... -
typedef的四个用途和两个陷阱
2010-12-14 12:34 656http://hi.baidu.com/changfeng01 ... -
第五届开源小组招新题目
2010-12-03 21:56 751这是学校的开源小组招新题。 08年时我是第二届的组长,不知不觉 ... -
string const char*
2010-12-02 16:13 778http://topic.csdn.net/u/2008092 ... -
CPP Container
2010-11-10 09:20 731延后整理。。。 -
C语言运算符优先级
2010-11-02 17:45 790优先级 运算符 ... -
point point
2010-11-02 17:23 624http://learn.akae.cn/media/ch23 ... -
位运算
2010-11-01 11:33 783千百年来,位运算始终没出现在我写的代码里,今天终于出现了。 ... -
Unix环境下操作特大文件
2010-11-01 11:03 618http://hi.baidu.com/jiangfeng11 ... -
C缓冲区溢出
2010-10-19 10:37 520http://blog.chinaunix.net/u/170 ...
相关推荐
由于GCC(GNU Compiler Collection)编译器的广泛应用,其内嵌汇编语言成为一种在C语言源代码中插入汇编指令的便捷方法。这种技术允许开发者混合使用高级语言的便利性和汇编语言的性能优化。 内嵌汇编语言主要应用...
- 内联汇编:C语言中的`asm`关键字(在GCC编译器中)或`__asm__`(在Visual Studio中)用于内嵌汇编代码。这使得开发者可以在C程序中直接插入汇编语句,执行特定的硬件操作,如内存访问、计算或中断处理。 2. **...
### AT&T汇编语言与GCC内嵌汇编简介 #### 1. AT&T与INTEL的汇编语言语法的区别 ...同时,GCC内嵌汇编提供了一种高效且灵活的方式,使得高级语言程序员能够在不放弃C语言便利性的同时,利用底层硬件的能力来优化代码。
GCC提供了强大的扩展能力,其中之一便是支持在C语言中嵌入汇编代码的能力,即所谓的“内嵌汇编”。这项特性允许开发者直接在C代码中编写汇编指令,从而实现更底层的控制或者优化性能。 #### 二、gcc内嵌汇编的基本...
其中,GCC内嵌汇编是GCC提供的一种特殊语法,允许开发者在C/C++代码中直接插入汇编指令,这对于实现某些底层优化或硬件访问来说非常有用。 #### 二、内嵌汇编语法结构 GCC内嵌汇编语法主要包括以下四个部分: 1. *...
通过以上介绍,我们可以看到GCC内嵌汇编的强大之处在于能够灵活地在C语言程序中插入汇编代码,从而实现对底层硬件的精细控制或性能优化。了解并掌握其基本语法结构对于开发高效、可控的应用程序至关重要。
在GCC内嵌汇编中, operand 指的是操作数,可以是存放器、内存或立即数。constraint 指的是约束,用于指定内嵌汇编的输入和输出。register 指的是 CPU 存放器。asm 是 C 语言中的关键字,用于指定内嵌汇编程序。 2....
内嵌汇编是GCC(GNU Compiler Collection)提供的一个强大特性,允许开发人员在C/C++代码中直接嵌入汇编指令,以此来实现某些特定功能或者优化性能。内嵌汇编通过`__asm__`和`__volatile__`关键字实现,其基本格式...
GCC中的内嵌汇编语言是一种高级的编程技术,它允许程序员在C语言代码中直接插入汇编语言指令,以实现对底层硬件的直接控制。这对于优化性能关键的部分或者与硬件接口交互是极其有用的。本文主要关注的是在Intel i386...
"C语言内嵌汇编" GCC Inline ASM 是 GCC 编译器支持在 C/C++ 代码中嵌入汇编代码的功能,这些汇编代码被称作 GCC Inline ASM——GCC 内联汇编。这是一个非常有用的功能,有利于我们将一些 C/C++ 语法无法表达的指令...
gcc内嵌汇编是一种在C/C++程序中嵌入汇编代码的方法,允许开发者在使用高级语言的同时,利用底层优化来提高程序的性能。通过这种方式,可以在不需要放弃C/C++语言优势的情况下实现对处理器更精细级别的控制。 #### ...
C语言内嵌汇编(_asm)是一种将汇编代码直接插入到C或C++程序中的技术,这对于在特定场合优化性能或者访问硬件寄存器等低级操作时非常有用。这种混合编程方式使得程序员可以在高级语言的便利性和汇编语言的精确控制...
GCC内联汇编是GCC编译器提供的一个功能,允许开发者在C/C++代码中直接嵌入汇编语言代码。这种内联汇编提供了在高级语言层面直接操作硬件和执行特定于平台的操作的能力。内联汇编在很多情况下可以提高代码的性能,...
GCC内联汇编是一种强大的编程技术,可以帮助开发者在C语言中嵌入汇编代码,从而提高程序的执行效率和性能。GCC内联汇编可以分为基本内联汇编和扩展内联汇编两种形式,前者只允许使用汇编语法,后者则可以使用更多的...
内嵌汇编是GCC编译器提供的一种将汇编代码嵌入C/C++代码中的机制。其基本语法如下: ```c __asm__(汇编语句模板 : 输出部分 : 输入部分 : 破坏描述部分) ``` - **汇编语句模板**:包含具体的汇编指令序列。 - **...
6. GCC在C语言中内嵌汇编 asm __volatile__ - 高科的专栏 - 博客频道 - CSDN.pdf:这个文档可能讲解了如何在GCC编译器中使用C语言的内联汇编,这对于理解Linux内核中的某些特定优化和硬件交互很有帮助。 7. 8253...
在GCC中,嵌入式汇编是一种将汇编代码直接插入C语言程序的技术,使得程序员可以利用汇编语言的高效特性处理特定任务,同时保持大部分代码在高级语言层面。这对于嵌入式系统,特别是涉及到硬件交互或者性能敏感的代码...
还有一些则是利用gcc的内嵌汇编语言嵌在C语言程序中的。这篇文章简单介绍了gcc中的内嵌式汇编语言,主要想帮助那些才开始阅读Linux核心代码的朋友们能够更快的入手。 写这篇文章的主要信息来源是GNU的两个info文件:...
本文主要探讨如何在Linux环境下,通过C语言与ARM汇编的混编来实现简单的加减法运算,并介绍__asm__ __volatile__内嵌汇编的使用方法。 1. **内联汇编的基本结构** 内联汇编允许在C或C++代码中直接插入汇编指令,而...