title: fld1 pushes a non-one value on to the stack
body: <p>fld1 is supposed to push 1 on to the stack of x87, but when I looked at the value of stack, the st0 value is 0x3fff800000000000, I tried to decode the double precision float manually, the value i got is 1.96875E0, which is not 1 that I intend to load into the register, is it a bug or what?</p>