title: Adding floating point/double numbers in assembly
body: <p>I am trying to experiment with inline assembly, and I am trying to add decimal numbers (no, NOT integers) in inline assembly. Issue is, when I call the following function:</p>
  
  <pre><code>inline double ADD(double num1, double num2) {
    double res;
  _asm{
  
      push eax; push the former state of eax onto stack
      mov eax, num1;
      add eax, num2;
      mov res, eax;
      pop eax; restore the former state of eax now that we are done   
       }  return res;}
  </code></pre>
  
  <p>The compiler complains of improper operand size at the inline assembly (ALL lines of assembly excluding the push and pop instruction lines). So I have to change to an integer type, such as unsigned long, and then it works, but of course only supports integer types; decimal results are rounded. </p>
  
  <p>Is there any way to add in assembly that allows for decimal results like 8.4?</p>