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

  • 1
  • 0
  • 约2.41万字
  • 约 26页
  • 2018-07-18 发布于浙江
  • 举报
c语言asm汇编内嵌语法

.3 GCC Inline ASM GCC 支持在C/C++代码中嵌入汇编代码,这些汇编代码被称作GCC Inline ASM——GCC内联汇编。这是一个非常有用的功能,有利于我们将一些C/C++语法无法表达的指令直接潜入C/C++代码中,另外也允许我们直接写 C/C++代码中使用汇编编写简洁高效的代码。 1.基本内联汇编 GCC中基本的内联汇编非常易懂,我们先来看两个简单的例子: __asm__(movl %esp,%eax); // 看起来很熟悉吧! 或者是 __asm__( movl $1,%eax // SYS_exit xor %ebx,%ebx int $0x80 ); 或 __asm__( movl $1,%eax\r\t \ xor %ebx,%ebx\r\t \ int $0x80 \ ); 基本内联汇编的格式是 __asm__ __volatile__(Instruction List); 1、__asm__ __asm__是GCC关键字asm的宏定义: #define __asm__ asm __asm__或asm用来声明一个内联汇编表达式,所以任何一个内联汇编表达式都是以它开头的,是必不可少的。 2、Instruction List Instruction List是汇编指令序列。它可以是空的,比如:__asm__ __vo

文档评论(0)

1亿VIP精品文档

相关文档