version 1.6, 1998/12/13 23:30:00
|
version 1.35, 2012/07/15 12:03:07
|
Line 2
|
Line 2
|
This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS). |
This is a generic file for 32-bit machines with IEEE FP arithmetic (no VMS). |
It only supports indirect threading. |
It only supports indirect threading. |
|
|
Copyright (C) 1995,1998 Free Software Foundation, Inc. |
Copyright (C) 1995,1998,1999,2003,2007,2008,2010 Free Software Foundation, Inc. |
|
|
This file is part of Gforth. |
This file is part of Gforth. |
|
|
Gforth is free software; you can redistribute it and/or |
Gforth is free software; you can redistribute it and/or |
modify it under the terms of the GNU General Public License |
modify it under the terms of the GNU General Public License |
as published by the Free Software Foundation; either version 2 |
as published by the Free Software Foundation, either version 3 |
of the License, or (at your option) any later version. |
of the License, or (at your option) any later version. |
|
|
This program is distributed in the hope that it will be useful, |
This program is distributed in the hope that it will be useful, |
Line 17
|
Line 17
|
GNU General Public License for more details. |
GNU General Public License for more details. |
|
|
You should have received a copy of the GNU General Public License |
You should have received a copy of the GNU General Public License |
along with this program; if not, write to the Free Software |
along with this program; if not, see http://www.gnu.org/licenses/. |
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
*/ |
*/ |
|
|
/* define SYSCALL */ |
/* define SYSCALL */ |
Line 40
|
Line 39
|
#define USE_FTOS |
#define USE_FTOS |
#endif |
#endif |
#endif |
#endif |
/* I don't do the same for the data stack (i.e. USE_TOS), since this |
|
loses on processors with few registers. USE_TOS might be defined in |
#ifndef USE_TOS |
the processor-specific files */ |
#ifndef USE_NO_TOS |
|
/* keep top of data stack in register. Usually a good idea unless registers are very scarce */ |
#ifdef DIRECT_THREADED |
#define USE_TOS |
/* If you want direct threading, write a .h file for your processor! */ |
#endif |
/* We could put some stuff here that causes a compile error, but then |
#endif |
we could not use this file in the other machine.h files */ |
|
|
#ifndef CLOBBER_TOS_WORKAROUND_START |
|
#define CLOBBER_TOS_WORKAROUND_START |
|
#define CLOBBER_TOS_WORKAROUND_END |
|
#endif |
|
|
|
#ifndef INDIRECT_THREADED |
|
#ifndef DIRECT_THREADED |
|
#define DIRECT_THREADED |
|
#endif |
#endif |
#endif |
|
|
/* Types: these types are used as Forth's internal types */ |
/* Types: these types are used as Forth's internal types */ |
Line 74 typedef void **Label;
|
Line 82 typedef void **Label;
|
typedef void *Label; |
typedef void *Label; |
#endif /* !defined(DOUBLY_INDIRECT) */ |
#endif /* !defined(DOUBLY_INDIRECT) */ |
|
|
/* feature defines */ |
/* feature defines, these setting should be identical to the ones in machpc.fs */ |
|
|
#define HAS_DCOMPS |
#ifndef STANDALONE |
|
/* #warning hosted system */ |
#define HAS_FILE |
#define HAS_FILE |
#define HAS_FLOATING |
#define HAS_FLOATING |
|
#define HAS_OS |
|
#define HAS_DEBUG |
#define HAS_GLOCALS |
#define HAS_GLOCALS |
#define HAS_HASH |
#define HAS_HASH |
#define HAS_OS |
#ifndef HAS_PEEPHOLE |
|
#define HAS_PEEPHOLE |
|
#endif |
|
#else |
|
#warning standalone system |
|
#undef HAS_FILE |
|
#undef HAS_FLOATING |
|
#undef HAS_OS |
|
#undef HAS_DEBUG |
|
#undef HAS_GLOCALS |
|
#undef HAS_HASH |
|
#define HAS_F83HEADERSTRING |
|
#ifndef PUTC |
|
# define PUTC(x) emit_char(x) |
|
#endif |
|
#ifndef TYPE |
|
# define TYPE(x, l) type_chars(x, l) |
|
#endif |
|
#endif |
|
#define HAS_DCOMPS |
#define HAS_XCONDS |
#define HAS_XCONDS |
|
#define HAS_STANDARDTHREADING |
|
|
|
#if SIZEOF_CHAR_P==8 |
|
#define HAS_64BIT |
|
#endif |
|
|
|
#define HAS_OBJECTS |
|
|
#define RELINFOBITS 8 |
#define RELINFOBITS 8 |