Tech Off Post

Single Post Permalink

View Thread: If the 286 didn't have floating point capability...
  • User profile image
    Bugslayer

    rhm wrote:
    What happened is the C library included an "FPU emulator".


    Actually, the compiler supported a command-line switch to either: generate calls a floating point implemenation of IEEE fp format or emit fp instructions in-line.  When a fp instruction was executed on a system without a phyical FPU, the CPU would generate an invalid instruction exception that was caught by an OS FP emulator.

    In this way, an application would run on all systems regardless of the presence of an x87 (or IDT or Weitek FPU).  And if you added an x87 the acceleration was pretty good.  (Not that x87 acceleration was great in those days.)