home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c065 / 1.ddi / INCLUDE.ZIP / EMUVARS.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-06-07  |  998 b   |  47 lines

  1.  
  2. /* Emuvars.h
  3.  
  4. Floating point records used by emulator and FPU exception handler.
  5. For Borland internal use.
  6.  
  7. */
  8.  
  9.  
  10. /* from _math.h:
  11.     An iNDP_image is put into memory by the FSTENV instruction.
  12. */
  13. typedef struct
  14. {
  15.     unsigned    control_;
  16.     unsigned    status_;
  17.     unsigned    tags;
  18.     unsigned    ip;
  19.     unsigned    ip_opcode;
  20.     unsigned    dp;
  21.     unsigned    dptop;
  22. }
  23.     iNDP_env;
  24.  
  25. /* This must be consistent with the STRUC in emuvars.asi */
  26.  
  27. union { unsigned int control1; struct { unsigned char mask, status;} shadow;};
  28.  
  29. struct emu {
  30.     unsigned int status;
  31.     unsigned int control;    /* shadow mask, status */
  32.     unsigned int adjust;
  33.     unsigned int _8087;
  34.     unsigned int type;
  35.     unsigned int TOS;
  36.     unsigned int lastSP;
  37.     unsigned int initSP;
  38.     iNDP_env FPExcep;
  39.     unsigned int count1;        /* for debugging */
  40.     unsigned int count2;        /* for debugging */
  41.     unsigned int status2;        /* shadow status */
  42. };
  43.  
  44. /* Caution: this is in the STACK segment, possible not the DGROUP! */
  45. extern struct emu cdecl _emu;
  46.  
  47.