version 1.2, 1998/07/05 20:50:02
|
version 1.19, 2003/01/03 17:10:10
|
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 Free Software Foundation, Inc. |
Copyright (C) 1995,1998,1999 Free Software Foundation, Inc. |
|
|
This file is part of Gforth. |
This file is part of Gforth. |
|
|
Line 18
|
Line 18
|
|
|
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, write to the Free Software |
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
*/ |
*/ |
|
|
/* define this if IEEE singles and doubles are available as C data types */ |
|
#define IEEE_FP |
|
|
|
/* the IEEE types are used only for loading and storing */ |
|
/* the IEEE double precision type */ |
|
typedef double DFloat; |
|
/* the IEEE single precision type */ |
|
typedef float SFloat; |
|
|
|
/* define SYSCALL */ |
/* define SYSCALL */ |
|
|
#ifndef SYSCALL |
#ifndef SYSCALL |
#define SYSCALL |
#define SYSCALL |
#endif |
#endif |
|
|
|
#ifndef SYSSIGNALS |
|
#define SYSSIGNALS |
|
#endif |
|
|
#ifndef USE_FTOS |
#ifndef USE_FTOS |
#ifndef USE_NO_FTOS |
#ifndef USE_NO_FTOS |
/* keep top of FP stack in register. Since most processors have FP |
/* keep top of FP stack in register. Since most processors have FP |
Line 49 typedef float SFloat;
|
Line 44 typedef float SFloat;
|
loses on processors with few registers. USE_TOS might be defined in |
loses on processors with few registers. USE_TOS might be defined in |
the processor-specific files */ |
the processor-specific files */ |
|
|
#ifdef DIRECT_THREADED |
#ifndef INDIRECT_THREADED |
/* If you want direct threading, write a .h file for your processor! */ |
#ifndef DIRECT_THREADED |
/* We could put some stuff here that causes a compile error, but then |
#define DIRECT_THREADED |
we could not use this file in the other machine.h files */ |
#endif |
|
#endif |
|
|
|
/* Types: these types are used as Forth's internal types */ |
|
|
|
/* define this if IEEE singles and doubles are available as C data types */ |
|
#define IEEE_FP |
|
|
|
/* the IEEE types are used only for loading and storing */ |
|
/* the IEEE double precision type */ |
|
typedef double DFloat; |
|
/* the IEEE single precision type */ |
|
typedef float SFloat; |
|
|
|
typedef CELL_TYPE Cell; |
|
typedef unsigned CELL_TYPE UCell; |
|
typedef Cell Bool; |
|
typedef unsigned char Char; |
|
typedef double Float; |
|
typedef Char *Address; |
|
|
|
#if defined(DOUBLY_INDIRECT) |
|
typedef void **Label; |
|
#else /* !defined(DOUBLY_INDIRECT) */ |
|
typedef void *Label; |
|
#endif /* !defined(DOUBLY_INDIRECT) */ |
|
|
|
/* feature defines, these setting should be identical to the ones in machpc.fs */ |
|
|
|
#define HAS_DCOMPS |
|
#define HAS_FILE |
|
#define HAS_FLOATING |
|
#define HAS_GLOCALS |
|
#define HAS_HASH |
|
#define HAS_OS |
|
#define HAS_XCONDS |
|
#define HAS_STANDARDTHREADING |
|
#define HAS_DEBUG |
|
#ifndef HAS_PEEPHOLE |
|
#define HAS_PEEPHOLE |
#endif |
#endif |
|
|
|
#define RELINFOBITS 8 |