了解汇编程序指令

时间:2015-04-22 18:45:28

标签: assembly inline

我在

处查看以下答案

LPC1768 / ARM Cortex-M3 microsecond delay

#define CAL_FACTOR ( 100 )

void delay (uint32_t interval)
{
  uint32_t iterations = interval / CAL_FACTOR;

  for(int i=0; i<iterations; ++i)
  {
    __asm__ volatile // gcc-ish syntax, don't know what compiler is used
    (
      "nop\n\t"
      "nop\n\t"
      :::
    );
  }
}

nop之后是什么?我查看了GCC汇编程序指南但找不到答案。

2 个答案:

答案 0 :(得分:2)

我找到答案了 http://asm.sourceforge.net/articles/rmiyagi-inline-asm.txt

&#39; \ n \吨&#39;在除了最后一行之外的每一行的末尾,和     每行都用引号括起来。这是因为gcc发送     每个作为字符串的指令。换行符/标签组合     是必需的,以便根据正确的方式输入线     format(回想一下汇编程序中的每一行都缩进一个选项卡     停止,一般是8个字符)。

答案 1 :(得分:0)

如果你写

,程序集块似乎是以纯文本形式读取的,指令用换行符分隔
"nop\n\tnop\n\t" 

它应该也可以。