|
|
1.1 ! root 1: /* The include file for the fault handling program. ! 2: * Lee Ward 7/1/83 ! 3: */ ! 4: ! 5: /* Opcode definitions */ ! 6: #define CVTDF 0x76 ! 7: #define ADDF2 0x40 ! 8: #define ADDF3 0x41 ! 9: #define SUBF2 0x42 ! 10: #define SUBF3 0x43 ! 11: #define MULF2 0x44 ! 12: #define MULF3 0x45 ! 13: #define DIVF2 0x46 ! 14: #define DIVF3 0x47 ! 15: #define ADDD2 0x60 ! 16: #define ADDD3 0x61 ! 17: #define SUBD2 0x62 ! 18: #define SUBD3 0x63 ! 19: #define MULD2 0x64 ! 20: #define MULD3 0x65 ! 21: #define DIVD2 0x66 ! 22: #define DIVD3 0x67 ! 23: ! 24: /* Masks for operand specifiers */ ! 25: #define MODE_MASK 0xf0 ! 26: #define REG_MASK 0xf ! 27: ! 28: /* Addressing modes */ ! 29: /* Literal modes are missing */ ! 30: #define INDEXED 0x4 ! 31: #define GENERAL 0x5 ! 32: #define REG_DEFRD 0x6 ! 33: #define AUTO_DEC 0x7 ! 34: #define AUTO_INC 0x8 ! 35: #define AUTO_INC_DEF 0x9 ! 36: #define BYTE_DISP 0xa ! 37: #define BYTE_DISP_DEF 0xb ! 38: #define WORD_DISP 0xc ! 39: #define WORD_DISP_DEF 0xd ! 40: #define LONG_DISP 0xe ! 41: #define LONG_DISP_DEF 0xf ! 42: ! 43: /* Types */ ! 44: #define DOUBLE 8 ! 45: #define QUAD 8 ! 46: #define FLOAT 4 ! 47: #define LONG 4 ! 48: #define WORD 2 ! 49: #define BYTE 1 ! 50: #define GARBAGE 0 ! 51: ! 52: /* Registers */ ! 53: #define PC 0xf ! 54: #define SP 0xe ! 55: #define FP 0xd ! 56: #define AP 0xc ! 57: ! 58: #define MAXFLOAT 0xffff7fff ! 59: #define MAXDOUBLL 0xffff7fff ! 60: #define MAXDOUBLR 0xffffffff ! 61: #define MINFLOAT 0x00000000 ! 62: #define MINDOUBLL 0x00000000 ! 63: #define MINDOUBLR 0x00000000 ! 64: ! 65: /* Though these are not all representable types for VAX, they are all the types ! 66: * that we can really work with. This is because VAX uses register pairs. ! 67: */ ! 68: typedef union { ! 69: char byte; ! 70: short word; ! 71: long llong; ! 72: } ANYTYPE;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.