version 1.1, 2005/08/06 17:11:43
|
version 1.10, 2008/07/15 16:11:49
|
Line 1
|
Line 1
|
\ stack cache setup |
\ stack cache setup: default state S1 |
|
|
\ Copyright (C) 2003,2004 Free Software Foundation, Inc. |
\ Copyright (C) 2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
\ Gforth is free software; you can redistribute it and/or |
\ Gforth is free software; you can redistribute it and/or |
\ modify it under the terms of the GNU General Public License |
\ 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. |
\ of the License, or (at your option) any later version. |
|
|
\ This program is distributed in the hope that it will be useful, |
\ This program is distributed in the hope that it will be useful, |
Line 15
|
Line 15
|
\ GNU General Public License for more details. |
\ GNU General Public License for more details. |
|
|
\ You should have received a copy of the GNU General Public License |
\ You should have received a copy of the GNU General Public License |
\ along with this program; if not, write to the Free Software |
\ along with this program. If not, see http://www.gnu.org/licenses/. |
\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
|
|
\E register IPTOS Cell |
\E register IPTOS Cell |
\E register spTOS Cell |
\E register spTOS Cell |
Line 28
|
Line 27
|
\E register spg Cell |
\E register spg Cell |
\E register sph Cell |
\E register sph Cell |
|
|
|
\E register fpTOS Float |
|
|
\E create IPregs IPTOS , |
\E create IPregs IPTOS , |
\E create regs sph , spg , spf , spe , spd , spc , spb , spTOS , |
\E create regs sph , spg , spf , spe , spd , spc , spb , spTOS , |
\ \E create regs spTOS , |
\ \E create regs spTOS , |
|
\E create fpregs fpTOS , |
|
|
\E IPregs 1 0 stack-state IPss1 |
\E IPregs 1 0 stack-state IPss1 |
\E regs 8 cells + 0 -1 stack-state ss0 |
\E regs 8 th 0 -1 stack-state ss0 |
\E regs 7 cells + 1 0 stack-state ss1 |
\E regs 7 th 1 0 stack-state ss1 |
\E regs 6 cells + 2 1 stack-state ss2 |
\E regs 6 th 2 1 stack-state ss2 |
\E regs 5 cells + 3 2 stack-state ss3 |
\E regs 5 th 3 2 stack-state ss3 |
\E regs 4 cells + 4 3 stack-state ss4 |
\E regs 4 th 4 3 stack-state ss4 |
\E regs 3 cells + 5 4 stack-state ss5 |
\E regs 3 th 5 4 stack-state ss5 |
\E regs 2 cells + 6 5 stack-state ss6 |
\E regs 2 th 6 5 stack-state ss6 |
\E regs 1 cells + 7 6 stack-state ss7 |
\E regs 1 th 7 6 stack-state ss7 |
\E regs 0 cells + 8 7 stack-state ss8 |
\E regs 0 th 8 7 stack-state ss8 |
\ \E regs 1 cells + 0 -1 stack-state ss0 |
\ \E regs 1 th 0 -1 stack-state ss0 |
\ \E regs 1 0 stack-state ss1 |
\ \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) |
\ the first of these is the default state (for now) |
\E state S1 |
\E state S1 |
Line 56
|
Line 59
|
\E state S7 |
\E state S7 |
\E state S8 |
\E state S8 |
|
|
|
include(STACK_CACHE_REGS) |
|
|
\E ss0 data-stack S0 set-ss |
\E ss0 data-stack S0 set-ss |
\E ss1 data-stack S1 set-ss |
\E ss1 data-stack S1 set-ss |
\E ss2 data-stack S2 set-ss |
\E ss2 data-stack S2 set-ss |
Line 76
|
Line 81
|
\E IPss1 inst-stream S7 set-ss |
\E IPss1 inst-stream S7 set-ss |
\E IPss1 inst-stream S8 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 data-stack to cache-stack |
\E here 9 cache-states 2! s0 , s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , |
\E here 9 cache-states 2! s0 , s1 , s2 , s3 , s4 , s5 , s6 , s7 , s8 , |
\ \E here 2 cache-states 2! s0 , s1 , |
\ \E here 2 cache-states 2! s0 , s1 , |