1*47932Sbostic /*- 2*47932Sbostic * Copyright (c) 1991 The Regents of the University of California. 3*47932Sbostic * All rights reserved. 4*47932Sbostic * 5*47932Sbostic * %sccs.include.proprietary.c% 6*47932Sbostic * 7*47932Sbostic * @(#)machdefs.h 5.2 (Berkeley) 04/12/91 8*47932Sbostic */ 9*47932Sbostic 1044231Sbostic /* 1144231Sbostic * machdefs.h 1244231Sbostic * 1344231Sbostic * Machine definitions for f77 compiler, pass 1. VAX version. 1444231Sbostic * 1544231Sbostic * University of Utah CS Dept modification history: 1644231Sbostic * 1744231Sbostic * $Header: machdefs.h,v 2.2 85/01/14 03:41:13 donn Exp $ 1844231Sbostic * $Log: machdefs.h,v $ 1944231Sbostic * Revision 2.2 85/01/14 03:41:13 donn 2044231Sbostic * Added changes to make the storage used for constants that are passed 2144231Sbostic * as arguments to functions come out read-only. 2244231Sbostic * 2344231Sbostic * Revision 2.1 84/07/19 12:55:11 donn 2444231Sbostic * Changed comment header to UofU. 2544231Sbostic * 2644231Sbostic * Revision 1.3 84/07/02 12:04:42 donn 2744231Sbostic * I goofed when I added the original changes for SZFLOAT and SZDOUBLE. 2844231Sbostic * Thanks to Raleigh Romine for pointing this out (sigh). 2944231Sbostic * 3044231Sbostic * Revision 1.2 84/02/28 20:46:16 donn 3144231Sbostic * Added definitions for SZFLOAT and SZDOUBLE, needed by Berkeley changes to 3244231Sbostic * produce shorter offsets to variables in machine code. 3344231Sbostic * 3444231Sbostic */ 3544231Sbostic 3644231Sbostic #ifndef TARGET 3744231Sbostic TARGET NOT DEFINED !!! 3844231Sbostic #endif 3944231Sbostic #if TARGET!= TAHOE 4044231Sbostic Target= TARGET OUT OF RANGE!! 4144231Sbostic #endif 4244231Sbostic 4344231Sbostic #ifndef FAMILY 4444231Sbostic FAMILY NOT DEFINED!!! 4544231Sbostic #endif 4644231Sbostic #if FAMILY!=PCC && FAMILY!=DMR 4744231Sbostic Family = FAMILY OUT OF RANGE 4844231Sbostic #endif 4944231Sbostic 5044231Sbostic #define SDB 1 5144231Sbostic 5244231Sbostic #define TYLENG TYLONG 5344231Sbostic 5444231Sbostic #define TYINT TYLONG 5544231Sbostic #define SZADDR 4 5644231Sbostic #define SZSHORT 2 5744231Sbostic #define SZINT 4 5844231Sbostic #define SZFLOAT 4 5944231Sbostic #define SZDOUBLE 8 6044231Sbostic 6144231Sbostic #define SZLONG 4 6244231Sbostic #define SZLENG SZLONG 6344231Sbostic 6444231Sbostic #define ALIADDR SZADDR 6544231Sbostic #define ALISHORT SZSHORT 6644231Sbostic #define ALILONG 4 6744231Sbostic #define ALIDOUBLE 4 6844231Sbostic #define ALIINT ALILONG 6944231Sbostic #define ALILENG ALILONG 7044231Sbostic 7144231Sbostic #define AUTOREG 13 7244231Sbostic #define ARGREG 12 7344231Sbostic #define LVARREG 11 7444231Sbostic #define ARGOFFSET 4 7544231Sbostic 7644231Sbostic 7744231Sbostic #define FUDGEOFFSET 1 7844231Sbostic #define BITSPERCHAR 8 7944231Sbostic #define XL 16 8044231Sbostic 8144231Sbostic #define USETEXT ".text" 8244231Sbostic #define USECONST ".data\t0" 8344231Sbostic #define USEBSS ".data\t1" 8444231Sbostic #define USEINIT ".data\t2" 8544231Sbostic 8644231Sbostic #define BLANKCOMMON "_BLNK_" 8744231Sbostic 8844231Sbostic #define LABELFMT "%s:\n" 8944231Sbostic 9044231Sbostic #define MAXREGVAR 5 9144231Sbostic #define TYIREG TYLONG 9244231Sbostic #define MSKIREG (M(TYSHORT)|M(TYLONG)) 9344231Sbostic 9444231Sbostic #define MAXINT 0x7fffffff 9544231Sbostic #define MININT 0x80000000 9644231Sbostic 9744231Sbostic #define MAXBYTE 0xff 9844231Sbostic #define BYTESIZE 8 9944231Sbostic 10044231Sbostic #define SMALLVAR(x) ((x) < 512) 101