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.2 (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: machdefs.h,v 2.2 85/01/14 03:41:13 donn Exp $ 18 * $Log: machdefs.h,v $ 19 * Revision 2.2 85/01/14 03:41:13 donn 20 * Added changes to make the storage used for constants that are passed 21 * as arguments to functions come out read-only. 22 * 23 * Revision 2.1 84/07/19 12:55:11 donn 24 * Changed comment header to UofU. 25 * 26 * Revision 1.3 84/07/02 12:04:42 donn 27 * I goofed when I added the original changes for SZFLOAT and SZDOUBLE. 28 * Thanks to Raleigh Romine for pointing this out (sigh). 29 * 30 * Revision 1.2 84/02/28 20:46:16 donn 31 * Added definitions for SZFLOAT and SZDOUBLE, needed by Berkeley changes to 32 * produce shorter offsets to variables in machine code. 33 * 34 */ 35 36 #ifndef TARGET 37 TARGET NOT DEFINED !!! 38 #endif 39 #if TARGET!= TAHOE 40 Target= TARGET OUT OF RANGE!! 41 #endif 42 43 #ifndef FAMILY 44 FAMILY NOT DEFINED!!! 45 #endif 46 #if FAMILY!=PCC && FAMILY!=DMR 47 Family = FAMILY OUT OF RANGE 48 #endif 49 50 #define SDB 1 51 52 #define TYLENG TYLONG 53 54 #define TYINT TYLONG 55 #define SZADDR 4 56 #define SZSHORT 2 57 #define SZINT 4 58 #define SZFLOAT 4 59 #define SZDOUBLE 8 60 61 #define SZLONG 4 62 #define SZLENG SZLONG 63 64 #define ALIADDR SZADDR 65 #define ALISHORT SZSHORT 66 #define ALILONG 4 67 #define ALIDOUBLE 4 68 #define ALIINT ALILONG 69 #define ALILENG ALILONG 70 71 #define AUTOREG 13 72 #define ARGREG 12 73 #define LVARREG 11 74 #define ARGOFFSET 4 75 76 77 #define FUDGEOFFSET 1 78 #define BITSPERCHAR 8 79 #define XL 16 80 81 #define USETEXT ".text" 82 #define USECONST ".data\t0" 83 #define USEBSS ".data\t1" 84 #define USEINIT ".data\t2" 85 86 #define BLANKCOMMON "_BLNK_" 87 88 #define LABELFMT "%s:\n" 89 90 #define MAXREGVAR 5 91 #define TYIREG TYLONG 92 #define MSKIREG (M(TYSHORT)|M(TYLONG)) 93 94 #define MAXINT 0x7fffffff 95 #define MININT 0x80000000 96 97 #define MAXBYTE 0xff 98 #define BYTESIZE 8 99 100 #define SMALLVAR(x) ((x) < 512) 101