xref: /original-bsd/usr.bin/f77/libF77/operand.h (revision 698bcc85)
1 /*-
2  * Copyright (c) 1980 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.proprietary.c%
6  *
7  *	@(#)operand.h	5.2 (Berkeley) 04/12/91
8  */
9 
10 /*
11  * operand.h  --  definitions useful to VAX operand decoding
12  */
13 
14 #define	opmode(op)	(op & 0xf0)
15 #define	opregn(op)	(op & 0xf)
16 
17 /*
18  * operand modes
19  */
20 #define	LITERAL0	0x00
21 #define	LITERAL1	0x10
22 #define	LITERAL2	0x20
23 #define	LITERAL3	0x30
24 #define	INDEXED		0x40
25 #define	REGISTER	0x50
26 #define	REGDEFERED	0x60
27 #define	AUTODEC		0x70
28 #define	AUTOINC		0x80
29 #define	AUTOINCDEF	0x90
30 #define	BYTEDISP	0xa0
31 #define	BYTEDISPDEF	0xb0
32 #define	WORDDISP	0xc0
33 #define	WORDDISPDEF	0xd0
34 #define	LONGDISP	0xe0
35 #define	LONGDISPDEF	0xf0
36 /*
37  * Modes where R is PC
38  */
39 #define	IMMEDIATE	0x8f
40 #define	ABSOLUTE	0x9f
41 #define	BYTEREL		0xaf
42 #define	BYTERELDEF	0xbf
43 #define	WORDREL		0xcf
44 #define	WORDRELDEF	0xdf
45 #define	LONGREL		0xef
46 #define	LONGRELDEF	0xff
47 
48 /*
49  * register definitions
50  */
51 #define	R0	0
52 #define	R1	1
53 #define	R2	2
54 #define	R3	3
55 #define	R4	4
56 #define	R5	5
57 #define	R6	6
58 #define	R7	7
59 #define	R8	8
60 #define	R9	9
61 #define	R10	10
62 #define	R11	11
63 #define	AP	12
64 #define	FP	13
65 #define	SP	14
66 #define	PC	15
67