diff options
Diffstat (limited to 'qemu/roms/SLOF/slof/fs/stack.fs')
-rw-r--r-- | qemu/roms/SLOF/slof/fs/stack.fs | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/qemu/roms/SLOF/slof/fs/stack.fs b/qemu/roms/SLOF/slof/fs/stack.fs deleted file mode 100644 index 0f7e097bf..000000000 --- a/qemu/roms/SLOF/slof/fs/stack.fs +++ /dev/null @@ -1,57 +0,0 @@ -\ ***************************************************************************** -\ * Copyright (c) 2004, 2008 IBM Corporation -\ * All rights reserved. -\ * This program and the accompanying materials -\ * are made available under the terms of the BSD License -\ * which accompanies this distribution, and is available at -\ * http://www.opensource.org/licenses/bsd-license.php -\ * -\ * Contributors: -\ * IBM Corporation - initial implementation -\ ****************************************************************************/ - - -\ Example: -\ -\ To get a 30 element stack, go: -\ -\ 0 > 30 new-stack my-stack -\ 0 > my-stack -\ 0 > 20 push 30 push -\ 0 > pop pop .s - -0 value current-stack - -: new-stack ( cells <>name -- ) - create >r here ( here R: cells ) - dup r@ 2 + cells ( here here bytes R: cells ) - dup allot erase ( here R: cells) - cell+ r> ( here+1cell cells ) - swap ! ( ) - DOES> to current-stack -; - -: reset-stack ( -- ) - 0 current-stack ! -; - -: stack-depth ( -- depth ) - current-stack @ -; - -: push ( value -- ) - current-stack @ - current-stack cell+ @ over <= ABORT" Stack overflow" - cells - 1 current-stack +! - current-stack 2 cells + + ! -; - -: pop ( -- value ) - current-stack @ 0= ABORT" Stack underflow" - current-stack @ cells - current-stack + cell+ @ - -1 current-stack +! -; - - |