Commit | Line | Data |
---|---|---|
fd04f4ca BJ |
1 | /* |
2 | * 287/387 Floating Point Data Structures and Constants | |
3 | * W. Jolitz 1/90 | |
4 | */ | |
5 | ||
6 | #ifndef ___FPU87___ | |
7 | #define ___FPU87___ | |
8 | ||
9 | /* Environment information of floating point unit */ | |
10 | struct env87 { | |
11 | long en_cw; /* control word (16bits) */ | |
12 | long en_sw; /* status word (16bits) */ | |
13 | long en_tw; /* tag word (16bits) */ | |
14 | long en_fip; /* floating point instruction pointer */ | |
15 | u_short en_fcs; /* floating code segment selector */ | |
16 | u_short en_opcode; /* opcode last executed (11 bits ) */ | |
17 | long en_foo; /* floating operand offset */ | |
18 | long en_fos; /* floating operand segment selector */ | |
19 | }; | |
20 | ||
21 | /* Contents of each floating point accumulator */ | |
22 | struct fpacc87 { | |
23 | u_long fp_mantlo; /* mantissa low (31:0) */ | |
24 | u_long fp_manthi; /* mantissa high (63:32) */ | |
25 | int fp_exp:15; /* exponent */ | |
26 | int fp_sgn:1; /* mantissa sign */ | |
27 | }; | |
28 | ||
29 | /* Floating point context */ | |
30 | struct save87 { | |
31 | struct env87 sv_env; /* floating point control/status */ | |
32 | struct fpacc87 sv_ac[8]; /* accumulator contents, 0-7 */ | |
33 | }; | |
34 | ||
35 | #endif ___FPU87___ |