1\ stack cache setup 2 3\ Copyright (C) 2003,2004,2005,2007,2008 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 3 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, see http://www.gnu.org/licenses/. 19 20\E register IPTOS Cell 21\E register spTOS Cell 22\E register spb Cell 23\E register spc Cell 24\E register spd Cell 25\E register spe Cell 26\E register spf Cell 27\E register spg Cell 28\E register sph Cell 29 30\E create IPregs IPTOS , 31\E create regs sph , spg , spf , spe , spd , spc , spb , spTOS , 32\ \E create regs spTOS , 33 34\E IPregs 1 0 stack-state IPss1 35\E regs 8 th 0 -1 stack-state ss0 36\E regs 7 th 1 0 stack-state ss1 37\E regs 6 th 2 1 stack-state ss2 38\E regs 5 th 3 2 stack-state ss3 39\E regs 4 th 4 3 stack-state ss4 40\E regs 3 th 5 4 stack-state ss5 41\E regs 2 th 6 5 stack-state ss6 42\E regs 1 th 7 6 stack-state ss7 43\E regs 0 th 8 7 stack-state ss8 44\ \E regs 1 th 0 -1 stack-state ss0 45\ \E regs 1 0 stack-state ss1 46 47\ the first of these is the default state (for now) 48\E state S0 49\E state S1 50\E state S2 51\E state S3 52\E state S4 53\E state S5 54\E state S6 55\E state S7 56\E state S8 57 58include(STACK_CACHE_REGS) 59 60\E ss0 data-stack S0 set-ss 61\E ss1 data-stack S1 set-ss 62\E ss2 data-stack S2 set-ss 63\E ss3 data-stack S3 set-ss 64\E ss4 data-stack S4 set-ss 65\E ss5 data-stack S5 set-ss 66\E ss6 data-stack S6 set-ss 67\E ss7 data-stack S7 set-ss 68\E ss8 data-stack S8 set-ss 69 70\E IPss1 inst-stream S0 set-ss 71\E IPss1 inst-stream S1 set-ss 72\E IPss1 inst-stream S2 set-ss 73\E IPss1 inst-stream S3 set-ss 74\E IPss1 inst-stream S4 set-ss 75\E IPss1 inst-stream S5 set-ss 76\E IPss1 inst-stream S6 set-ss 77\E IPss1 inst-stream S7 set-ss 78\E IPss1 inst-stream S8 set-ss 79 80\E data-stack to cache-stack 81\E here 9 cache-states 2! s0 , s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , 82\ \E here 2 cache-states 2! s0 , s1 , 83 84\ !! the following should be automatic 85\E S0 to state-default 86\E state-default to state-in 87\E state-default to state-out 88