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