38 lines
710 B
C
38 lines
710 B
C
|
|
|
|
#define FLTBASE 0
|
|
#define REGBASE 32 // offset of integer registers
|
|
#define FLAGBASE FLAGMODE
|
|
#define PREGBASE PREGEA
|
|
|
|
enum {
|
|
|
|
REGFPCR = 64, REGSOFTPCR,
|
|
REGFIR, REGPSR,
|
|
|
|
FLAGMODE, FLAGIE, FLAGIRQL,
|
|
FLAGINT5, FLAGINT4, FLAGINT3, FLAGINT2, FLAGINT1, FLAGINT0,
|
|
|
|
FLAGFPC,
|
|
|
|
// Pseudo registers
|
|
|
|
PREGEA, PREGEXP, PREGRA, PREGP,
|
|
PREGU0, PREGU1, PREGU2, PREGU3, PREGU4,
|
|
PREGU5, PREGU6, PREGU7, PREGU8, PREGU9,
|
|
PREGU10, PREGU11, PREGU12
|
|
};
|
|
|
|
|
|
//
|
|
// This union is used to convert between doubles, quads and
|
|
// large integers.
|
|
//
|
|
typedef union _CONVERTED_DOUBLE {
|
|
double d;
|
|
ULONG ul[2];
|
|
LARGE_INTEGER li;
|
|
} CONVERTED_DOUBLE, *PCONVERTED_DOUBLE;
|
|
|
|
|