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