title: Does gcc support embedded assembler syntax?
body: <p>William Hohl's ARM Assembly Language book talks about Embedded assembler syntax. An example of it can be found on <a href="http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0205j/Caciddae.html" rel="nofollow">here</a> on ARM reference manual:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  __asm void my_strcpy(const char *src, char *dst)
  {
  loop
        LDRB  r2, [r0], #1
        STRB  r2, [r1], #1
        CMP   r2, #0
        BNE   loop
        BX    lr
  }
  </code></pre>
  
  <p>When I google 'gcc embedded assembler' syntax I only get the following <a href="https://www.google.com/search?q=embedded%20assembly%20gcc" rel="nofollow">results</a>. Does gcc only support what it calls “<a href="https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html" rel="nofollow">extended assembly syntax</a>?”</p>
  
  <pre><code> asm [volatile] ( AssemblerTemplate
                    : OutputOperands
                    [ : InputOperands
                    [ : Clobbers ] ])
  </code></pre>