`

GCC在C语言中内嵌汇编

阅读更多
http://hi.baidu.com/liu_bin0101/blog/item/433103007852b216738b658d.html

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 语言表达式与指令操作数相对应。
分享到:
评论

相关推荐

    gcc中的内嵌汇编语言

    由于GCC(GNU Compiler Collection)编译器的广泛应用,其内嵌汇编语言成为一种在C语言源代码中插入汇编指令的便捷方法。这种技术允许开发者混合使用高级语言的便利性和汇编语言的性能优化。 内嵌汇编语言主要应用...

    C语言内嵌arm汇编

    - 内联汇编:C语言中的`asm`关键字(在GCC编译器中)或`__asm__`(在Visual Studio中)用于内嵌汇编代码。这使得开发者可以在C程序中直接插入汇编语句,执行特定的硬件操作,如内存访问、计算或中断处理。 2. **...

    AT&T汇编语言与GCC内嵌汇编简介

    ### AT&T汇编语言与GCC内嵌汇编简介 #### 1. AT&T与INTEL的汇编语言语法的区别 ...同时,GCC内嵌汇编提供了一种高效且灵活的方式,使得高级语言程序员能够在不放弃C语言便利性的同时,利用底层硬件的能力来优化代码。

    gcc内嵌汇编 中文使用说明

    GCC提供了强大的扩展能力,其中之一便是支持在C语言中嵌入汇编代码的能力,即所谓的“内嵌汇编”。这项特性允许开发者直接在C代码中编写汇编指令,从而实现更底层的控制或者优化性能。 #### 二、gcc内嵌汇编的基本...

    gcc内嵌汇编语法

    其中,GCC内嵌汇编是GCC提供的一种特殊语法,允许开发者在C/C++代码中直接插入汇编指令,这对于实现某些底层优化或硬件访问来说非常有用。 #### 二、内嵌汇编语法结构 GCC内嵌汇编语法主要包括以下四个部分: 1. *...

    GCC内嵌汇编语法

    通过以上介绍,我们可以看到GCC内嵌汇编的强大之处在于能够灵活地在C语言程序中插入汇编代码,从而实现对底层硬件的精细控制或性能优化。了解并掌握其基本语法结构对于开发高效、可控的应用程序至关重要。

    GCC内嵌汇编.pdf

    在GCC内嵌汇编中, operand 指的是操作数,可以是存放器、内存或立即数。constraint 指的是约束,用于指定内嵌汇编的输入和输出。register 指的是 CPU 存放器。asm 是 C 语言中的关键字,用于指定内嵌汇编程序。 2....

    gcc内嵌汇编

    内嵌汇编是GCC(GNU Compiler Collection)提供的一个强大特性,允许开发人员在C/C++代码中直接嵌入汇编指令,以此来实现某些特定功能或者优化性能。内嵌汇编通过`__asm__`和`__volatile__`关键字实现,其基本格式...

    gcc中的内嵌汇编语言[借鉴].pdf

    GCC中的内嵌汇编语言是一种高级的编程技术,它允许程序员在C语言代码中直接插入汇编语言指令,以实现对底层硬件的直接控制。这对于优化性能关键的部分或者与硬件接口交互是极其有用的。本文主要关注的是在Intel i386...

    C语言内嵌汇编

    "C语言内嵌汇编" GCC Inline ASM 是 GCC 编译器支持在 C/C++ 代码中嵌入汇编代码的功能,这些汇编代码被称作 GCC Inline ASM——GCC 内联汇编。这是一个非常有用的功能,有利于我们将一些 C/C++ 语法无法表达的指令...

    gcc内嵌汇编 .pdf

    gcc内嵌汇编是一种在C/C++程序中嵌入汇编代码的方法,允许开发者在使用高级语言的同时,利用底层优化来提高程序的性能。通过这种方式,可以在不需要放弃C/C++语言优势的情况下实现对处理器更精细级别的控制。 #### ...

    c语言内嵌汇编_asm

    C语言内嵌汇编(_asm)是一种将汇编代码直接插入到C或C++程序中的技术,这对于在特定场合优化性能或者访问硬件寄存器等低级操作时非常有用。这种混合编程方式使得程序员可以在高级语言的便利性和汇编语言的精确控制...

    c语言asm汇编内嵌语法.pdf

    GCC内联汇编是GCC编译器提供的一个功能,允许开发者在C/C++代码中直接嵌入汇编语言代码。这种内联汇编提供了在高级语言层面直接操作硬件和执行特定于平台的操作的能力。内联汇编在很多情况下可以提高代码的性能,...

    GCC内联汇编入门[参照].pdf

    GCC内联汇编是一种强大的编程技术,可以帮助开发者在C语言中嵌入汇编代码,从而提高程序的执行效率和性能。GCC内联汇编可以分为基本内联汇编和扩展内联汇编两种形式,前者只允许使用汇编语法,后者则可以使用更多的...

    ARM汇编器与GCC汇编器支持的汇编语言差别

    内嵌汇编是GCC编译器提供的一种将汇编代码嵌入C/C++代码中的机制。其基本语法如下: ```c __asm__(汇编语句模板 : 输出部分 : 输入部分 : 破坏描述部分) ``` - **汇编语句模板**:包含具体的汇编指令序列。 - **...

    Linux0.11 大部分注释

    6. GCC在C语言中内嵌汇编 asm __volatile__ - 高科的专栏 - 博客频道 - CSDN.pdf:这个文档可能讲解了如何在GCC编译器中使用C语言的内联汇编,这对于理解Linux内核中的某些特定优化和硬件交互很有帮助。 7. 8253...

    GCC 入门剖析以及嵌入式汇编

    在GCC中,嵌入式汇编是一种将汇编代码直接插入C语言程序的技术,使得程序员可以利用汇编语言的高效特性处理特定任务,同时保持大部分代码在高级语言层面。这对于嵌入式系统,特别是涉及到硬件交互或者性能敏感的代码...

    linux内嵌汇编语言

    还有一些则是利用gcc的内嵌汇编语言嵌在C语言程序中的。这篇文章简单介绍了gcc中的内嵌式汇编语言,主要想帮助那些才开始阅读Linux核心代码的朋友们能够更快的入手。 写这篇文章的主要信息来源是GNU的两个info文件:...

    C语言与ARM汇编混编

    本文主要探讨如何在Linux环境下,通过C语言与ARM汇编的混编来实现简单的加减法运算,并介绍__asm__ __volatile__内嵌汇编的使用方法。 1. **内联汇编的基本结构** 内联汇编允许在C或C++代码中直接插入汇编指令,而...

Global site tag (gtag.js) - Google Analytics