File:  [gforth] / gforth / Attic / main.fs
Revision 1.23: download - view: text, annotated - select for diffs
Thu Sep 19 22:17:34 1996 UTC (25 years ago) by pazsan
Branches: MAIN
CVS tags: v0-2-1, v0-2-0, HEAD
Steps to make 0.2.0 dist-ready.

    1: \ MAIN.FS      Kernal main load file                   20may93jaw
    2: 
    3: \ Copyright (C) 1995 Free Software Foundation, Inc.
    4: 
    5: \ This file is part of Gforth.
    6: 
    7: \ Gforth is free software; you can redistribute it and/or
    8: \ modify it under the terms of the GNU General Public License
    9: \ as published by the Free Software Foundation; either version 2
   10: \ of the License, or (at your option) any later version.
   11: 
   12: \ This program is distributed in the hope that it will be useful,
   13: \ but WITHOUT ANY WARRANTY; without even the implied warranty of
   14: \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   15: \ GNU General Public License for more details.
   16: 
   17: \ You should have received a copy of the GNU General Public License
   18: \ along with this program; if not, write to the Free Software
   19: \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   20: 
   21: \ : include bl word count included ;
   22: \ we want write include...
   23: 
   24: \ : : ( -- colon-sys )  Header [ ' : @ ] ALiteral cfa, 0 ] ;
   25: \ : ; ( colon-sys -- )  ?struc postpone exit reveal postpone [ ; immediate
   26: \ : :noname ( -- xt colon-sys )  here [ ' : @ ] ALiteral cfa, 0 ] ;
   27: 
   28: include search-order.fs
   29: 
   30: \ include etags.fs
   31: 
   32: include cross.fs               \ include cross-compiler
   33: 
   34: decimal
   35: 
   36: cell 2 = [IF] 32 [ELSE] 256 [THEN] KB makekernel ( size )
   37: \ create image-header
   38: 0 A,	\ base address
   39: 0 ,	\ checksum
   40: 0 ,	\ image size (without tags)
   41: ,	\ dict size
   42: 16 KB ,	\ data stack size
   43: 16 KB ,	\ FP stack size
   44: 16 KB ,	\ return stack size
   45: 16 KB ,	\ locals stack size
   46: 0 A,	\ code entry point
   47: 0 A,	\ throw entry point
   48: 16 KB ,	\ unused (possibly tib stack size)
   49: 0 ,	\ unused
   50: 
   51: UNLOCK ghost - drop \ ghost must exist because - would be treated as number
   52: LOCK
   53: 
   54: 0 AConstant forthstart
   55: 
   56: doc-off
   57: include aliases.fs             \ include primitive aliases
   58: doc-on
   59: \ include cond.fs                \ conditional compile
   60: \ include patches.fs             \ include primitive patches
   61: 
   62: include vars.fs                \ variables and other stuff
   63: include add.fs                 \ additional things
   64: include errore.fs
   65: include version.fs
   66: include kernel.fs              \ load kernel
   67: include extend.fs              \ load core-extended
   68: include tools.fs               \ load tools ( .s dump )
   69: include toolsext.fs
   70: include special.fs
   71: \ include words.fs
   72: \ include wordinfo.fs
   73: \ include see.fs                 \ load see
   74: \ include search-order.fs
   75: 
   76: \ Setup                                                13feb93py
   77: 
   78: here normal-dp !
   79: tudp H @ minimal udp !
   80: decimal
   81: 
   82:   here         2 cells !  \ image size
   83:   ' boot >body 8 cells !  \ Entry point
   84: 
   85: UNLOCK Tlast @
   86: LOCK
   87: 1 cells - dup forth-wordlist ! Last !
   88: .unresolved

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>