(* Copyright (C) 1992, Digital Equipment Corporation *) (* All rights reserved. *) (* See the file COPYRIGHT for a full description. *) (* File: Target.i3 *) (* Last Modified On Fri Feb 28 11:49:43 PST 1992 By kalsow *) (* Modified On Wed Nov 27 11:00:46 PST 1991 By muller *) (* Modified On Thu Jun 28 12:24:45 1990 By piet@cs.ruu.nl *) INTERFACE Target (* for HP300 *); (* This interface describes the target architecture *) CONST (* integers *) INTSIZE = 32; INTALIGN = 16; MAXINT = 2147483647; MININT = (- 2147483647) - 1; (* shorts *) SHORTSIZE = 16; SHORTALIGN = 16; MAXSHORT = 32767; MINSHORT = -32768; MAXUSHORT = 65535; MINUSHORT = 0; (* characters *) CHARSIZE = 8; CHARALIGN = 8; MAXCHAR = 127; MINCHAR = -128; MAXSCHAR = 127; MINSCHAR = -128; MAXUCHAR = 255; MINUCHAR = 0; (* booleans *) BOOLSIZE = 8; BOOLALIGN = 8; (* reals *) REALSIZE = 32; REALALIGN = 16; MAXREAL = "3.40282347e+38"; MINREAL = "-3.40282347e+38"; (* longreals *) LONGREALSIZE = 64; LONGREALALIGN = 16; MAXLONGREAL = "1.7976931348623157e+308"; MINLONGREAL = "-1.7976931348623157e+308"; (* extended reals *) EXTENDEDSIZE = LONGREALSIZE; EXTENDEDALIGN = LONGREALALIGN; MAXEXTENDED = MAXLONGREAL; MINEXTENDED = MINLONGREAL; (* addresses *) ADDRSIZE = 32; ADDRALIGN = 16; ADDRUNIT = 8; (* C structures *) PCCBITFIELDTYPEMATTERS = FALSE; (* use the type rather than the size of a bit-field to compute alignment *) STRUCTURESIZEBOUNDARY = 16; (* every structure size must be a multiple of this *) BITFIELDCANOVERLAP = TRUE; (* a bit field can overlap two adjacent storage units *) (* NIL checking *) FIRSTREADABLEADDR = 0; (* Read or write references to addresses in the range [0..FIRSTREADABLE-1] will cause an address faults. Hence, no explicit NIL checks are needed for dereferencing with offsets in this range. *) (* Thread stacks *) JumpBufSize = 100 * ADDRSIZE; (* size of a "jmp_buf" *) FixedFrameSize = 4 * ADDRSIZE; (* size of an "empty" stack frame *) GuardPageSize = 0; (* size of the "unmapped" region at the end of a thread stack *) (* These parameters are used to estimate the size each procedure's frame. If the estimated size of a procedure's frame is less than the guard page's size, no explict check for stack overflow is needed. *) END Target.