Initial revision
[external/binutils.git] / gprof / vax.h
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      */
31 #define OFFSET_OF_CODE  2
32 #define UNITS_TO_CODE   (OFFSET_OF_CODE / sizeof(UNIT))
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