1 /*-
2  * Copyright (c) 1991 The Regents of the University of California.
3  * All rights reserved.
4  *
5  * %sccs.include.proprietary.c%
6  *
7  *	@(#)machdefs.h	5.1 (Berkeley) 04/12/91
8  */
9 
10 /*
11  * machdefs.h
12  *
13  * Machine definitions for f77 compiler, pass 1.  VAX version.
14  *
15  * University of Utah CS Dept modification history:
16  *
17  * $Header: /usr/src/pgrm/f77/include.vax/RCS/machdefs.h,v 2.3 91/04/12 14:36:00 bostic Exp $
18  * $Log:	machdefs.h,v $
19  * Revision 2.3  91/04/12  14:36:00  bostic
20  * new copyright; att/bsd/shared
21  *
22  * Revision 2.2  85/01/14  03:41:13  donn
23  * Added changes to make the storage used for constants that are passed
24  * as arguments to functions come out read-only.
25  *
26  * Revision 2.1  84/07/19  12:55:11  donn
27  * Changed comment header to UofU.
28  *
29  * Revision 1.3  84/07/02  12:04:42  donn
30  * I goofed when I added the original changes for SZFLOAT and SZDOUBLE.
31  * Thanks to Raleigh Romine for pointing this out (sigh).
32  *
33  * Revision 1.2  84/02/28  20:46:16  donn
34  * Added definitions for SZFLOAT and SZDOUBLE, needed by Berkeley changes to
35  * produce shorter offsets to variables in machine code.
36  *
37  */
38 
39 #ifndef TARGET
40 TARGET NOT DEFINED !!!
41 #endif
42 #if TARGET!=VAX
43 Target= TARGET OUT OF RANGE!!
44 #endif
45 
46 #ifndef FAMILY
47 FAMILY NOT DEFINED!!!
48 #endif
49 #if FAMILY!=PCC && FAMILY!=DMR
50 Family = FAMILY OUT OF RANGE
51 #endif
52 
53 #define SDB 1
54 
55 #define TYLENG		TYLONG
56 
57 #define TYINT		TYLONG
58 #define SZADDR		4
59 #define SZSHORT		2
60 #define SZINT		4
61 #define SZFLOAT		4
62 #define SZDOUBLE	8
63 
64 #define SZLONG		4
65 #define SZLENG		SZLONG
66 
67 #define ALIADDR SZADDR
68 #define ALISHORT SZSHORT
69 #define ALILONG 4
70 #define ALIDOUBLE 4
71 #define ALIINT	ALILONG
72 #define ALILENG	ALILONG
73 
74 #define AUTOREG 13
75 #define ARGREG 12
76 #define CARGREG 12
77 #define ARGOFFSET 4
78 #define SAVESPACE 40
79 
80 
81 #define FUDGEOFFSET 1
82 #define BITSPERCHAR 8
83 #define XL 16
84 
85 #define USETEXT	".text\t0"
86 #define USECONST	".text\t1"
87 #define USEBSS	".data\t0"
88 #define USEINIT	".data\t1"
89 
90 #define BLANKCOMMON "_BLNK_"
91 
92 #define LABELFMT "%s:\n"
93 
94 #define MAXREGVAR 5
95 #define TYIREG TYLONG
96 #define MSKIREG  (M(TYSHORT)|M(TYLONG))
97 
98 #define MAXINT	2147483647
99 #define MININT  ((-2147483647) - 1)
100 
101 #define MAXBYTE	255
102 #define BYTESIZE	8
103 
104 #define SMALLVAR(x) ((x) < 512)
105