nop函数的定义

nop函数的定义

Content #

GNU C语言提供了关键字asm来声明代码是内嵌的汇编语句,如下面这行代码:

  #define nop()     __asm__ __volatile__ ("nop     \n\t")

C语言使用关键字__asm__和__volatile__对汇编语句加以修饰。❏ “asm“关键字:用于声明这行代码是一个内嵌汇编表达式,它是关键字asm的宏定义(#define __asm__ asm)。故此,它是内嵌汇编语言必不可少的关键字,任何内嵌的汇编表达式都以此关键字作为开头;如果希望编写符合ANSI C标准的代码(即与ANSI C 标准相兼容),那么建议使用关键字_asm_

❏ __volatile__关键字:其作用是告诉编译器此行代码不能被编译器优化,编译时保持代码原状。由此看来,它也是内嵌汇编语言不可或缺的关键字,否则经过编译器优化后,汇编语句很可能被修改以至于无法达到预期的执行效果。如果期望编写处符合ANSI C标准的程序(即与ANSI C标准兼容),那么建议使用关键字_volatile_

From #

一个64位操作系统的设计与实现