--- gforth/cache-fast1.vmg 2006/12/31 13:39:11 1.4 +++ gforth/cache-fast1.vmg 2008/01/02 21:04:44 1.9 @@ -1,12 +1,12 @@ -\ stack cache setup +\ stack cache setup: default state S1 -\ Copyright (C) 2003,2004,2005,2006 Free Software Foundation, Inc. +\ Copyright (C) 2003,2004,2005,2006,2007 Free Software Foundation, Inc. \ This file is part of Gforth. \ Gforth is free software; you can redistribute it and/or \ modify it under the terms of the GNU General Public License -\ as published by the Free Software Foundation; either version 2 +\ as published by the Free Software Foundation, either version 3 \ of the License, or (at your option) any later version. \ This program is distributed in the hope that it will be useful, @@ -15,8 +15,7 @@ \ GNU General Public License for more details. \ You should have received a copy of the GNU General Public License -\ along with this program; if not, write to the Free Software -\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. +\ along with this program. If not, see http://www.gnu.org/licenses/. \E register IPTOS Cell \E register spTOS Cell @@ -28,22 +27,26 @@ \E register spg Cell \E register sph Cell +\E register fpTOS Float + \E create IPregs IPTOS , \E create regs sph , spg , spf , spe , spd , spc , spb , spTOS , \ \E create regs spTOS , +\E create fpregs fpTOS , \E IPregs 1 0 stack-state IPss1 -\E regs 8 cells + 0 -1 stack-state ss0 -\E regs 7 cells + 1 0 stack-state ss1 -\E regs 6 cells + 2 1 stack-state ss2 -\E regs 5 cells + 3 2 stack-state ss3 -\E regs 4 cells + 4 3 stack-state ss4 -\E regs 3 cells + 5 4 stack-state ss5 -\E regs 2 cells + 6 5 stack-state ss6 -\E regs 1 cells + 7 6 stack-state ss7 -\E regs 0 cells + 8 7 stack-state ss8 -\ \E regs 1 cells + 0 -1 stack-state ss0 +\E regs 8 th 0 -1 stack-state ss0 +\E regs 7 th 1 0 stack-state ss1 +\E regs 6 th 2 1 stack-state ss2 +\E regs 5 th 3 2 stack-state ss3 +\E regs 4 th 4 3 stack-state ss4 +\E regs 3 th 5 4 stack-state ss5 +\E regs 2 th 6 5 stack-state ss6 +\E regs 1 th 7 6 stack-state ss7 +\E regs 0 th 8 7 stack-state ss8 +\ \E regs 1 th 0 -1 stack-state ss0 \ \E regs 1 0 stack-state ss1 +\E fpregs 0 th 1 0 stack-state fpss1 \ the first of these is the default state (for now) \E state S1 @@ -56,12 +59,7 @@ \E state S7 \E state S8 -\E S3 state-disable -\E S4 state-disable -\E S5 state-disable -\E S6 state-disable -\E S7 state-disable -\E S8 state-disable +include(STACK_CACHE_REGS) \E ss0 data-stack S0 set-ss \E ss1 data-stack S1 set-ss @@ -83,6 +81,16 @@ \E IPss1 inst-stream S7 set-ss \E IPss1 inst-stream S8 set-ss +\E fpss1 fp-stack S0 set-ss +\E fpss1 fp-stack S1 set-ss +\E fpss1 fp-stack S2 set-ss +\E fpss1 fp-stack S3 set-ss +\E fpss1 fp-stack S4 set-ss +\E fpss1 fp-stack S5 set-ss +\E fpss1 fp-stack S6 set-ss +\E fpss1 fp-stack S7 set-ss +\E fpss1 fp-stack S8 set-ss + \E data-stack to cache-stack \E here 9 cache-states 2! s0 , s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , \ \E here 2 cache-states 2! s0 , s1 ,