|
|
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.