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