1 /* opcodes to be simulated by kernel software: */ 2 #define CVLF 0x76 3 #define CVLD 0x77 4 #define CVFL 0x86 5 #define CVDL 0x87 6 #define LDFD 0x97 7 #define CVDF 0xa6 8 #define ADDF 0xc6 9 #define ADDD 0xc7 10 #define SUBF 0xd6 11 #define SUBD 0xd7 12 #define MULF 0xe6 13 #define MULD 0xe7 14 #define DIVF 0xf6 15 #define DIVD 0xf7 16 #define SINF 0x05 17 #define COSF 0x15 18 #define ATANF 0x25 19 #define LOGF 0x35 20 #define SQRTF 0x45 21 #define EXPF 0x55 22 23 24 /* HFS bits: */ 25 #define HFS_UNDF 0x008 /* float underflow */ 26 #define HFS_OVF 0x004 /* float overflow */ 27 28 #define HFS_RANGE 0x8000 /* set u_error to ERANGE */ 29 #define HFS_DOM 0x4000 /* set u_error to EDOM */ 30 #define HFS_DIVZ 0x2000 /* divide by zero flag */ 31 32 /* destination types for the f.p. opcodes: */ 33 #define LONG 01 34 #define FLOAT 02 35 #define DOUBLE 03 36 37 /* exceptions: */ 38 #define OVF_EXC 0x003 /* floating overflow */ 39 #define UNDF_EXC 0x004 /* floating underflow */ 40 #define DIV0_EXC 0x005 /* floating divide by 0 */ 41