title: Assembly code fsqrt and fmul instructions
body: <p>I'm trying to compute <code>1.34 *sqrt(lght)</code> in this function using inline assembly but I'm getting errors like:</p>
  
  <blockquote>
    <p>'_asm' undeclared (first use in this function)
       each undeclared identifier is reported only once for each func                                                tion it appears in
     expected ';' before '{' token</p>
  </blockquote>
  
  <hr>
  
  <p>I have been researching how to solve this problem but can't find much information. Can someone suggest a way to get this to work?</p>
  
  <p>My code is:</p>
  
  <pre><code>   double hullSpeed(double lgth) {
         _asm {
             global _start
             fld lght; //load lght
             fld st(0); //duplicate lght on Top of stack
             fsqrt;
             square root of lght
             fld st(0); //load square result on top of stack
             fld 1.34; //load 1.34 on top of stack
             fld st(i);
             duplicate 1.34 on TOS
             fmulp st(0), st(i); //multiply them 
             fst z;
             save result in z
         }
         return z; // return result of [ 1.34 *sqrt(lght) ]
     }
  </code></pre>
  
  <p>Im using Ubuntu so GCC, 32 bits</p>