Como especificar números de ponto flutuante imediatos com montagem em linha?

Quando tento compilar este código:

#include <stdio.h>

main(int argc, char *argv[]) {
   double y = 0;

   __asm__ ("fldl $150;"
            "fsqrt;"
            "fstl %0;" : : "g" (y) );

   printf("%f\n", y);


   return 0;
}

Eu recebo este erro:

sqrt.c: Assembler messages:
sqrt.c:6: Error: suffix or operands invalid for `fld'

Por que isso não funciona? Por que não consigo inserir o número "150" na pilha para operações de ponto flutuante?

questionAnswers(5)

yourAnswerToTheQuestion