Commit | Line | Data |
---|---|---|
3d6c6501 SEF |
1 | /* |
2 | * Copyright (c) 1983 Regents of the University of California. | |
3 | * All rights reserved. | |
4 | * | |
5 | * Redistribution and use in source and binary forms are permitted | |
6 | * provided that: (1) source distributions retain this entire copyright | |
7 | * notice and comment, and (2) distributions including binaries display | |
8 | * the following acknowledgement: ``This product includes software | |
9 | * developed by the University of California, Berkeley and its contributors'' | |
10 | * in the documentation or other materials provided with the distribution | |
11 | * and in all advertising materials mentioning features or use of this | |
12 | * software. Neither the name of the University nor the names of its | |
13 | * contributors may be used to endorse or promote products derived | |
14 | * from this software without specific prior written permission. | |
15 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR | |
16 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | |
17 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | |
18 | * | |
19 | * @(#)vax.h 5.4 (Berkeley) 6/1/90 | |
20 | */ | |
21 | ||
22 | /* | |
23 | * opcode of the `calls' instruction | |
24 | */ | |
25 | #define CALLS 0xfb | |
26 | ||
27 | /* | |
28 | * offset (in bytes) of the code from the entry address of a routine. | |
29 | * (see asgnsamples for use and explanation.) | |
30 | */ | |
5489fcc3 KR |
31 | #define OFFSET_TO_CODE 2 |
32 | #define UNITS_TO_CODE (OFFSET_TO_CODE / sizeof(UNIT)) | |
3d6c6501 SEF |
33 | |
34 | /* | |
35 | * register for pc relative addressing | |
36 | */ | |
37 | #define PC 0xf | |
38 | ||
39 | enum opermodes { | |
40 | literal, indexed, reg, regdef, autodec, autoinc, autoincdef, | |
41 | bytedisp, bytedispdef, worddisp, worddispdef, longdisp, longdispdef, | |
42 | immediate, absolute, byterel, bytereldef, wordrel, wordreldef, | |
43 | longrel, longreldef | |
44 | }; | |
45 | typedef enum opermodes operandenum; | |
46 | ||
47 | struct modebyte { | |
48 | unsigned int regfield:4; | |
49 | unsigned int modefield:4; | |
50 | }; | |
51 |