I always thought the 8087 was way cool, but it never really caught on. Early versions of Win32 did not save the 8087 registers on a context switch. I called up some people at Microsoft to please not destroy the 8087, and they relented and preserved the registers.
I've always been proud to support the 8087 with my compilers, and am baffled why the numerics people ignore it.
righto.com has been great reading. None of my friends wanted to pay for an 8087, but I can still remember getting out of school (for 2nd time) and saving up for the 486DX after 3 others got them. After that, well, it's been quite a ride.
I always thought the 8087 was way cool, but it never really caught on. Early versions of Win32 did not save the 8087 registers on a context switch. I called up some people at Microsoft to please not destroy the 8087, and they relented and preserved the registers.
I've always been proud to support the 8087 with my compilers, and am baffled why the numerics people ignore it.
Author here with another 8087 article. What part of the 8087 should I look at next?
Minor erratum: "1.1 (binary) × 2^8 is 304" should be 384.
Thanks! I guess I didn't have my glasses on when I read that number :-)
Have you already covered how the decoding of instructions is shared with the 8086?
I describe the 8087 instruction decoding here: https://www.righto.com/2026/02/8087-instruction-decoding.htm...
righto.com has been great reading. None of my friends wanted to pay for an 8087, but I can still remember getting out of school (for 2nd time) and saving up for the 486DX after 3 others got them. After that, well, it's been quite a ride.