The Evolving Saga of 80387 FPU State Saving: A Tale of Documented Errors

2025-02-07

While investigating the behavior of x87 Floating Point Units (FPUs) and their state saving mechanisms (FSTENV/FLDENV and FSAVE/FRSTOR instructions), the author discovered discrepancies between early Intel documentation and later revisions concerning the 32-bit protected mode FPU state. Early 80387 documentation omitted the floating-point opcode from the 32-bit protected mode FPU state, while updated documentation included it. This led to several third-party reference books perpetuating the outdated information for years. The story highlights the evolution of technical documentation and how errors can persist in technical literature for extended periods.