1\ stack cache setup: default state S1 2 3\ Copyright (C) 2003,2004,2005,2006,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 register fpTOS Float 31 32\E create IPregs IPTOS , 33\E create regs sph , spg , spf , spe , spd , spc , spb , spTOS , 34\ \E create regs spTOS , 35\E create fpregs fpTOS , 36 37\E IPregs 1 0 stack-state IPss1 38\E regs 8 th 0 -1 stack-state ss0 39\E regs 7 th 1 0 stack-state ss1 40\E regs 6 th 2 1 stack-state ss2 41\E regs 5 th 3 2 stack-state ss3 42\E regs 4 th 4 3 stack-state ss4 43\E regs 3 th 5 4 stack-state ss5 44\E regs 2 th 6 5 stack-state ss6 45\E regs 1 th 7 6 stack-state ss7 46\E regs 0 th 8 7 stack-state ss8 47\ \E regs 1 th 0 -1 stack-state ss0 48\ \E regs 1 0 stack-state ss1 49\E fpregs 0 th 1 0 stack-state fpss1 50 51\ the first of these is the default state (for now) 52\E state S1 53\E state S0 54\E state S2 55\E state S3 56\E state S4 57\E state S5 58\E state S6 59\E state S7 60\E state S8 61 62include(STACK_CACHE_REGS) 63 64\E ss0 data-stack S0 set-ss 65\E ss1 data-stack S1 set-ss 66\E ss2 data-stack S2 set-ss 67\E ss3 data-stack S3 set-ss 68\E ss4 data-stack S4 set-ss 69\E ss5 data-stack S5 set-ss 70\E ss6 data-stack S6 set-ss 71\E ss7 data-stack S7 set-ss 72\E ss8 data-stack S8 set-ss 73 74\E IPss1 inst-stream S0 set-ss 75\E IPss1 inst-stream S1 set-ss 76\E IPss1 inst-stream S2 set-ss 77\E IPss1 inst-stream S3 set-ss 78\E IPss1 inst-stream S4 set-ss 79\E IPss1 inst-stream S5 set-ss 80\E IPss1 inst-stream S6 set-ss 81\E IPss1 inst-stream S7 set-ss 82\E IPss1 inst-stream S8 set-ss 83 84\E fpss1 fp-stack S0 set-ss 85\E fpss1 fp-stack S1 set-ss 86\E fpss1 fp-stack S2 set-ss 87\E fpss1 fp-stack S3 set-ss 88\E fpss1 fp-stack S4 set-ss 89\E fpss1 fp-stack S5 set-ss 90\E fpss1 fp-stack S6 set-ss 91\E fpss1 fp-stack S7 set-ss 92\E fpss1 fp-stack S8 set-ss 93 94\E data-stack to cache-stack 95\E here 9 cache-states 2! s0 , s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , 96\ \E here 2 cache-states 2! s0 , s1 , 97 98\ !! the following should be automatic 99\E S1 to state-default 100\E state-default to state-in 101\E state-default to state-out 102