Annotation of gforth/main.fs, revision 1.31
1.1 anton 1: \ MAIN.FS Kernal main load file 20may93jaw
2:
1.19 anton 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:
1.1 anton 21: \ : include bl word count included ;
22: \ we want write include...
23:
1.3 pazsan 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 ] ;
1.1 anton 27:
1.27 pazsan 28: Create mach-file here over 1+ allot place
29:
30: include errors.fs
31: include extend.fs
1.22 pazsan 32: include search-order.fs
33:
1.15 anton 34: \ include etags.fs
1.1 anton 35:
36: include cross.fs \ include cross-compiler
37:
38: decimal
39:
1.23 pazsan 40: cell 2 = [IF] 32 [ELSE] 256 [THEN] KB makekernel ( size )
1.21 anton 41: \ create image-header
1.28 pazsan 42: has-header [IF]
1.21 anton 43: 0 A, \ base address
44: 0 , \ checksum
45: 0 , \ image size (without tags)
46: , \ dict size
47: 16 KB , \ data stack size
1.25 anton 48: 15 KB 512 + , \ FP stack size
49: 15 KB , \ return stack size
50: 14 KB 512 + , \ locals stack size
1.21 anton 51: 0 A, \ code entry point
52: 0 A, \ throw entry point
53: 16 KB , \ unused (possibly tib stack size)
54: 0 , \ unused
1.24 anton 55: 0 , \ data stack base
56: 0 , \ fp stack base
57: 0 , \ return stack base
58: 0 , \ locals stack base
1.28 pazsan 59: [THEN]
1.1 anton 60:
61: UNLOCK ghost - drop \ ghost must exist because - would be treated as number
62: LOCK
63:
1.23 pazsan 64: doc-off
1.27 pazsan 65: has-prims [IF]
66: include aliases.fs \ include primitive aliases
67: [ELSE]
1.28 pazsan 68: prims-include
69: undef-words
1.27 pazsan 70: include primitives.fs
1.30 pazsan 71: all-words UNLOCK LOCK
1.27 pazsan 72: [THEN]
1.23 pazsan 73: doc-on
1.27 pazsan 74:
75: 0 AConstant forthstart
1.1 anton 76:
77: include vars.fs \ variables and other stuff
78: include errore.fs
1.22 pazsan 79: include version.fs
1.23 pazsan 80: include kernel.fs \ load kernel
1.28 pazsan 81: has-files [IF]
1.27 pazsan 82: include args.fs
83: include files.fs \ load file words
1.28 pazsan 84: [THEN]
85: has-locals [IF]
1.26 pazsan 86: include conditionals.fs \ load IF and co
1.28 pazsan 87: [ELSE]
1.29 pazsan 88: include cond-old.fs \ load IF and co w/o locals
1.28 pazsan 89: [THEN]
1.1 anton 90: include tools.fs \ load tools ( .s dump )
1.22 pazsan 91: include toolsext.fs
1.27 pazsan 92: include special.fs \ special must be last!
1.1 anton 93:
94: \ Setup 13feb93py
95:
1.4 anton 96: here normal-dp !
1.2 pazsan 97: tudp H @ minimal udp !
1.1 anton 98: decimal
99:
1.28 pazsan 100: has-header [IF]
1.21 anton 101: here 2 cells ! \ image size
102: ' boot >body 8 cells ! \ Entry point
1.28 pazsan 103: [ELSE]
104: >boot
105: [THEN]
1.1 anton 106:
107: UNLOCK Tlast @
108: LOCK
109: 1 cells - dup forth-wordlist ! Last !
110: .unresolved
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>