Annotation of gforth/cache0.vmg, revision 1.2
1.1 anton 1: \ stack cache setup
2:
3: \ Copyright (C) 2003 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., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
20:
21: \E register IPTOS Cell
22: \E register spa Cell
23: \E register spb Cell
24: \E register spc Cell
25: \E register spd Cell
26:
27: \E create IPregs IPTOS ,
28: \E create regs spc , spb , spa ,
29:
30: \E IPregs 1 0 stack-state IPss1
1.2 ! anton 31: \E regs 3 th 0 0 stack-state ss0
! 32: \E regs 2 th 1 0 stack-state ss1
! 33: \E regs 1 th 2 1 stack-state ss2
! 34: \E regs 0 th 3 2 stack-state ss3
1.1 anton 35:
36: \ the first of these is the default state
37: \E state S0
38: \E state S1
39: \E state S2
40: \E state S3
41:
42: \E ss0 data-stack S0 set-ss
43: \E ss1 data-stack S1 set-ss
44: \E ss2 data-stack S2 set-ss
45: \E ss3 data-stack S3 set-ss
46:
47: \E IPss1 inst-stream S0 set-ss
48: \E IPss1 inst-stream S1 set-ss
49: \E IPss1 inst-stream S2 set-ss
50: \E IPss1 inst-stream S3 set-ss
51:
52: \E data-stack to cache-stack
53: \E here 4 cache-states 2! s0 , s1 , s2 , s3 ,
54:
55: \ !! the following should be automatic
56: \E S0 to state-default
57: \E state-default to state-in
58: \E state-default to state-out
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>