Código de montagem fsqrt e fmul instruções

Estou tentando calcular1.34 *sqrt(lght) nesta função usando assembly embutido, mas estou recebendo erros como:

'_asm' não declarado (primeiro uso nesta função) cada identificador não declarado é relatado apenas uma vez para cada função que aparece no esperado ';' antes do token '{'

Estive pesquisando como resolver esse problema, mas não consigo encontrar muita informação. Alguém pode sugerir uma maneira de fazer isso funcionar?

Meu código é:

   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) ]
   }

questionAnswers(1)

yourAnswerToTheQuestion